state-handler: fix switch between modes

This commit is contained in:
Vasily Davydov 2022-10-27 17:29:09 +03:00
parent 9423d81e41
commit 8212890897

View File

@ -95,6 +95,7 @@ StateHandler::stateInit (const Event &event)
switch (event.type) switch (event.type)
{ {
case Event::eEnter: case Event::eEnter:
this->_propeller->spin (fan_speed_normalized ());
break; break;
case Event::eExit: case Event::eExit:
break; break;
@ -121,7 +122,6 @@ StateHandler::stateManual (const Event &event)
{ {
case Event::eEnter: case Event::eEnter:
displaySet (MANUAL); displaySet (MANUAL);
// this->_propeller->spin (fan_speed.getCurrent ());
break; break;
case Event::eExit: case Event::eExit:
break; break;
@ -141,7 +141,6 @@ StateHandler::stateAuto (const Event &event)
{ {
case Event::eEnter: case Event::eEnter:
displaySet (AUTO); displaySet (AUTO);
// this->_propeller->spin (fan_speed.getCurrent ());
break; break;
case Event::eExit: case Event::eExit:
break; break;
@ -272,7 +271,7 @@ StateHandler::fan_speed_normalized ()
void void
StateHandler::pid () StateHandler::pid ()
{ {
float kP = 0.6, kI = 0.05, kD = 0.125; float kP = 0.6, kI = 0.05, kD = 0.125;
int error = 0, last_error = 0, derivative = 0; int error = 0, last_error = 0, derivative = 0;
error = saved_set_value[AUTO] - saved_curr_value[AUTO]; error = saved_set_value[AUTO] - saved_curr_value[AUTO];
last_error = error; last_error = error;