forked from jadonk/bonescript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgpioint.js
More file actions
30 lines (29 loc) · 1 KB
/
gpioint.js
File metadata and controls
30 lines (29 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var events = require('events');
var misc = require('./build/Release/misc');
misc.Pollpri.prototype.__proto__ = events.EventEmitter.prototype;
if(process.argv.length > 2) {
var file = process.argv[2];
var gpioPoll = new misc.Pollpri(file);
var gpioHandler = function(value) {
value = value.replace(/\s*$/, '');
console.log(''+value);
};
gpioPoll.on('edge', gpioHandler);
} else {
var onMessage = function(m) {
//console.log('Attaching handler to ' + m.file);
var gpioPoll = new misc.Pollpri(m.file);
var gpioHandler = function(value) {
//console.log('Got interrupt event');
try {
process.send({'value': value});
} catch(ex) {
console.error('Unable to send message to parent process: ' + ex);
process.exit(1);
}
};
gpioPoll.on('edge', gpioHandler);
};
process.on('message', onMessage);
//console.log('Started GPIO interrupt listener');
}