jacqueline
6a2d259f46
Move off of deprecated APIs
8 months ago
jacqueline
f78de39a75
Give Bluetooth settings a bit of a refresh
...
It's now a bit more responsive to stuff happening, gives you more information, and remembers your previously paired devices for faster switching between them.
9 months ago
jacqueline
a3eb2dd9dc
WIP improve bluetooth api and settings screen
9 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
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
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
8e113ea9ae
squash a bunch of warnings
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
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
26df5c4a7f
Remember per-device bluetooth volume
1 year ago
jacqueline
a7ac34eaa9
hack around deadlock during bt disable
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
71b4673039
all screens basically working, but bluetooth is rough
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
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
4d99d22e10
std::string -> std::pmr::string in psram
2 years ago
jacqueline
b192975cb1
make bluetooth pairing ui functional
2 years ago
jacqueline
4247c9fe7d
store the screen brightness in nvs
2 years ago
jacqueline
544b0013b1
persist preferred bluetooth device in nvs
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
520ec6d98a
Add skeleton of bluetooth FSM
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