jacqueline
41e0605f17
Give PcmBuffer pairs a name, and wire them up in the audio stack
10 months ago
jacqueline
f42448d501
WIP start on accepting two streams in out audio output
10 months 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
10 months ago
jacqueline
1daa1e9b0f
update catch2 to v3.6.0
10 months ago
jacqueline
bfee3742d3
skip the storage test if there's no sd card
10 months ago
jacqueline
525ed2ae1b
Add a basic overview of writing and running tests
10 months ago
jacqueline
8db57d6dc5
Unbreak the tests build
10 months ago
jacqueline
00b1ba58f0
Improve DAC power+mute management to reduce clicks and pops
11 months ago
jacqueline
e58dcf6dc5
WIP fix issues introduced by lvgl version bump
11 months 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>
11 months ago
jacqueline
72344b5777
no more acquire_spi :)
11 months 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.
11 months ago
jacqueline
9457f9021a
u didnt see shit
11 months 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
11 months ago
jacqueline
f84474d94d
Introduce a PcmBuffer abstraction for handling source draining
11 months ago
ailurux
ef812a53e5
Minor formatting fix
11 months ago
ailurux
9d67ddcf6e
Fix issue where failing to connect bt device initially won't retry
11 months ago
jacqueline
c846146c2f
Lowercase BT device name for better auto-reading
11 months 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
12 months ago
jacqueline
00d6c2eca2
save lra calibration data to nvs
12 months ago
jacqueline
defe838ab0
Use LRA motors in an auto-calibrated closed-loop mode
12 months 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
12 months ago
jacqueline
26eb580043
move driver includes into a subdir as well
12 months ago
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
12 months ago
jacqueline
a231fd1c8a
Replace cpp::span shim with std::span
12 months 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