31 lines
1.0 KiB
JavaScript
Executable File
31 lines
1.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
let uhk = require('./uhk');
|
|
let [endpointIn, endpointOut] = uhk.getUsbEndpoints();
|
|
var arg = process.argv[2] || '';
|
|
let lastWatchdogCounter = -1;
|
|
|
|
function monitorI2c() {
|
|
var payload = new Buffer([uhk.usbCommands.readDebugInfo]);
|
|
// console.log('Sending ', uhk.bufferToString(payload));
|
|
endpointOut.transfer(payload, function(err) {
|
|
if (err) {
|
|
console.error("USB error: %s", err);
|
|
process.exit(1);
|
|
}
|
|
endpointIn.transfer(64, function(err2, receivedBuffer) {
|
|
if (err2) {
|
|
console.error("USB error: %s", err2);
|
|
process.exit(2);
|
|
}
|
|
let watchdogCounter = (receivedBuffer[1] << 0) + (receivedBuffer[2] << 8) + (receivedBuffer[3] << 16) + (receivedBuffer[4] << 24);
|
|
if (watchdogCounter === lastWatchdogCounter) {
|
|
process.exit(0);
|
|
}
|
|
// console.log('Received', watchdogCounter);
|
|
setTimeout(monitorI2c, 100)
|
|
})
|
|
});
|
|
}
|
|
|
|
monitorI2c();
|