fix pumps

Took 4 minutes
This commit is contained in:
Tobias Hopp 2022-11-28 13:52:50 +01:00
parent f8aa27c4ca
commit 89ac831fd4

View File

@ -1,42 +1,52 @@
import GPIO from "rpi-gpio"; import GPIO from "rpi-gpio";
import Container from "./database/Container"; import Container from "./database/Container";
import {IContainer} from "./database/IContainer";
export class MyGPIO { export class MyGPIO {
static setup(pin: number, direction): Promise<void> { static setup(pin: number, direction): Promise<void> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
GPIO.setup(pin, direction, (err) => { try {
if (err) { GPIO.setup(pin, direction, (err) => {
reject(); if (err) {
return; reject();
} return;
resolve(); }
}); resolve();
});
} catch (e) {
reject(e);
}
}) })
} }
static write(pin: number, state: boolean): Promise<void> { static write(pin: number, state: boolean): Promise<void> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
GPIO.write(pin, state, (err) => { try {
if (err) { GPIO.write(pin, state, (err) => {
reject(); if (err) {
return; reject();
} return;
resolve(); }
}); resolve();
});
} catch (e) {
reject(e);
}
}); });
} }
static setupPins() : Promise<void> { static setupPins(): Promise<void> {
return new Promise(async resolve => { return new Promise(async resolve => {
let containers = await Container.find({}) as IContainer[]; let containers = await Container.find({});
for (let c of containers) { for (let c of containers) {
if (c.sensorType) { try {
await MyGPIO.setup(c.sensorPin1, GPIO.DIR_IN); if (c.sensorType) {
await MyGPIO.setup(c.sensorPin2, GPIO.DIR_IN); 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(); resolve();
}); });