Commit Graph
100 Commits
Author SHA1 Message Date
jacqueline eb5d0d50cd Bump up LVGL's memory allotment 2024-07-24 15:29:17 +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 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
jacqueline 24fde7af0c Disable shuffle when selecting 'play all' 2024-07-12 16:14:52 +10:00
jacqueline f78de39a75 Give Bluetooth settings a bit of a refresh
It's now a bit more responsive to stuff happening, gives you more information, and remembers your previously paired devices for faster switching between them.
2024-07-12 14:40:54 +10:00
jacqueline a3eb2dd9dc WIP improve bluetooth api and settings screen 2024-07-11 15:11:28 +10:00
jacqueline a9d2335e1d Break FatfsStreamFactory's dep on ServiceLocator 2024-07-11 12:12:42 +10:00
jacqueline 7d33f99216 i will continue to tweak a2dp constants until my great foe "audio stutter" is defeated for all time 2024-07-10 17:56:25 +10:00
jacqueline ad6a81f3d6 Update the SBC target bitrate
Not sure what this actually controls? Probably good to make it match our encoding configuration tho
2024-07-10 17:30:14 +10:00
jacqueline b63e897268 Move the SPI interrupt alloc to the second core
We're a bit close to the line on core0 allocs, so this helps balance things out a bit.
2024-07-10 15:18:55 +10:00
jacqueline 11bddb1b1d add a console command for dumping intr allocations 2024-07-10 15:18:33 +10:00
jacqueline 53798f4a61 Move audio decoder priorities below bluetooth
The previous priority was leading to a nasty consistent stutter, as reading samples from the drain suffer would lead to the decoder immediately unblocking and preempting the SBC encoding.
2024-07-10 15:17:19 +10:00
jacqueline 686e14794d version bump 2024-07-05 10:14:00 +10:00
jacqueline 1b7fb84220 Tweak app console setup to improve companion connections
- disable regular log output when entering the console
 - disable colour changes for the prompt character
2024-07-03 16:32:08 +10:00
jacqueline 88ac96242f Load fonts asynchronously on a bg task
This saves a second or two from bootup; AFAICT this *mostly* reclaims
the dynamic fonts boot time regression.
2024-07-03 10:43:54 +10:00
jacqueline cbcf1bea61 enable LV_OS_FREERTOS
This mostly just adds a mutex around lv_malloc, which is useful for
upcoming work to make font loading async.
2024-07-02 15:41:13 +10:00
jacqueline 984b874d7e Fix some issues with the splash screen
- fix a use-after-free involving the alerts container that was
   happening when showing the first screen
 - fix some issues where the splash screen wouldn't come up as early as
   it needs to when another bootup task was making heavy use of the spi
   bus
2024-06-28 15:34:11 +10:00
jacqueline 9204b585ae show a message if the sd card is unmounted 2024-06-28 13:50:40 +10:00
jacqueline 624e4555ad tweak file browser icon 2024-06-28 10:57:26 +10:00
jacqueline 6fe08ba73d reapply bindings when showing screens 2024-06-28 10:57:10 +10:00
jacqueline 8695b04a83 Try to print userdata name when dumping lua stack 2024-06-28 10:56:51 +10:00
jacqueline 0db9ffc905 use cuter images on the main menu 2024-06-28 10:56:31 +10:00
jacqueline 9db964ce74 WIP start on an updated main menu ui 2024-06-28 09:57:46 +10:00
jacqueline 95072d865c remove chatty log 2024-06-27 16:13:05 +10:00
jacqueline 688fe79471 require a key press before entering the dev console
this improves our ability to detect terminals that support line editing
2024-06-27 16:12:43 +10:00
jacqueline 1036f1b00e fork esp-idf's dev console, in order to add some hooks 2024-06-27 16:12:18 +10:00
jacqueline 1daa1e9b0f update catch2 to v3.6.0 2024-06-27 14:47:51 +10:00
jacqueline ed44606162 fix catch2 build options not being applied + enable benchmarking 2024-06-27 14:38:25 +10:00
jacqueline 0bbf279e5e Add a button to shuffle+play the current view 2024-06-27 12:22:53 +10:00
jacqueline bfee3742d3 skip the storage test if there's no sd card 2024-06-25 16:51:03 +10:00
jacqueline 525ed2ae1b Add a basic overview of writing and running tests 2024-06-25 16:09:36 +10:00
jacqueline 8db57d6dc5 Unbreak the tests build 2024-06-25 15:23:51 +10:00
jacqueline 2d04e13cc6 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-06-25 12:46:44 +10:00
jacqueline d75927ff92 Use a curve to estimate battery %
This is a bit more accurate than our previous linear relationship,
particularly at lower voltages.
2024-06-25 12:45:39 +10:00
jacqueline 5e2945f246 version bump 2024-06-14 16:59:46 +10:00
jacqueline 00b1ba58f0 Improve DAC power+mute management to reduce clicks and pops 2024-06-14 14:27:56 +10:00
jacqueline bcaa133a4c fix unused var warning 2024-06-14 13:37:30 +10:00
jacqueline ba808916a8 Add fusion fonts to lua partition 2024-06-14 13:37:06 +10:00
jacqueline 2d6c70d5f6 Fix missing duration when no track is playing 2024-06-14 13:36:29 +10:00
jacqueline 7f2d56e29a Load fonts dynamically from /lua
This unfortunately slows boot time by a bit, but I think we should be able to reclaim that time eventually.
2024-06-14 13:35:42 +10:00
jacqueline 5086ab96ea Merge branch 'jqln/lvgl-bump' 2024-06-14 13:34:41 +10:00
jacqueline 37ed399601 fix uninitialised use 2024-06-13 18:51:06 +10:00
jacqueline 194f0e6b59 Scroll to 'top/bottom' by only 10 at a time
Prevents a nasty device lockup when scrolling infinite lists
2024-06-13 16:10:49 +10:00
jacqueline 14416dc358 Reimplement our patch to lv_list button long modes 2024-06-13 12:46:02 +10:00
jacqueline 82ec765d2d Fix splash screen background 2024-06-13 08:15:11 +10:00
jacqueline e58dcf6dc5 WIP fix issues introduced by lvgl version bump 2024-06-12 18:46:07 +10:00
jacqueline 64bd9053a2 Update LVGL to v9.1.0 2024-06-12 17:54:40 +10:00
jacqueline 611176ed66 Port and fix our luavgl additions 2024-06-12 17:54:10 +10:00
jacqueline bd01bf3845 WIP bump luavgl to latest 2024-06-12 16:29:31 +10:00
jacqueline b02d13f5a5 Removed some old, unused assets 2024-06-12 12:38:06 +10:00
jacqueline a76255ad58 Revert "Removed some old, unused assets"
This reverts commit f1992fc856.
2024-06-12 11:39:56 +10:00
jacqueline f1992fc856 Removed some old, unused assets 2024-06-12 10:45:39 +10:00
jacqueline 1242a199e3 log db update time-per-track 2024-06-04 09:00:08 +10:00
jacqueline 72344b5777 no more acquire_spi :) 2024-06-04 08:09:40 +10:00
jacqueline 39460931d8 Remove spi locking hack + increase max sd frequency
These two changes (mostly the former) dramatically increase
responsiveness when doing database updates; previously we were suffering
from some nasty priority inversion.

afaict the underlying need to acquire_spi seems to be fixed? i.e. spi
bus acquisition is working properly. fingers heavily heavily crossed.
2024-06-03 21:02:24 +10:00
jacqueline 9457f9021a u didnt see shit 2024-06-03 20:12:03 +10:00
jacqueline 4afe9d9b5c move a bunch of bt callbacks to background tasks
we should avoid doing bt state machine stuff from these callbacks, since
espressif calls us whilst holding a lock. ideally we should move all of
them to background threads, but we need to do a deep copy to safely move
a few of them
2024-06-03 19:59:18 +10:00
jacqueline 41d15a831b version bump 2024-05-31 13:02:28 +10:00
jacqueline 661cc976a1 Remove now redudantant 'Iterator.next()' care in TrackIterator
With Daniel's fix, this is no longer needed! Hooray!
2024-05-31 12:03:01 +10:00
jacqueline 23a5d26e8a Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-05-31 11:52:45 +10:00
jacqueline f84474d94d Introduce a PcmBuffer abstraction for handling source draining 2024-05-31 11:52:19 +10:00
jacqueline 2ff8eac022 Start on TTS support by logging the data that will become TTS lines
Includes some misc cleanup of haptic double-triggering (or
non-triggering), since those cases all end up being TTS event
double-reporting, which to me crosses the threshold from "annoying" to
"usability issue"
2024-05-29 14:45:49 +10:00
jacqueline c846146c2f Lowercase BT device name for better auto-reading 2024-05-28 12:53:02 +10:00
jacqueline 0da7ead0a8 Simply some I2SDac management to avoid null pointer accesses
Fixes #72; we were destroying the I2SDac instance, but weren't actually
recording that the output was now in the 'off' state.
2024-05-24 15:12:41 +10:00
jacqueline fb6b0ed49c Fix counting empty stream cues as the current stream 2024-05-24 14:31:32 +10:00
jacqueline d948585b00 add a lua binding for playing a sine wave 2024-05-17 11:40:43 +10:00
jacqueline 51bbb6a495 Add a stream source that generates a sine wave 2024-05-16 12:21:05 +10:00
jacqueline c1f7adf227 Add a 'decoder' for streams already in our native format 2024-05-16 12:20:50 +10:00
jacqueline e8f5e73b1a Handle tracks with no duration in the playback screen 2024-05-16 12:20:15 +10:00
jacqueline ddc03204e1 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-05-15 15:58:03 +10:00
jacqueline 4c9b77ea13 Support setting the samd charge rate
We default to the fast one, and do not try setting the charge rate bit
on older samd versions
2024-05-15 15:57:16 +10:00
jacqueline 00d6c2eca2 save lra calibration data to nvs 2024-05-14 15:21:21 +10:00
jacqueline defe838ab0 Use LRA motors in an auto-calibrated closed-loop mode 2024-05-14 13:14:10 +10:00
jacqueline f991ac9866 version bump 2024-05-10 14:28:44 +10:00
jacqueline 41426151a1 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-05-10 14:28:03 +10:00
jacqueline 1d0ad4cbf9 stop writing the erm bit 2024-05-10 14:27:42 +10:00
jacqueline 2afeb2989b use long-press shortcuts again, but make them a bit harder to trigger accidentally 2024-05-09 17:05:54 +10:00
jacqueline 690c64c151 Fix playback after restoring queue on boot 2024-05-09 10:59:49 +10:00
jacqueline 265049c519 Count samples going in and out of the drain buffer
This is a more accurate way of knowing which track is playing when, and
also simplifies a lot of fragile logic in audio_fsm
2024-05-08 16:03:03 +10:00
jacqueline b242ba9986 Improve decoder's interface to accept streams 2024-05-07 14:19:19 +10:00
jacqueline 344a46d066 Respond to sd card mounts and unmounts within lua
Includes no longer blocking the main menu on an sd card being inserted!!
2024-05-03 16:40:39 +10:00
jacqueline 964da15a0b Add the collation partition to the build
Includes a small linux-only bash script to generate locale partitions
2024-05-03 12:37:23 +10:00
jacqueline 9fafd797a5 split c blobs of graphics data into their own component
silences some compiler warnings from using c++ flags with c
2024-05-03 10:38:54 +10:00
jacqueline 26eb580043 move driver includes into a subdir as well 2024-05-02 21:52:59 +10:00
jacqueline 7d7f7755d1 start moving include files into subdirs 2024-05-02 21:41:56 +10:00
jacqueline 1573a8c4cd WIP merge cyclically dependent components into one big component 2024-05-02 19:12:26 +10:00
jacqueline a231fd1c8a Replace cpp::span shim with std::span 2024-05-02 17:06:25 +10:00
jacqueline f852e44715 version bump 2024-04-29 13:54:32 +10:00
jacqueline 1736f7874b Use double-clicks instead of long-presses for wheel shortcuts 2024-04-29 13:53:11 +10:00
jacqueline b255ea799e Add lua bindings for override input hooks 2024-04-29 12:42:16 +10:00
jacqueline 920345b940 Support getting a tree of controls + hooks via lua 2024-04-24 16:06:10 +10:00
jacqueline 531475e351 Enable bluetooth after boot, not during boot
This avoids some bluetooth-related devices being delivered before
BootComplete
2024-04-23 10:19:25 +10:00