summaryrefslogtreecommitdiff
path: root/ports/esp8266/modnetwork.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/esp8266/modnetwork.c')
-rw-r--r--ports/esp8266/modnetwork.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ports/esp8266/modnetwork.c b/ports/esp8266/modnetwork.c
index c7f3397c4..16401c939 100644
--- a/ports/esp8266/modnetwork.c
+++ b/ports/esp8266/modnetwork.c
@@ -83,7 +83,15 @@ STATIC mp_obj_t esp_active(size_t n_args, const mp_obj_t *args) {
} else {
mode &= ~mask;
}
+ if (mode != NULL_MODE) {
+ wifi_fpm_do_wakeup();
+ wifi_fpm_close();
+ }
error_check(wifi_set_opmode(mode), "Cannot update i/f status");
+ if (mode == NULL_MODE) {
+ wifi_fpm_open();
+ wifi_fpm_do_sleep(0xfffffff);
+ }
return mp_const_none;
}