From 89ac831fd40c613f838ecf438bc85176544ad7ed Mon Sep 17 00:00:00 2001 From: Tobias Hopp Date: Mon, 28 Nov 2022 13:52:50 +0100 Subject: [PATCH] fix pumps Took 4 minutes --- src/MyGPIO.ts | 54 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/src/MyGPIO.ts b/src/MyGPIO.ts index d71c6b5..3f68790 100644 --- a/src/MyGPIO.ts +++ b/src/MyGPIO.ts @@ -1,42 +1,52 @@ import GPIO from "rpi-gpio"; import Container from "./database/Container"; -import {IContainer} from "./database/IContainer"; export class MyGPIO { static setup(pin: number, direction): Promise { return new Promise((resolve, reject) => { - GPIO.setup(pin, direction, (err) => { - if (err) { - reject(); - return; - } - resolve(); - }); + try { + GPIO.setup(pin, direction, (err) => { + if (err) { + reject(); + return; + } + resolve(); + }); + } catch (e) { + reject(e); + } }) } static write(pin: number, state: boolean): Promise { return new Promise((resolve, reject) => { - GPIO.write(pin, state, (err) => { - if (err) { - reject(); - return; - } - resolve(); - }); + try { + GPIO.write(pin, state, (err) => { + if (err) { + reject(); + return; + } + resolve(); + }); + } catch (e) { + reject(e); + } }); } - static setupPins() : Promise { + static setupPins(): Promise { return new Promise(async resolve => { - let containers = await Container.find({}) as IContainer[]; + let containers = await Container.find({}); for (let c of containers) { - if (c.sensorType) { - await MyGPIO.setup(c.sensorPin1, GPIO.DIR_IN); - await MyGPIO.setup(c.sensorPin2, GPIO.DIR_IN); + try { + if (c.sensorType) { + await MyGPIO.setup(c.sensorPin1, GPIO.DIR_IN); + await MyGPIO.setup(c.sensorPin2, GPIO.DIR_IN); + } + await MyGPIO.setup(c.pumpPin, GPIO.DIR_OUT); + await MyGPIO.write(c.pumpPin, false); + } catch (e) { } - await MyGPIO.setup(c.pumpPin, GPIO.DIR_OUT); - await MyGPIO.write(c.pumpPin, false); } resolve(); });