Try new startup init
This commit is contained in:
parent
0a90a93269
commit
2a756065e7
@ -61,9 +61,9 @@
|
||||
],
|
||||
"power": {
|
||||
"start": {
|
||||
"exhaustDelay": 30000,
|
||||
"augerDelay": 60000,
|
||||
"fireCheckDelay": 420000
|
||||
"exhaustDelay": 5000,
|
||||
"igniterPreheat": 60000,
|
||||
"igniterDelay": 420000
|
||||
},
|
||||
"stop": {
|
||||
"exhaustDelay": 600000
|
||||
|
@ -63,53 +63,68 @@ module.exports = {
|
||||
module.exports.log(changes);
|
||||
}).catch(e => console.error(e));
|
||||
|
||||
// Power on igniter
|
||||
gpio.setPin(process.pinMap.get('igniter').board, 1).then(async () => {
|
||||
// Wait for igniter preheat
|
||||
await module.exports.sleep(config.power.start.exhaustDelay);
|
||||
// Start the exhaust
|
||||
this.exhaust().then(() => {
|
||||
// Check for vacuum
|
||||
this.vacuum().then(() => {
|
||||
// Start the auger
|
||||
this.auger().then(() => {
|
||||
resolve('Startup sequence complete.');
|
||||
}).catch(e => console.error(e));
|
||||
// Preheat the igniter
|
||||
this.igniter().then(() => {
|
||||
module.exports.sleep(config.power.start.igniterDelay).then(() => {
|
||||
// Check for fire
|
||||
this.fire().then(() => {
|
||||
}).catch(e => console.error(e));
|
||||
});
|
||||
}).catch(e => console.error(e));
|
||||
}).catch(e => console.error(e));
|
||||
}).catch(e => console.error(e));
|
||||
|
||||
});
|
||||
},
|
||||
exhaust() {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
// Start exhaust
|
||||
gpio.setPin(process.pinMap.get('exhaust').board, 1).then(async () => {
|
||||
// Finish igniter preheat
|
||||
await module.exports.sleep(config.power.start.augerDelay);
|
||||
gpio.setPin(process.pinMap.get('exhaust').board, 1).then(() => {
|
||||
// Wait to resolve
|
||||
module.exports.sleep(config.power.start.exhaustDelay).then(() => {
|
||||
resolve('Exhaust started.');
|
||||
}
|
||||
}).catch(e => console.error(e));
|
||||
|
||||
});
|
||||
},
|
||||
vacuum() {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
// Check for vacuum
|
||||
gpio.readPin(process.pinMap.get('vacuum').board).then(state => {
|
||||
if (state === '0') {
|
||||
// Power off exhaust
|
||||
gpio.setPin(process.pinMap.get('exhaust').board, 0).then(() => {
|
||||
// Report vacuum failure
|
||||
reject(new Error('Vacuum failure.'));
|
||||
return;
|
||||
}).catch(e => console.error(e));
|
||||
reject(new Error('Vacuum failure.'));
|
||||
} else {
|
||||
// Start auger
|
||||
gpio.setPin(process.pinMap.get('auger').board, 1).then(async () => {
|
||||
// Wait for fire
|
||||
await module.exports.sleep(config.power.start.fireCheckDelay);
|
||||
|
||||
// Power off igniter
|
||||
gpio.setPin(process.pinMap.get('igniter').board, 0).then(() => {
|
||||
// Check for fire on pof
|
||||
gpio.readPin(process.pinMap.get('pof').board).then(state => {
|
||||
if (state === '0') {
|
||||
// Power off auger
|
||||
gpio.setPin(process.pinMap.get('auger').board, 0).then(() => {
|
||||
// Report failed ignition
|
||||
reject(new Error('Failed ignition.'));
|
||||
}).catch(e => console.error(e));
|
||||
} else {
|
||||
// Power off auger
|
||||
gpio.setPin(process.pinMap.get('auger').board, 0).then(() => {
|
||||
// Report successful ignition
|
||||
resolve('Successful ignition.');
|
||||
}).catch(e => console.error(e));
|
||||
}
|
||||
}).catch(e => console.error(e));
|
||||
}).catch(e => console.error(e));
|
||||
}).catch(e => console.error(e));
|
||||
resolve('Vacuum established.');
|
||||
}
|
||||
}).catch(e => console.error(e));
|
||||
});
|
||||
},
|
||||
igniter() {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
// Start igniter
|
||||
gpio.setPin(process.pinMap.get('igniter').board, 1).then(() => {
|
||||
// Wait to resolve
|
||||
module.exports.sleep(config.power.start.igniterPreheat).then(() => {
|
||||
resolve('Igniter preheated.');
|
||||
});
|
||||
}).catch(e => console.error(e));
|
||||
});
|
||||
},
|
||||
fire() {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
// Check for fire
|
||||
gpio.readPin(process.pinMap.get('pof').board).then(state => {
|
||||
if (state === '0') {
|
||||
reject(new Error('Failed ignition.'));
|
||||
} else {
|
||||
resolve('Successful ignition.');
|
||||
}
|
||||
}).catch(e => console.error(e));
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user