jacqueline
|
09c0e1608f
|
Implement adding to the playback queue from lua
|
2023-11-23 14:08:46 +11:00 |
|
jacqueline
|
b07bfbc6c7
|
Add a second font, flesh out browser screen
|
2023-11-23 10:40:04 +11:00 |
|
jacqueline
|
9eb5ae6e94
|
Use protected mode for lua callbacks wherever possible
|
2023-11-22 15:46:46 +11:00 |
|
jacqueline
|
06aca259cb
|
Add basic lua browser screen
|
2023-11-22 14:38:52 +11:00 |
|
jacqueline
|
cd46d7bd20
|
Make lua db iterators async
|
2023-11-21 16:20:21 +11:00 |
|
jacqueline
|
d70ec9bf44
|
Add lua functions to get database content
|
2023-11-21 13:49:47 +11:00 |
|
jacqueline
|
f34b640588
|
Add 'btn' support to luavgl
|
2023-11-20 16:59:53 +11:00 |
|
jacqueline
|
5c7f07e638
|
Use a non-IRAM-safe interrupt for gpio changes
AFAICT this *should* be IRAM-safe, but there's an xQueueReceiveGeneric
within esp-idf that doesn't appear to be allocated internally
|
2023-11-20 16:05:53 +11:00 |
|
jacqueline
|
effac1917a
|
Use C functions for the backstack, instead of a lua module
Working with the default group and root kinda sucks if you have to do it
from lua!
|
2023-11-20 14:43:20 +11:00 |
|
jacqueline
|
b7f37f6426
|
Add a generic lua function binding, alongside properties
|
2023-11-20 13:02:29 +11:00 |
|
jacqueline
|
b3b512f10e
|
Don't start readahead until parsing the stream's header is finished
...but also disable readahead for now anyway, since it's unstable
|
2023-11-20 11:04:20 +11:00 |
|
jacqueline
|
d36f314a57
|
ignore generated lua docs
|
2023-11-15 20:35:36 +11:00 |
|
jacqueline
|
fa57d8ed34
|
fix incorrect docstring
|
2023-11-15 20:35:02 +11:00 |
|
jacqueline
|
51d1cee3d7
|
Set up ldoc and lua-language-server, write some module stubs
|
2023-11-15 10:22:01 +11:00 |
|
jacqueline
|
0cae95a71e
|
lua statusbar styling tweaks
|
2023-11-14 14:25:42 +11:00 |
|
jacqueline
|
71ed09a6f7
|
Add two-way databinding for lua, and flesh out the lua statusbar
|
2023-11-14 13:20:04 +11:00 |
|
jacqueline
|
8a0a167adb
|
Convert the main menu screen to lua lol
|
2023-11-12 19:14:09 +11:00 |
|
jacqueline
|
8471046a95
|
one weird trick to reduce boot time
|
2023-11-10 14:18:05 +11:00 |
|
jacqueline
|
270bce7212
|
Fix display off on boot with new lock switch direction
|
2023-11-10 14:17:32 +11:00 |
|
jacqueline
|
0419def89b
|
Change lock switch direction to match r7 standby
|
2023-11-10 08:19:27 +11:00 |
|
jacqueline
|
c1db38ba42
|
Increase the size of the system fsm QueueSet
I added the samd to it but forgot to increase the set size.
|
2023-11-08 16:59:02 +11:00 |
|
jacqueline
|
0e661409b1
|
Fix missing licenses
Includes removing unused shared_string
This helps with #6, but there's still more work to do
|
2023-11-07 16:58:08 +11:00 |
|
jacqueline
|
3abf599c4f
|
Improve memory usage of mad codec
- fix leaks
- ensure the synth data is always in internal ram
|
2023-11-07 15:57:56 +11:00 |
|
jacqueline
|
b463ceaef4
|
use std::list instead of std::deque for events
std::deque loves to allocate 512 bytes in internal memory just for fun
|
2023-11-07 14:53:47 +11:00 |
|
jacqueline
|
2b19e57034
|
Ensure the GPIO ISR is in IRAM
The shared interrupt is flagged as IRAM-capable, so this handler should
be too.
|
2023-11-07 14:46:32 +11:00 |
|
jacqueline
|
19f0675b44
|
Make readahead a bit more robust for codecs with different io speeds
|
2023-11-07 13:38:18 +11:00 |
|
jacqueline
|
9dc8f5646c
|
Make foxenflac a little less memory hungry
We should really just use the xiph library :/
|
2023-11-07 13:37:58 +11:00 |
|
jacqueline
|
9b52fad86e
|
Merge branch 'main' of codeberg.org:cool-tech-zone/tangara-fw
|
2023-11-07 10:40:18 +11:00 |
|
jacqueline
|
75a8f836d5
|
Wait for background readahead to finish before deleting its buffer
|
2023-11-07 10:39:43 +11:00 |
|
jacqueline
|
1f031f565a
|
Rename the db background task to be more generic
|
2023-11-07 10:37:12 +11:00 |
|
jacqueline
|
499d5a942f
|
Add a wrapper codec source that does readahead
|
2023-11-07 10:32:07 +11:00 |
|
jacqueline
|
d36fe9be6b
|
Use atomics for new file notification instead of a semaphore
|
2023-11-07 08:30:26 +11:00 |
|
jacqueline
|
05ce360c99
|
Flag off a few unused features
|
2023-11-06 17:11:52 +11:00 |
|
jacqueline
|
f9f8e141c2
|
Fix weird strncpy usage
|
2023-11-06 17:11:42 +11:00 |
|
jacqueline
|
8309e67a86
|
Read in larger chunks from SD at a time
This helps a little with the stuttering. Some kind of readahead is
probably the ideal tho.
|
2023-11-06 17:10:52 +11:00 |
|
jacqueline
|
c6f2b52331
|
Improve bt scanning responsiveness
|
2023-11-06 08:19:28 +11:00 |
|
jacqueline
|
2dd72320dd
|
Don't try to treat whe whole LC_COLLATE as one big string
it would be a bad idea
|
2023-10-31 14:54:30 +11:00 |
|
jacqueline
|
2ef022a2f9
|
Remove loading spinner for 'Coming up'
it's really slow!
|
2023-10-31 14:28:41 +11:00 |
|
jacqueline
|
81855a78f4
|
Revert "Improve representation of track numbers in indexes"
This reverts commit a3da259a37.
|
2023-10-31 10:33:42 +11:00 |
|
jacqueline
|
a3da259a37
|
Improve representation of track numbers in indexes
|
2023-10-31 09:45:29 +11:00 |
|
jacqueline
|
4cc5fa4c9c
|
Store the current collator in the database
|
2023-10-31 09:01:34 +11:00 |
|
jacqueline
|
b58c081508
|
add locale-aware colation to db indexes
|
2023-10-30 15:52:26 +11:00 |
|
jacqueline
|
6ef0fa2b1b
|
improve on clangd setup instructions
|
2023-10-28 09:23:12 +11:00 |
|
jacqueline
|
4e0aaa825b
|
Free up some IRAM
|
2023-10-26 16:56:22 +11:00 |
|
jacqueline
|
97d63c5553
|
Add a target that yells at you if your sdkconfig is out of date
|
2023-10-26 12:50:02 +11:00 |
|
jacqueline
|
2086ab09b8
|
Implement incremental updates of database indexes
This makes rescanning the library *so* much faster. Yay!
|
2023-10-24 16:29:46 +11:00 |
|
jacqueline
|
4f8c127da9
|
Use an mutable struct + const instead of an immutable class
|
2023-10-24 12:50:03 +11:00 |
|
jacqueline
|
5b5b792467
|
Skip old tracks when scanning the sd card
|
2023-10-24 11:50:06 +11:00 |
|
jacqueline
|
ddf0128496
|
Do not deafen people
|
2023-10-21 10:48:32 +11:00 |
|
jacqueline
|
a8b866aafe
|
Don't crash if the current track source encounters a record with no id
This *shouldn't* normally happen, but it's not worth crashing over.
|
2023-10-20 12:44:52 +11:00 |
|
jacqueline
|
c27880282a
|
Bump esp-idf to v5.1.1
|
2023-10-20 10:23:32 +11:00 |
|
jacqueline
|
912f9c0757
|
Free the i2s dma channel when it's not in use
It turns out this is why bluetooth playback keeps running out of memory
/facepalm
|
2023-10-19 13:01:28 +11:00 |
|
jacqueline
|
782e8dc8c2
|
Add better controls for queue manipulation
|
2023-10-18 14:35:28 +11:00 |
|
jacqueline
|
2eb7eaa2a6
|
Go straight to the playback screen after 'play now'
|
2023-10-18 09:41:01 +11:00 |
|
jacqueline
|
bb91724b94
|
Codec memory tweaks
- Ensure mad and ogg structs are allocated internally
- Free old codec before making a new one
|
2023-10-16 16:15:48 +11:00 |
|
jacqueline
|
7523772886
|
Decouple play/pause from output on/off
I think this was the cause of toggling play/pause making audio go away.
Or at least I can't repro that bug anymore, anyway.
|
2023-10-16 13:52:43 +11:00 |
|
jacqueline
|
96ea6cef88
|
Fix incorrect track lengths
|
2023-10-16 13:07:52 +11:00 |
|
jacqueline
|
f03093e5c2
|
Remove early-exit when there's no battery
SAMD is currently returning incorrect states, so this is the cause of
the battery meter often reading 0 when not plugged in
|
2023-10-16 08:50:50 +11:00 |
|
jacqueline
|
f27670a112
|
acquire spi lock in the opus tag parser
|
2023-10-14 11:59:34 +11:00 |
|
jacqueline
|
ac320e376e
|
Merge branch 'main' of git.sr.ht:~jacqueline/tangara-fw
|
2023-10-14 11:47:00 +11:00 |
|
jacqueline
|
c2dddba30a
|
Add very basic db versioning
|
2023-10-14 11:46:42 +11:00 |
|
jacqueline
|
542e6f5d90
|
The tweaking of max internal alloc size will continue until performance improves
|
2023-10-14 11:30:34 +11:00 |
|
jacqueline
|
5a459ac6e9
|
Remove accidental debug thing
|
2023-10-13 20:41:31 +11:00 |
|
jacqueline
|
ceba508593
|
Add modified time to TrackData
|
2023-10-13 15:29:06 +11:00 |
|
jacqueline
|
afbf3c31f4
|
Use libcppbor for much much nicer db encoding
|
2023-10-13 15:05:49 +11:00 |
|
jacqueline
|
20d1c280a7
|
Remove templating of Continuation
|
2023-10-13 11:13:20 +11:00 |
|
jacqueline
|
53cf476876
|
Remove mV from top bar, now that we know it's not the issue
|
2023-10-12 11:51:14 +11:00 |
|
jacqueline
|
936e327974
|
Claw back a little more memory
|
2023-10-12 11:20:59 +11:00 |
|
jacqueline
|
f0d3a27dd9
|
Ensure StaticTask_t allocs are internal
|
2023-10-12 09:02:19 +11:00 |
|
jacqueline
|
ddcaa967fd
|
Update battery mV even with the samd doesn't respond
|
2023-10-12 08:42:51 +11:00 |
|
jacqueline
|
b0d85fc0d6
|
Skip ID3 tags in the mad decoder; mad itself sometimes chokes on them
|
2023-10-10 13:13:41 +11:00 |
|
jacqueline
|
6c20eafd05
|
First pass at having some kind of design and theming
|
2023-10-05 14:24:00 +11:00 |
|
jacqueline
|
bf1fc5a2a0
|
Guard audio pipeline file accesses
|
2023-10-05 14:23:48 +11:00 |
|
jacqueline
|
ee8e523456
|
Add a basic database reindex screen
|
2023-10-04 15:38:18 +11:00 |
|
jacqueline
|
28633e857f
|
Implement UI for enqueuing instead of replacing the current track
|
2023-10-04 14:47:30 +11:00 |
|
jacqueline
|
7a7fafdd92
|
Guard leveldb file access with the SPI lock too
Same freeze as was previously ocurring, only this one was a fair bit
rarer.
|
2023-10-04 13:43:43 +11:00 |
|
jacqueline
|
5c04e2ad8d
|
Neaten up the various kinds of inputs, and move volumes to The New Way
|
2023-10-04 10:18:31 +11:00 |
|
jacqueline
|
c851b789fa
|
Write up the new input modes to NVS and settings
|
2023-10-03 15:00:28 +11:00 |
|
jacqueline
|
09f129662e
|
Add scroll velocity + more input methods
|
2023-10-03 14:33:36 +11:00 |
|
jacqueline
|
7d5536e2ab
|
Generalise the lvgl input driver in preparation for more input methods
|
2023-10-03 10:37:29 +11:00 |
|
jacqueline
|
f2bad894cd
|
Show battery voltage in top bar
|
2023-10-03 09:52:30 +11:00 |
|
jacqueline
|
3df4cc9e3d
|
Make accessors in RelativeWheel const
|
2023-10-03 09:36:28 +11:00 |
|
jacqueline
|
95618239e6
|
Fix tasks config flag guarding
|
2023-09-29 15:35:00 +10:00 |
|
jacqueline
|
ba940baa0a
|
Add a lock around the SPI bus
This seems to have been the cause of recurring deadlocks that have been
difficult to repo.
|
2023-09-29 15:17:32 +10:00 |
|
jacqueline
|
c53802f308
|
Add a core dump command
|
2023-09-29 12:34:27 +10:00 |
|
jacqueline
|
c876c00654
|
add a fun and cute little loading state :)
|
2023-09-29 10:40:16 +10:00 |
|
jacqueline
|
6a47edcd35
|
Use databinding for the top bar. It's so nice now!
|
2023-09-28 10:43:48 +10:00 |
|
jacqueline
|
f09ba5ffd5
|
Use bindey for databinding instead of hand rolling ui updates
|
2023-09-28 08:29:55 +10:00 |
|
jacqueline
|
f168bfab76
|
Don't post events from ISRs
|
2023-09-27 14:39:19 +10:00 |
|
jacqueline
|
ce57b236c4
|
Move every alloc over 256 bytes into PSRAM
|
2023-09-26 21:46:05 +10:00 |
|
jacqueline
|
252f685ef1
|
Make NVS access synchronous again
Everything relevant is back in internal ram, and likely to stay there.
|
2023-09-26 21:07:44 +10:00 |
|
jacqueline
|
96252973d9
|
Make task tracing tools conditionally compiled
|
2023-09-26 20:47:07 +10:00 |
|
jacqueline
|
c36bbe4e7d
|
Claw back some more IRAM from unused components
|
2023-09-26 20:36:17 +10:00 |
|
jacqueline
|
abc626c1da
|
Place a2dp stream callback into IRAM
|
2023-09-26 20:36:05 +10:00 |
|
jacqueline
|
8608f9367f
|
Tune buffer sizes and locations for I2S
|
2023-09-26 17:23:34 +10:00 |
|
jacqueline
|
4d99d22e10
|
std::string -> std::pmr::string in psram
|
2023-09-26 13:36:07 +10:00 |
|
jacqueline
|
f6d0642109
|
Prepare for PMR with a memory_resource that understands heap_caps_malloc
|
2023-09-26 11:23:53 +10:00 |
|
jacqueline
|
2849399d54
|
Force large c++ arrays into PSRAM
This is mostly targetted at leveldb_ which is rude and does not support
custom allocators
|
2023-09-26 10:18:33 +10:00 |
|
jacqueline
|
a87790a424
|
Add basic leak detection tooling
|
2023-09-26 10:14:07 +10:00 |
|
jacqueline
|
a2eb0e8961
|
Fix incorrect default theme
|
2023-09-25 22:37:46 +10:00 |
|