jacqueline
8fed966c96
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
2023-06-19 15:47:04 +10:00
jacqueline
acccd822f0
back to back flac playback is working :)
2023-06-19 15:36:43 +10:00
jacqueline
0c81c3e1f6
paths with spaces? wow!!
2023-06-19 09:15:19 +10:00
jacqueline
6ff8b5886e
Support playing tracks by track id
2023-06-19 08:51:34 +10:00
jacqueline
4e5dba1583
Fix leveldb's alignment assumptions (we have 4 byte alignment)
2023-06-19 08:49:48 +10:00
jacqueline
5b7b88420b
Fix issues with importing my entire library
2023-06-16 13:14:45 +10:00
jacqueline
c6bb42cdd2
song -> track
2023-06-15 10:42:28 +10:00
jacqueline
0024bb1dbe
Remove chatty loggin
2023-06-15 10:34:41 +10:00
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.
2023-06-15 10:33:46 +10:00
jacqueline
1238437717
Add flac and ogg decoder deps
2023-06-08 08:02:37 +10:00
jacqueline
e12ac1d963
Do some prep cleanup for multiple filetypes
2023-06-07 15:39:28 +10:00
jacqueline
7e96482087
fix shared peripheral interrupts causing hangs
2023-06-07 13:45:27 +10:00
jacqueline
1f903accd9
Flesh out audio state machine for playback
...
Also fix mono playback
2023-06-07 13:19:45 +10:00
jacqueline
2a568846bd
Cute brightness fade to avoid ugly startup :)
2023-06-07 10:30:33 +10:00
jacqueline
610991455d
R4 pre-emptive bringup
...
Includes stripping out the IC-specific I2S stuff, and doing more manual
volume control using pots
2023-06-07 09:50:25 +10:00
jacqueline
d2e5d2ab3c
Fix up screen brightness and transitions
2023-06-06 11:49:41 +10:00
jacqueline
8a2a2d2265
Get basic audio playback going again
2023-06-06 10:20:46 +10:00
jacqueline
ee5f662f9b
Fix missing service impl
2023-06-01 15:52:07 +10:00
jacqueline
56c1b5f93b
Fix include weirdness for lvgl
2023-06-01 15:42:39 +10:00
jacqueline
dd27c35304
convert lvgl from submodule to a plain old directory
2023-06-01 15:41:47 +10:00
jacqueline
6fd588e970
Add touchwheel -> encoder adapter
2023-06-01 15:28:54 +10:00
jacqueline
db2e29a72d
Start on audio FSM playback. needs more thought.
2023-06-01 15:28:10 +10:00
jacqueline
4b93bb22db
fish :)
2023-05-25 14:53:17 +10:00
jacqueline
65833649f4
Add some placeholder splash and menu screens
...
Includes a bunch of misc display fixes. Most significantly, our lvgl
tickers was busted.
2023-05-24 13:30:05 +10:00
jacqueline
3b371cfc54
reuse annotate new files
2023-05-24 07:42:03 +10:00
jacqueline
3041e48ca6
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
2023-05-24 07:20:16 +10:00
jacqueline
876e5e70e9
Don't crash if there's no sd card
2023-05-24 07:17:42 +10:00
jacqueline
a4f94c812a
Annote E V E R Y T H I N G with license info
2023-05-23 13:56:22 +10:00
jacqueline
ebcdf93930
Re-enable app console
2023-05-23 09:29:22 +10:00
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.
2023-05-23 09:13:22 +10:00
jacqueline
ecee01fe97
Remove audio drain task
...
ISR drain works fine!
2023-05-23 09:00:06 +10:00
jacqueline
82830f995c
Fix some logging, add transition to missing storage
2023-05-22 16:52:50 +10:00
jacqueline
da977aaa3f
Merge branch 'main' into state-machines
2023-05-22 15:35:50 +10:00
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
2023-05-22 15:23:51 +10:00
jacqueline
a6ab150405
Add tinyfsm, start converting core functions to an FSM-based event loop
2023-05-19 21:21:27 +10:00
jacqueline
b320a6a863
Add basic samd class
2023-05-18 18:17:14 +10:00
jacqueline
d71f726c42
Add pagination to database queries
2023-05-16 14:11:38 +10:00
jacqueline
785349eb5b
Touchwheel works!!!!!!!
2023-05-12 15:24:56 +10:00
jacqueline
f3d0e8f98f
Slightly improve touchwheel not-working-ness
...
It still doesn't work tho
2023-05-12 14:12:23 +10:00
jacqueline
961c8014ad
Add some basic tests for the database
2023-05-12 10:30:07 +10:00
jacqueline
10eb120878
Add tests for record encoding
2023-05-09 13:50:04 +10:00
jacqueline
d739edef76
Fix tests!
...
Includes removing some that never passed and/or weren't quite a good
idea
2023-05-09 11:20:57 +10:00
jacqueline
16e6180ba7
Database init is now stable!
2023-05-08 17:47:29 +10:00
jacqueline
fe19478e0f
Output hash of song triple
2023-05-02 16:10:21 +10:00
jacqueline
86c44199b0
add komihash: the fast and fun hashing header!
2023-05-02 16:10:08 +10:00
jacqueline
ee559cd722
Give the touchwheel a little more juice for debugging
2023-05-02 16:01:41 +10:00
jacqueline
09ad66136d
clang-format
2023-04-28 13:54:46 +10:00
jacqueline
bdadc159c7
Add libtags for extracting info from files
2023-04-28 13:26:47 +10:00
jacqueline
cd520b9360
Make queries a little less copy-paste
2023-04-27 16:03:55 +10:00
jacqueline
5d7cbec34c
Move DB interactions to a background thread
2023-04-27 12:55:30 +10:00
jacqueline
fbe047a35f
Add some basic data and retrieval
2023-04-26 15:21:32 +10:00
jacqueline
083f4011aa
removed unused raw db stuff
2023-04-26 12:27:28 +10:00
jacqueline
2be4d4204c
Allow RenameFile to overwrite existing files
2023-04-26 10:20:53 +10:00
jacqueline
7972bd4567
Merge branch 'main' into leveldb
2023-04-26 08:49:02 +10:00
jacqueline
5575378c1c
fix use-after-move
2023-04-21 19:03:23 +10:00
jacqueline
464a4bf527
Add a RAII-friendly DI wrapper for driver instances
2023-04-21 18:42:49 +10:00
jacqueline
84f45e6045
Don't crash if there's no sd card :)
2023-04-21 18:42:37 +10:00
jacqueline
7083459cf3
wrap driver instance ownership + di in a class
2023-04-21 15:27:57 +10:00
jacqueline
130009eb14
Pin audio pipeline to the app core
2023-04-21 10:35:39 +10:00
jacqueline
cc3fd9571e
split out lvgl task into its own component
2023-04-21 10:30:52 +10:00
jacqueline
f955804495
use a freertos timer for lvgl ticks
2023-04-21 10:00:05 +10:00
jacqueline
27c63ebb95
Switch to an MVP-ready 16bit three wire DAC setup
2023-04-20 21:25:22 +10:00
jacqueline
2d95b63727
Working without big distortion :)
2023-04-20 14:47:32 +10:00
jacqueline
731b2cfa77
working isr-based sink, but still grainy
2023-04-20 11:25:43 +10:00
jacqueline
4c77950e70
Pipeline working and outputting correctly, but noisy
2023-04-19 16:45:50 +10:00
jacqueline
561f9d2a07
Ensure the sink buffer is large enough to not fully drain during
...
playback
2023-04-19 13:00:42 +10:00
jacqueline
25c5896dc5
add some bounds checking asserts
2023-04-19 10:29:40 +10:00
jacqueline
7a54ff0df9
WIP track down new pipeline memory issues
2023-04-19 10:29:40 +10:00
jacqueline
40a9734b04
Redo pcm registers to include pages
2023-04-19 10:29:40 +10:00
jacqueline
3836768bb8
new pipeline working(?), but the dac eludes me
2023-04-19 10:29:40 +10:00
jacqueline
7c6fd654f5
New pipeline building, still needs proper control
2023-04-19 10:29:38 +10:00
jacqueline
3817ec0c77
turn on amp for development
2023-04-19 10:27:59 +10:00
jacqueline
a9531c86a4
mostly single task pipeline
2023-04-19 10:27:59 +10:00
jacqueline
2a46eecdc6
Temporarily allow the touchwheel to be missing
2023-04-19 10:27:33 +10:00
jacqueline
35ecf8c49b
rename
2023-04-17 16:39:06 +10:00
jacqueline
a1cef17c5b
Leave the display reset pin alone; we don't need it
2023-04-12 16:37:27 +10:00
jacqueline
c93ed8efad
fix some display issues
2023-04-06 16:18:04 +10:00
jacqueline
1b245316fe
fix up touchpad timeouts, make it less chatty
2023-04-04 14:48:35 +10:00
jacqueline
9799ab458d
fix sd card on for dev + mux pin
2023-03-30 10:15:09 +11:00
jacqueline
a0ae39befe
Update pinouts for R3
2023-03-30 09:31:08 +11:00
jacqueline
53ad4fc3f2
daniel wat
2023-03-13 15:19:22 +11:00
jacqueline
b9a75cd55a
LDO up at boot
2023-03-10 12:26:32 +11:00
jacqueline
dd3cb1b760
Merge remote-tracking branch 'refs/remotes/origin/main'
2023-03-08 12:52:58 +11:00
jacqueline
0fce4fcc06
update to faceplate bodge
2023-03-08 12:47:56 +11:00
jacqueline
4887f37898
add leveldb
2023-03-08 11:35:54 +11:00
jacqueline
d01f1bee10
Use UTF-8 for filenames
2023-02-23 18:51:01 +11:00
jacqueline
e0363df454
Make a few init things fail less fatally
2023-02-22 11:17:48 +11:00
jacqueline
db01e6335a
Make default font not look broken
2023-02-22 10:53:39 +11:00
jacqueline
fed7b450b3
Fix up display artficacts and clean up unused features
2023-02-22 10:28:11 +11:00
jacqueline
47ae601d41
Tidy up pipeline and use arena capacity to test for overruns
2023-02-21 14:40:18 +11:00
jacqueline
941bafca17
Add a memory arena for the audio pipeline
2023-02-21 13:19:11 +11:00
jacqueline
12d2ffdab7
Add logging to the DAC
2023-02-21 09:28:36 +11:00
jacqueline
644601b636
mark i2s callbacks as iram safe
2023-02-14 14:31:58 +11:00
jacqueline
a65d996583
Use the sync apis for I2S output
2023-02-14 14:30:53 +11:00
jacqueline
fa1f1cd9ab
i am boo. boo the fool.
2023-02-13 16:22:45 +11:00
jacqueline
f0a4b4cf50
whoops, remove chatty logging
2023-02-10 15:33:24 +11:00
jacqueline
61c91b3cdb
Mostly working pipeline, including proper EOF signalling
2023-02-10 15:32:21 +11:00
jacqueline
cabfd4b75e
fix pipeline heap corruption and chunk ignores
2023-02-05 14:27:06 +11:00
jacqueline
9eecf78e08
fixing reading past eof
2023-01-31 16:35:52 +11:00
jacqueline
aae1871999
remove unused ISR allocation
...
this was blocking the i2s driver somehow!(?)
2023-01-31 14:39:52 +11:00