summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-09-12 14:11:40 +1000
committerjacqueline <me@jacqueline.id.au>2023-09-12 14:18:04 +1000
commit86296c187f799eb94fe504e2491d7d991640fadc (patch)
tree2127a93f309030f2add2d66e3088377c8e2a771a /src/ui
parentb0d745d02dcfd6ab9b1ad14e9060b39bf9ad7bb8 (diff)
downloadtangara-fw-86296c187f799eb94fe504e2491d7d991640fadc.tar.gz
Use interrupt-based spi for the display
This solves our "audio stutters while scrolling" problem better! Turns out the real root cause was the polling SPI driver blocking a whole CPU during playback.
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/include/ui_fsm.hpp4
-rw-r--r--src/ui/ui_fsm.cpp7
2 files changed, 2 insertions, 9 deletions
diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp
index de97354e..b8d2b1a0 100644
--- a/src/ui/include/ui_fsm.hpp
+++ b/src/ui/include/ui_fsm.hpp
@@ -49,8 +49,8 @@ class UiState : public tinyfsm::Fsm<UiState> {
void react(const tinyfsm::Event& ev) {}
virtual void react(const system_fsm::BatteryStateChanged&);
- virtual void react(const audio::PlaybackStarted&);
- virtual void react(const audio::PlaybackFinished&);
+ virtual void react(const audio::PlaybackStarted&){};
+ virtual void react(const audio::PlaybackFinished&){};
virtual void react(const audio::PlaybackUpdate&) {}
virtual void react(const audio::QueueUpdate&) {}
diff --git a/src/ui/ui_fsm.cpp b/src/ui/ui_fsm.cpp
index 70a77c2a..eeaea500 100644
--- a/src/ui/ui_fsm.cpp
+++ b/src/ui/ui_fsm.cpp
@@ -91,13 +91,6 @@ void UiState::react(const system_fsm::BatteryStateChanged&) {
UpdateTopBar();
}
-void UiState::react(const audio::PlaybackStarted&) {
- vTaskPrioritySet(NULL, 0);
-}
-void UiState::react(const audio::PlaybackFinished&) {
- vTaskPrioritySet(NULL, 10);
-}
-
void UiState::UpdateTopBar() {
auto battery_state = sServices->battery().State();
bool has_queue = sServices->track_queue().GetCurrent().has_value();