Add set-led-values.js

This commit is contained in:
László Monda
2017-01-15 14:38:28 +01:00
parent b0b292066c
commit 8343547906
2 changed files with 38 additions and 0 deletions

36
usb/set-led-values.js Executable file
View File

@@ -0,0 +1,36 @@
#!/usr/bin/env node
let uhk = require('./uhk');
let programName = process.argv[1];
if (process.argv.length !== 6) {
console.log(`Usage: ${programName} [display 0-255] [left keys 0-255] [unused 0-255] [right keys 0-255]`);
process.exit(1);
}
let pwmOffset = 0;
let ledDriverAddresses = [uhk.leftLedDriverAddress, uhk.rightLedDriverAddress];
let ledDriverAddress;
const FRAME_REGISTER_PWM_FIRST = 0x24;
uhk.sendUsbPacketsByCallback(() => {
if (pwmOffset === 0) {
ledDriverAddress = ledDriverAddresses.shift();
}
if (!ledDriverAddress) {
return;
}
let isMatrixA = pwmOffset % 16;
let argIndex = 2 + (ledDriverAddress == uhk.leftLedDriverAddress ? 0 : 2) + (isMatrixA ? 0 : 1);
let val = +process.argv[argIndex];
let buffer = new Buffer([uhk.usbCommands.writeLedDriver, ledDriverAddress,
9, FRAME_REGISTER_PWM_FIRST+pwmOffset, val, val, val, val, val, val, val, val]);
pwmOffset += 8;
if (pwmOffset >= 144) {
pwmOffset = 0;
}
return buffer;
});

View File

@@ -104,4 +104,6 @@ exports = module.exports = {
applyConfig: 9,
setLedPwm: 10
},
leftLedDriverAddress: 0b1110100,
rightLedDriverAddress: 0b1110111
}