@node-pigpio/core
Version:
pigpiod client for node.js
50 lines (49 loc) • 1.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRequestParam = void 0;
const RequestCommands_1 = __importDefault(require("./RequestCommands"));
const ResponseCommands_1 = __importDefault(require("./ResponseCommands"));
// Currently not available in http://abyz.me.uk/rpi/pigpio/sif.html
const RequestCommands = Object.assign({ WVCAP: {
cmdNo: 118,
p1: 'percent',
p2: '0',
p3: '0',
extension: ['-'],
} }, RequestCommands_1.default);
const ResponseCommands = Object.assign({ WVCAP: {
cmdNo: 118,
p1: 'percent',
p2: '0',
p3: '0',
extension: ['-'],
} }, ResponseCommands_1.default);
const isExtensionRequest = (param) => { var _a; return ((_a = param.extension) === null || _a === void 0 ? void 0 : _a.length) > 0; };
const pickParam = (param, name) => {
const v = param[name];
if (typeof v === 'number') {
return v;
}
return 0;
};
const createRequestParam = (param) => {
const p1name = RequestCommands[param.command].p1;
const p1 = pickParam(param, p1name) | 0;
const p2name = RequestCommands[param.command].p2;
const p2 = pickParam(param, p2name) | 0;
const cmd = RequestCommands[param.command].cmdNo;
const extension = isExtensionRequest(param) ? param.extension : undefined;
const responseExtensionName = ResponseCommands[param.command].extension;
const responseExtension = responseExtensionName[0] !== '-' && responseExtensionName[0] !== 'N/A';
return {
cmd,
p1,
p2,
extension,
responseExtension,
};
};
exports.createRequestParam = createRequestParam;