microgui / microgui/MicroGUI-Embedded
Large documents in persistant memory
- Dominant language
- C++
- Stars
- 5
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the ESP-IDF NVS flash size limits described in the issue and the document-loading path around mgui_init(). Determine how remotely uploaded GUI documents are stored and define completion as allowing documents larger than 4000 bytes to be stored and used remotely without relying on hard-coded sketches.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- arduino, cpp
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100