jacqueline
0bbf279e5e
Add a button to shuffle+play the current view
2024-06-27 12:22:53 +10:00
jacqueline
bfee3742d3
skip the storage test if there's no sd card
2024-06-25 16:51:03 +10:00
jacqueline
525ed2ae1b
Add a basic overview of writing and running tests
2024-06-25 16:09:36 +10:00
jacqueline
8db57d6dc5
Unbreak the tests build
2024-06-25 15:23:51 +10:00
jacqueline
2d04e13cc6
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-06-25 12:46:44 +10:00
jacqueline
d75927ff92
Use a curve to estimate battery %
...
This is a bit more accurate than our previous linear relationship,
particularly at lower voltages.
2024-06-25 12:45:39 +10:00
jacqueline
5e2945f246
version bump
2024-06-14 16:59:46 +10:00
jacqueline
00b1ba58f0
Improve DAC power+mute management to reduce clicks and pops
2024-06-14 14:27:56 +10:00
jacqueline
bcaa133a4c
fix unused var warning
2024-06-14 13:37:30 +10:00
jacqueline
ba808916a8
Add fusion fonts to lua partition
2024-06-14 13:37:06 +10:00
jacqueline
2d6c70d5f6
Fix missing duration when no track is playing
2024-06-14 13:36:29 +10:00
jacqueline
7f2d56e29a
Load fonts dynamically from /lua
...
This unfortunately slows boot time by a bit, but I think we should be able to reclaim that time eventually.
2024-06-14 13:35:42 +10:00
jacqueline
5086ab96ea
Merge branch 'jqln/lvgl-bump'
2024-06-14 13:34:41 +10:00
jacqueline
37ed399601
fix uninitialised use
2024-06-13 18:51:06 +10:00
jacqueline
194f0e6b59
Scroll to 'top/bottom' by only 10 at a time
...
Prevents a nasty device lockup when scrolling infinite lists
2024-06-13 16:10:49 +10:00
jacqueline
14416dc358
Reimplement our patch to lv_list button long modes
2024-06-13 12:46:02 +10:00
jacqueline
82ec765d2d
Fix splash screen background
2024-06-13 08:15:11 +10:00
jacqueline
e58dcf6dc5
WIP fix issues introduced by lvgl version bump
2024-06-12 18:46:07 +10:00
jacqueline
64bd9053a2
Update LVGL to v9.1.0
2024-06-12 17:54:40 +10:00
jacqueline
611176ed66
Port and fix our luavgl additions
2024-06-12 17:54:10 +10:00
jacqueline
bd01bf3845
WIP bump luavgl to latest
2024-06-12 16:29:31 +10:00
jacqueline
b02d13f5a5
Removed some old, unused assets
2024-06-12 12:38:06 +10:00
jacqueline
a76255ad58
Revert "Removed some old, unused assets"
...
This reverts commit f1992fc856 .
2024-06-12 11:39:56 +10:00
jacqueline
f1992fc856
Removed some old, unused assets
2024-06-12 10:45:39 +10:00
jacqueline
1242a199e3
log db update time-per-track
2024-06-04 09:00:08 +10:00
jacqueline
72344b5777
no more acquire_spi :)
2024-06-04 08:09:40 +10:00
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.
2024-06-03 21:02:24 +10:00
jacqueline
9457f9021a
u didnt see shit
2024-06-03 20:12:03 +10:00
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
2024-06-03 19:59:18 +10:00
jacqueline
41d15a831b
version bump
2024-05-31 13:02:28 +10:00
jacqueline
661cc976a1
Remove now redudantant 'Iterator.next()' care in TrackIterator
...
With Daniel's fix, this is no longer needed! Hooray!
2024-05-31 12:03:01 +10:00
jacqueline
23a5d26e8a
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-05-31 11:52:45 +10:00
jacqueline
f84474d94d
Introduce a PcmBuffer abstraction for handling source draining
2024-05-31 11:52:19 +10:00
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"
2024-05-29 14:45:49 +10:00
jacqueline
c846146c2f
Lowercase BT device name for better auto-reading
2024-05-28 12:53:02 +10:00
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.
2024-05-24 15:12:41 +10:00
jacqueline
fb6b0ed49c
Fix counting empty stream cues as the current stream
2024-05-24 14:31:32 +10:00
jacqueline
d948585b00
add a lua binding for playing a sine wave
2024-05-17 11:40:43 +10:00
jacqueline
51bbb6a495
Add a stream source that generates a sine wave
2024-05-16 12:21:05 +10:00
jacqueline
c1f7adf227
Add a 'decoder' for streams already in our native format
2024-05-16 12:20:50 +10:00
jacqueline
e8f5e73b1a
Handle tracks with no duration in the playback screen
2024-05-16 12:20:15 +10:00
jacqueline
ddc03204e1
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-05-15 15:58:03 +10:00
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
2024-05-15 15:57:16 +10:00
jacqueline
00d6c2eca2
save lra calibration data to nvs
2024-05-14 15:21:21 +10:00
jacqueline
defe838ab0
Use LRA motors in an auto-calibrated closed-loop mode
2024-05-14 13:14:10 +10:00
jacqueline
f991ac9866
version bump
2024-05-10 14:28:44 +10:00
jacqueline
41426151a1
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-05-10 14:28:03 +10:00
jacqueline
1d0ad4cbf9
stop writing the erm bit
2024-05-10 14:27:42 +10:00
jacqueline
2afeb2989b
use long-press shortcuts again, but make them a bit harder to trigger accidentally
2024-05-09 17:05:54 +10:00
jacqueline
690c64c151
Fix playback after restoring queue on boot
2024-05-09 10:59:49 +10:00
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
2024-05-08 16:03:03 +10:00
jacqueline
b242ba9986
Improve decoder's interface to accept streams
2024-05-07 14:19:19 +10:00
jacqueline
344a46d066
Respond to sd card mounts and unmounts within lua
...
Includes no longer blocking the main menu on an sd card being inserted!!
2024-05-03 16:40:39 +10:00
jacqueline
964da15a0b
Add the collation partition to the build
...
Includes a small linux-only bash script to generate locale partitions
2024-05-03 12:37:23 +10:00
jacqueline
9fafd797a5
split c blobs of graphics data into their own component
...
silences some compiler warnings from using c++ flags with c
2024-05-03 10:38:54 +10:00
jacqueline
26eb580043
move driver includes into a subdir as well
2024-05-02 21:52:59 +10:00
jacqueline
7d7f7755d1
start moving include files into subdirs
2024-05-02 21:41:56 +10:00
jacqueline
1573a8c4cd
WIP merge cyclically dependent components into one big component
2024-05-02 19:12:26 +10:00
jacqueline
a231fd1c8a
Replace cpp::span shim with std::span
2024-05-02 17:06:25 +10:00
jacqueline
f852e44715
version bump
2024-04-29 13:54:32 +10:00
jacqueline
1736f7874b
Use double-clicks instead of long-presses for wheel shortcuts
2024-04-29 13:53:11 +10:00
jacqueline
b255ea799e
Add lua bindings for override input hooks
2024-04-29 12:42:16 +10:00
jacqueline
920345b940
Support getting a tree of controls + hooks via lua
2024-04-24 16:06:10 +10:00
jacqueline
531475e351
Enable bluetooth after boot, not during boot
...
This avoids some bluetooth-related devices being delivered before
BootComplete
2024-04-23 10:19:25 +10:00
jacqueline
84dbe074c5
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-04-22 16:06:51 +10:00
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
2024-04-22 16:00:53 +10:00
jacqueline
5b99267cb9
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-04-19 16:52:33 +10:00
jacqueline
8e113ea9ae
squash a bunch of warnings
2024-04-19 16:51:53 +10:00
jacqueline
354ba0325a
version bump
2024-04-19 12:45:02 +10:00
jacqueline
727847017d
Add a button to update the samd's firmware
2024-04-19 12:44:44 +10:00
jacqueline
b17f8a3dcc
Merge the StatusBar bindings table with each screen's bindings table
2024-04-18 11:38:53 +10:00
jacqueline
cc255f6d77
Suspend property bindings when their screens aren't visible
2024-04-18 10:06:45 +10:00
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)
2024-04-15 14:53:41 +10:00
jacqueline
1baaa6dadc
Use more generic 'hooks' for each input device's actions
2024-04-15 14:18:20 +10:00
jacqueline
c24dfa6846
make boot go fast
2024-04-12 15:49:41 +10:00
jacqueline
166e8feb3c
copy audacious' math it looks good
2024-04-12 15:11:56 +10:00
jacqueline
ade0094595
switch to software volume scaling (it's bad tho i need daniel to do maths for me please)
2024-04-12 14:36:03 +10:00
jacqueline
b319b3f07f
Version bump
2024-04-12 10:20:32 +10:00
jacqueline
49bd389528
use our spi flash in its fastest mode
2024-04-12 10:12:19 +10:00
jacqueline
e34842516e
show a preview of the new track position while scrubbing
2024-04-11 17:20:41 +10:00
jacqueline
f580928cba
Remember the source of the previous track when opening a new one
2024-04-11 16:38:34 +10:00
jacqueline
3276d113fc
Use a fix scrubber range on the playing screen
...
this ensure that the amount the scrubber moves for each tick of the
input remains consistent, even when tracks have very different durations
2024-04-11 16:37:57 +10:00
jacqueline
d1bf21fcf7
exec a config file on sd
2024-04-11 15:42:24 +10:00
jacqueline
33919e9e3f
Migrate all existing control schemes to the cool new world
2024-04-11 15:16:35 +10:00
jacqueline
ed82063af5
WIP decompose our giant LVGL driver into smaller classes
2024-04-10 16:56:10 +10:00
jacqueline
2e59325c22
Go to the start of the current track before the previous track when hitting back
2024-04-09 14:15:03 +10:00
jacqueline
a6f8468ad5
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-04-09 11:46:12 +10:00
jacqueline
e5c6ffdb8b
Unmount storage when there's a bad error
2024-04-09 11:44:20 +10:00
jacqueline
f93e3c1c69
fix some struct defaults in low-level drivers
2024-04-09 11:19:41 +10:00
jacqueline
6e73f1a22e
Upgrade fatfs component version
2024-04-09 11:04:42 +10:00
jacqueline
96b62321c3
fix some issues with settings screen styling
2024-04-08 15:29:57 +10:00
jacqueline
5f1a6507d8
Warn and block MSC disable if the sd card is busy
2024-04-08 13:50:35 +10:00
jacqueline
251c0ba96d
Fix null poiner dereference when turning off i2s output twice
2024-04-04 15:15:42 +11:00
jacqueline
673b6a33ef
version bump
2024-04-02 21:20:37 +11:00
jacqueline
63bc8cf896
Ensure we always clean up after ourselves when invoking bindings
...
this fixes a very nasty lua stack leak
2024-04-02 21:19:54 +11:00
jacqueline
c24479d4d8
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
2024-04-02 20:42:19 +11:00
jacqueline
654fde5f68
Support disabling automatic database updates
2024-04-02 20:41:36 +11:00
jacqueline
1e278d55c4
tweak db performance
...
- leveldb cache pinned to spiram
- actually use it during indexing lol
- all up, saves about 10ms per file (amortised) for an incremental reindex
2024-04-02 19:36:35 +11:00
jacqueline
313c021c3b
version bump
2024-03-28 16:37:18 +11:00
jacqueline
35a822fe60
Use 48kHz SBC instead of 44.1
2024-03-28 14:46:09 +11:00