summaryrefslogtreecommitdiff
path: root/src/systemtask/SystemTask.h
diff options
context:
space:
mode:
authorRiku Isokoski <riksu9000@gmail.com>2021-07-14 09:59:56 +0300
committerRiku Isokoski <riksu9000@gmail.com>2021-07-14 09:59:56 +0300
commit95b8a56dd42da067b56e37111577427518d825fb (patch)
tree2a5d20d061f27e510bd7bd4e1af1621ad8a6d4b0 /src/systemtask/SystemTask.h
parent239b5547eae64d05f5d7544f0e11bfb877a75a02 (diff)
parenta07b6382aef3c30d8ea8f28fcc3cc880d7afd747 (diff)
Merge branch 'develop' into fix_touchevent_tap
Diffstat (limited to 'src/systemtask/SystemTask.h')
-rw-r--r--src/systemtask/SystemTask.h67
1 files changed, 33 insertions, 34 deletions
diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h
index ea41a69d..f8cf6370 100644
--- a/src/systemtask/SystemTask.h
+++ b/src/systemtask/SystemTask.h
@@ -6,7 +6,6 @@
#include <task.h>
#include <timers.h>
#include <heartratetask/HeartRateTask.h>
-#include <components/heartrate/HeartRateController.h>
#include <components/settings/Settings.h>
#include <drivers/Bma421.h>
#include <components/motion/MotionController.h>
@@ -17,16 +16,19 @@
#include "components/ble/NotificationManager.h"
#include "components/motor/MotorController.h"
#include "components/timer/TimerController.h"
+#include "components/fs/FS.h"
+
#ifdef PINETIME_IS_RECOVERY
#include "displayapp/DisplayAppRecovery.h"
#include "displayapp/DummyLittleVgl.h"
#else
#include "components/settings/Settings.h"
#include "displayapp/DisplayApp.h"
- #include "displayapp/LittleVgl.h"
+ #include "displayapp/LittleVgl.h"
#endif
#include "drivers/Watchdog.h"
+#include "Messages.h"
namespace Pinetime {
namespace Drivers {
@@ -40,27 +42,6 @@ namespace Pinetime {
namespace System {
class SystemTask {
public:
- enum class Messages {
- GoToSleep,
- GoToRunning,
- TouchWakeUp,
- OnNewTime,
- OnNewNotification,
- OnTimerDone,
- OnNewCall,
- BleConnected,
- UpdateTimeOut,
- BleFirmwareUpdateStarted,
- BleFirmwareUpdateFinished,
- OnTouchEvent,
- OnButtonEvent,
- OnDisplayTaskSleeping,
- EnableSleeping,
- DisableSleeping,
- OnNewDay,
- OnChargingEvent
- };
-
SystemTask(Drivers::SpiMaster& spi,
Drivers::St7789& lcd,
Pinetime::Drivers::SpiNorFlash& spiNorFlash,
@@ -69,10 +50,19 @@ namespace Pinetime {
Components::LittleVgl& lvgl,
Controllers::Battery& batteryController,
Controllers::Ble& bleController,
+ Controllers::DateTime& dateTimeController,
+ Controllers::TimerController& timerController,
+ Drivers::Watchdog& watchdog,
+ Pinetime::Controllers::NotificationManager& notificationManager,
Pinetime::Controllers::MotorController& motorController,
Pinetime::Drivers::Hrs3300& heartRateSensor,
+ Pinetime::Controllers::MotionController& motionController,
Pinetime::Drivers::Bma421& motionSensor,
- Controllers::Settings& settingsController);
+ Controllers::Settings& settingsController,
+ Pinetime::Controllers::HeartRateController& heartRateController,
+ Pinetime::Applications::DisplayApp& displayApp,
+ Pinetime::Applications::HeartRateTask& heartRateApp,
+ Pinetime::Controllers::FS& fs);
void Start();
void PushMessage(Messages msg);
@@ -86,6 +76,10 @@ namespace Pinetime {
return nimbleController;
};
+ bool IsSleeping() const {
+ return isSleeping;
+ }
+
private:
TaskHandle_t taskHandle;
@@ -96,27 +90,30 @@ namespace Pinetime {
Pinetime::Drivers::Cst816S& touchPanel;
Pinetime::Components::LittleVgl& lvgl;
Pinetime::Controllers::Battery& batteryController;
- std::unique_ptr<Pinetime::Applications::DisplayApp> displayApp;
- Pinetime::Controllers::HeartRateController heartRateController;
- std::unique_ptr<Pinetime::Applications::HeartRateTask> heartRateApp;
+
Pinetime::Controllers::Ble& bleController;
- Pinetime::Controllers::DateTime dateTimeController;
- Pinetime::Controllers::TimerController timerController;
+ Pinetime::Controllers::DateTime& dateTimeController;
+ Pinetime::Controllers::TimerController& timerController;
QueueHandle_t systemTasksMsgQueue;
std::atomic<bool> isSleeping {false};
std::atomic<bool> isGoingToSleep {false};
std::atomic<bool> isWakingUp {false};
- Pinetime::Drivers::Watchdog watchdog;
- Pinetime::Drivers::WatchdogView watchdogView;
- Pinetime::Controllers::NotificationManager notificationManager;
+ Pinetime::Drivers::Watchdog& watchdog;
+ Pinetime::Controllers::NotificationManager& notificationManager;
Pinetime::Controllers::MotorController& motorController;
Pinetime::Drivers::Hrs3300& heartRateSensor;
Pinetime::Drivers::Bma421& motionSensor;
Pinetime::Controllers::Settings& settingsController;
- Pinetime::Controllers::NimbleController nimbleController;
+ Pinetime::Controllers::HeartRateController& heartRateController;
+
Controllers::BrightnessController brightnessController;
- Pinetime::Controllers::MotionController motionController;
+ Pinetime::Controllers::MotionController& motionController;
+
+ Pinetime::Applications::DisplayApp& displayApp;
+ Pinetime::Applications::HeartRateTask& heartRateApp;
+ Pinetime::Controllers::FS& fs;
+ Pinetime::Controllers::NimbleController nimbleController;
static constexpr uint8_t pinSpiSck = 2;
static constexpr uint8_t pinSpiMosi = 3;
@@ -138,6 +135,8 @@ namespace Pinetime {
void GoToRunning();
void UpdateMotion();
bool stepCounterMustBeReset = false;
+ static constexpr TickType_t batteryNotificationPeriod = 1000 * 60 * 10; // 1 tick ~= 1ms. 1ms * 60 * 10 = 10 minutes
+ TickType_t batteryNotificationTick = 0;
#if configUSE_TRACE_FACILITY == 1
SystemMonitor<FreeRtosMonitor> monitor;