summaryrefslogtreecommitdiff
path: root/src/drivers/display.cpp
AgeCommit message (Collapse)Author
2024-06-12WIP fix issues introduced by lvgl version bumpjacqueline
2024-06-04no more acquire_spi :)jacqueline
2024-06-03Remove spi locking hack + increase max sd frequencyjacqueline
These two changes (mostly the former) dramatically increase responsiveness when doing database updates; previously we were suffering from some nasty priority inversion. afaict the underlying need to acquire_spi seems to be fixed? i.e. spi bus acquisition is working properly. fingers heavily heavily crossed.
2024-05-02move driver includes into a subdir as welljacqueline
2024-04-22Improve handling of the displayjacqueline
- Blank the display when locking to prevent burn-in - Delay turning the display on until *exactly* after the first lvgl flush - Init the display in the ui task to avoid blocking the rest of boot
2024-03-20Add exact display size to nvs, since it can varyjacqueline
2024-03-17fixes for my green-tab adafruit ST7735RNano
2023-10-28Annotates the kTag with maybe_unused; they're only used for logging.Robin Howard
2023-09-29Add a lock around the SPI busjacqueline
This seems to have been the cause of recurring deadlocks that have been difficult to repo.
2023-09-25Don't acquire the spi bus in the display driverjacqueline
Interrupt-based transactions don't need it, and it causes issues.
2023-09-22Allocate display spi buffers staticallyjacqueline
It works okay now :)
2023-09-22Rotate the display in hardware instead of softwarejacqueline
2023-09-12Use only one buffer for lvgl's display driverjacqueline
We weren't actually making use of the double buffering, and it's a pain to implement properly.
2023-09-12Use interrupt-based spi for the displayjacqueline
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.
2023-09-05Fix display buffers not actually being in DMA ramjacqueline
2023-09-05Tweak display DMA buffer sizejacqueline
2023-09-05Move UI task to priority 0 during playbackjacqueline
Also other misc task cleanup
2023-08-30Use a service locator instead of passing around subsets of drivers between FSMsjacqueline
2023-08-29Don't fade for brightness slider changesjacqueline
2023-08-29Use gamma correction for display brightnessjacqueline
2023-08-28one weird trick to avoid 5khz tonejacqueline
2023-07-28ux fixesjacqueline
2023-06-30Clean up gpios interfacejacqueline
2023-06-07fix shared peripheral interrupts causing hangsjacqueline
2023-06-07Flesh out audio state machine for playbackjacqueline
Also fix mono playback
2023-06-07Cute brightness fade to avoid ugly startup :)jacqueline
2023-06-06Fix up screen brightness and transitionsjacqueline
2023-06-06Get basic audio playback going againjacqueline
2023-06-01Add touchwheel -> encoder adapterjacqueline
2023-05-24Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fwjacqueline
2023-05-23Annote E V E R Y T H I N G with license infojacqueline
2023-05-22Merge branch 'main' into state-machinesjacqueline
2023-05-22Generalise worker tasks, and centralise task priorities + stacksjacqueline
Includes making the display driver use a worker task for flushes, so that our double buffering actually does something useful /facepalm
2023-05-19Add tinyfsm, start converting core functions to an FSM-based event loopjacqueline
2023-04-21wrap driver instance ownership + di in a classjacqueline
2023-04-12Leave the display reset pin alone; we don't need itjacqueline
2023-04-06fix some display issuesjacqueline
2023-03-30Update pinouts for R3jacqueline
2023-03-08Merge remote-tracking branch 'refs/remotes/origin/main'jacqueline
2023-03-08update to faceplate bodgejacqueline
2023-02-22Software rotation for displayailurux
2023-02-22Fix up display artficacts and clean up unused featuresjacqueline
2023-02-14Use the sync apis for I2S outputjacqueline
2023-02-10whoops, remove chatty loggingjacqueline
2023-02-10Mostly working pipeline, including proper EOF signallingjacqueline
2023-01-31remove unused ISR allocationjacqueline
this was blocking the i2s driver somehow!(?)
2023-01-21build fixes for new compiler version and standardjacqueline
2023-01-20fix build issues with new pipelinejacqueline
2022-11-21first go at r2 bringup. waiting on mosfets.jacqueline
2022-11-16Order and group headers correctlyjacqueline