|
|
@ -60,7 +60,8 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
|
|
|
|
Pinetime::Controllers::HeartRateController& heartRateController,
|
|
|
|
Pinetime::Controllers::HeartRateController& heartRateController,
|
|
|
|
Pinetime::Applications::DisplayApp& displayApp,
|
|
|
|
Pinetime::Applications::DisplayApp& displayApp,
|
|
|
|
Pinetime::Applications::HeartRateTask& heartRateApp,
|
|
|
|
Pinetime::Applications::HeartRateTask& heartRateApp,
|
|
|
|
Pinetime::Controllers::FS& fs)
|
|
|
|
Pinetime::Controllers::FS& fs,
|
|
|
|
|
|
|
|
Pinetime::Controllers::TouchHandler& touchHandler)
|
|
|
|
: spi {spi},
|
|
|
|
: spi {spi},
|
|
|
|
lcd {lcd},
|
|
|
|
lcd {lcd},
|
|
|
|
spiNorFlash {spiNorFlash},
|
|
|
|
spiNorFlash {spiNorFlash},
|
|
|
@ -82,8 +83,8 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi,
|
|
|
|
displayApp {displayApp},
|
|
|
|
displayApp {displayApp},
|
|
|
|
heartRateApp(heartRateApp),
|
|
|
|
heartRateApp(heartRateApp),
|
|
|
|
fs {fs},
|
|
|
|
fs {fs},
|
|
|
|
|
|
|
|
touchHandler {touchHandler},
|
|
|
|
nimbleController(*this, bleController, dateTimeController, notificationManager, batteryController, spiNorFlash, heartRateController) {
|
|
|
|
nimbleController(*this, bleController, dateTimeController, notificationManager, batteryController, spiNorFlash, heartRateController) {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void SystemTask::Start() {
|
|
|
|
void SystemTask::Start() {
|
|
|
@ -228,14 +229,14 @@ void SystemTask::Work() {
|
|
|
|
isWakingUp = false;
|
|
|
|
isWakingUp = false;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case Messages::TouchWakeUp: {
|
|
|
|
case Messages::TouchWakeUp: {
|
|
|
|
twiMaster.Wakeup();
|
|
|
|
auto gesture = touchHandler.GestureGet();
|
|
|
|
auto touchInfo = touchPanel.GetTouchInfo();
|
|
|
|
if ((gesture == Pinetime::Drivers::Cst816S::Gestures::DoubleTap &&
|
|
|
|
twiMaster.Sleep();
|
|
|
|
settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) ||
|
|
|
|
if (touchInfo.isValid and ((touchInfo.gesture == Pinetime::Drivers::Cst816S::Gestures::DoubleTap and
|
|
|
|
(gesture == Pinetime::Drivers::Cst816S::Gestures::SingleTap &&
|
|
|
|
settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::DoubleTap)) or
|
|
|
|
settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::SingleTap))) {
|
|
|
|
(touchInfo.gesture == Pinetime::Drivers::Cst816S::Gestures::SingleTap and
|
|
|
|
|
|
|
|
settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::SingleTap)))) {
|
|
|
|
|
|
|
|
GoToRunning();
|
|
|
|
GoToRunning();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
twiMaster.Sleep();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} break;
|
|
|
|
} break;
|
|
|
|
case Messages::GoToSleep:
|
|
|
|
case Messages::GoToSleep:
|
|
|
@ -417,7 +418,6 @@ void SystemTask::PushMessage(System::Messages msg) {
|
|
|
|
if (xHigherPriorityTaskWoken) {
|
|
|
|
if (xHigherPriorityTaskWoken) {
|
|
|
|
/* Actual macro used here is port specific. */
|
|
|
|
/* Actual macro used here is port specific. */
|
|
|
|
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
|
|
|
|
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
xQueueSend(systemTasksMsgQueue, &msg, portMAX_DELAY);
|
|
|
|
xQueueSend(systemTasksMsgQueue, &msg, portMAX_DELAY);
|
|
|
|