jacqueline
4bc77f901b
Tweak opus build flags and allocs
...
This gets us to ~40% of one core cpu usage during playback. Good enough
for a while I reckon!
Paid for the internal ram usage by reclaiming some stack size headroom.
1 year ago
Hailey Somerville
aa2402ab56
include memory_resource in tasks.hpp
1 year ago
jacqueline
c8bbd4d52c
Reduce leveldb cache sizes and worker stacks, increase number of workers
1 year ago
jacqueline
dad159dc3c
Use a single pool of bg workers instead of separate tasks per use case
...
Also: bump the number of workers tasks up to 3 from 2!
This makes bg db updates + playback work :)
1 year ago
jacqueline
1f031f565a
Rename the db background task to be more generic
1 year ago
jacqueline
499d5a942f
Add a wrapper codec source that does readahead
1 year ago
jacqueline
f0d3a27dd9
Ensure StaticTask_t allocs are internal
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
8608f9367f
Tune buffer sizes and locations for I2S
2 years ago
jacqueline
4d99d22e10
std::string -> std::pmr::string in psram
2 years ago
jacqueline
5a20b0bc1a
Move UI task back to internal stack
...
It really is *so* fast
2 years ago
jacqueline
cd44e0daa1
Move a few task stacks into internal ram for better speed
2 years ago
jacqueline
2f626f6224
Bump up nvs writer task size for safety
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
0032896251
Move UI task to priority 0 during playback
...
Also other misc task cleanup
2 years ago
jacqueline
4247c9fe7d
store the screen brightness 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
d8fc77101d
Give codecs complete control of their input files
2 years ago
jacqueline
c38754401b
Downscaling working!
2 years ago
jacqueline
a66c342806
Resampling *basically* working? Just cleanup and buffering issues
2 years ago
jacqueline
3511852f39
Add very limited resampling (it's slow as shit)
2 years ago
jacqueline
0a8d2fd12e
fix flac playback. now it plays nice and smooth :)
2 years ago
jacqueline
80d7df9109
fuck off
2 years ago
jacqueline
6ff8b5886e
Support playing tracks by track id
2 years ago
jacqueline
5b7b88420b
Fix issues with importing my entire library
2 years ago
jacqueline
a2c1dfbabd
Add vorbis and flac decoders, flesh out codec interface
...
vorbis doesn't quite work yet, not sure why. will pick it up again
later.
2 years ago
jacqueline
6fd588e970
Add touchwheel -> encoder adapter
2 years ago
jacqueline
a4f94c812a
Annote E V E R Y T H I N G with license info
2 years ago
jacqueline
ecee01fe97
Remove audio drain task
...
ISR drain works fine!
2 years ago
jacqueline
5ac4d3949c
Generalise worker tasks, and centralise task priorities + stacks
...
Includes making the display driver use a worker task for flushes, so
that our double buffering actually does something useful /facepalm
2 years ago
jacqueline
4c77950e70
Pipeline working and outputting correctly, but noisy
2 years ago
jacqueline
71a4f5166f
Start on a couple of include issues
2 years ago
jacqueline
a7df285588
Mostly done pipeline arch. Now onto cleanup and building.
2 years ago