state-handler: cleanup, displaySet() can display sensors data or modes
This commit is contained in:
parent
893a41a7d7
commit
42251f7ed7
@ -63,6 +63,12 @@ enum _mode
|
|||||||
AUTO
|
AUTO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum _display
|
||||||
|
{
|
||||||
|
MODES,
|
||||||
|
SENSORS
|
||||||
|
};
|
||||||
|
|
||||||
enum _sensors
|
enum _sensors
|
||||||
{
|
{
|
||||||
PRESSUREDAT,
|
PRESSUREDAT,
|
||||||
@ -98,11 +104,8 @@ public:
|
|||||||
* MANUAL MODE: SPEED: XX% PRESSURE: XXPa
|
* MANUAL MODE: SPEED: XX% PRESSURE: XXPa
|
||||||
*
|
*
|
||||||
* AUTO MODE: P. SET: XXPa P. CURR: XXPa
|
* AUTO MODE: P. SET: XXPa P. CURR: XXPa
|
||||||
*
|
|
||||||
* @param value1 value to be displayed on LCD line 0
|
|
||||||
* @param value2 value to be displayed on LCD line 1
|
|
||||||
*/
|
*/
|
||||||
void displaySet (unsigned int value1, unsigned int value2);
|
void displaySet (bool sensors);
|
||||||
|
|
||||||
/** Display values of sensors readings on LCD
|
/** Display values of sensors readings on LCD
|
||||||
* needed only for Debug purposes
|
* needed only for Debug purposes
|
||||||
|
|||||||
@ -26,20 +26,25 @@ StateHandler::~StateHandler ()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
StateHandler::displaySet (unsigned int value1, unsigned int value2)
|
StateHandler::displaySet (bool sensors)
|
||||||
{
|
{
|
||||||
char line_up[16] = { 0 };
|
char line_up[16] = { 0 };
|
||||||
char line_down[16] = { 0 };
|
char line_down[16] = { 0 };
|
||||||
|
|
||||||
if (current_mode == MANUAL)
|
if(sensors) {
|
||||||
|
snprintf (line_up, 16, "PRE:%02d TEM:%02d", sensors_data[PRESSUREDAT],
|
||||||
|
sensors_data[TEMPERATURE]);
|
||||||
|
snprintf (line_down, 16, "HUM:%02d CO2:%02d", sensors_data[HUMIDITY],
|
||||||
|
sensors_data[CO2]);
|
||||||
|
|
||||||
|
} else if (current_mode == MANUAL)
|
||||||
{
|
{
|
||||||
snprintf (line_up, 16, "SPEED: %02d%", value1);
|
snprintf (line_up, 16, "SPEED: %02d%", saved_set_value[current_mode]);
|
||||||
snprintf (line_down, 16, "PRESSURE: %02dPa", value2);
|
snprintf (line_down, 16, "PRESSURE: %02dPa", saved_curr_value[current_mode]);
|
||||||
}
|
} else if(current_mode == AUTO)
|
||||||
else
|
|
||||||
{
|
{
|
||||||
snprintf (line_up, 16, "P. SET: %02dPa", value1);
|
snprintf (line_up, 16, "P. SET: %02dPa", saved_set_value[current_mode]);
|
||||||
snprintf (line_down, 16, "P. CURR: %02dPa", value2);
|
snprintf (line_down, 16, "P. CURR: %02dPa", saved_curr_value[current_mode]);
|
||||||
}
|
}
|
||||||
|
|
||||||
_lcd->clear ();
|
_lcd->clear ();
|
||||||
@ -51,18 +56,7 @@ StateHandler::displaySet (unsigned int value1, unsigned int value2)
|
|||||||
void
|
void
|
||||||
StateHandler::displaySens ()
|
StateHandler::displaySens ()
|
||||||
{
|
{
|
||||||
char line_up[16] = { 0 };
|
|
||||||
char line_down[16] = { 0 };
|
|
||||||
snprintf (line_up, 16, "PRE:%02d TEM:%02d", sensors_data[PRESSUREDAT],
|
|
||||||
sensors_data[TEMPERATURE]);
|
|
||||||
snprintf (line_down, 16, "HUM:%02d CO2:%02d", sensors_data[HUMIDITY],
|
|
||||||
sensors_data[CO2]);
|
|
||||||
|
|
||||||
_lcd->clear ();
|
|
||||||
_lcd->setCursor (0, 0);
|
|
||||||
_lcd->print (line_up);
|
|
||||||
_lcd->setCursor (0, 1);
|
|
||||||
_lcd->print (line_down);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int
|
unsigned int
|
||||||
@ -97,7 +91,6 @@ StateHandler::stateInit (const Event &event)
|
|||||||
switch (event.type)
|
switch (event.type)
|
||||||
{
|
{
|
||||||
case Event::eEnter:
|
case Event::eEnter:
|
||||||
// SetState (&StateHandler::stateSensors);
|
|
||||||
break;
|
break;
|
||||||
case Event::eExit:
|
case Event::eExit:
|
||||||
_lcd->clear ();
|
_lcd->clear ();
|
||||||
@ -134,12 +127,11 @@ StateHandler::stateManual (const Event &event)
|
|||||||
case Event::eTick:
|
case Event::eTick:
|
||||||
if(event.value % 5000 == 0) {
|
if(event.value % 5000 == 0) {
|
||||||
SetState(&StateHandler::stateSensors);
|
SetState(&StateHandler::stateSensors);
|
||||||
// displaySens ();
|
displaySet(SENSORS);
|
||||||
}
|
}
|
||||||
if (event.value % 500 == 0)
|
if (event.value % 500 == 0)
|
||||||
{
|
{
|
||||||
SetState (&StateHandler::stateGetPressure);
|
SetState (&StateHandler::stateGetPressure);
|
||||||
// state_timer->resetCounter ();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -162,25 +154,13 @@ StateHandler::stateAuto (const Event &event)
|
|||||||
if (event.value % 2 == 0)
|
if (event.value % 2 == 0)
|
||||||
{
|
{
|
||||||
SetState (&StateHandler::stateGetPressure);
|
SetState (&StateHandler::stateGetPressure);
|
||||||
// state_timer->resetCounter ();
|
|
||||||
// break;
|
|
||||||
}
|
}
|
||||||
if(event.value % 153 == 0) {
|
if(event.value % 150 == 0) {
|
||||||
SetState(&StateHandler::stateSensors);
|
SetState(&StateHandler::stateSensors);
|
||||||
// displaySens ();
|
// displaySens ();
|
||||||
}
|
}
|
||||||
pid();
|
pid();
|
||||||
this->A01->write (fan_speed.getCurrent ());
|
this->A01->write (fan_speed.getCurrent ());
|
||||||
// if (saved_curr_value[AUTO] < saved_set_value[AUTO])
|
|
||||||
// {
|
|
||||||
// fan_speed.inc ();
|
|
||||||
// this->A01->write (fan_speed.getCurrent ());
|
|
||||||
// }
|
|
||||||
// else if (saved_curr_value[AUTO] > saved_set_value[AUTO])
|
|
||||||
// {
|
|
||||||
// fan_speed.dec ();
|
|
||||||
// this->A01->write (fan_speed.getCurrent ());
|
|
||||||
// }
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -265,7 +245,7 @@ StateHandler::save (int eventValue, size_t mode)
|
|||||||
{
|
{
|
||||||
saved_curr_value[mode] = eventValue;
|
saved_curr_value[mode] = eventValue;
|
||||||
saved_set_value[mode] = counterValue;
|
saved_set_value[mode] = counterValue;
|
||||||
displaySet (saved_set_value[mode], saved_curr_value[mode]);
|
displaySet (MODES);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user