From 7a9da105bb9b113c55b3969572679be471138786 Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Mon, 26 Oct 2026 22:49:14 +0100 Subject: [PATCH] Fix for webserver Avoid static array to avoid elf_loader alignment bug --- Apps/WebServer/manifest.properties | 4 ++-- Apps/WebServer/webserver/main/Source/main.cpp | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Apps/WebServer/manifest.properties b/Apps/WebServer/manifest.properties index 73d9cc0..38eaca0 100644 --- a/Apps/WebServer/manifest.properties +++ b/Apps/WebServer/manifest.properties @@ -2,8 +2,8 @@ manifest.version=0.3 target.sdk=0.8.0-dev target.platforms=esp32,esp32s3,esp32c6,esp32p4 id=tactility.webserver -version.name=0.2.0 -version.code=2 +version.name=0.3.0 +version.code=3 name=Web Server description=Web dashboard with a file browser, app manager and system information app.0.id=tactility.webserver diff --git a/Apps/WebServer/webserver/main/Source/main.cpp b/Apps/WebServer/webserver/main/Source/main.cpp index 342e228..a4b48a8 100644 --- a/Apps/WebServer/webserver/main/Source/main.cpp +++ b/Apps/WebServer/webserver/main/Source/main.cpp @@ -242,6 +242,12 @@ lv_obj_t* createTextArea(lv_obj_t* row, const char* text, uint32_t maxLength, bo return textArea; } +void addWifiModeChip(Context* ctx, const char* name) { + auto* chip = lvgl_chip_create(ctx->wifiModeChips); + lv_label_set_text(lv_label_create(chip), name); + lv_obj_add_event_cb(chip, onWifiModeChip, LV_EVENT_SHORT_CLICKED, ctx); +} + // Called with the LVGL lock held void createWidgets(lv_obj_t* parent, void* userData) { auto* ctx = static_cast(userData); @@ -287,11 +293,8 @@ void createWidgets(lv_obj_t* parent, void* userData) { lv_obj_set_style_pad_all(ctx->wifiModeChips, 0, LV_STATE_DEFAULT); lv_obj_set_style_pad_column(ctx->wifiModeChips, 0, LV_STATE_DEFAULT); // In WebServerWifiMode order - for (const char* name : { "Station", "Access point" }) { - auto* chip = lvgl_chip_create(ctx->wifiModeChips); - lv_label_set_text(lv_label_create(chip), name); - lv_obj_add_event_cb(chip, onWifiModeChip, LV_EVENT_SHORT_CLICKED, ctx); - } + addWifiModeChip(ctx, "Station"); + addWifiModeChip(ctx, "Access point"); lvgl_grid_navigation_add(ctx->wifiModeChips); ctx->apGroup = createGroup(wifiCard);