i want to cry
This commit is contained in:
parent
8a35bb0328
commit
7a8b037e06
@ -12,5 +12,8 @@
|
|||||||
"blower": 0,
|
"blower": 0,
|
||||||
"auger": 0,
|
"auger": 0,
|
||||||
"seenFire": false
|
"seenFire": false
|
||||||
|
},
|
||||||
|
"times": {
|
||||||
|
"blowerOff": 0
|
||||||
}
|
}
|
||||||
}
|
}
|
33
functions.js
33
functions.js
@ -1,3 +1,5 @@
|
|||||||
|
// TODOs: Add tests for PoF and Vacuum switches, add delays for shutting down blower, test logic for igniter
|
||||||
|
|
||||||
// Physical Pin numbers for GPIO
|
// Physical Pin numbers for GPIO
|
||||||
const augerPin = 26; // Pin for controlling the relay for the pellet auger motor.
|
const augerPin = 26; // Pin for controlling the relay for the pellet auger motor.
|
||||||
const igniterPin = 13; // Pin for controlling the relay for the igniter.
|
const igniterPin = 13; // Pin for controlling the relay for the igniter.
|
||||||
@ -170,6 +172,7 @@ const functions = {
|
|||||||
},
|
},
|
||||||
// Shutdown the script gracefully
|
// Shutdown the script gracefully
|
||||||
quit() {
|
quit() {
|
||||||
|
// TODO add quit file detection, not always going to be quitting from files
|
||||||
// Delete the quit file
|
// Delete the quit file
|
||||||
fs.unlink('./quit', (err) => {
|
fs.unlink('./quit', (err) => {
|
||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
@ -200,6 +203,27 @@ const functions = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
shutdown(gpio) {
|
||||||
|
// If the auger is enabled, disable it
|
||||||
|
if (config.status.auger == 1) {
|
||||||
|
config.status.auger = 0;
|
||||||
|
}
|
||||||
|
// If the igniter is on, shut it off.
|
||||||
|
if (config.status.igniter == 1) {
|
||||||
|
functions.power.igniter.off(gpio).then(res => {
|
||||||
|
if (config.debugMode) console.log(`[${(Date.now() - config.startTime)/1000}] I: Shut off igniter.`);
|
||||||
|
}); // TODO catch an error here
|
||||||
|
}
|
||||||
|
// TODO Change this so it gives a delay after shutting down so smoke doesn't enter the house
|
||||||
|
if (config.status.blower == 1) {
|
||||||
|
config.times.blowerOff = Date.now() + 600000; // 10 minutes, TODO move to config
|
||||||
|
// TODO Move this to another function, to run after tests pass
|
||||||
|
// functions.power.blower.off(gpio).then(res => {
|
||||||
|
// if (config.debugMode) console.log(`[${(Date.now() - config.startTime)/1000}] I: Shut off blower.`);
|
||||||
|
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
tests: {
|
tests: {
|
||||||
vacuum(gpio) {
|
vacuum(gpio) {
|
||||||
@ -264,8 +288,17 @@ const functions = {
|
|||||||
}
|
}
|
||||||
resolve(statusMsg);
|
resolve(statusMsg);
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
blowerOffDelay() {
|
||||||
|
if (config.times.blowerOff == 0) return false;
|
||||||
|
// TODO Implement the blower shutdown delay as a test here
|
||||||
|
if (Date.now() > config.times.blowerOff) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
},
|
||||||
power: {
|
power: {
|
||||||
igniter: {
|
igniter: {
|
||||||
on(gpio) {
|
on(gpio) {
|
||||||
|
15
main.js
15
main.js
@ -127,4 +127,19 @@ function statusCheck(fn, gpio) {
|
|||||||
if (config.debugMode) console.log(`[${(Date.now() - config.startTime)/1000}] I: ${res}`);
|
if (config.debugMode) console.log(`[${(Date.now() - config.startTime)/1000}] I: ${res}`);
|
||||||
main(fn, gpio);
|
main(fn, gpio);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
fn.tests.vacuum(gpio).then(status => {
|
||||||
|
if (!status) {
|
||||||
|
fn.commands.shutdown(gpio);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
// blowerOffDelay() returns true only if the blower shutdown has
|
||||||
|
// been initiated AND the specified cooldown time has passed
|
||||||
|
if(fn.tests.blowerOffDelay()) {
|
||||||
|
fn.power.blower.off(gpio).then(res => {
|
||||||
|
// Since the blower shutting off is the last step in the shutdown, we can quit.
|
||||||
|
fn.commands.quit();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user