ailurux
9d67ddcf6e
Fix issue where failing to connect bt device initially won't retry
1 year ago
jacqueline
c846146c2f
Lowercase BT device name for better auto-reading
1 year ago
jacqueline
4c9b77ea13
Support setting the samd charge rate
...
We default to the fast one, and do not try setting the charge rate bit
on older samd versions
1 year ago
jacqueline
00d6c2eca2
save lra calibration data to nvs
1 year ago
jacqueline
defe838ab0
Use LRA motors in an auto-calibrated closed-loop mode
1 year ago
jacqueline
265049c519
Count samples going in and out of the drain buffer
...
This is a more accurate way of knowing which track is playing when, and
also simplifies a lot of fragile logic in audio_fsm
1 year ago
jacqueline
26eb580043
move driver includes into a subdir as well
1 year ago
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
1 year ago
jacqueline
a231fd1c8a
Replace cpp::span shim with std::span
1 year ago
jacqueline
db9e5cce1f
Improve handling of the display
...
- Blank the display when locking to prevent burn-in
- Delay turning the display on until *exactly* after the first lvgl flush
- Init the display in the ui task to avoid blocking the rest of boot
1 year ago
jacqueline
8e113ea9ae
squash a bunch of warnings
1 year ago
Robin Howard
7c075cf5b7
Adds LRA haptic support (open-loop only for now).
1 year ago
Robin Howard
e39754ba10
Fix DRV2065L register usage: we were accidentally setting control2 when we meant control3.
1 year ago
jacqueline
874218e3ff
Fix some bt device issues
...
- Don't allow adjusting volume if there's no device
- Cap bt nvs values correctly
- Persist bt volumes correctly even when the encoded for has a null
byte (facepalm 4 me)
1 year ago
jacqueline
ade0094595
switch to software volume scaling (it's bad tho i need daniel to do maths for me please)
1 year ago
jacqueline
33919e9e3f
Migrate all existing control schemes to the cool new world
1 year ago
jacqueline
ed82063af5
WIP decompose our giant LVGL driver into smaller classes
1 year ago
jacqueline
f93e3c1c69
fix some struct defaults in low-level drivers
1 year ago
jacqueline
5f1a6507d8
Warn and block MSC disable if the sd card is busy
1 year ago
jacqueline
654fde5f68
Support disabling automatic database updates
1 year ago
jacqueline
239e6d8950
bump esp-idf to 5.2.1
1 year ago
jacqueline
dd3346d381
HACK: auto-accept CFM pairing, and increase the connection timeout
...
This gets Tangara connecting to most non-trivial devices, including car
headunits and my laptop. We can add a real UI / better timeout handling
for this later (likely via a new BluetoothState?)
1 year ago
jacqueline
a05d93a1e2
Start using the lock switch polarity bit in nvs
1 year ago
jacqueline
4cd3c187f9
Add exact display size to nvs, since it can vary
1 year ago
Nano
c423817334
fixes for my green-tab adafruit ST7735R
1 year ago
jacqueline
1ea25ab9d3
Use a simpler method of determining charge status
...
idk why the smarter way of doing it doesn't work reliably, but im sick
of it
1 year ago
ailurux
ffa0894e38
Fixed clamp and write on scroll sensitivity
1 year ago
ailurux
bbbe3a3d55
Updated sensitivity nvs store
1 year ago
ailurux
26ae027d67
Sensitivity value now between 0 and 255
1 year ago
jacqueline
cb379f4bc3
Cache pending nvs writes in memory
...
Includes refactoring nvs settings to be a bit less duplicated
1 year ago
ailurux
0426d245c8
Scroll sensitivity configurable, but inverted
1 year ago
jacqueline
c5cef16c95
Remove some logging whoopsies
1 year ago
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
2 years ago