WiP: Suspend/Resume procedure implementation + testing

This commit is contained in:
Mateusz committed 2019-09-04 13:43:27 +02:00
1 parent 5f43ce209c
commit 22ad981b01
17 files changed
+356 -65

No files matched your search

+9 -2
View File
@@ -57,6 +57,8 @@ namespace sys {
userInit = init;
lowPowerMode = bsp::LowPowerMode::Create().value_or(nullptr);
// Start System manager
StartService();
@@ -87,9 +89,15 @@ namespace sys {
}
}
}
lowPowerMode->Switch(bsp::LowPowerMode::Mode::LowPowerIdle);
}
bool SystemManager::ResumeSystem(Service *caller) {
lowPowerMode->Switch(bsp::LowPowerMode::Mode::FullSpeed);
for(const auto &w : servicesList){
if(w->parent == "" && w->GetName() != caller->GetName()){
@@ -101,8 +109,6 @@ namespace sys {
LOG_FATAL("Service %s failed to exit low-power mode",w->GetName().c_str());
}
}
}
}
@@ -249,5 +255,6 @@ namespace sys {
std::vector<std::shared_ptr<Service>> SystemManager::servicesList;
cpp_freertos::MutexStandard SystemManager::destroyMutex;
std::unique_ptr<bsp::LowPowerMode> SystemManager::lowPowerMode;
}