jacqueline
41e0605f17
Give PcmBuffer pairs a name, and wire them up in the audio stack
1 year ago
jacqueline
f42448d501
WIP start on accepting two streams in out audio output
1 year ago
jacqueline
984b874d7e
Fix some issues with the splash screen
...
- fix a use-after-free involving the alerts container that was
happening when showing the first screen
- fix some issues where the splash screen wouldn't come up as early as
it needs to when another bootup task was making heavy use of the spi
bus
1 year ago
jacqueline
1daa1e9b0f
update catch2 to v3.6.0
1 year ago
jacqueline
bfee3742d3
skip the storage test if there's no sd card
1 year ago
jacqueline
525ed2ae1b
Add a basic overview of writing and running tests
1 year ago
jacqueline
8db57d6dc5
Unbreak the tests build
1 year ago
jacqueline
00b1ba58f0
Improve DAC power+mute management to reduce clicks and pops
1 year ago
jacqueline
e58dcf6dc5
WIP fix issues introduced by lvgl version bump
1 year ago
ailurux
8de07fe8fa
daniel/bluetooth-avrc ( #80 )
...
Have a squizzy and lemme know if any issues @cooljqln 🐝
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/80
Co-authored-by: ailurux <ailuruxx@gmail.com>
Co-committed-by: ailurux <ailuruxx@gmail.com>
1 year ago
jacqueline
72344b5777
no more acquire_spi :)
1 year ago
jacqueline
39460931d8
Remove spi locking hack + increase max sd frequency
...
These two changes (mostly the former) dramatically increase
responsiveness when doing database updates; previously we were suffering
from some nasty priority inversion.
afaict the underlying need to acquire_spi seems to be fixed? i.e. spi
bus acquisition is working properly. fingers heavily heavily crossed.
1 year ago
jacqueline
9457f9021a
u didnt see shit
1 year ago
jacqueline
4afe9d9b5c
move a bunch of bt callbacks to background tasks
...
we should avoid doing bt state machine stuff from these callbacks, since
espressif calls us whilst holding a lock. ideally we should move all of
them to background threads, but we need to do a deep copy to safely move
a few of them
1 year ago
jacqueline
f84474d94d
Introduce a PcmBuffer abstraction for handling source draining
1 year ago
ailurux
ef812a53e5
Minor formatting fix
1 year ago
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