@elgato-stream-deck/tcp
Version:
An npm module for interfacing with select Elgato Stream Deck devices in node over tcp
26 lines • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseDevice2Info = parseDevice2Info;
const core_1 = require("@elgato-stream-deck/core");
function parseDevice2Info(device2Info) {
if (device2Info[4] !== 0x02) {
// Nothing connected, or not OK
return null;
}
const dataView = (0, core_1.uint8ArrayToDataView)(device2Info);
const vendorId = dataView.getUint16(26, true);
const productId = dataView.getUint16(28, true);
const serialNumberStart = 94;
const serialNumberEnd = 125;
const firstNullInSerial = device2Info.subarray(serialNumberStart, serialNumberEnd).indexOf(0x00);
const serialNumber = new TextDecoder('ascii').decode(device2Info.subarray(serialNumberStart, firstNullInSerial > -1 ? serialNumberStart + firstNullInSerial : serialNumberEnd));
const tcpPort = dataView.getUint16(126, true);
return {
serialNumber,
tcpPort,
vendorId,
productId,
path: undefined,
};
}
//# sourceMappingURL=device2Info.js.map