From 3ba8ca59b8316022c2a9ba9cd6cba26aea4bd69a Mon Sep 17 00:00:00 2001 From: Alexander Klein Date: Mon, 3 Jul 2023 17:46:44 +0200 Subject: [PATCH] pump --- lib/Pump/pump.cpp | 37 ++++++++++--------------------------- lib/Pump/pump.h | 16 ++++++++-------- 2 files changed, 18 insertions(+), 35 deletions(-) diff --git a/lib/Pump/pump.cpp b/lib/Pump/pump.cpp index 4072f8e..85a535a 100644 --- a/lib/Pump/pump.cpp +++ b/lib/Pump/pump.cpp @@ -36,6 +36,9 @@ void Pump::loop() { case State::Error : this->stateError(); break; + + default : + break; } } @@ -74,37 +77,13 @@ uint16_t Pump::getFlow() { return 0; } -uint16_t Pump::getStatus() { - switch (this->state) { - case State::Off : - return 0; - break; - - case State::On : - return 1; - break; - - case State::Timer : - return 2; - break; - - case State::Standby : - return 3; - break; - - case State::Error : - return -1; - break; - - default: - return -2; - break; - } +uint8_t Pump::getStatus() { + return (uint8_t) this->state; } bool Pump::checkSensors() { if (millis() - this->lastMillisCheckSensor < Pump::delayCheckSensor) - return; + return true; this->lastMillisCheckSensor = millis(); //TODO: read pressure @@ -171,6 +150,10 @@ void Pump::changeState(State state) { this->handlePins(false); break; + case State::OnStupid : + this->handlePins(true); + break; + default: break; } diff --git a/lib/Pump/pump.h b/lib/Pump/pump.h index 678f218..6d1632f 100644 --- a/lib/Pump/pump.h +++ b/lib/Pump/pump.h @@ -4,12 +4,13 @@ class Pump { public: - enum State { - Off, - On, - Timer, - Standby, - Error + enum State : uint8_t { + Off = 0, + On = 1, + Timer = 2, + Standby = 3, + Error = 100, + OnStupid = 200 }; Pump(uint8_t pumpPin, uint8_t pressurePin, uint8_t flowPin, uint8_t ledPin); @@ -23,7 +24,7 @@ class Pump { uint16_t getPressure(); uint32_t getRunningTime(); uint16_t getFlow(); - uint16_t getStatus(); + uint8_t getStatus(); State getState() { return this->state; } @@ -32,7 +33,6 @@ class Pump { static const uint16_t blinkTime = 1000; static const uint16_t maxPressure = 1000; static const uint16_t maxMaxPressureTime = 30000; - static const uint16_t delayTimer = 1000; bool checkSensors(); void handlePins(bool state);