Re-implement sleep/wakeup for touch panel, display, NOR Flash, SPI and TWI.
This commit is contained in:
parent
ecbbeb6283
commit
f7e40b1b58
11 changed files with 80 additions and 24 deletions
|
|
@ -145,6 +145,14 @@ void SystemTask::Work() {
|
|||
case Messages::OnButtonEvent:
|
||||
ReloadIdleTimer();
|
||||
break;
|
||||
case Messages::OnDisplayTaskSleeping:
|
||||
spiNorFlash.Sleep();
|
||||
lcd.Sleep();
|
||||
touchPanel.Sleep();
|
||||
|
||||
spi.Sleep();
|
||||
twiMaster.Sleep();
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
|
@ -185,6 +193,13 @@ void SystemTask::OnButtonPushed() {
|
|||
|
||||
void SystemTask::GoToRunning() {
|
||||
PushMessage(Messages::GoToRunning);
|
||||
spi.Wakeup();
|
||||
twiMaster.Wakeup();
|
||||
|
||||
spiNorFlash.Wakeup();
|
||||
lcd.Wakeup();
|
||||
touchPanel.Wakeup();
|
||||
|
||||
displayApp->PushMessage(Applications::DisplayApp::Messages::GoToRunning);
|
||||
displayApp->PushMessage(Applications::DisplayApp::Messages::UpdateBatteryLevel);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ namespace Pinetime {
|
|||
class SystemTask {
|
||||
public:
|
||||
enum class Messages {GoToSleep, GoToRunning, OnNewTime, OnNewNotification, BleConnected,
|
||||
BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent
|
||||
BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent, OnDisplayTaskSleeping
|
||||
};
|
||||
|
||||
SystemTask(Drivers::SpiMaster &spi, Drivers::St7789 &lcd,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue