state-handler: remove stateSensors
This commit is contained in:
parent
940b978764
commit
a8bb6e44ff
@ -171,14 +171,6 @@ private:
|
|||||||
*/
|
*/
|
||||||
void stateAuto (const Event &event);
|
void stateAuto (const Event &event);
|
||||||
|
|
||||||
/** Sensors state
|
|
||||||
*
|
|
||||||
* - print current sensrs readings
|
|
||||||
*
|
|
||||||
* @param event
|
|
||||||
*/
|
|
||||||
void stateSensors (const Event &event);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get pressure with the state
|
* @brief Get pressure with the state
|
||||||
*
|
*
|
||||||
@ -206,6 +198,8 @@ private:
|
|||||||
void pid ();
|
void pid ();
|
||||||
|
|
||||||
int fan_speed_normalized ();
|
int fan_speed_normalized ();
|
||||||
|
|
||||||
|
void updateSensorValues ();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* STATE_HANDLER_H_ */
|
#endif /* STATE_HANDLER_H_ */
|
||||||
|
|||||||
@ -6,7 +6,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "StateHandler/StateHandler.h"
|
#include "StateHandler/StateHandler.h"
|
||||||
#define PID 1
|
|
||||||
|
|
||||||
StateHandler::StateHandler (LiquidCrystal *lcd, ModbusRegister *A01,
|
StateHandler::StateHandler (LiquidCrystal *lcd, ModbusRegister *A01,
|
||||||
PressureWrapper *pressure, Timer *global)
|
PressureWrapper *pressure, Timer *global)
|
||||||
@ -128,7 +127,7 @@ StateHandler::stateManual (const Event &event)
|
|||||||
case Event::eTick:
|
case Event::eTick:
|
||||||
if (event.value % 5000 == 0)
|
if (event.value % 5000 == 0)
|
||||||
{
|
{
|
||||||
SetState (&StateHandler::stateSensors);
|
updateSensorValues ();
|
||||||
displaySet (SENSORS);
|
displaySet (SENSORS);
|
||||||
}
|
}
|
||||||
if (event.value % 500 == 0)
|
if (event.value % 500 == 0)
|
||||||
@ -153,42 +152,21 @@ StateHandler::stateAuto (const Event &event)
|
|||||||
handleControlButtons (event.value);
|
handleControlButtons (event.value);
|
||||||
break;
|
break;
|
||||||
case Event::eTick:
|
case Event::eTick:
|
||||||
if (event.value % 2 == 0)
|
if (event.value % 5000 == 0)
|
||||||
|
{
|
||||||
|
updateSensorValues ();
|
||||||
|
displaySet (SENSORS);
|
||||||
|
}
|
||||||
|
if (event.value % 500 == 0)
|
||||||
{
|
{
|
||||||
SetState (&StateHandler::stateGetPressure);
|
SetState (&StateHandler::stateGetPressure);
|
||||||
}
|
}
|
||||||
if (event.value % 150 == 0)
|
|
||||||
{
|
|
||||||
SetState (&StateHandler::stateSensors);
|
|
||||||
// displaySens ();
|
|
||||||
}
|
|
||||||
pid ();
|
pid ();
|
||||||
this->A01->write (fan_speed.getCurrent ());
|
this->A01->write (fan_speed.getCurrent ());
|
||||||
break;
|
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
|
void
|
||||||
StateHandler::stateGetPressure (const Event &event)
|
StateHandler::stateGetPressure (const Event &event)
|
||||||
{
|
{
|
||||||
@ -257,6 +235,7 @@ StateHandler::fan_speed_normalized ()
|
|||||||
return speed * 10;
|
return speed * 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
StateHandler::pid ()
|
StateHandler::pid ()
|
||||||
{
|
{
|
||||||
@ -268,3 +247,15 @@ StateHandler::pid ()
|
|||||||
derivative = error - last_error;
|
derivative = error - last_error;
|
||||||
fan_speed.setInit ((kP * error) + (kI * integral) + (kD * derivative));
|
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 ();
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@ -79,14 +79,14 @@ main (void)
|
|||||||
DigitalIoPin b_toggle (0, 5, true, true, true); // A3
|
DigitalIoPin b_toggle (0, 5, true, true, true); // A3
|
||||||
SwitchController sw_toggle (&b_toggle, &ventMachine,
|
SwitchController sw_toggle (&b_toggle, &ventMachine,
|
||||||
BUTTON_CONTROL_TOG_MODE);
|
BUTTON_CONTROL_TOG_MODE);
|
||||||
|
int getcounterValue = 0;
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
getcounterValue = glob_time.getCounter();
|
||||||
sw_up.listen ();
|
sw_up.listen ();
|
||||||
sw_down.listen ();
|
sw_down.listen ();
|
||||||
sw_toggle.listen ();
|
sw_toggle.listen ();
|
||||||
ventMachine.HandleState (Event (Event::eTick, glob_time.getCounter ()));
|
ventMachine.HandleState (Event (Event::eTick, getcounterValue));
|
||||||
glob_time.tickCounter (1);
|
glob_time.tickCounter (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user