Initial web frontend #59

Open
matthias wants to merge 6 commits from 30-frontend into main
Owner

Initial frontend, only configuration UI for the first version.
Will be expanded in followup PR.

Deploy frontend on device using freezefs.

Serve static files from microdot.

Initial frontend, only configuration UI for the first version. Will be expanded in followup PR. Deploy frontend on device using freezefs. Serve static files from microdot.
matthias self-assigned this 2025-12-17 17:39:04 +00:00
matthias added 6 commits 2025-12-17 17:39:04 +00:00
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
Merge defaults into config at load time to ensure that all config
options show up in the configuration dialog, even if they were added
after the local configuration was last changed.

Also use the merge method to merge the local config with the new config
in set_config, ensuring the config contains all keys even if the
submitted config leaves some out.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
Implement nicer configuration UI:

- Show human-readable names for config settings
- Show error message received from server if storing settings fails
- Show appropriate input elements for enum choice and numerical inputs

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
- Reset the app idle timer when interacting with the webapp, so that the
  device does not turn off while the web ui is used.

- Handle denying put/post while playback is active centrally in the
  before_request handler, so that it does not need to be copy/pasted
  into every request handler.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
feat: webserver: redirect / to /index.html
All checks were successful
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m41s
Check code formatting / Check-C-Format (push) Successful in 7s
Check code formatting / Check-Python-Flake8 (push) Successful in 9s
Check code formatting / Check-Bash-Shellcheck (push) Successful in 4s
Run unit tests on host / Run-Unit-Tests (push) Successful in 7s
Run pytests / Check-Pytest (push) Successful in 10s
b20a31ccf4
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
build: add requirements.txt for host python deps
All checks were successful
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m40s
Check code formatting / Check-C-Format (push) Successful in 7s
Check code formatting / Check-Python-Flake8 (push) Successful in 10s
Check code formatting / Check-Bash-Shellcheck (push) Successful in 5s
Run unit tests on host / Run-Unit-Tests (push) Successful in 8s
Run pytests / Check-Pytest (push) Successful in 11s
32e996e446
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
matthias requested review from Members 2025-12-17 17:39:04 +00:00
All checks were successful
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m40s
Check code formatting / Check-C-Format (push) Successful in 7s
Required
Details
Check code formatting / Check-Python-Flake8 (push) Successful in 10s
Required
Details
Check code formatting / Check-Bash-Shellcheck (push) Successful in 5s
Required
Details
Run unit tests on host / Run-Unit-Tests (push) Successful in 8s
Required
Details
Run pytests / Check-Pytest (push) Successful in 11s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 30-frontend:30-frontend
git checkout 30-frontend
Sign in to join this conversation.
No Reviewers
TonBERRY/Members
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TonBERRY/tonberry-pico#59