Commit Graph
1114 Commits
Author SHA1 Message Date
ailurux 5ab4c2f0d6 Update position when updating the shuffler 2024-08-15 12:42:57 +10:00
jacqueline 493f8e1200 Don't break early from clearing PcmBuffer 2024-08-15 11:44:49 +10:00
jacqueline 9c56261122 Delay DB reindexing slightly
This helps with boot time by preventing a ton of
disk I/O before the UI has had a chance to load.
2024-08-15 10:26:26 +10:00
jacqueline d94c32d615 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-08-15 09:44:29 +10:00
jacqueline 40c754a72a Always initialise bytes_cleared when clearing PcmBuffers 2024-08-14 15:18:57 +10:00
ailurux 022aa38396 Fix for position persisting when queue reset 2024-08-14 10:19:26 +10:00
jacqueline 326cc42a63 Don't spuriously report that the current track has changed
Fixes the last track in the queue repeating forever
2024-08-13 16:25:47 +10:00
jacquelineandcooljqln ff7468635f Remove/Migrated some old sdkconfig flags 2024-08-13 06:02:54 +00:00
jacquelineandcooljqln 6a2d259f46 Move off of deprecated APIs 2024-08-13 06:02:54 +00:00
jacquelineandcooljqln 822c9dc93e Fix build errors from stricter visibility requirements 2024-08-13 06:02:54 +00:00
jacquelineandcooljqln 5a02f34ed9 Update bt fork to be based on v5.3 2024-08-13 06:02:54 +00:00
jacquelineandcooljqln be9725c1c7 bump esp-idf to v5.3 2024-08-13 06:02:54 +00:00
jacqueline 9e1fc64c88 Accept a specific tag in loglevel 2024-08-13 14:21:43 +10:00
jacqueline 4fd15f148a Bump up the ui task stack size 2024-08-12 15:09:07 +10:00
jacqueline 2ad83cb210 Shard searching for new tracks across multiple tasks
This also has the effect of breaking up the enormous 'updateIndexes'
method into one call per file, which means database updates also no
longer monopolise a single background task for their entire duration.

avg. time per new file is now <140ms for a completely fresh database,
which is pretty good i think!
2024-08-12 13:20:08 +10:00
jacqueline 28cf749951 Make FileGatherer shaped more like a normal iterator 2024-08-12 13:20:08 +10:00
jacqueline 30aaefca64 Batch up the db operations associated with adding new tracks
This is ostensibly yet another 'prepare for multithreaded updates'
commit, however it does actually save us another 60(!!) odd milliseconds
per track.
2024-08-12 13:20:08 +10:00
jacqueline b5dc53670a Derive the next track id from stored track data, instead of tracking it explicitly
This saves about 1ms per new track right now, but more importantly means
that minting a new track id is now a single atomic operation, rather
than being its own database write. This is a useful property that will
come in handy in a few commits time.
2024-08-12 13:20:08 +10:00
jacqueline f8a3c16aad Use one MMU page per leveldb write buffer
Also drop some of the other tuning changes, since they don't seem to
impact much.
2024-08-12 13:20:08 +10:00
ailuruxandcooljqln d719f9c501 daniel/theme-setting (#87)
- Themes can be loaded from disk and built-in
- Themes can be selected in a new themes menu of the settings screen
- Some touch-ups to existing themes
- The saved theme is persisted in nvs

Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/87
Reviewed-by: cooljqln <cooljqln@noreply.codeberg.org>
Co-authored-by: ailurux <ailuruxx@gmail.com>
Co-committed-by: ailurux <ailuruxx@gmail.com>
2024-08-12 03:19:03 +00:00
jacqueline 3d7b005dc9 Experiment with putting BT stack allocs in internal ram 2024-08-09 14:19:59 +10:00
jacqueline 5d390c821a Claw back some internal ram
- 'main' doesn't need 12k of internal ram
 - lvgl's draw task doesn't need that much either
 - also lower the bg worker stack sizes whilst we're here, since they've got tons over headroom
2024-08-09 13:11:34 +10:00
jacqueline 2811a3c899 Don't try to serialise a missing playlist name 2024-08-07 14:21:28 +10:00
jacqueline 1ff28233bd Recalibrate the touchwheel after unlocking
Also power it down whilst we're locked. This saves about half a
milliamp.
2024-08-07 12:09:23 +10:00
jacqueline 649cb74f03 Advance the queue when the current track fails to start 2024-07-30 14:56:58 +10:00
jacqueline 2a280c9b4b Start playback immediately when selecting a playlist 2024-07-30 14:56:42 +10:00
ailuruxandcooljqln b349599174 daniel/playlist-queue (#84)
Support for playlist files being opened along side the queue's own playlist. Playlists can be opened from the file browser, if the file ends in ".playlist" (will add support for .m3u as well eventually)

Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/84
Co-authored-by: ailurux <ailuruxx@gmail.com>
Co-committed-by: ailurux <ailuruxx@gmail.com>
2024-07-30 04:36:48 +00:00
jacqueline 64c8496a91 Use a piecewise linear formula to calculate battery % 2024-07-26 16:09:40 +10:00
jacqueline 4210a8ac54 add some helpful hex dump overloads 2024-07-25 09:50:50 +10:00
jacqueline be9564d1c7 Parse single-byte track ids properly 2024-07-25 09:50:31 +10:00
jacqueline 2afad172bd Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-07-24 15:30:32 +10:00
jacqueline 0cc7536684 Add a settings screen with power+battery info
Mostly for debugging, but also u can toggle fast charging off and on now
2024-07-24 15:29:45 +10:00
jacqueline eb5d0d50cd Bump up LVGL's memory allotment 2024-07-24 15:29:17 +10:00
ailurux 8597590732 Increase bluetooth stack size 2024-07-23 16:20:45 +10:00
ailurux a440d71bef Continue decoding even if OV_HOLE is returned 2024-07-22 16:04:20 +10:00
ailurux 6f98eaf85e Fix off by one error 2024-07-22 15:54:44 +10:00
ailurux 496baefe66 Oops, forgot a return statement 2024-07-22 15:42:20 +10:00
ailurux 514540d89c Queue now keeps file offsets in memory to speed up search 2024-07-22 14:37:05 +10:00
jacqueline 69cd284757 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-07-19 16:13:50 +10:00
jacqueline 90a0caf286 version bump 2024-07-19 16:13:07 +10:00
jacqueline f00e1d7493 Fix track ids containing '\n' not decoding properly
This has been the cause of the elusive "selecting a track opens it like an index" bug :)
2024-07-19 16:11:22 +10:00
jacqueline 9475d10d10 WIP initial tts player wiring 2024-07-19 13:59:30 +10:00
Robin Howard d8bdb3434d Adds sdkconfig.local (intentionally not tracked in .git) for local overrides.
Here's what I have in mine, for example:

```
CONFIG_LOG_DEFAULT_LEVEL_WARN=n
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
CONFIG_LOG_DEFAULT_LEVEL=3
```
2024-07-19 13:50:02 +10:00
jacqueline ac54cab319 Add Hangul characters to the bundled font 2024-07-18 18:57:51 +10:00
jacqueline 2ab459598c Encode snapshots as PNGs when saving to disk 2024-07-17 17:22:59 +10:00
jacqueline 7012e64a14 Fix an error in the scroll sensitivity UI 2024-07-17 14:13:03 +10:00
jacqueline a3f48074fb Add a console command to dump a snapshot 2024-07-17 13:39:14 +10:00
jacqueline d8ce31e46b Scroll to top when selecting the back button 2024-07-17 13:38:44 +10:00
jacqueline 374bc5e734 Add a screen for FCC and CE regulatory nonsense 2024-07-17 13:38:19 +10:00
jacqueline 0ca82fb1d1 Fix the top bar scrolling off the screen on the licenses screen 2024-07-17 13:37:38 +10:00