added class Pump

This commit is contained in:
2023-02-15 18:25:59 +01:00
parent 41efce51d5
commit bd699cd238
2 changed files with 60 additions and 16 deletions
+14 -2
View File
@@ -11,6 +11,14 @@ class Pump {
LowFlow,
Both
};
enum Status : uint8_t {
Off,
On,
Standby,
Failure
};
typedef void (*ErrorFunction)(Error);
Pump(uint8_t pumpPin, uint8_t pressurePin, uint8_t flowPin);
@@ -29,18 +37,22 @@ class Pump {
void calculatePressure();
void calculateFlow();
void checkErrors();
void controlPump();
void setStatus(Status status);
Status lastStatus = Status::Off;
Status currentStatus = Status::Off;
Error error = Error::None;
ErrorFunction errorFunction = nullptr;
bool pumpState = false;
uint8_t pumpPin;
uint8_t pressurePin;
uint8_t flowPin;
uint8_t delayLoopMs = 20;
uint16_t flowCounter = 0;
uint16_t pressure = 0;
uint32_t lastMillisLoop = 0;
uint32_t lastPressureCalculation = 0;