jacqueline
|
26df5c4a7f
|
Remember per-device bluetooth volume
|
1 year ago |
jacqueline
|
a7ac34eaa9
|
hack around deadlock during bt disable
|
1 year ago |
jacqueline
|
18345a1c2c
|
Silence chatty touchwheel log
|
1 year ago |
jacqueline
|
c0be3f863f
|
Deliver AVRC events on a background thread
We don't currently do anything with them, so need to wait for the lock
on the bt thread
|
1 year ago |
jacqueline
|
1b7821a474
|
improve the locking strategy of the bluetooth fsm
|
1 year ago |
jacqueline
|
d23435fab7
|
Retry bt device connections
i hate this janky-ass protocol
|
1 year ago |
jacqueline
|
aff28342d9
|
let the bluetooth stack handle its own discovery state
|
1 year ago |
jacqueline
|
0bb12912bc
|
Implement basic volume control for bt outputs
|
1 year ago |
jacqueline
|
99c56641e9
|
fix various of bluetooth issues
connecting and disconnecting is a bit more consistent now!
|
1 year ago |
jacqueline
|
7fbb2162ee
|
Start keeping lock switch polarity in nvs
i will use this to do a sneaky trick; in-place upgrading brendan,
hailey, and erin's devices
|
1 year ago |
jacqueline
|
f2df12836f
|
tweak pipeline buffers rather than i2s dma buffer
this maintains the bluetooth changes to buffer sizes, but keeps the most
important i2s buffer the same size
|
1 year ago |
jacqueline
|
f4d8b2b04a
|
hey i found 40KiB SRAM behind the couch!
|
1 year ago |
jacqueline
|
968d545d67
|
hand off the sd card to the samd properly, and remount when it's finished
|
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
|
08d16e8580
|
whoops
|
1 year ago |
jacqueline
|
71b4673039
|
all screens basically working, but bluetooth is rough
|
1 year ago |
jacqueline
|
7cdcd44e0c
|
Begin migration of remaining screens to Lua
|
1 year ago |
jacqueline
|
55bde70b96
|
add accurate esp and samd versions + expose this info to lua
|
1 year ago |
jacqueline
|
44fdf69674
|
tweak wheel sensitivity, improve AKS for centre button
|
1 year ago |
jacqueline
|
09eacb71f0
|
bringup r8 muting
|
1 year ago |
jacqueline
|
938ba62f57
|
refactor handling of volume steps; improve controls
|
1 year ago |
jacqueline
|
44e6aee722
|
fix yet more mono i2s issues
|
1 year ago |
jacqueline
|
5f0e16e97a
|
Support changing the usb msc state
|
1 year ago |
jacqueline
|
d4a0085753
|
Fix some dither clipping issues
|
1 year ago |
jacqueline
|
876db2e7eb
|
Add the touchwheel button to the AKS channel
|
1 year ago |
Robin Howard
|
ae72566c0e
|
Have the unit not immediately sleep when starting up.
|
1 year ago |
jacqueline
|
64b106c13e
|
add a cool lua repl
|
1 year ago |
jacqueline
|
5a2f0b08e0
|
Centralise which level is 'locked'
|
1 year ago |
jacqueline
|
230721cd62
|
Periodically check int lines instead of relying on interrupts
|
1 year ago |
jacqueline
|
5c7f07e638
|
Use a non-IRAM-safe interrupt for gpio changes
AFAICT this *should* be IRAM-safe, but there's an xQueueReceiveGeneric
within esp-idf that doesn't appear to be allocated internally
|
1 year ago |
jacqueline
|
8a0a167adb
|
Convert the main menu screen to lua lol
|
1 year ago |
Robin Howard
|
91d16b3ff5
|
haptics: don't wait when initialising the driver.
|
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
|
2b19e57034
|
Ensure the GPIO ISR is in IRAM
The shared interrupt is flagged as IRAM-capable, so this handler should
be too.
|
1 year ago |
jacqueline
|
c6f2b52331
|
Improve bt scanning responsiveness
|
1 year ago |
Robin Howard
|
18d90051c9
|
Annotates the kTag with maybe_unused; they're only used for logging.
|
2 years ago |
jacqueline
|
912f9c0757
|
Free the i2s dma channel when it's not in use
It turns out this is why bluetooth playback keeps running out of memory
/facepalm
|
2 years ago |
jacqueline
|
7523772886
|
Decouple play/pause from output on/off
I think this was the cause of toggling play/pause making audio go away.
Or at least I can't repro that bug anymore, anyway.
|
2 years ago |
jacqueline
|
c851b789fa
|
Write up the new input modes to NVS and settings
|
2 years ago |
jacqueline
|
09f129662e
|
Add scroll velocity + more input methods
|
2 years ago |
jacqueline
|
3df4cc9e3d
|
Make accessors in RelativeWheel const
|
2 years ago |
jacqueline
|
ba940baa0a
|
Add a lock around the SPI bus
This seems to have been the cause of recurring deadlocks that have been
difficult to repo.
|
2 years ago |
jacqueline
|
252f685ef1
|
Make NVS access synchronous again
Everything relevant is back in internal ram, and likely to stay there.
|
2 years ago |
jacqueline
|
abc626c1da
|
Place a2dp stream callback into IRAM
|
2 years ago |
jacqueline
|
8608f9367f
|
Tune buffer sizes and locations for I2S
|
2 years ago |
jacqueline
|
4d99d22e10
|
std::string -> std::pmr::string in psram
|
2 years ago |
jacqueline
|
c00e7e37d9
|
Fix incorrect palette introduced by hardware screen rotation
|
2 years ago |
jacqueline
|
7ffeea4009
|
Don't acquire the spi bus in the display driver
Interrupt-based transactions don't need it, and it causes issues.
|
2 years ago |
jacqueline
|
f57a9688c9
|
Allocate display spi buffers statically
It works okay now :)
|
2 years ago |
jacqueline
|
972edd7468
|
Rotate the display in hardware instead of software
|
2 years ago |