Commit Graph
100 Commits
Author SHA1 Message Date
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
jacqueline 84dbe074c5 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-04-22 16:06:51 +10:00
jacqueline db9e5cce1f Improve handling of the display
- Blank the display when locking to prevent burn-in
 - Delay turning the display on until *exactly* after the first lvgl flush
 - Init the display in the ui task to avoid blocking the rest of boot
2024-04-22 16:00:53 +10:00
jacqueline 5b99267cb9 Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw 2024-04-19 16:52:33 +10:00
jacqueline 8e113ea9ae squash a bunch of warnings 2024-04-19 16:51:53 +10:00
jacqueline 354ba0325a version bump 2024-04-19 12:45:02 +10:00
jacqueline 727847017d Add a button to update the samd's firmware 2024-04-19 12:44:44 +10:00
jacqueline b17f8a3dcc Merge the StatusBar bindings table with each screen's bindings table 2024-04-18 11:38:53 +10:00
jacqueline cc255f6d77 Suspend property bindings when their screens aren't visible 2024-04-18 10:06:45 +10:00
jacqueline 874218e3ff Fix some bt device issues
- Don't allow adjusting volume if there's no device
 - Cap bt nvs values correctly
 - Persist bt volumes correctly even when the encoded for has a null
   byte (facepalm 4 me)
2024-04-15 14:53:41 +10:00
jacqueline 1baaa6dadc Use more generic 'hooks' for each input device's actions 2024-04-15 14:18:20 +10:00
jacqueline c24dfa6846 make boot go fast 2024-04-12 15:49:41 +10:00
jacqueline 166e8feb3c copy audacious' math it looks good 2024-04-12 15:11:56 +10:00
jacqueline ade0094595 switch to software volume scaling (it's bad tho i need daniel to do maths for me please) 2024-04-12 14:36:03 +10:00
jacqueline b319b3f07f Version bump 2024-04-12 10:20:32 +10:00