summaryrefslogtreecommitdiff
path: root/src/tangara/system_fsm
AgeCommit message (Collapse)Author
2025-08-08Migrate to the new esp-idf I2C driverjacqueline
It's a better, less verbose driver, and also this fixes an occasional crash on boot.
2025-03-05Allow manually unmounting the SD cardayumi
2025-02-13Bump storage unmount timer to 2 minutes to match idle timerRiley Inman
2025-02-11TTS: Implement and wire up a TTS toggle in Display Settings (#251)Tursiae
This change introduces the ability to enable or disable the spoken interface/TTS from the on-device settings, either via the UI or the Lua console. This closes out the implementation of issue #245. The TTS setting is only visible in Display settings if voice samples are present in `/.tangara-tts/` on the SD card. Playback of new TTS voice samples is inhibited when TTS is disabled. By default, the setting is enabled, as the device will only play back TTS voices if samples are present on disk. If you need samples to test TTS on your device, feel free to grab the voice samples I have at https://codeberg.org/tursiae/tangara-tts-samples. There's about 80-85% coverage of the UI, with the remainder to be added soonish. Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/251 Co-authored-by: Tursiae <git@tursiae.org> Co-committed-by: Tursiae <git@tursiae.org>
2025-01-10Isolate the SD card from the SPI bus when talking to the display (#176)jacqueline
This should help significantly with https://codeberg.org/cool-tech-zone/tangara-fw/issues/121, which seems to be caused by some SD cards being very picky about being the only SPI device on their bus. Co-authored-by: ailurux <ailuruxx@gmail.com> Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/176 Co-authored-by: jacqueline <me@jacqueline.id.au> Co-committed-by: jacqueline <me@jacqueline.id.au>
2025-01-09Extend idle -> sleep time to 2 minutesTom Kirchner
2024-12-19Queue repeat modes (#126)ailurux
This replaces the previous system of a separate track and queue repeat, with a RepeatMode type with the following options and behaviours: - OFF: No repeat, queue or track. When the current queue finishes, shuffled or otherwise, playback will stop. - REPEAT_TRACK: The current track will loop indefinitely, unless next is explicitly called through some user action (ie using the next button in the now playing screen) - REPEAT_QUEUE: The entire queue will repeat indefinitely. When shuffled is enabled this will repeat the queue with new combinations each cycle. The repeat mode is persisted in non-volatile storage, so the behaviour will be consistent throughout restarts and queue replacements, and so the "queue repeat by default" use case can be met in this way. In addition, I've made it work a little nicer when the queue runs out in the now playing screen, keeping the previously played track shown and playback can be continued by using the play button or by going to a previous song in the queue. Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/126 Co-authored-by: ailurux <ailuruxx@gmail.com> Co-committed-by: ailurux <ailuruxx@gmail.com>
2024-10-04Explicitly close the playlist files in the queue on storage unmountailurux
2024-09-24Retry SD card mounting a few times when talking to the card failsjacqueline
2024-09-13Mount the SD card asynchronously when it becomes availablejacqueline
Previously we were doing it synchronously, which led to some odd looking livelock stacktraces... we still don't have a consistent repro, but this at least makes the stack when we mount a lot more predictable
2024-08-15Delay DB reindexing slightlyjacqueline
This helps with boot time by preventing a ton of disk I/O before the UI has had a chance to load.
2024-08-12Make FileGatherer shaped more like a normal iteratorjacqueline
2024-08-07Recalibrate the touchwheel after unlockingjacqueline
Also power it down whilst we're locked. This saves about half a milliamp.
2024-07-24Add a settings screen with power+battery infojacqueline
Mostly for debugging, but also u can toggle fast charging off and on now
2024-07-16daniel/playlist-queue (#83)ailurux
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/83 Reviewed-by: cooljqln <cooljqln@noreply.codeberg.org> Co-authored-by: ailurux <ailuruxx@gmail.com> Co-committed-by: ailurux <ailuruxx@gmail.com>
2024-07-11WIP improve bluetooth api and settings screenjacqueline
2024-07-11Break FatfsStreamFactory's dep on ServiceLocatorjacqueline
2024-06-28Fix some issues with the splash screenjacqueline
- 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
2024-06-28show a message if the sd card is unmountedjacqueline
2024-06-27require a key press before entering the dev consolejacqueline
this improves our ability to detect terminals that support line editing
2024-06-04no more acquire_spi :)jacqueline
2024-05-29Start on TTS support by logging the data that will become TTS linesjacqueline
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-14save lra calibration data to nvsjacqueline
2024-05-10stop writing the erm bitjacqueline
2024-05-03Respond to sd card mounts and unmounts within luajacqueline
Includes no longer blocking the main menu on an sd card being inserted!!
2024-05-02move driver includes into a subdir as welljacqueline
2024-05-02start moving include files into subdirsjacqueline
2024-05-02WIP merge cyclically dependent components into one big componentjacqueline