initial
This commit is contained in:
59
node_modules/onoff/test/change-configuration.js
generated
vendored
Normal file
59
node_modules/onoff/test/change-configuration.js
generated
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
"use strict";
|
||||
|
||||
const assert = require('assert');
|
||||
const Gpio = require('../onoff').Gpio;
|
||||
|
||||
let output = new Gpio(8, 'out');
|
||||
let input = new Gpio(7, 'in', 'both');
|
||||
|
||||
function watchWithSecondConfiguration() {
|
||||
input.watch((err, value) => {
|
||||
assert(!err, 'error during interrupt detection');
|
||||
assert(value === 1, 'expected interrupt on rising edge');
|
||||
|
||||
setTimeout(() => {
|
||||
input.unexport();
|
||||
output.unexport();
|
||||
|
||||
console.log('ok - ' + __filename);
|
||||
}, 10);
|
||||
});
|
||||
|
||||
output.writeSync(1);
|
||||
}
|
||||
|
||||
function changeConfiguration() {
|
||||
input.unwatchAll();
|
||||
|
||||
let temp = output;
|
||||
temp.setDirection('in');
|
||||
output = input;
|
||||
input = temp;
|
||||
|
||||
output.setEdge('none');
|
||||
output.setDirection('out');
|
||||
output.writeSync(0);
|
||||
assert(output.direction() === 'out', 'expected direction to be out');
|
||||
assert(output.edge() === 'none', 'expected edge to be none');
|
||||
assert(output.readSync() === 0, 'expected value to be 0');
|
||||
|
||||
input.setEdge('rising');
|
||||
assert(input.direction() === 'in', 'expected direction to be in');
|
||||
assert(input.edge() === 'rising', 'expected edge to be rising');
|
||||
assert(input.readSync() === 0, 'expected value to be 0');
|
||||
|
||||
watchWithSecondConfiguration();
|
||||
}
|
||||
|
||||
function watchWithFirstConfiguration() {
|
||||
input.watch((err, value) => {
|
||||
assert(!err, 'error during interrupt detection');
|
||||
assert(value === 1, 'expected interrupt on rising edge');
|
||||
|
||||
setTimeout(changeConfiguration, 10);
|
||||
});
|
||||
|
||||
output.writeSync(1);
|
||||
}
|
||||
|
||||
watchWithFirstConfiguration();
|
Reference in New Issue
Block a user