microgui / microgui/MicroGUI-Embedded

Large documents in persistant memory

Offen
#15 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

help wanted
Vorherrschende Sprache
C++
Sterne
5
Forks
0
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

After implementing #12 it was discovered that larger GUI documents could not be stored in the persistant flash memory. This is due to a known [limitation](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_flash.html):

> String values are currently limited to 4000 bytes. This includes the null terminator. Blob values are limited to 508,000 bytes or 97.6% of the partition size - 4000 bytes, whichever is lower.

This means that larger GUI documents than 4000 bytes are not going to be able to be stored upon uploading remotely.
The workaround for this is to hard-code the large GUI when compiling a sketch, and passing it to mgui_init().

This limitation is not necessarily a big issue that needs to be solved, but it could be a good idea to implement a smart workaround for this so that the user gets a better experience using MicroGUI.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung der im Issue beschriebenen Größenbeschränkungen des ESP-IDF NVS-Flashs und des Pfads zum Laden von Dokumenten rund um mgui_init(). Ermittle, wie remote hochgeladene GUI-Dokumente gespeichert werden, und definiere den Abschluss so, dass Dokumente mit mehr als 4000 Bytes gespeichert und remote verwendet werden können, ohne auf fest codierte Sketches angewiesen zu sein.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
arduino, cpp
Bereich
embedded-iot
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.