commit 6a8c520af41e896354917b46e5b28f3ee6ef0343
parent 4193f449ffb23cb8dc3f6c82f7ff5f19dcd47516
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date: Tue, 7 Apr 2026 16:59:42 -0300
Actualizar display solo si la temperatura o el ciclo de trabajo cambian
Diffstat:
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/firmware/app/src/task_menu.c b/firmware/app/src/task_menu.c
@@ -34,6 +34,7 @@ static uint8_t task_menu_count_digits(int16_t n);
static bool g_display_update;
static task_menu_st_t g_menu_prev_state;
static int16_t temp_sensor_prev;
+static uint8_t temp_ctrl_pwm_dc_prev;
// Public variables
volatile uint32_t g_task_menu_tick_cnt;
@@ -59,6 +60,7 @@ void task_menu_init(void *parameters)
p_task_menu_dta->event = EV_MEN_ST_IDLE;
p_task_menu_dta->event_flag = false;
temp_sensor_prev = p_shared_data->temp_sensor;
+ temp_ctrl_pwm_dc_prev = p_shared_data->temp_ctrl_pwm_dc;
display_i2c_init();
display_i2c_set_cursor_pos(0, 0);
@@ -192,11 +194,13 @@ static void task_menu_statechart(void *parameters)
if (0 == p_task_menu_dta->tick)
{
- if (p_shared_data->temp_sensor != temp_sensor_prev)
+ if ((p_shared_data->temp_sensor != temp_sensor_prev) ||
+ (p_shared_data->temp_ctrl_pwm_dc != temp_ctrl_pwm_dc_prev))
{
g_display_update = true;
}
temp_sensor_prev = p_shared_data->temp_sensor;
+ temp_ctrl_pwm_dc_prev = p_shared_data->temp_ctrl_pwm_dc;
p_task_menu_dta->tick = G_TASK_MEN_DISPLAY_UPDATE_RATE_MS;
}
else
@@ -289,10 +293,10 @@ static void task_menu_statechart(void *parameters)
g_display_update = false;
display_i2c_async_clear();
display_i2c_async_write_string("Timer>");
- display_i2c_async_set_cursor_pos(8, 0);
+ display_i2c_async_set_cursor_pos(13, 0);
memset(menu_row_str, '\0', sizeof(menu_row_str));
- sprintf(menu_row_str, "%8s",
- p_shared_data->timer->enabled ? "enabled" : "disabled");
+ sprintf(menu_row_str, "%3s",
+ p_shared_data->timer->enabled ? "On" : "Off");
display_i2c_async_write_string(menu_row_str);
display_i2c_async_set_cursor_pos(3, 1);