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
jacqueline
ef8d404b15
Continue ironing out i2s pipeline
...
still at least one heap corruption issue, plus the i2s write method
seems to block forever :/
2023-01-30 15:52:54 +11:00
jacqueline
2cc0a38a1a
pipeline memory management fixes + logging
2023-01-27 13:28:22 +11:00
jacqueline
7b60f5f864
Make StreamInfo a PDO
2023-01-26 18:32:32 +11:00
jacqueline
3696512b38
Fix memory leak, re-enable play command (it doesnt work lol)
2023-01-26 15:09:59 +11:00
jacqueline
f6dcd845fc
Switch from MessageBuffer to Queue for pipeline comms
2023-01-26 15:02:57 +11:00
jacqueline
e7f926e2c3
Tolerate longer dac timeouts + i2c timeouts during bootup
2023-01-24 16:47:04 +11:00
jacqueline
a03b1e2139
Clean up main task log output
2023-01-24 16:42:49 +11:00
jacqueline
e5fb1759b1
Add a bunch of logging from playback stream investigatons
2023-01-24 16:39:52 +11:00
jacqueline
0560fa7f10
clang-format
2023-01-21 19:02:28 +11:00
jacqueline
8ed3d7e31f
Re-enable the parts of the audio pipeline that are working
2023-01-21 19:01:54 +11:00
jacqueline
c7901ae429
build fixes for new compiler version and standard
2023-01-21 15:09:05 +11:00
jacqueline
8cb9e9361c
ignore newly added warning
2023-01-21 15:08:46 +11:00
jacqueline
bc8ff773f2
Default c++ standard is now 20!
2023-01-21 15:08:25 +11:00
jacqueline
085b6f3faa
Ignore files created internally by esp-idf
2023-01-21 14:17:38 +11:00
jacqueline
f013bab727
Migrate to the v5 adc api
2023-01-21 14:10:25 +11:00
jacqueline
393b268e15
Vendor tinycbor, since v5 no longer includes it
2023-01-21 14:09:00 +11:00
jacqueline
bb50cf52cd
bump esp-idf up to v5.0
2023-01-20 17:00:24 +11:00