|
|
@ -40,7 +40,6 @@ SystemTask::SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd,
|
|
|
|
Drivers::TwiMaster& twiMaster, Drivers::Cst816S &touchPanel,
|
|
|
|
Drivers::TwiMaster& twiMaster, Drivers::Cst816S &touchPanel,
|
|
|
|
Components::LittleVgl &lvgl,
|
|
|
|
Components::LittleVgl &lvgl,
|
|
|
|
Controllers::Battery &batteryController, Controllers::Ble &bleController,
|
|
|
|
Controllers::Battery &batteryController, Controllers::Ble &bleController,
|
|
|
|
Controllers::DateTime &dateTimeController,
|
|
|
|
|
|
|
|
Pinetime::Controllers::MotorController& motorController,
|
|
|
|
Pinetime::Controllers::MotorController& motorController,
|
|
|
|
Pinetime::Drivers::Hrs3300& heartRateSensor,
|
|
|
|
Pinetime::Drivers::Hrs3300& heartRateSensor,
|
|
|
|
Pinetime::Drivers::Bma421& motionSensor,
|
|
|
|
Pinetime::Drivers::Bma421& motionSensor,
|
|
|
@ -48,7 +47,7 @@ SystemTask::SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd,
|
|
|
|
spi{spi}, lcd{lcd}, spiNorFlash{spiNorFlash},
|
|
|
|
spi{spi}, lcd{lcd}, spiNorFlash{spiNorFlash},
|
|
|
|
twiMaster{twiMaster}, touchPanel{touchPanel}, lvgl{lvgl}, batteryController{batteryController},
|
|
|
|
twiMaster{twiMaster}, touchPanel{touchPanel}, lvgl{lvgl}, batteryController{batteryController},
|
|
|
|
heartRateController{*this},
|
|
|
|
heartRateController{*this},
|
|
|
|
bleController{bleController}, dateTimeController{dateTimeController},
|
|
|
|
bleController{bleController}, dateTimeController{*this},
|
|
|
|
watchdog{}, watchdogView{watchdog},
|
|
|
|
watchdog{}, watchdogView{watchdog},
|
|
|
|
motorController{motorController}, heartRateSensor{heartRateSensor}, motionSensor{motionSensor},
|
|
|
|
motorController{motorController}, heartRateSensor{heartRateSensor}, motionSensor{motionSensor},
|
|
|
|
settingsController{settingsController},
|
|
|
|
settingsController{settingsController},
|
|
|
@ -210,6 +209,11 @@ void SystemTask::Work() {
|
|
|
|
isSleeping = true;
|
|
|
|
isSleeping = true;
|
|
|
|
isGoingToSleep = false;
|
|
|
|
isGoingToSleep = false;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case Messages::OnNewDay:
|
|
|
|
|
|
|
|
// We might be sleeping (with TWI device disabled.
|
|
|
|
|
|
|
|
// Remember we'll have to reset the counter next time we're awake
|
|
|
|
|
|
|
|
stepCounterMustBeReset = true;
|
|
|
|
|
|
|
|
break;
|
|
|
|
default: break;
|
|
|
|
default: break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -239,6 +243,12 @@ void SystemTask::UpdateMotion() {
|
|
|
|
|
|
|
|
|
|
|
|
if(isSleeping)
|
|
|
|
if(isSleeping)
|
|
|
|
twiMaster.Wakeup();
|
|
|
|
twiMaster.Wakeup();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(stepCounterMustBeReset) {
|
|
|
|
|
|
|
|
motionSensor.ResetStepCounter();
|
|
|
|
|
|
|
|
stepCounterMustBeReset = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
auto motionValues = motionSensor.Process();
|
|
|
|
auto motionValues = motionSensor.Process();
|
|
|
|
if(isSleeping)
|
|
|
|
if(isSleeping)
|
|
|
|
twiMaster.Sleep();
|
|
|
|
twiMaster.Sleep();
|
|
|
|