jacqueline
a174d76aa1
Mount the SD card asynchronously when it becomes available
...
Previously we were doing it synchronously, which led to some odd looking
livelock stacktraces... we still don't have a consistent repro, but this
at least makes the stack when we mount a lot more predictable
8 months ago
jacqueline
344a46d066
Respond to sd card mounts and unmounts within lua
...
Includes no longer blocking the main menu on an sd card being inserted!!
1 year ago
jacqueline
26eb580043
move driver includes into a subdir as well
1 year ago
jacqueline
7d7f7755d1
start moving include files into subdirs
1 year ago
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
1 year ago
jacqueline
ed82063af5
WIP decompose our giant LVGL driver into smaller classes
1 year ago
jacqueline
e5c6ffdb8b
Unmount storage when there's a bad error
1 year ago
jacqueline
175bfc4e3e
WIP rewrie audio pipeline+fsm guts for more reliability
1 year ago
jacqueline
299f3cc48f
Preserve the queue when going into standby
1 year ago
jacqueline
968d545d67
hand off the sd card to the samd properly, and remount when it's finished
1 year ago
jacqueline
eacea59e8a
Do more to avoid and recover from partial db updates
...
- do not power off in an update is in progress
- explicitly store last update time, rather than deriving it from
unchanged tracks.
1 year ago
jacqueline
c399199bfc
Improve handling of sd card changes during runtime
...
- mount if an sd card is inserted
- unmount if it's removed
1 year ago
jacqueline
230721cd62
Periodically check int lines instead of relying on interrupts
1 year ago
Robin Howard
135185f12b
haptics: adds a wrapper for the DRV2605L haptic motor driver
...
... with facilities to trigger effects via the system fsm.
2 years ago
jacqueline
320fdeb9d8
Use a service locator instead of passing around subsets of drivers between FSMs
2 years ago
jacqueline
3a0c42f924
Move battery measurement to its own class
2 years ago
jacqueline
8ff93f5467
Make idle state more robust + check playback state
2 years ago
jacqueline
ee949829d9
Add battery % with change events
2 years ago
jacqueline
764b01e913
Add idle->standby support when locked and no music
2 years ago
jacqueline
cad7060540
Add interrupts for samd changes
2 years ago
jacqueline
d6b83fcf4a
Flesh out basic bluetooth support
...
No ui yet, and performance isn't great. It kinda works though!!
2 years ago
jacqueline
3511852f39
Add very limited resampling (it's slow as shit)
2 years ago
jacqueline
955a8ce303
Basic nvs init + bluetooth in the build
2 years ago
jacqueline
f94be3db2f
make event queue go faster
2 years ago
jacqueline
80d7df9109
fuck off
2 years ago
jacqueline
39f7545cd5
wire up the playing screen with some real data
...
Includes implementing song duration calculation for CBR MP3 files
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
5b7b88420b
Fix issues with importing my entire library
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
6fd588e970
Add touchwheel -> encoder adapter
2 years ago
jacqueline
65833649f4
Add some placeholder splash and menu screens
...
Includes a bunch of misc display fixes. Most significantly, our lvgl
tickers was busted.
2 years ago
jacqueline
3b371cfc54
reuse annotate new files
2 years ago
jacqueline
ebcdf93930
Re-enable app console
2 years ago
jacqueline
82830f995c
Fix some logging, add transition to missing storage
2 years ago
jacqueline
a6ab150405
Add tinyfsm, start converting core functions to an FSM-based event loop
2 years ago