summaryrefslogtreecommitdiff
path: root/src/SystemTask/SystemTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/SystemTask/SystemTask.h')
-rw-r--r--src/SystemTask/SystemTask.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/SystemTask/SystemTask.h b/src/SystemTask/SystemTask.h
index 5eba391b..b6ecf7c9 100644
--- a/src/SystemTask/SystemTask.h
+++ b/src/SystemTask/SystemTask.h
@@ -9,15 +9,18 @@
#include <DisplayApp/DisplayApp.h>
#include <drivers/Watchdog.h>
#include <Components/Ble/NimbleController.h>
+#include <drivers/SpiNorFlash.h>
namespace Pinetime {
namespace System {
class SystemTask {
public:
- enum class Messages {GoToSleep, GoToRunning, OnNewTime, OnNewNotification
+ enum class Messages {GoToSleep, GoToRunning, OnNewTime, OnNewNotification, BleConnected,
+ BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent
};
- SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd, Drivers::Cst816S &touchPanel,
+ SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd,
+ Pinetime::Drivers::SpiNorFlash& spiNorFlash, Drivers::Cst816S &touchPanel,
Components::LittleVgl &lvgl,
Controllers::Battery &batteryController, Controllers::Ble &bleController,
Controllers::DateTime &dateTimeController,
@@ -29,11 +32,15 @@ namespace Pinetime {
void OnButtonPushed();
void OnTouchEvent();
+
+ void OnIdle();
+
private:
TaskHandle_t taskHandle;
Pinetime::Drivers::SpiMaster& spi;
Pinetime::Drivers::St7789& lcd;
+ Pinetime::Drivers::SpiNorFlash& spiNorFlash;
Pinetime::Drivers::Cst816S& touchPanel;
Pinetime::Components::LittleVgl& lvgl;
Pinetime::Controllers::Battery& batteryController;
@@ -58,8 +65,13 @@ namespace Pinetime {
static void Process(void* instance);
void Work();
+ bool isBleDiscoveryTimerRunning = false;
+ uint8_t bleDiscoveryTimer = 0;
+ static constexpr uint32_t idleTime = 5000;
+ TimerHandle_t idleTimer;
+ bool doNotGoToSleep = false;
-
+ void GoToRunning();
};
}
} \ No newline at end of file