Add script which reads I2C errors.

This commit is contained in:
László Monda
2018-01-05 03:26:26 +01:00
parent bbce1e0e0f
commit 4c10954721
2 changed files with 39 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env node
const process = require('process');
const uhk = require('./uhk');
function getUint32(buffer, offset) {
return (buffer[offset]) + (buffer[offset+1] * 2**8) + (buffer[offset+2] * 2**16) + (buffer[offset+3] * 2**24);
}
function getUint16(buffer, offset) {
return (buffer[offset]) + (buffer[offset+1] * 2**8);
}
const slaveId = parseInt(process.argv[2]);
const device = uhk.getUhkDevice();
const sendData = new Buffer([uhk.usbCommands.getSlaveI2cErrors, slaveId]);
device.write(uhk.getTransferData(sendData));
const response = Buffer.from(device.readSync());
console.log(response);
let str = '';
let status = response[0];
if (status != 0) {
console.log('Invalid slave id');
process.exit(1);
}
let statusCount = response[1];
for (let i=0; i<statusCount; i++) {
let status = getUint32(response, i*8+2);
let count = getUint32(response, i*8+4+2);
str += `${status}:${count} `;
}
console.log(str);

View File

@@ -77,6 +77,7 @@ exports = module.exports = moduleExports = {
getAdcValue : 0x0c,
setLedPwmBrightness : 0x0d,
getModuleProperty : 0x0e,
getSlaveI2cErrors : 0x0f,
},
enumerationModes: {
bootloader: 0,