uci-interrupt/examples/multi.js

48 lines
1.3 KiB
JavaScript

import Interrupts from '../src/interrupts'
const PINS = [4]
const EDGE = process.env.EDGE || 'both'
const REMOTE_HOST = process.env.REMOTE_HOST || 'sbc'
const REMOTE_PORT = process.env.REMOTE_PORT || 9000
const PORT = process.env.PORT || 9004
let interrupts = new Interrupts(PINS,{id:'multi-interrupt-example', resetInterval:1, resetEnabled:false, edge:EDGE, 4:{name:'mybutton'} })
// let hook = function (packet)
// {
// packet.cmd = 'interrupt.find'
// return packet
// }
// interrupts.registerHook(hook)
interrupts.on('log', ev => {
console.log(`LOG:'--${ev.level}--" ${ev.msg}`)}
)
interrupts.on('connection:socket', ev => {
// console.dir(ev)
console.log(`connected to remote socket ${ev.socketName}: ${ev.state}`)
})
//
// interrupts.listenReset(function (packet) {
// console.log(`============== ${this.id}=========`)
// console.log('an interrupt reset request emitted')
// console.dir(packet)
// console.log('------------------------')
// })
;
(async () => {
interrupts.registerSocket('inter','c','t',{host:REMOTE_HOST, port:REMOTE_PORT})
interrupts.registerSocket('inters','s','t',{port:PORT})
await interrupts.init()
await interrupts.socketsInit()
})().catch(err => {
console.error('FATAL: UNABLE TO START SYSTEM!\n',err)
// process.kill(process.pid, 'SIGTERM')
})