ayumi
9fdf94e9ce
Allow manually unmounting the SD card
2 months ago
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
7 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!!
12 months ago
jacqueline
26eb580043
move driver includes into a subdir as well
12 months ago
jacqueline
7d7f7755d1
start moving include files into subdirs
12 months ago
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
12 months 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.
1 year 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