esp8266/modnetwork: Wait for iface to go down before forcing power mgmt.

If the STA interface is connected to an AP then it must be fully
disconnected and deactivated before forcing the power management on.
This commit is contained in:
Damien George 2018-12-04 10:20:45 +11:00
parent 7f948a5645
commit 62b4bebf64

View File

@ -89,6 +89,10 @@ STATIC mp_obj_t esp_active(size_t n_args, const mp_obj_t *args) {
} }
error_check(wifi_set_opmode(mode), "Cannot update i/f status"); error_check(wifi_set_opmode(mode), "Cannot update i/f status");
if (mode == NULL_MODE) { if (mode == NULL_MODE) {
// Wait for the interfaces to go down before forcing power management
while (wifi_get_opmode() != NULL_MODE) {
ets_loop_iter();
}
wifi_fpm_open(); wifi_fpm_open();
wifi_fpm_do_sleep(0xfffffff); wifi_fpm_do_sleep(0xfffffff);
} }