@@ -362,6 +362,12 @@ modwlan_Status_t wlan_sl_enable (SlWlanMode_t mode, const char *ssid, uint8_t ss
362362 const char * key , uint8_t key_len , uint8_t channel ) {
363363
364364 if (mode == ROLE_STA || mode == ROLE_AP || mode == ROLE_P2P ) {
365+ #if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP )
366+ // Stop all other processes using the wlan engine
367+ if ((wlan_obj .servers_enabled = servers_are_enabled ())) {
368+ wlan_stop_servers ();
369+ }
370+ #endif
365371 if (wlan_obj .mode < 0 ) {
366372 wlan_obj .mode = sl_Start (0 , 0 , 0 );
367373 sl_LockObjUnlock (& wlan_LockObj );
@@ -486,6 +492,12 @@ modwlan_Status_t wlan_sl_enable (SlWlanMode_t mode, const char *ssid, uint8_t ss
486492 wlan_reenable (mode );
487493 }
488494 }
495+ #if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP )
496+ // Start the servers again
497+ if (wlan_obj .servers_enabled ) {
498+ servers_enable ();
499+ }
500+ #endif
489501 return MODWLAN_OK ;
490502 }
491503 return MODWLAN_ERROR_INVALID_PARAMS ;
@@ -674,13 +686,6 @@ STATIC mp_obj_t wlan_make_new (mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_k
674686 if (n_args > 0 ) {
675687 // Get the mode
676688 SlWlanMode_t mode = mp_obj_get_int (args [0 ]);
677-
678- #if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP )
679- // Stop all other processes using the wlan engine
680- if ((wlan_obj .servers_enabled = servers_are_enabled ())) {
681- wlan_stop_servers ();
682- }
683- #endif
684689 if (mode == ROLE_AP ) {
685690 // start the peripheral
686691 mp_map_t kw_args ;
@@ -696,12 +701,6 @@ STATIC mp_obj_t wlan_make_new (mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n_k
696701 else {
697702 nlr_raise (mp_obj_new_exception_msg (& mp_type_TypeError , mpexception_num_type_invalid_arguments ));
698703 }
699- #if (MICROPY_PORT_HAS_TELNET || MICROPY_PORT_HAS_FTP )
700- // Start the servers again
701- if (wlan_obj .servers_enabled ) {
702- servers_enable ();
703- }
704- #endif
705704 } else if (wlan_obj .mode < 0 ) {
706705 nlr_raise (mp_obj_new_exception_msg (& mp_type_TypeError , mpexception_num_type_invalid_arguments ));
707706 }
0 commit comments