@@ -222,9 +222,7 @@ static esp_err_t esp32_wifi_set_mode(wifi_mode_t mode) {
222
222
}
223
223
224
224
if (mode == WIFI_MODE_NULL ) {
225
- if (s_started ) {
226
- esp_wifi_set_mode (WIFI_MODE_NULL );
227
- }
225
+ esp_wifi_set_mode (mode );
228
226
r = esp_wifi_stop ();
229
227
if (r == ESP_ERR_WIFI_NOT_INIT ) r = ESP_OK ; /* Nothing to stop. */
230
228
if (r == ESP_OK ) {
@@ -547,10 +545,13 @@ bool mgos_wifi_dev_ap_setup(const struct mgos_config_wifi_ap *cfg) {
547
545
548
546
bool mgos_wifi_dev_sta_connect (void ) {
549
547
if ((esp32_wifi_ensure_init () != ESP_OK ) ||
550
- (esp32_wifi_ensure_start () != ESP_OK ))
548
+ (esp32_wifi_ensure_start () != ESP_OK )) {
551
549
return false;
550
+ }
552
551
wifi_mode_t cur_mode = esp32_wifi_get_mode ();
553
- if (cur_mode == WIFI_MODE_NULL || cur_mode == WIFI_MODE_AP ) return false;
552
+ if (cur_mode == WIFI_MODE_NULL || cur_mode == WIFI_MODE_AP ) {
553
+ return false;
554
+ }
554
555
esp_err_t r = esp_wifi_connect ();
555
556
if (r != ESP_OK ) {
556
557
LOG (LL_ERROR , ("WiFi STA: Connect failed: %d" , r ));
@@ -563,11 +564,14 @@ bool mgos_wifi_dev_sta_connect(void) {
563
564
564
565
bool mgos_wifi_dev_sta_disconnect (void ) {
565
566
wifi_mode_t cur_mode = esp32_wifi_get_mode ();
566
- if (cur_mode == WIFI_MODE_NULL || cur_mode == WIFI_MODE_AP ) return false;
567
+ if (cur_mode == WIFI_MODE_NULL || cur_mode == WIFI_MODE_AP ) {
568
+ return false;
569
+ }
567
570
esp_wifi_disconnect ();
568
571
s_connecting = false;
569
572
/* If we are in station-only mode, stop WiFi task as well. */
570
573
if (cur_mode == WIFI_MODE_STA ) {
574
+ esp_wifi_set_mode (WIFI_MODE_NULL );
571
575
esp_err_t r = esp_wifi_stop ();
572
576
if (r == ESP_ERR_WIFI_NOT_INIT ) r = ESP_OK ; /* Nothing to stop. */
573
577
if (r == ESP_OK ) {
0 commit comments