jacqueline
3df4cc9e3d
Make accessors in RelativeWheel const
2 years ago
jacqueline
95618239e6
Fix `tasks` config flag guarding
2 years ago
jacqueline
ba940baa0a
Add a lock around the SPI bus
...
This seems to have been the cause of recurring deadlocks that have been
difficult to repo.
2 years ago
jacqueline
c53802f308
Add a core dump command
2 years ago
jacqueline
c876c00654
add a fun and cute little loading state :)
2 years ago
jacqueline
6a47edcd35
Use databinding for the top bar. It's so nice now!
2 years ago
jacqueline
f09ba5ffd5
Use bindey for databinding instead of hand rolling ui updates
2 years ago
jacqueline
ce57b236c4
Move every alloc over 256 bytes into PSRAM
2 years ago
jacqueline
252f685ef1
Make NVS access synchronous again
...
Everything relevant is back in internal ram, and likely to stay there.
2 years ago
jacqueline
96252973d9
Make task tracing tools conditionally compiled
2 years ago
jacqueline
abc626c1da
Place a2dp stream callback into IRAM
2 years ago
jacqueline
8608f9367f
Tune buffer sizes and locations for I2S
2 years ago
jacqueline
4d99d22e10
std::string -> std::pmr::string in psram
2 years ago
jacqueline
f6d0642109
Prepare for PMR with a memory_resource that understands heap_caps_malloc
2 years ago
jacqueline
2849399d54
Force large c++ arrays into PSRAM
...
This is mostly targetted at leveldb_ which is rude and does not support
custom allocators
2 years ago
jacqueline
a87790a424
Add basic leak detection tooling
2 years ago
jacqueline
5a20b0bc1a
Move UI task back to internal stack
...
It really is *so* fast
2 years ago
jacqueline
0802b4e528
Unpin decoder task
2 years ago
jacqueline
cd44e0daa1
Move a few task stacks into internal ram for better speed
2 years ago
jacqueline
c00e7e37d9
Fix incorrect palette introduced by hardware screen rotation
2 years ago
jacqueline
7ffeea4009
Don't acquire the spi bus in the display driver
...
Interrupt-based transactions don't need it, and it causes issues.
2 years ago
jacqueline
41c4dce79a
Split heap stats and task stats into different functions
2 years ago
jacqueline
2f626f6224
Bump up nvs writer task size for safety
2 years ago
jacqueline
f57a9688c9
Allocate display spi buffers statically
...
It works okay now :)
2 years ago
jacqueline
972edd7468
Rotate the display in hardware instead of software
2 years ago
jacqueline
b192975cb1
make bluetooth pairing ui functional
2 years ago
jacqueline
cbd99b2134
Increase sample buffer sizes
2 years ago
jacqueline
022c222e85
Add heap stats to the task stats output
2 years ago
jacqueline
0ea358ab81
Make the onboarding flow basically work. Much still to do!
2 years ago
jacqueline
b0aa9ab391
Fix ui nits for playback screen
...
The top bar now updates properly when starting playback, and the
upcoming list items no longer marquee.
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
64d9cec8b0
fix some leveldb errors on transition to standby
...
turns out you gotta free the iterators. wow!!
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
63215ccf16
Fix missing track number issues
2 years ago
jacqueline
dad14baa73
Add an opus-specific tag parser
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
b413b2f264
Add all albums index, do some locales prep
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
382d82a14b
Fix bad merge
2 years ago
jacqueline
d5d6e3993c
Support changing max volume, persisted to nvs
2 years ago
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.
2 years ago
jacqueline
697d231484
Fix incorrect settings submenu
2 years ago
jacqueline
cccee29c3a
Turn the touchwheel back on after sleep
2 years ago