From 680522c9305796e92811280933bf3214cfe3de5d Mon Sep 17 00:00:00 2001 From: dvdrw Date: Sat, 16 May 2026 11:58:35 +0200 Subject: [PATCH] perf: keep IP after provisioning --- main/main.c | 10 +++++++++- sdkconfig | 11 +++++++++-- sdkconfig.defaults | 4 ++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/main/main.c b/main/main.c index 2771fa6..183446b 100644 --- a/main/main.c +++ b/main/main.c @@ -82,7 +82,15 @@ static void wifi_init_sta(void) { esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, wifi_event_handler, NULL); esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, wifi_event_handler, NULL); - ESP_ERROR_CHECK(esp_wifi_connect()); + + esp_netif_t *netif = esp_netif_get_handle_from_ifkey("WIFI_STA_DEF"); + esp_netif_ip_info_t ip_info = {0}; + if (netif && esp_netif_get_ip_info(netif, &ip_info) == ESP_OK && ip_info.ip.addr != 0) { + ESP_LOGI(TAG, "WiFi already connected (IP: " IPSTR ")", IP2STR(&ip_info.ip)); + xEventGroupSetBits(s_evt, WIFI_CONNECTED_BIT); + } else { + ESP_ERROR_CHECK(esp_wifi_connect()); + } } static bool resolve_mqtt_broker_mdns(char *host_out, size_t host_len, uint16_t *port_out) diff --git a/sdkconfig b/sdkconfig index adb6ca3..a4a151e 100644 --- a/sdkconfig +++ b/sdkconfig @@ -3295,6 +3295,15 @@ CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 CONFIG_VFS_INITIALIZE_DEV_NULL=y # end of Virtual file system +# +# Sensor Configuration +# +# default: +CONFIG_SENSOR_RESET_GPIO=0 +# default: +CONFIG_SENSOR_RESET_HOLD_MS=5000 +# end of Sensor Configuration + # # cJSON # @@ -3408,9 +3417,7 @@ CONFIG_NETWORK_PROV_AUTOSTOP_TIMEOUT=30 # CONFIG_NETWORK_PROV_BLE_NOTIFY is not set # default: # CONFIG_NETWORK_PROV_KEEP_BLE_ON_AFTER_PROV is not set -# default: CONFIG_NETWORK_PROV_WIFI_STA_ALL_CHANNEL_SCAN=y -# default: # CONFIG_NETWORK_PROV_WIFI_STA_FAST_SCAN is not set # end of Network Provisioning Manager # end of Component config diff --git a/sdkconfig.defaults b/sdkconfig.defaults index af1377e..1f67bda 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -20,3 +20,7 @@ CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" # Enable OTA CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y + +# Factory reset button (GPIO 0 = BOOT button on ESP32 DevKit) +CONFIG_ANCHOR_RESET_GPIO=0 +CONFIG_ANCHOR_RESET_HOLD_MS=5000