aboutsummaryrefslogtreecommitdiff
path: root/main/net.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main/net.cpp')
-rw-r--r--main/net.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/main/net.cpp b/main/net.cpp
index eeef7d9..e5bcfe7 100644
--- a/main/net.cpp
+++ b/main/net.cpp
@@ -45,15 +45,23 @@ static void wifi_event_handler(void *arg, esp_event_base_t event_base,
{
static int s_retry_num;
- if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) {
+ if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START)
+ {
esp_wifi_connect();
- } else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) {
+ }
+ else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_CONNECTED)
+ {
+ ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+ }
+ else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED)
+ {
if (s_retry_num < 5) {
esp_wifi_connect();
s_retry_num++;
ESP_LOGI(TAG, "retry to connect to the AP");
} else {
xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT);
+ ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_APSTA));
}
ESP_LOGI(TAG,"connect to the AP fail");
} else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) {
@@ -141,7 +149,7 @@ static bool wifi_init_sta(void)
ESP_RETURN_ON_FALSE(esp_wifi_get_config(WIFI_IF_STA, &wifi_cfg) == ESP_OK, false, TAG_STA, "failed to get wifi sta config");
ESP_LOGI(TAG_STA, "BLA BLA SSID IS: %s", (char*)wifi_cfg.sta.ssid);
-
+ ESP_LOGI(TAG_STA, "BLA BLA BSSID IS: %i " MACSTR, wifi_cfg.sta.bssid_set, MAC2STR(wifi_cfg.sta.bssid));
if (!strlen((const char*)wifi_cfg.sta.ssid))
return false;
@@ -181,7 +189,6 @@ esp_err_t net_connect(void)
ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_FLASH));
-
// Set APSTA ahead of time so we can check data
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_APSTA));
@@ -221,7 +228,6 @@ esp_err_t net_connect(void)
* hence we can test which event actually happened. */
if (bits & WIFI_CONNECTED_BIT) {
ESP_LOGI(TAG, "Connected to station, setting STA mode");
- ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
} else if (bits & WIFI_FAIL_BIT) {
ESP_LOGI(TAG, "Failed to connect to station");
} else {