fix(P4): Compiler-Warnungen des Display-Builds beseitigt (1.1.1) #14

Merged
thomas merged 1 commits from fix/p4-compiler-warnungen into main 2026-08-11 01:23:02 +02:00
Owner

Von 68 Warnungen (arduino-cli --warnings all) auf eine einzige, die im ESP32-Core-SDK steckt (periph_ctrl.h, -Wliteral-suffix) und nicht im Projekt behebbar ist. Auf dem Standard-Warnlevel ist der Build damit sauber.

1. LVGL-Option umbenannt (~60 der 68 Warnungen)
LV_FS_DEFAULT_DRIVE_LETTER heisst ab LVGL 9.3 LV_FS_DEFAULT_DRIVER_LETTER. Der alte Name wurde weiter uebersetzt, loeste aber in lv_api_map_v9_1.h ein #warning aus - und zwar in JEDER Uebersetzungseinheit, die lvgl.h einbindet. Deshalb die Flut. In lv_conf.h umbenannt.

2. Enum-Verknuepfung (5 Stellen)
LV_PART_* und LV_STATE_* sind in LVGL 9 zwei verschiedene Enum-Typen; die direkte Oder-Verknuepfung ist in C++20 abgekuendigt (-Wdeprecated-enum-enum-conversion). Neues Makro TH_SEL(part, state) in theme.h castet beide auf lv_style_selector_t (ohnehin uint32_t). Betraf ui.cpp und theme.h.

3. Bug-Fix nebenbei
Der Puffer der Cold-Extraction-Infozeile auf der Brew-Seite war mit 192 Bytes zu klein fuer den rund 205 Zeichen langen Text (das Gradzeichen zaehlt als zwei Bytes) - die letzte Zeile wurde abgeschnitten. Jetzt 256 Bytes. Der Compiler meldete das als -Wformat-truncation; unter den 60 LVGL-Warnungen war es nicht zu sehen.

Keine Funktionsaenderung sonst. Flash/RAM unveraendert (37 % / 98 %).

Von 68 Warnungen (`arduino-cli --warnings all`) auf eine einzige, die im ESP32-Core-SDK steckt (`periph_ctrl.h`, -Wliteral-suffix) und nicht im Projekt behebbar ist. Auf dem Standard-Warnlevel ist der Build damit sauber. **1. LVGL-Option umbenannt (~60 der 68 Warnungen)** `LV_FS_DEFAULT_DRIVE_LETTER` heisst ab LVGL 9.3 `LV_FS_DEFAULT_DRIVER_LETTER`. Der alte Name wurde weiter uebersetzt, loeste aber in `lv_api_map_v9_1.h` ein `#warning` aus - und zwar in JEDER Uebersetzungseinheit, die `lvgl.h` einbindet. Deshalb die Flut. In `lv_conf.h` umbenannt. **2. Enum-Verknuepfung (5 Stellen)** `LV_PART_*` und `LV_STATE_*` sind in LVGL 9 zwei verschiedene Enum-Typen; die direkte Oder-Verknuepfung ist in C++20 abgekuendigt (`-Wdeprecated-enum-enum-conversion`). Neues Makro `TH_SEL(part, state)` in `theme.h` castet beide auf `lv_style_selector_t` (ohnehin `uint32_t`). Betraf `ui.cpp` und `theme.h`. **3. Bug-Fix nebenbei** Der Puffer der Cold-Extraction-Infozeile auf der Brew-Seite war mit 192 Bytes zu klein fuer den rund 205 Zeichen langen Text (das Gradzeichen zaehlt als zwei Bytes) - die letzte Zeile wurde abgeschnitten. Jetzt 256 Bytes. Der Compiler meldete das als `-Wformat-truncation`; unter den 60 LVGL-Warnungen war es nicht zu sehen. Keine Funktionsaenderung sonst. Flash/RAM unveraendert (37 % / 98 %).
thomas added 1 commit 2026-08-11 01:23:02 +02:00
Von 68 Warnungen (arduino-cli --warnings all) auf eine einzige, die im
ESP32-Core-SDK steckt und nicht im Projekt behebbar ist.

- LV_FS_DEFAULT_DRIVE_LETTER heißt ab LVGL 9.3 LV_FS_DEFAULT_DRIVER_LETTER. Der
  alte Name funktionierte weiter, löste aber in lv_api_map_v9_1.h ein #warning in
  JEDER Übersetzungseinheit aus, die lvgl.h einbindet — allein rund 60 Warnungen
  pro Build, die alles andere zugedeckt haben. In lv_conf.h umbenannt.
- LV_PART_* und LV_STATE_* sind in LVGL 9 verschiedene Enum-Typen; die direkte
  |-Verknüpfung ist in C++20 abgekündigt. Neues Makro TH_SEL(part, state) in
  theme.h castet beide auf lv_style_selector_t (ohnehin uint32_t), 5 Stellen.
- Bug-Fix: Der Puffer der Cold-Extraction-Infozeile auf der Brew-Seite war mit 192
  Bytes zu klein für den ~205 Zeichen langen Text (das "°" zählt doppelt), die
  letzte Zeile wurde abgeschnitten. Jetzt 256 Bytes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
thomas merged commit bc78a10505 into main 2026-08-11 01:23:02 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: thomas/Dual-PID#14