jacqueline
b58b072d2d
Add current playback timestamps
vor 2 Jahren
jacqueline
23ecff1011
Fix spurious stream starts
vor 2 Jahren
jacqueline
acccd822f0
back to back flac playback is working :)
vor 2 Jahren
jacqueline
6ff8b5886e
Support playing tracks by track id
vor 2 Jahren
jacqueline
c6bb42cdd2
song -> track
vor 2 Jahren
jacqueline
0024bb1dbe
Remove chatty loggin
vor 2 Jahren
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.
vor 2 Jahren
jacqueline
e12ac1d963
Do some prep cleanup for multiple filetypes
vor 2 Jahren
jacqueline
1f903accd9
Flesh out audio state machine for playback
...
Also fix mono playback
vor 2 Jahren
jacqueline
610991455d
R4 pre-emptive bringup
...
Includes stripping out the IC-specific I2S stuff, and doing more manual
volume control using pots
vor 2 Jahren
jacqueline
8a2a2d2265
Get basic audio playback going again
vor 2 Jahren
jacqueline
db2e29a72d
Start on audio FSM playback. needs more thought.
vor 2 Jahren
jacqueline
3b371cfc54
reuse annotate new files
vor 2 Jahren
jacqueline
a4f94c812a
Annote E V E R Y T H I N G with license info
vor 2 Jahren
jacqueline
4bff06c76c
Drop himem audio buffers (for now?)
...
For some reason the spinlocks required now block forever? Very odd.
On the plus side, this turned out to be the issue that was stopping the
audio pipeline from running on the app core.
vor 2 Jahren
jacqueline
ecee01fe97
Remove audio drain task
...
ISR drain works fine!
vor 2 Jahren
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
vor 2 Jahren
jacqueline
a6ab150405
Add tinyfsm, start converting core functions to an FSM-based event loop
vor 2 Jahren
jacqueline
5575378c1c
fix use-after-move
vor 2 Jahren
jacqueline
7083459cf3
wrap driver instance ownership + di in a class
vor 2 Jahren
jacqueline
130009eb14
Pin audio pipeline to the app core
vor 2 Jahren
jacqueline
27c63ebb95
Switch to an MVP-ready 16bit three wire DAC setup
vor 2 Jahren
jacqueline
2d95b63727
Working without big distortion :)
vor 2 Jahren
jacqueline
731b2cfa77
working isr-based sink, but still grainy
vor 2 Jahren
jacqueline
4c77950e70
Pipeline working and outputting correctly, but noisy
vor 2 Jahren
jacqueline
561f9d2a07
Ensure the sink buffer is large enough to not fully drain during
...
playback
vor 2 Jahren
jacqueline
25c5896dc5
add some bounds checking asserts
vor 2 Jahren
jacqueline
7a54ff0df9
WIP track down new pipeline memory issues
vor 2 Jahren
jacqueline
40a9734b04
Redo pcm registers to include pages
vor 2 Jahren
jacqueline
3836768bb8
new pipeline working(?), but the dac eludes me
vor 2 Jahren
jacqueline
7c6fd654f5
New pipeline building, still needs proper control
vor 2 Jahren
jacqueline
a9531c86a4
mostly single task pipeline
vor 2 Jahren
jacqueline
47ae601d41
Tidy up pipeline and use arena capacity to test for overruns
vor 2 Jahren
jacqueline
941bafca17
Add a memory arena for the audio pipeline
vor 2 Jahren
jacqueline
12d2ffdab7
Add logging to the DAC
vor 2 Jahren
jacqueline
a65d996583
Use the sync apis for I2S output
vor 2 Jahren
jacqueline
61c91b3cdb
Mostly working pipeline, including proper EOF signalling
vor 2 Jahren
jacqueline
cabfd4b75e
fix pipeline heap corruption and chunk ignores
vor 2 Jahren
jacqueline
9eecf78e08
fixing reading past eof
vor 2 Jahren
jacqueline
aae1871999
remove unused ISR allocation
...
this was blocking the i2s driver somehow!(?)
vor 2 Jahren
jacqueline
ef8d404b15
Continue ironing out i2s pipeline
...
still at least one heap corruption issue, plus the i2s write method
seems to block forever :/
vor 2 Jahren
jacqueline
2cc0a38a1a
pipeline memory management fixes + logging
vor 2 Jahren
jacqueline
7b60f5f864
Make StreamInfo a PDO
vor 2 Jahren
jacqueline
3696512b38
Fix memory leak, re-enable play command (it doesnt work lol)
vor 2 Jahren
jacqueline
f6dcd845fc
Switch from MessageBuffer to Queue for pipeline comms
vor 2 Jahren
jacqueline
e5fb1759b1
Add a bunch of logging from playback stream investigatons
vor 2 Jahren
jacqueline
0560fa7f10
clang-format
vor 2 Jahren
jacqueline
8ed3d7e31f
Re-enable the parts of the audio pipeline that are working
vor 2 Jahren
jacqueline
c7901ae429
build fixes for new compiler version and standard
vor 2 Jahren
jacqueline
4c88fcc4a5
fix build issues with new pipeline
vor 2 Jahren