tdse-tf_3-02

Controlador PID para derretidor de miel con control local via botones y remoto via WiFi
Index Commits Files Refs Submodules README
commit e62f6defe36046fac0f527cf1f1b6a425a6e6f33
parent 47eee0a912bc19fecc09dad78cf378cbc6b24509
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Wed,  1 Apr 2026 12:30:23 -0300

Parpadear leds integrado y externo cuando el calefactor está activo

Diffstat:
MREADME.md | 2+-
Mfirmware/app/src/task_system.c | 16++++++++++++----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
@@ -240,7 +240,7 @@ iteración del proyecto.
 |  3 | Programación de ciclos      | 🟡 A implementar      |
 |  4 | Curvas de Temperatura       | 🔴 No se implementará |
 |  5 | Display                     | 🟢 Implementado       |
-|  6 | Luces indicadoras           | 🟡 A implementar      |
+|  6 | Luces indicadoras           | 🟢 A implementar      |
 |  7 | Alarma sonora               | 🟢 Implementado       |
 |  8 | Monitoreo en tiempo real    | 🟢 Implementado       |
 |  9 | Conectividad                | 🟡 A implementar      |
diff --git a/firmware/app/src/task_system.c b/firmware/app/src/task_system.c
@@ -251,13 +251,23 @@ void task_system_statechart(void *parameters)
                         p_shared_data->temp_ctrl_enabled = !p_shared_data->temp_ctrl_enabled;
                         task_menu_interface_put_event(EV_MEN_DISPLAY_UPDATE);
                         task_buzzer_interface_put_event(EV_BUZ_XX_LONG_BEEP, ID_BUZ_A);
+
+                        if (true == p_shared_data->temp_ctrl_enabled)
+                        {
+                            task_leds_interface_put_event(EV_LED_XX_BLINK, ID_LED_A);
+                            task_leds_interface_put_event(EV_LED_XX_BLINK, ID_LED_B);
+                        }
+                        else
+                        {
+                            task_leds_interface_put_event(EV_LED_XX_OFF, ID_LED_A);
+                            task_leds_interface_put_event(EV_LED_XX_OFF, ID_LED_B);
+                        }
+
                     break;
                     case EV_SYS_BTN_A_ACTIVE:
                     case EV_SYS_BTN_D_ACTIVE:
                         p_task_system_dta->state = ST_SYS_CLOCK_SET;
                         task_menu_interface_put_event(EV_MEN_ST_CLOCK_SET);
-                        task_leds_interface_put_event(EV_LED_XX_BLINK, ID_LED_A);
-                        task_leds_interface_put_event(EV_LED_XX_BLINK, ID_LED_B);
                     break;
 
                     default: break;
@@ -275,8 +285,6 @@ void task_system_statechart(void *parameters)
                     case EV_SYS_BTN_D_ACTIVE:
                         p_task_system_dta->state = ST_SYS_TEMP_SET;
                         task_menu_interface_put_event(EV_MEN_ST_TEMP_SET);
-                        task_leds_interface_put_event(EV_LED_XX_OFF, ID_LED_A);
-                        task_leds_interface_put_event(EV_LED_XX_OFF, ID_LED_B);
                     break;
                     case EV_SYS_BTN_B_ACTIVE:
                         task_system_rtc_increment_hour();