From 57a41f58247315b5ec51f03d298204b1fa36b295 Mon Sep 17 00:00:00 2001 From: cpq Date: Fri, 1 May 2026 13:52:47 +0100 Subject: [PATCH] Update minimal --- tutorials/device-dashboard/full/dashboard.c | 18 +++++----- .../device-dashboard/minimal/dashboard.c | 33 +++++++++---------- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/tutorials/device-dashboard/full/dashboard.c b/tutorials/device-dashboard/full/dashboard.c index d85c7507..e02956e9 100644 --- a/tutorials/device-dashboard/full/dashboard.c +++ b/tutorials/device-dashboard/full/dashboard.c @@ -3,8 +3,6 @@ #include "mongoose.h" -static struct mg_dash s_dashboard; - // Action buttons static bool s_action1, s_action2; static uint64_t s_action2_timeout; @@ -165,18 +163,20 @@ static struct mg_field_set set_graph2 = { }; void mg_dash_init(struct mg_mgr *mgr) { - MG_DASH_ADD_FIELD_SET(&s_dashboard, &set_leds); - MG_DASH_ADD_FIELD_SET(&s_dashboard, &set_metrics); - MG_DASH_ADD_FIELD_SET(&s_dashboard, &set_settings); - MG_DASH_ADD_FIELD_SET(&s_dashboard, &set_graph1); - MG_DASH_ADD_FIELD_SET(&s_dashboard, &set_graph2); - MG_DASH_ADD_FIELD_SET(&s_dashboard, &set_actions); + static struct mg_dash dash; // Important: keep it static! + + MG_DASH_ADD_FIELD_SET(&dash, &set_leds); + MG_DASH_ADD_FIELD_SET(&dash, &set_metrics); + MG_DASH_ADD_FIELD_SET(&dash, &set_settings); + MG_DASH_ADD_FIELD_SET(&dash, &set_graph1); + MG_DASH_ADD_FIELD_SET(&dash, &set_graph2); + MG_DASH_ADD_FIELD_SET(&dash, &set_actions); // Add two fake files - for demonstration mg_dash_file_add(mg_str("device-config.json"), 1234); mg_dash_file_add(mg_str("device-log-2026-04-25.txt"), 1327854); - mg_http_listen(mgr, MG_HTTP_ADDR, mg_dash_ev_handler, &s_dashboard); + mg_http_listen(mgr, MG_HTTP_ADDR, mg_dash_ev_handler, &dash); } void mg_dash_poll(struct mg_mgr *mgr) { diff --git a/tutorials/device-dashboard/minimal/dashboard.c b/tutorials/device-dashboard/minimal/dashboard.c index 278d93d6..6d6291f8 100644 --- a/tutorials/device-dashboard/minimal/dashboard.c +++ b/tutorials/device-dashboard/minimal/dashboard.c @@ -6,32 +6,31 @@ static bool s_led1; static char s_version[10]; +static void read_status(void) { + MG_INFO(("READING STATUS")); + // s_led1 = gpio_read(LED1_PIN); + mg_snprintf(s_version, sizeof(s_version), "1.2.3"); +} + +static void write_status(void) { + MG_INFO(("WRITING STATUS")); + // gpio_write(LED1_PIN, s_led1); +} + static struct mg_field fields_status[] = { {"led1", MG_VAL_BOOL, &s_led1, sizeof(s_led1)}, {"version", MG_VAL_STR, &s_version, sizeof(s_version)}, {NULL, MG_VAL_INT, NULL, 0}, }; -static void read_status(void) { - MG_INFO(("READING STATUS")); - //s_led1 = gpio_read(LED1_PIN); - mg_snprintf(s_version, sizeof(s_version), "1.2.3"); -} - -static void write_status(void) { - MG_INFO(("WRITING STATUS")); - //gpio_write(LED1_PIN, s_led1); -} - -// Each field set translates to REST API /api/NAME -static struct mg_field_set field_sets[] = { - {"status", fields_status, read_status, write_status, 0, 0}, - {0, 0, 0, 0, 0, 0}, +static struct mg_field_set field_set_status = { + "status", fields_status, read_status, write_status, 0, 0, NULL, }; -static struct mg_dash s_dashboard = {field_sets, NULL, NULL}; void mg_dash_init(struct mg_mgr *mgr) { - mg_http_listen(mgr, MG_HTTP_ADDR, mg_dash_ev_handler, &s_dashboard); + static struct mg_dash dash; // Important: keep it static! + MG_DASH_ADD_FIELD_SET(&dash, &field_set_status); + mg_http_listen(mgr, MG_HTTP_ADDR, mg_dash_ev_handler, &dash); } void mg_dash_poll(struct mg_mgr *mgr) {