jacqueline
b192975cb1
make bluetooth pairing ui functional
2 years ago
jacqueline
0ea358ab81
Make the onboarding flow basically work. Much still to do!
2 years ago
jacqueline
ad74a45921
Use only one buffer for lvgl's display driver
...
We weren't actually making use of the double buffering, and it's a pain
to implement properly.
2 years ago
jacqueline
86296c187f
Use interrupt-based spi for the display
...
This solves our "audio stutters while scrolling" problem better! Turns
out the real root cause was the polling SPI driver blocking a whole CPU
during playback.
2 years ago
jacqueline
b0d745d02d
Flesh out onboarding a little, and add a way to get into it
2 years ago
jacqueline
e8a972cc7f
Just wait for touchwheel reboot instead of being clever
2 years ago
jacqueline
6b9fb9edac
Support retries for samd and touchwheel i2c
2 years ago
jacqueline
4b627acee6
Reset the touchwheel during boot
2 years ago
jacqueline
a9008884c9
Improve dac startup sequencing to reduce the clicky poppy
2 years ago
jacqueline
020d42d431
Be tolerant of SAMD timeouts
2 years ago
jacqueline
f0d82cfb09
Fix display buffers not actually being in DMA ram
2 years ago
jacqueline
02c1eb4be3
Tweak display DMA buffer size
2 years ago
jacqueline
0032896251
Move UI task to priority 0 during playback
...
Also other misc task cleanup
2 years ago
jacqueline
d5d6e3993c
Support changing max volume, persisted to nvs
2 years ago
jacqueline
cccee29c3a
Turn the touchwheel back on after sleep
2 years ago
jacqueline
320fdeb9d8
Use a service locator instead of passing around subsets of drivers between FSMs
2 years ago
jacqueline
4247c9fe7d
store the screen brightness in nvs
2 years ago
jacqueline
773f285767
Don't fade for brightness slider changes
2 years ago
jacqueline
8ee5e781e7
Use gamma correction for display brightness
2 years ago
jacqueline
1200479045
one weird trick to avoid 5khz tone
2 years ago
jacqueline
3a0c42f924
Move battery measurement to its own class
2 years ago
jacqueline
0f5cf25e73
More performance and usability tweaks
...
- pin ui and decoder to opposite cores
- disable touch wheel when controls are locked
2 years ago
jacqueline
3b3bc64d19
Add modal dialog support
2 years ago
jacqueline
079b2b53d4
Improve DAC startup for r6
2 years ago
jacqueline
58854bc55d
Improve centre button responsiveness
2 years ago
jacqueline
ee949829d9
Add battery % with change events
2 years ago
jacqueline
588857fef8
good idea to unmute the dac!
2 years ago
jacqueline
764b01e913
Add idle->standby support when locked and no music
2 years ago
jacqueline
27f329a9db
Add an app console triggered shutdown
2 years ago
jacqueline
cad7060540
Add interrupts for samd changes
2 years ago
jacqueline
697ec3c584
Fix no battery detection
2 years ago
jacqueline
65a1f09a90
Support app console commands for the samd
2 years ago
jacqueline
62dce8d9fc
Save current output mode to nvs
2 years ago
jacqueline
544b0013b1
persist preferred bluetooth device in nvs
2 years ago
jacqueline
d6b83fcf4a
Flesh out basic bluetooth support
...
No ui yet, and performance isn't great. It kinda works though!!
2 years ago
jacqueline
592f231627
Improve sd card errors
2 years ago
jacqueline
520ec6d98a
Add skeleton of bluetooth FSM
2 years ago
jacqueline
3511852f39
Add very limited resampling (it's slow as shit)
2 years ago
jacqueline
955a8ce303
Basic nvs init + bluetooth in the build
2 years ago
jacqueline
8f0b942cdd
Return zeroes when the touchwheel isn't connected
2 years ago
jacqueline
97bd3be892
clang-format
2 years ago
jacqueline
10120f9a92
ux fixes
2 years ago
jacqueline
3670859d16
Volume control! Reasonable default volume! Hooray!
2 years ago
jacqueline
72fe82ebc4
apll go brr
2 years ago
jacqueline
f94be3db2f
make event queue go faster
2 years ago
jacqueline
d8194135bb
Do time tracking without floats
2 years ago
jacqueline
80d7df9109
fuck off
2 years ago
jacqueline
9287c4eb8c
5.1 fixes
2 years ago
jacqueline
230af8e105
Initial r5 bringup
2 years ago
jacqueline
ae076936ae
Fix browser view jank
2 years ago