jacqueline
39f7545cd5
wire up the playing screen with some real data
...
Includes implementing song duration calculation for CBR MP3 files
2 years ago
jacqueline
ec28b36a44
gpio expander pin change -> event!
2 years ago
jacqueline
371f0a20ca
Clean up gpios interface
2 years ago
jacqueline
0347555d5b
Start on converting gpio expander interupts to fsm events
2 years ago
jacqueline
245d9ff4b9
add indexing to the database
...
idk man i wrote most of this in a fugue state whilst high on the couch
with my cat
2 years ago
jacqueline
cde8002df4
Fix (i think?) mysterious overly large reads in libmad
2 years ago
jacqueline
b58b072d2d
Add current playback timestamps
2 years ago
jacqueline
23ecff1011
Fix spurious stream starts
2 years ago
jacqueline
acccd822f0
back to back flac playback is working :)
2 years ago
jacqueline
6ff8b5886e
Support playing tracks by track id
2 years ago
jacqueline
c6bb42cdd2
song -> track
2 years ago
jacqueline
0024bb1dbe
Remove chatty loggin
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
e12ac1d963
Do some prep cleanup for multiple filetypes
2 years ago
jacqueline
1f903accd9
Flesh out audio state machine for playback
...
Also fix mono playback
2 years ago
jacqueline
610991455d
R4 pre-emptive bringup
...
Includes stripping out the IC-specific I2S stuff, and doing more manual
volume control using pots
2 years ago
jacqueline
8a2a2d2265
Get basic audio playback going again
2 years ago
jacqueline
db2e29a72d
Start on audio FSM playback. needs more thought.
2 years ago
jacqueline
3b371cfc54
reuse annotate new files
2 years ago
jacqueline
a4f94c812a
Annote E V E R Y T H I N G with license info
2 years ago
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.
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
a6ab150405
Add tinyfsm, start converting core functions to an FSM-based event loop
2 years ago
jacqueline
5575378c1c
fix use-after-move
2 years ago
jacqueline
7083459cf3
wrap driver instance ownership + di in a class
2 years ago
jacqueline
130009eb14
Pin audio pipeline to the app core
2 years ago
jacqueline
27c63ebb95
Switch to an MVP-ready 16bit three wire DAC setup
2 years ago
jacqueline
2d95b63727
Working without big distortion :)
2 years ago
jacqueline
731b2cfa77
working isr-based sink, but still grainy
2 years ago
jacqueline
4c77950e70
Pipeline working and outputting correctly, but noisy
2 years ago
jacqueline
561f9d2a07
Ensure the sink buffer is large enough to not fully drain during
...
playback
2 years ago
jacqueline
25c5896dc5
add some bounds checking asserts
2 years ago
jacqueline
7a54ff0df9
WIP track down new pipeline memory issues
2 years ago
jacqueline
40a9734b04
Redo pcm registers to include pages
2 years ago
jacqueline
3836768bb8
new pipeline working(?), but the dac eludes me
2 years ago
jacqueline
7c6fd654f5
New pipeline building, still needs proper control
2 years ago
jacqueline
a9531c86a4
mostly single task pipeline
2 years ago
jacqueline
47ae601d41
Tidy up pipeline and use arena capacity to test for overruns
2 years ago
jacqueline
941bafca17
Add a memory arena for the audio pipeline
2 years ago
jacqueline
12d2ffdab7
Add logging to the DAC
2 years ago
jacqueline
a65d996583
Use the sync apis for I2S output
2 years ago
jacqueline
61c91b3cdb
Mostly working pipeline, including proper EOF signalling
2 years ago
jacqueline
cabfd4b75e
fix pipeline heap corruption and chunk ignores
2 years ago
jacqueline
9eecf78e08
fixing reading past eof
2 years ago
jacqueline
aae1871999
remove unused ISR allocation
...
this was blocking the i2s driver somehow!(?)
2 years ago
jacqueline
ef8d404b15
Continue ironing out i2s pipeline
...
still at least one heap corruption issue, plus the i2s write method
seems to block forever :/
2 years ago
jacqueline
2cc0a38a1a
pipeline memory management fixes + logging
2 years ago
jacqueline
7b60f5f864
Make StreamInfo a PDO
2 years ago
jacqueline
3696512b38
Fix memory leak, re-enable play command (it doesnt work lol)
2 years ago