Add set-led-values.js
This commit is contained in:
Executable
+36
@@ -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;
|
||||||
|
});
|
||||||
@@ -104,4 +104,6 @@ exports = module.exports = {
|
|||||||
applyConfig: 9,
|
applyConfig: 9,
|
||||||
setLedPwm: 10
|
setLedPwm: 10
|
||||||
},
|
},
|
||||||
|
leftLedDriverAddress: 0b1110100,
|
||||||
|
rightLedDriverAddress: 0b1110111
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user