From a8bb6e44ffd07e822c0a87f199b7dd335eae042e Mon Sep 17 00:00:00 2001 From: Evgenii Meshcheriakov Date: Tue, 25 Oct 2022 16:50:53 +0300 Subject: [PATCH] state-handler: remove stateSensors --- esp-vent-main/inc/StateHandler/StateHandler.h | 10 +--- .../src/StateHandler/StateHandler.cpp | 49 ++++++++----------- esp-vent-main/src/esp-vent-main.cpp | 6 +-- 3 files changed, 25 insertions(+), 40 deletions(-) diff --git a/esp-vent-main/inc/StateHandler/StateHandler.h b/esp-vent-main/inc/StateHandler/StateHandler.h index aba2a03..a1ed518 100644 --- a/esp-vent-main/inc/StateHandler/StateHandler.h +++ b/esp-vent-main/inc/StateHandler/StateHandler.h @@ -171,14 +171,6 @@ private: */ void stateAuto (const Event &event); - /** Sensors state - * - * - print current sensrs readings - * - * @param event - */ - void stateSensors (const Event &event); - /** * @brief Get pressure with the state * @@ -206,6 +198,8 @@ private: void pid (); int fan_speed_normalized (); + + void updateSensorValues (); }; #endif /* STATE_HANDLER_H_ */ diff --git a/esp-vent-main/src/StateHandler/StateHandler.cpp b/esp-vent-main/src/StateHandler/StateHandler.cpp index b7a4873..8678346 100644 --- a/esp-vent-main/src/StateHandler/StateHandler.cpp +++ b/esp-vent-main/src/StateHandler/StateHandler.cpp @@ -6,7 +6,6 @@ */ #include "StateHandler/StateHandler.h" -#define PID 1 StateHandler::StateHandler (LiquidCrystal *lcd, ModbusRegister *A01, PressureWrapper *pressure, Timer *global) @@ -128,7 +127,7 @@ StateHandler::stateManual (const Event &event) case Event::eTick: if (event.value % 5000 == 0) { - SetState (&StateHandler::stateSensors); + updateSensorValues (); displaySet (SENSORS); } if (event.value % 500 == 0) @@ -153,42 +152,21 @@ StateHandler::stateAuto (const Event &event) handleControlButtons (event.value); break; case Event::eTick: - if (event.value % 2 == 0) + if (event.value % 5000 == 0) + { + updateSensorValues (); + displaySet (SENSORS); + } + if (event.value % 500 == 0) { SetState (&StateHandler::stateGetPressure); } - if (event.value % 150 == 0) - { - SetState (&StateHandler::stateSensors); - // displaySens (); - } pid (); this->A01->write (fan_speed.getCurrent ()); break; } } -void -StateHandler::stateSensors (const Event &event) -{ - switch (event.type) - { - case Event::eEnter: - sensors_data[TEMPERATURE] = humidity.readT (); - sensors_data[PRESSUREDAT] = pressure->getPressure (); - sensors_data[CO2] = co2.read (); - state_timer->tickCounter(5); - sensors_data[HUMIDITY] = humidity.readRH (); - break; - case Event::eExit: - break; - case Event::eKey: - break; - case Event::eTick: - break; - } -} - void StateHandler::stateGetPressure (const Event &event) { @@ -257,6 +235,7 @@ StateHandler::fan_speed_normalized () return speed * 10; } + void StateHandler::pid () { @@ -268,3 +247,15 @@ StateHandler::pid () derivative = error - last_error; fan_speed.setInit ((kP * error) + (kI * integral) + (kD * derivative)); } + +void +StateHandler::updateSensorValues () +{ + + sensors_data[TEMPERATURE] = humidity.readT (); + sensors_data[PRESSUREDAT] = pressure->getPressure (); + sensors_data[CO2] = co2.read (); + state_timer->tickCounter(5); + sensors_data[HUMIDITY] = humidity.readRH (); +} + diff --git a/esp-vent-main/src/esp-vent-main.cpp b/esp-vent-main/src/esp-vent-main.cpp index 7eec552..7d9006b 100644 --- a/esp-vent-main/src/esp-vent-main.cpp +++ b/esp-vent-main/src/esp-vent-main.cpp @@ -79,14 +79,14 @@ main (void) DigitalIoPin b_toggle (0, 5, true, true, true); // A3 SwitchController sw_toggle (&b_toggle, &ventMachine, BUTTON_CONTROL_TOG_MODE); - + int getcounterValue = 0; while (1) { - + getcounterValue = glob_time.getCounter(); sw_up.listen (); sw_down.listen (); sw_toggle.listen (); - ventMachine.HandleState (Event (Event::eTick, glob_time.getCounter ())); + ventMachine.HandleState (Event (Event::eTick, getcounterValue)); glob_time.tickCounter (1); }