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 40319f6c5dd6565e603076c398b6808c93cececb
parent 4ba3cf3a929912e2f82e7a198144f3c64e19b5ab
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Sun, 12 Apr 2026 21:41:20 -0300

Solucionar advertencia por sobreescribir buffer con `snprintf`

Diffstat:
Mfirmware-nucleo/App/Src/task_menu.c | 13+++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/firmware-nucleo/App/Src/task_menu.c b/firmware-nucleo/App/Src/task_menu.c
@@ -140,7 +140,7 @@ static void task_menu_statechart(void *parameters)
 {
     task_menu_dta_t *p_task_menu_dta;
     shared_data_type *p_shared_data = (shared_data_type *)parameters;
-    char menu_row_str[16 + 4];
+    char menu_row_str[32];
 
     p_task_menu_dta = &task_menu_dta;
 
@@ -218,21 +218,22 @@ static void task_menu_statechart(void *parameters)
                 {
                     display_i2c_async_write_string("On");
                     display_i2c_async_set_cursor_pos(10, 0);
-                    snprintf(menu_row_str, 20, "%5d%%",
+                    sprintf(menu_row_str, "%5d%%",
                             p_shared_data->temp_ctrl_pwm_dc);
                     display_i2c_async_write_string(menu_row_str);
                 }
                 else
                 {
-                    snprintf(menu_row_str, 20, "Idle"); 
+                    sprintf(menu_row_str, "Idle"); 
                     display_i2c_async_write_string(menu_row_str);
                 }
 
                 display_i2c_async_set_cursor_pos(0, 1);
                 memset(menu_row_str, '\0', sizeof(menu_row_str));
-                snprintf(menu_row_str, 20, "%s %*d(%d)%cC",
-                        p_shared_data->timer->enabled ? "[P]" : "   ",
-                        (8 - task_menu_count_digits(p_shared_data->temp_set_point)),
+                uint8_t aux = (8 - task_menu_count_digits(p_shared_data->temp_set_point));
+                aux = ((aux < 0) ? 0 : ((aux > 8) ? 8 : aux));
+                sprintf(menu_row_str, "%s %*d(%d)%cC",
+                        p_shared_data->timer->enabled ? "[P]" : "   ", aux,
                         p_shared_data->temp_sensor,
                         p_shared_data->temp_set_point,
                         G_DISPLAY_CHAR_DEGREE_CODE);