@iiot2k/gpiox
Version:
Input/Output on any gpio library
41 lines (31 loc) • 885 B
JavaScript
/*
* example blinks gpio output
*
* run:
* > node blink_gpio.js
*
*/
;
const gpiox = require("../gpiox");
const PIN_INPUT = 21;
const PIN_OUTPUT = 20;
const BLINK_1 = 500; // ms
const BLINK_2 = 1500; // ms
const DEBOUNCE_US = 1000; // us
console.log("*** blink gpio node.js example ***");
console.log("stop program with Ctrl+C");
// init gpio
gpiox.init_gpio(PIN_INPUT, gpiox.GPIO_MODE_INPUT_PULLUP, DEBOUNCE_US);
gpiox.init_gpio(PIN_OUTPUT, gpiox.GPIO_MODE_OUTPUT, 0);
// depends on input blink output
if (gpiox.get_gpio(PIN_INPUT))
gpiox.blink_gpio(PIN_OUTPUT, BLINK_1);
else
gpiox.blink_gpio(PIN_OUTPUT, BLINK_2);
// prevent stop program
var id_intv = setInterval(function() {}, 100);
process.on('SIGINT', () => {
clearInterval(id_intv);
console.log(" -> program stopped");
process.exit();
});