ailurux
7c107e739a
Add basic bluetooth queue controls
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
1242a199e3
log db update time-per-track
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
661cc976a1
Remove now redudantant 'Iterator.next()' care in TrackIterator
...
With Daniel's fix, this is no longer needed! Hooray!
1 year ago
jacqueline
f84474d94d
Introduce a PcmBuffer abstraction for handling source draining
1 year ago
ailurux
9dbcd6a5c8
Fix prev/next behaviour on database iterator
...
Fixes issue with apparent duplicated tracks in the infinite list
1 year ago
jacqueline
2ff8eac022
Start on TTS support by logging the data that will become TTS lines
...
Includes some misc cleanup of haptic double-triggering (or
non-triggering), since those cases all end up being TTS event
double-reporting, which to me crosses the threshold from "annoying" to
"usability issue"
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
0da7ead0a8
Simply some I2SDac management to avoid null pointer accesses
...
Fixes #72 ; we were destroying the I2SDac instance, but weren't actually
recording that the output was now in the 'off' state.
1 year ago
jacqueline
fb6b0ed49c
Fix counting empty stream cues as the current stream
1 year ago
jacqueline
d948585b00
add a lua binding for playing a sine wave
1 year ago
jacqueline
51bbb6a495
Add a stream source that generates a sine wave
1 year ago
jacqueline
c1f7adf227
Add a 'decoder' for streams already in our native format
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
1d0ad4cbf9
stop writing the erm bit
1 year ago
ailurux
e06610f3a6
Minor fixes before PR
1 year ago
ailurux
ee5657cb44
Fix imports after merge
1 year ago
ailurux
5b109ed327
Tweaks to default d-pad controls
1 year ago
jacqueline
2afeb2989b
use long-press shortcuts again, but make them a bit harder to trigger accidentally
1 year ago
jacqueline
690c64c151
Fix playback after restoring queue on boot
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
b242ba9986
Improve decoder's interface to accept streams
1 year ago
ailurux
8019c76918
File browser and track browser bug fixes
1 year ago
ailurux
eeb3f2d406
WIP: File browser, needs bug fixes
1 year ago
jacqueline
344a46d066
Respond to sd card mounts and unmounts within lua
...
Includes no longer blocking the main menu on an sd card being inserted!!
1 year ago
jacqueline
9fafd797a5
split c blobs of graphics data into their own component
...
silences some compiler warnings from using c++ flags with c
1 year ago
jacqueline
26eb580043
move driver includes into a subdir as well
1 year ago
jacqueline
7d7f7755d1
start moving include files into subdirs
1 year ago
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
1 year ago
ailurux
fb3d6a7b86
WIP: Add destructor for FileIterator
1 year ago
jacqueline
a231fd1c8a
Replace cpp::span shim with std::span
1 year ago
ailurux
4aed95a3cd
WIP: Lua filesystem starting point
1 year ago
jacqueline
1736f7874b
Use double-clicks instead of long-presses for wheel shortcuts
1 year ago
jacqueline
b255ea799e
Add lua bindings for override input hooks
1 year ago
jacqueline
920345b940
Support getting a tree of controls + hooks via lua
1 year ago
jacqueline
531475e351
Enable bluetooth after boot, not during boot
...
This avoids some bluetooth-related devices being delivered before
BootComplete
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
ailurux
dfccf56f34
Add support for 64-bit float wav files
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
727847017d
Add a button to update the samd's firmware
1 year ago