Add retry and delay to avoid power issues with Wifi plugins

This commit is contained in:
MX 2023-03-16 00:07:37 +03:00
parent 2046ac6604
commit 968d6d578f
No known key found for this signature in database
GPG key ID: 7CCC66B7DBDD1C83
2 changed files with 29 additions and 6 deletions

View file

@ -352,7 +352,12 @@ int32_t esp8266_deauth_app(void* p) {
#else
#if ENABLE_MODULE_POWER
app->m_context = Initializing;
furi_hal_power_enable_otg();
uint8_t attempts = 0;
while(!furi_hal_power_is_otg_enabled() && attempts++ < 5) {
furi_hal_power_enable_otg();
furi_delay_ms(10);
}
furi_delay_ms(200);
#else
app->m_context = ModuleActive;
#endif
@ -409,7 +414,11 @@ int32_t esp8266_deauth_app(void* p) {
app->m_wifiDeauthModuleAttached = true;
#if ENABLE_MODULE_POWER
app->m_context = Initializing;
furi_hal_power_enable_otg();
uint8_t attempts2 = 0;
while(!furi_hal_power_is_otg_enabled() && attempts2++ < 3) {
furi_hal_power_enable_otg();
furi_delay_ms(10);
}
#else
app->m_context = ModuleActive;
#endif
@ -533,7 +542,9 @@ int32_t esp8266_deauth_app(void* p) {
DEAUTH_APP_LOG_I("App freed");
#if ENABLE_MODULE_POWER
furi_hal_power_disable_otg();
if(furi_hal_power_is_otg_enabled()) {
furi_hal_power_disable_otg();
}
#endif
return 0;

View file

@ -663,7 +663,12 @@ int32_t wifi_scanner_app(void* p) {
#else
app->m_context = Initializing;
#if ENABLE_MODULE_POWER
furi_hal_power_enable_otg();
uint8_t attempts = 0;
while(!furi_hal_power_is_otg_enabled() && attempts++ < 5) {
furi_hal_power_enable_otg();
furi_delay_ms(10);
}
furi_delay_ms(200);
#endif // ENABLE_MODULE_POWER
#endif // ENABLE_MODULE_DETECTION
@ -722,7 +727,12 @@ int32_t wifi_scanner_app(void* p) {
app->m_wifiModuleAttached = true;
app->m_context = Initializing;
#if ENABLE_MODULE_POWER
furi_hal_power_enable_otg();
uint8_t attempts2 = 0;
while(!furi_hal_power_is_otg_enabled() && attempts2++ < 3) {
furi_hal_power_enable_otg();
furi_delay_ms(10);
}
#endif
}
}
@ -851,7 +861,9 @@ int32_t wifi_scanner_app(void* p) {
WIFI_APP_LOG_I("App freed");
#if ENABLE_MODULE_POWER
furi_hal_power_disable_otg();
if(furi_hal_power_is_otg_enabled()) {
furi_hal_power_disable_otg();
}
#endif
return 0;