Add EEPROM stress testing scripts.

This commit is contained in:
László Monda
2017-08-07 03:02:21 +02:00
parent 941ff7053b
commit f6e67d0e73
7 changed files with 135 additions and 7 deletions

32
usb/eeprom.js Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env node
let fs = require('fs');
let uhk = require('./uhk');
let eepromTransferType = process.argv[2];
let eepromTransferId = uhk.eepromTransfer[eepromTransferType];
if (eepromTransferId === undefined) {
console.error(`Gotta provide one of ${Object.keys(uhk.eepromTransfer).join(', ')}`);
process.exit(1);
}
let isFirstSend = true;
let isFirstReceive = true;
let isEepromBusy = true;
uhk.sendUsbPacketsByCallback(() => {
if (isFirstSend) {
isFirstSend = false;
return new Buffer([uhk.usbCommands.launchEepromTransfer, eepromTransferId]);
} else {
return isEepromBusy ? new Buffer([uhk.usbCommands.getKeyboardState]) : null;
}
});
uhk.registerReceiveCallback((buffer) => {
if (isFirstReceive) {
isFirstReceive = false;
} else {
isEepromBusy = buffer[1] === 1;
}
});