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,10 +1,10 @@
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) => {
try {
GPIO.setup(pin, direction, (err) => { GPIO.setup(pin, direction, (err) => {
if (err) { if (err) {
reject(); reject();
@ -12,11 +12,15 @@ export class MyGPIO {
} }
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) => {
try {
GPIO.write(pin, state, (err) => { GPIO.write(pin, state, (err) => {
if (err) { if (err) {
reject(); reject();
@ -24,19 +28,25 @@ export class MyGPIO {
} }
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) {
try {
if (c.sensorType) { if (c.sensorType) {
await MyGPIO.setup(c.sensorPin1, GPIO.DIR_IN); await MyGPIO.setup(c.sensorPin1, GPIO.DIR_IN);
await MyGPIO.setup(c.sensorPin2, GPIO.DIR_IN); await MyGPIO.setup(c.sensorPin2, GPIO.DIR_IN);
} }
await MyGPIO.setup(c.pumpPin, GPIO.DIR_OUT); await MyGPIO.setup(c.pumpPin, GPIO.DIR_OUT);
await MyGPIO.write(c.pumpPin, false); await MyGPIO.write(c.pumpPin, false);
} catch (e) {
}
} }
resolve(); resolve();
}); });