Skip to content

Commit 285be9e

Browse files
committed
[system] sleep: avoid trying to turn off multiple times before going into sleep
1 parent 5022a34 commit 285be9e

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

system/src/system_sleep.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,6 @@ int system_sleep_ext(const hal_sleep_config_t* config, hal_wakeup_source_base_t*
196196

197197
#if HAL_PLATFORM_WIFI
198198
if (wifiResume) {
199-
SPARK_WLAN_SLEEP = 0;
200199
system_sleep_network_resume(NETWORK_INTERFACE_WIFI_STA);
201200
}
202201
#endif // HAL_PLATFORM_WIFI

system/src/system_sleep_compat.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,11 @@ int system_sleep_impl(Spark_Sleep_TypeDef sleepMode, long seconds, uint32_t para
171171
RESET_REASON_NONE, seconds);
172172
}
173173

174+
bool networkTurnedOff = false;
175+
174176
if (network_sleep_flag(param) || SLEEP_MODE_WLAN == sleepMode) {
175177
network_suspend();
178+
networkTurnedOff = true;
176179
}
177180

178181
switch (sleepMode)
@@ -193,17 +196,14 @@ int system_sleep_impl(Spark_Sleep_TypeDef sleepMode, long seconds, uint32_t para
193196
break;
194197

195198
case SLEEP_MODE_DEEP:
196-
if (network_sleep_flag(param))
197-
{
198-
network_disconnect(0, NETWORK_DISCONNECT_REASON_SLEEP, NULL);
199-
network_off(0, 0, 0, NULL);
200-
}
201199
return system_sleep_enter_standby_compat(seconds, param);
202200

203201
#if HAL_PLATFORM_SETUP_BUTTON_UX
204202
case SLEEP_MODE_SOFTPOWEROFF:
205-
network_disconnect(0, NETWORK_DISCONNECT_REASON_SLEEP, NULL);
206-
network_off(0, 0, 0, NULL);
203+
if (!networkTurnedOff) {
204+
network_disconnect(0, NETWORK_DISCONNECT_REASON_SLEEP, NULL);
205+
network_off(0, 0, 0, NULL);
206+
}
207207
return system_sleep_enter_standby_compat(seconds, param);
208208
#endif
209209
}

0 commit comments

Comments
 (0)