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
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
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
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
320fdeb9d8
Use a service locator instead of passing around subsets of drivers between FSMs
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
10120f9a92
ux fixes
2 years ago
jacqueline
371f0a20ca
Clean up gpios interface
2 years ago
jacqueline
7e96482087
fix shared peripheral interrupts causing hangs
2 years ago
jacqueline
1f903accd9
Flesh out audio state machine for playback
...
Also fix mono playback
2 years ago
jacqueline
2a568846bd
Cute brightness fade to avoid ugly startup :)
2 years ago
jacqueline
d2e5d2ab3c
Fix up screen brightness and transitions
2 years ago
jacqueline
8a2a2d2265
Get basic audio playback going again
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
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
a6ab150405
Add tinyfsm, start converting core functions to an FSM-based event loop
2 years ago
jacqueline
7083459cf3
wrap driver instance ownership + di in a class
2 years ago
jacqueline
a1cef17c5b
Leave the display reset pin alone; we don't need it
2 years ago
jacqueline
c93ed8efad
fix some display issues
2 years ago
jacqueline
a0ae39befe
Update pinouts for R3
2 years ago
jacqueline
0fce4fcc06
update to faceplate bodge
2 years ago
ailurux
a0798c7887
Software rotation for display
2 years ago
jacqueline
fed7b450b3
Fix up display artficacts and clean up unused features
2 years ago
jacqueline
a65d996583
Use the sync apis for I2S output
2 years ago
jacqueline
f0a4b4cf50
whoops, remove chatty logging
2 years ago
jacqueline
61c91b3cdb
Mostly working pipeline, including proper EOF signalling
2 years ago
jacqueline
aae1871999
remove unused ISR allocation
...
this was blocking the i2s driver somehow!(?)
2 years ago
jacqueline
c7901ae429
build fixes for new compiler version and standard
2 years ago
jacqueline
4c88fcc4a5
fix build issues with new pipeline
2 years ago
jacqueline
d82a7e3d94
first go at r2 bringup. waiting on mosfets.
2 years ago
jacqueline
1d340db871
Order and group headers correctly
2 years ago
jacqueline
0ef333164b
Use underscores instead of dashes in filenames consistently
2 years ago
jacqueline
ff30b27f0d
First test cases :)
2 years ago
jacqueline
d1f20b9bc8
fix shadowing
2 years ago
jacqueline
675d52c9a5
use a less fun but more descriptive namespace
2 years ago
jacqueline
28d73ad866
Split driver-y things into a separate component
2 years ago
jacqueline
1bcf59163b
WIP display stuff that /could/ work, but i think my display is bad :(
3 years ago
jacqueline
43b04074a8
WIP most of a basic display driver + lvgl, but not yet working :(
3 years ago
jacqueline
5a8df4f2b9
WIP init sequence
3 years ago
jacqueline
a7915753c6
WIP sketch out init sequence
3 years ago