intval3/tests/gpio.js

75 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-09-16 18:47:33 +00:00
'use strict'
const Gpio = require('onoff').Gpio
2017-09-16 19:07:34 +00:00
const btn = Gpio(5, 'in', 'both')
2017-09-16 18:47:33 +00:00
2017-09-16 19:07:34 +00:00
console.log('Watching input on GPIO 05')
2017-09-22 04:29:31 +00:00
function releaseTest () {
let saveTime = 0
let active = false
btn.watch((err, val) => {
const NOW = +new Date()
/* Button + 10K ohm resistor */
/* 1 = open */
/* 0 = closed */
if (err) {
return console.error(err)
}
2017-09-22 04:29:31 +00:00
console.log(`Release switch val: ${val}`)
if (val === 0) {
//console.log('closed')
} else if (val === 1) {
//console.log('open')
}
if (val === 0) {
//closed
if ((!active && saveTime === 0) || (active && NOW - saveTime > 10 * 1000)) {
saveTime = NOW
active = true //maybe unncecessary
} else {
//saveTime = 0
//active = false
}
} else if (val === 1) {
//open
if (active) {
if (NOW - saveTime > 50 && NOW - saveTime < 1000) {
console.log('Started Frame')
} else if (NOW - saveTime >= 1000) {
console.log('Started Sequence')
}
console.log(`Release closed for ${NOW - saveTime}`)
saveTime = 0
active = false
}
}
2017-09-22 04:29:31 +00:00
})
}
function microTest () {
let saveTime = 0
let active = false //this._state.active
let primed = false //this._state.primed
btn.watch((err, val) => {
const NOW = +new Date()
if (err) {
return console.error(err)
}
console.log(`Micro switch val: ${val}`)
if (val === 0) {
//console.log('closed')
} else if (val === 1) {
//console.log('open')
}
if (val === 0) {
//console.log('closed')
} else if (val === 1) {
//console.log('open')
}
})
}
2017-09-22 04:29:31 +00:00
//releaseTest()
microTest()