misc-features #62

Merged
matthias merged 20 commits from misc-features into main 2026-01-13 21:31:19 +00:00
Owner
  • Long press VOL_DOWN button to shutdown/reset device
  • feat: store git version in fw and show in web ui
- Long press VOL_DOWN button to shutdown/reset device - feat: store git version in fw and show in web ui
matthias self-assigned this 2025-12-21 20:22:52 +00:00
matthias added 2 commits 2025-12-21 20:22:52 +00:00
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
feat: store git version in fw and show in web ui
All checks were successful
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m41s
Check code formatting / Check-C-Format (push) Successful in 8s
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 11s
f99dec19c9
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
matthias requested review from Members 2025-12-21 20:22:52 +00:00
matthias added 2 commits 2025-12-22 11:25:07 +00:00
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
microdot: Update to v2.5.1
All checks were successful
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 8s
Run pytests / Check-Pytest (push) Successful in 10s
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m42s
bbe0b3ea7f
The important fix is an urldecode bug causing umlauts to be decoded
incorrectly from url arguments. This was fixed in v2.2.0, but let's just
update to the latest version.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
matthias force-pushed misc-features from bbe0b3ea7f to 2971df7b68 2025-12-23 11:00:15 +00:00 Compare
matthias added 1 commit 2025-12-23 11:08:42 +00:00
fix: frontend: Replace generic 'Device admin' title
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 4s
Run unit tests on host / Run-Unit-Tests (push) Successful in 7s
Run pytests / Check-Pytest (push) Successful in 11s
94a8c3d720
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
matthias added 1 commit 2025-12-23 12:26:09 +00:00
feat: Add names to playlists
All checks were successful
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m38s
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
bdde8cb4c2
Fixes #63.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
matthias added 2 commits 2025-12-23 16:12:07 +00:00
Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
fix: allow 'reboot' to application when on on battery
Some checks failed
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m38s
Check code formatting / Check-C-Format (push) Successful in 8s
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) Failing after 11s
944b6b8f14
Having to press the power button again to wake up the device is less
annoying to the user than not being able to apply settings when the
device is on battery.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
matthias force-pushed misc-features from 944b6b8f14 to d8eb61e967 2025-12-23 17:23:29 +00:00 Compare
matthias force-pushed misc-features from d8eb61e967 to 2cf88b26ee 2025-12-27 14:23:56 +00:00 Compare
matthias added 4 commits 2026-01-06 13:15:37 +00:00
Previously, if no tonberry.db existed on the SD card, the database was
initialized with a playlist for each directory containing mp3 files,
with the tag serial number matching the directory name. This was used
during development before the web UI to edit the playlist db existed.
It is no longer necessary, and confusing to the user when unusable
playlists are created when albums are preloaded onto the SD card before
putting it in the tonberry device.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
- Make sure the upload progess bar and file choser are reset when
  loading the file browser screen.
- Don't expand the directories in the tree view by default.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
When the device is in 'tagstartstop' tag mode, and the user presents a
new tag to get the serial number and create a playlist using the web UI,
the playerapp still remembered the tag as the currently playing tag even
though no playlist was found and no playback is running. After the user
saves the playlist in the UI and puts the tag on the device again, they
expect the playback to start with the new playlist. Instead, nothing
happens, because this is counted as the 'stop' event of the tagstartstop
mode. The user would have to remove the tag and present it again (after
waiting for the tagtimeout) to play the new playlist.

Fix this unexpected behaviour by not storing the current tag into the
playing_tag field if no playlist existed for the tag.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
feat: Allow configuring WiFi security
Some checks failed
Build RPi Pico firmware image / Build-Firmware (push) Successful in 4m43s
Check code formatting / Check-C-Format (push) Successful in 36m15s
Check code formatting / Check-Python-Flake8 (push) Failing after 10s
Check code formatting / Check-Bash-Shellcheck (push) Successful in 5s
Run unit tests on host / Run-Unit-Tests (push) Successful in 9s
Run pytests / Check-Pytest (push) Successful in 11s
e578b5738f
Allow choosing between the three security modes exposed by the
micropython cyw43 wifi driver. Also allow setting up security in AP
mode.

Improve the WiFi section of the configuration UI.

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
matthias force-pushed misc-features from e578b5738f to 6dee7fff7e 2026-01-06 13:59:29 +00:00 Compare
Member

Remarks about 'surprises':

  • webserver.py: /api/v1/info replies with {'version': } because 'git describe --match 'v*' --always --dirty' returns a short hash if no tag 'v*' is found
  • main.py: we seem to require the wifi interface in network.WLAN.PM_PERFORMANCE mode now
  • webserver.py: for uploading files we now use a 16k buffer instead of a 4k buffer
Remarks about 'surprises': - webserver.py: /api/v1/info replies with {'version': <git-revision>} because 'git describe --match 'v*' --always --dirty' returns a short hash if no tag 'v*' is found - main.py: we seem to require the wifi interface in network.WLAN.PM_PERFORMANCE mode now - webserver.py: for uploading files we now use a 16k buffer instead of a 4k buffer
stefank approved these changes 2026-01-09 22:41:46 +00:00
Author
Owner

Remarks about 'surprises':

  • webserver.py: /api/v1/info replies with {'version': } because 'git describe --match 'v*' --always --dirty' returns a short hash if no tag 'v*' is found

This should be fixed when this is merged, as I will then put a v0.0.1 tag on main 😃

  • main.py: we seem to require the wifi interface in network.WLAN.PM_PERFORMANCE mode now

In my testing this was the setting that resulted in the best upload speed. I seem to remember that according to my USB power analyzer it didn't make a big difference from the power consumption. We can revisit this later if further optimization is needed.

  • webserver.py: for uploading files we now use a 16k buffer instead of a 4k buffer

This was an attempt to make uploads faster, but more optimization is needed here, as it is still quite slow.

> Remarks about 'surprises': > - webserver.py: /api/v1/info replies with {'version': <git-revision>} because 'git describe --match 'v*' --always --dirty' returns a short hash if no tag 'v*' is found This should be fixed when this is merged, as I will then put a v0.0.1 tag on main 😃 > - main.py: we seem to require the wifi interface in network.WLAN.PM_PERFORMANCE mode now In my testing this was the setting that resulted in the best upload speed. I seem to remember that according to my USB power analyzer it didn't make a big difference from the power consumption. We can revisit this later if further optimization is needed. > - webserver.py: for uploading files we now use a 16k buffer instead of a 4k buffer This was an attempt to make uploads faster, but more optimization is needed here, as it is still quite slow.
matthias merged commit 39a9c68aae into main 2026-01-13 21:31:19 +00:00
matthias deleted branch misc-features 2026-01-13 21:31:20 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: TonBERRY/tonberry-pico#62