summaryrefslogtreecommitdiff
path: root/src/system_fsm
diff options
context:
space:
mode:
Diffstat (limited to 'src/system_fsm')
-rw-r--r--src/system_fsm/include/system_events.hpp4
-rw-r--r--src/system_fsm/system_fsm.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/system_fsm/include/system_events.hpp b/src/system_fsm/include/system_events.hpp
index 1be03f82..f9ab9e11 100644
--- a/src/system_fsm/include/system_events.hpp
+++ b/src/system_fsm/include/system_events.hpp
@@ -12,6 +12,7 @@
#include "bluetooth_types.hpp"
#include "database.hpp"
#include "haptics.hpp"
+#include "samd.hpp"
#include "service_locator.hpp"
#include "tinyfsm.hpp"
@@ -56,6 +57,9 @@ struct SdDetectChanged : tinyfsm::Event {
struct SamdUsbMscChanged : tinyfsm::Event {
bool en;
};
+struct SamdUsbStatusChanged : tinyfsm::Event {
+ drivers::Samd::UsbStatus new_status;
+};
struct BatteryStateChanged : tinyfsm::Event {
battery::Battery::BatteryState new_state;
diff --git a/src/system_fsm/system_fsm.cpp b/src/system_fsm/system_fsm.cpp
index 5a1ccf8c..f502b49a 100644
--- a/src/system_fsm/system_fsm.cpp
+++ b/src/system_fsm/system_fsm.cpp
@@ -88,7 +88,7 @@ void SystemState::react(const internal::SamdInterrupt&) {
sServices->battery().Update();
}
if (usb_status != prev_usb_status) {
- ESP_LOGI(kTag, "usb status changed");
+ events::Ui().Dispatch(SamdUsbStatusChanged{.new_status = usb_status});
}
}