MCPcopy Create free account
hub / github.com/crosspoint-reader/crosspoint-reader / Lock

Method Lock

lib/hal/HalPowerManager.cpp:135–150  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133}
134
135HalPowerManager::Lock::Lock() {
136 xSemaphoreTake(powerManager.modeMutex, portMAX_DELAY);
137 // Current limitation: only one lock at a time
138 if (powerManager.currentLockMode != None) {
139 LOG_ERR("PWR", "Lock already held, ignore");
140 valid = false;
141 } else {
142 powerManager.currentLockMode = NormalSpeed;
143 valid = true;
144 }
145 xSemaphoreGive(powerManager.modeMutex);
146 if (valid) {
147 // Immediately restore normal CPU frequency if currently in low-power mode
148 powerManager.setPowerSaving(false);
149 }
150}
151
152HalPowerManager::Lock::~Lock() {
153 xSemaphoreTake(powerManager.modeMutex, portMAX_DELAY);

Callers 1

Calls 1

setPowerSavingMethod · 0.80

Tested by

no test coverage detected