Commit Graph
100 Commits
Author SHA1 Message Date
jacqueline f0d82cfb09 Fix display buffers not actually being in DMA ram 2023-09-05 15:36:33 +10:00
jacqueline b413b2f264 Add all albums index, do some locales prep 2023-09-05 14:36:28 +10:00
jacqueline 02c1eb4be3 Tweak display DMA buffer size 2023-09-05 10:12:15 +10:00
jacqueline 0032896251 Move UI task to priority 0 during playback
Also other misc task cleanup
2023-09-05 09:51:10 +10:00
jacqueline 382d82a14b Fix bad merge 2023-09-04 16:34:58 +10:00
jacqueline 3180edb7b4 Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw 2023-09-04 16:18:11 +10:00
jacqueline d5d6e3993c Support changing max volume, persisted to nvs 2023-09-04 16:17:55 +10:00
jacqueline 6d831fa7a8 Don't reuse iterators across page fetches
This was done for performance reasons, but performance seems okay
without it, and it introduces a bunch of memory management headaches.
2023-09-04 11:19:34 +10:00
jacqueline 697d231484 Fix incorrect settings submenu 2023-09-04 10:00:09 +10:00
jacqueline b90c08b536 enable the qr code lib for onboarding 2023-09-04 09:51:52 +10:00
jacqueline 25c2df57dd Fix some release build warnings 2023-09-04 09:51:38 +10:00
jacqueline cccee29c3a Turn the touchwheel back on after sleep 2023-09-04 09:47:22 +10:00
jacqueline 320fdeb9d8 Use a service locator instead of passing around subsets of drivers between FSMs 2023-08-30 16:48:10 +10:00
jacqueline 4247c9fe7d store the screen brightness in nvs 2023-08-29 16:07:56 +10:00
jacqueline 773f285767 Don't fade for brightness slider changes 2023-08-29 12:18:15 +10:00
jacqueline f2bb2e2528 Add a brightness slider to settings 2023-08-29 12:10:27 +10:00
jacqueline 8ee5e781e7 Use gamma correction for display brightness 2023-08-29 12:09:58 +10:00
jacqueline 1200479045 one weird trick to avoid 5khz tone 2023-08-28 20:54:02 +10:00
jacqueline c214d4b40e Add some more icons, and reflect play/pause in top bar 2023-08-28 20:36:31 +10:00
jacqueline fa7fa98dc1 Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw 2023-08-28 15:01:24 +10:00
jacqueline 85379b359c Add some cool battery icons 2023-08-28 15:01:09 +10:00
jacqueline 3a0c42f924 Move battery measurement to its own class 2023-08-28 13:26:53 +10:00
jacqueline a1327763ab Support play/pause toggling 2023-08-28 10:36:18 +10:00
jacqueline 8ff93f5467 Make idle state more robust + check playback state 2023-08-28 10:18:02 +10:00
jacqueline 0f5cf25e73 More performance and usability tweaks
- pin ui and decoder to opposite cores
 - disable touch wheel when controls are locked
2023-08-25 16:59:39 +10:00
jacqueline 485e9adfce Performance tweaks for smoother tunes
- Pin the decoder task to APP_CORE to reduce context switches
 - Increase sample buffer sizes
2023-08-25 15:58:54 +10:00
jacqueline 795f268737 Add placeholder settings UI 2023-08-25 15:13:25 +10:00
jacqueline 3b3bc64d19 Add modal dialog support 2023-08-25 10:13:37 +10:00
jacqueline 079b2b53d4 Improve DAC startup for r6 2023-08-24 19:18:57 +10:00
jacqueline 394e3e9466 Throttle framerate a little more 2023-08-24 19:17:56 +10:00
jacqueline 58854bc55d Improve centre button responsiveness 2023-08-24 19:17:37 +10:00
jacqueline ee949829d9 Add battery % with change events 2023-08-22 15:55:25 +10:00
jacqueline 9c105cf613 Good idea to commit all the files! 2023-08-22 13:39:49 +10:00
jacqueline 588857fef8 good idea to unmute the dac! 2023-08-22 13:39:40 +10:00
jacqueline 764b01e913 Add idle->standby support when locked and no music 2023-08-21 15:43:23 +10:00
jacqueline 27f329a9db Add an app console triggered shutdown 2023-08-20 21:10:05 +10:00
jacqueline 51cb168f79 sorry daniel 2023-08-18 16:05:06 +10:00
jacqueline cad7060540 Add interrupts for samd changes 2023-08-18 15:40:24 +10:00
jacqueline 697ec3c584 Fix no battery detection 2023-08-18 14:25:46 +10:00
jacqueline 65a1f09a90 Support app console commands for the samd 2023-08-18 12:32:18 +10:00
jacqueline d8533c42df Start on basic onboarding screens 2023-08-17 15:58:32 +10:00
jacqueline f3c5eec025 Rename the main audio tasks to be more sensible 2023-08-16 15:11:44 +10:00
jacqueline c635d5011c Put more audio pipeline wiring in control of the audio fsm 2023-08-16 11:40:49 +10:00
jacqueline 4e27de21e4 clean up a bunch of obselete audio code 2023-08-16 10:57:55 +10:00
jacqueline 62dce8d9fc Save current output mode to nvs 2023-08-16 10:22:30 +10:00
jacqueline 544b0013b1 persist preferred bluetooth device in nvs 2023-08-15 17:32:57 +10:00
jacqueline d6b83fcf4a Flesh out basic bluetooth support
No ui yet, and performance isn't great. It kinda works though!!
2023-08-15 13:53:30 +10:00
jacqueline 205e305350 Implement the easy seeks 2023-08-11 12:32:50 +10:00
jacqueline 9ddaca4fcb remove unused dithering stuff 2023-08-11 12:26:29 +10:00
jacqueline a4ba7350a7 Fix docs nits, avoid recalculating frame length 2023-08-11 08:39:52 +10:00
jacqueline 06283e0714 Fix issues with timing stereo streams 2023-08-10 22:24:47 +10:00
jacqueline c37ccb9851 Reintroduce track timer, now relying more on codecs 2023-08-10 21:35:16 +10:00
jacqueline 958160aa54 Use the libspeexdsp resampler
AFAICT it runs a little slower? but it's fixed point, and has much
better understood audio characteristics.
2023-08-10 19:12:38 +10:00
jacqueline d8fc77101d Give codecs complete control of their input files 2023-08-10 15:33:00 +10:00
jacqueline 67caeb6e3c Use opusfile instead of working directly with ogg and opus 2023-08-09 12:00:02 +10:00
jacqueline 578c3737f8 Add vorbis support whilst we're here 2023-08-09 11:22:08 +10:00
jacqueline f277bd5d0c Add tremor, add new ogg rules to make tremor deps happy 2023-08-08 23:34:02 +10:00
jacqueline 1b6811663c Add libogg for handling opus streams reasonably 2023-08-08 23:14:42 +10:00
jacqueline 6c3501dbcb Flesh out opus decoder. it doesn't work! i hate opus. 2023-08-08 22:16:31 +10:00
jacqueline e1181fbe59 Merge branch 'main' into opus 2023-08-08 20:25:42 +10:00
jacqueline 592f231627 Improve sd card errors 2023-08-08 17:11:13 +10:00
jacqueline 520ec6d98a Add skeleton of bluetooth FSM 2023-08-08 17:04:34 +10:00
jacqueline e2479ee7aa Update sdkconfig 2023-08-08 16:18:42 +10:00
jacqueline 93ccf11fc5 Investigate and improve core pinning for resampler 2023-08-08 13:47:08 +10:00
jacqueline 6c99f9f2fe Fix resampler issue, do a little performance tuning 2023-08-08 11:36:10 +10:00
jacqueline 49f82d2f3d Use a timer to keep framerate consistent 2023-08-07 20:47:59 +10:00
jacqueline d71682d26e Add a console command for task-level performance checks 2023-08-07 20:47:42 +10:00
jacqueline 40475b15e8 Remove unused pcmconv impls 2023-08-07 19:15:53 +10:00
jacqueline c38754401b Downscaling working! 2023-08-07 18:22:15 +10:00
jacqueline a66c342806 Resampling *basically* working? Just cleanup and buffering issues 2023-08-07 15:20:12 +10:00
jacqueline 4118d880c3 Fix dangle build issues, do some tweaks to investigate performance 2023-08-07 09:47:44 +10:00
jacqueline 60f7677132 Do our own resampling 2023-08-04 20:07:44 +10:00
jacqueline 3b240d1cd5 remove stb_vorbis
it doesnt work very well
2023-08-03 16:16:46 +10:00
jacqueline 31f6123b7b Tweak buffer size and placement 2023-08-03 16:04:27 +10:00
jacqueline 3511852f39 Add very limited resampling (it's slow as shit) 2023-08-03 15:32:28 +10:00
jacqueline fbebc52511 Add libsamplerate for resampling decoder output 2023-08-01 14:00:31 +10:00
jacqueline 55429fa623 Ignore helix config 2023-08-01 12:14:26 +10:00
jacqueline 955a8ce303 Basic nvs init + bluetooth in the build 2023-08-01 12:13:48 +10:00
jacqueline c3f40a8cc3 Start on opus decoder structure 2023-08-01 10:15:03 +10:00
jacqueline 23393312b7 checkin in opus reference decoder 2023-08-01 10:14:23 +10:00
jacqueline d41de537a0 fix libtags m4a issue 2023-07-31 12:19:04 +10:00
jacqueline 34a4207fb9 Log specifics of hash collisions 2023-07-31 11:33:58 +10:00
jacqueline 8f0b942cdd Return zeroes when the touchwheel isn't connected 2023-07-31 11:09:31 +10:00
jacqueline cdaa2ac97a Add duration for flacs 2023-07-31 11:06:27 +10:00
jacqueline 0a8d2fd12e fix flac playback. now it plays nice and smooth :) 2023-07-31 10:14:03 +10:00
jacqueline a5022ac6cb fix bsd-ish callback behaviour 2023-07-31 09:52:00 +10:00
jacqueline 485eed2890 use libtag duration where available 2023-07-31 09:41:49 +10:00
jacqueline 97bd3be892 clang-format 2023-07-28 15:25:44 +10:00
jacqueline 9d33c33c8d Lock button does that same thing always 2023-07-28 15:25:31 +10:00
jacqueline 10120f9a92 ux fixes 2023-07-28 15:21:18 +10:00
jacqueline 3670859d16 Volume control! Reasonable default volume! Hooray! 2023-07-28 13:01:18 +10:00
jacqueline 72fe82ebc4 apll go brr 2023-07-26 21:21:13 +10:00
jacqueline b05db70c14 Fix premature end of track 2023-07-26 17:36:10 +10:00
jacqueline 9b1b401dcb big cleanup of new encoder + stream buffer types 2023-07-26 17:11:23 +10:00
jacqueline f94be3db2f make event queue go faster 2023-07-26 11:23:36 +10:00
jacqueline d8194135bb Do time tracking without floats 2023-07-25 21:17:38 +10:00
jacqueline 80d7df9109 fuck off 2023-07-25 17:43:12 +10:00
jacqueline 7b72e5479e fork the esp-idf fatfs for f_forward and exfat support 2023-07-25 17:42:00 +10:00
jacqueline 9287c4eb8c 5.1 fixes 2023-07-20 22:12:17 +10:00
jacqueline 4c1f150cbf bump to v5.1 for i2s fixes 2023-07-20 22:02:55 +10:00