microgui / microgui/MicroGUI-Embedded

Large documents in persistant memory

Open
#15 1 comment 0 reactions 0 assignees View on GitHub
help wanted
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.