# HG changeset patch # User Michiel Broek # Date 1574707310 -3600 # Node ID baa34eaca140b965dee559fa1a635d0c12fcc45d # Parent f066fdeb9650df3634aa75dfa58670c6ac35cd8c# Parent ff7f7b47d699cad9c2100521d14931475dc9d23c Merged with default diff -r f066fdeb9650 -r baa34eaca140 Makefile --- a/Makefile Fri Jul 05 16:17:04 2019 +0200 +++ b/Makefile Mon Nov 25 19:41:50 2019 +0100 @@ -3,7 +3,7 @@ # project subdirectory. # -PROJECT_VER := "0.3.5" +PROJECT_VER := "0.3.7" PROJECT_NAME := brewboard include $(IDF_PATH)/make/project.mk diff -r f066fdeb9650 -r baa34eaca140 image/version.txt --- a/image/version.txt Fri Jul 05 16:17:04 2019 +0200 +++ b/image/version.txt Mon Nov 25 19:41:50 2019 +0100 @@ -1,1 +1,1 @@ -0.3.5 +0.3.6 diff -r f066fdeb9650 -r baa34eaca140 main/config.h --- a/main/config.h Fri Jul 05 16:17:04 2019 +0200 +++ b/main/config.h Mon Nov 25 19:41:50 2019 +0100 @@ -27,7 +27,7 @@ #include "driver/i2c.h" #include "esp_log.h" #include "esp_spiffs.h" -#include "esp_event_loop.h" +#include "esp_event.h" #include "esp_wifi.h" #include "esp_wifi_types.h" #include "esp_system.h" diff -r f066fdeb9650 -r baa34eaca140 main/recipes.c --- a/main/recipes.c Fri Jul 05 16:17:04 2019 +0200 +++ b/main/recipes.c Mon Nov 25 19:41:50 2019 +0100 @@ -776,7 +776,7 @@ recipe.Addition[i].Type = ADDITION_HOP; } - EditFloat((char *)"Koel temperatuur", &recipe.CoolTemp, 10, 30, 2); + EditFloat((char *)"Koel temperatuur", &recipe.CoolTemp, 10, 45, 2); recipe.CoolTemp = ((int)(recipe.CoolTemp * 4)) / 4.0; EditFloat((char *)"Spoelwater temperatuur", &recipe.SpargeTemp, 75, 98, 2); recipe.SpargeTemp = ((int)(recipe.SpargeTemp * 4)) / 4.0; diff -r f066fdeb9650 -r baa34eaca140 main/task_tft.c --- a/main/task_tft.c Fri Jul 05 16:17:04 2019 +0200 +++ b/main/task_tft.c Mon Nov 25 19:41:50 2019 +0100 @@ -492,7 +492,7 @@ { char msg[96]; - ESP_LOGI(TAG, "Initialize TFT/Touch task"); + ESP_LOGI(TAG, "Starting TFT/Touch"); /* * Task loop. Read touchscreen events. diff -r f066fdeb9650 -r baa34eaca140 main/task_wifi.c --- a/main/task_wifi.c Fri Jul 05 16:17:04 2019 +0200 +++ b/main/task_wifi.c Mon Nov 25 19:41:50 2019 +0100 @@ -144,51 +144,54 @@ -esp_err_t task_wifi_EventHandler(void *ctx, system_event_t *event) +static void wifi_event_handler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) { - switch(event->event_id) { - case SYSTEM_EVENT_SCAN_DONE: + switch(event_id) { + case WIFI_EVENT_SCAN_DONE: // Get the results so the memory used is freed. ESP_ERROR_CHECK(esp_wifi_scan_get_ap_records(&ap_num, accessp_records)); _wifi_Scanned = ap_num; _wifi_ScanDone = true; break; - case SYSTEM_EVENT_STA_START: + case WIFI_EVENT_STA_START: // Set the configured hostname for the dhcp client. ESP_ERROR_CHECK(tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, config.hostname)); esp_wifi_connect(); break; - // SYSTEM_EVENT_STA_STOP 3 - case SYSTEM_EVENT_STA_CONNECTED: { - const system_event_sta_connected_t *connected = &event->event_info.connected; - ESP_LOGI(TAG, "Event STA connected, ssid:%s, ssid_len:%d, bssid:" MACSTR ", channel:%d, authmode:%s", - connected->ssid, connected->ssid_len, MAC2STR(connected->bssid), connected->channel, apsec[connected->authmode]); + case WIFI_EVENT_STA_CONNECTED: { + system_event_sta_connected_t* event = (wifi_event_sta_connected_t*) event_data; wifi_ap_record_t ap_info; - esp_wifi_sta_get_ap_info(&ap_info); + esp_wifi_sta_get_ap_info(&ap_info); + ESP_LOGI(TAG, "Event STA connected, ssid:%s, bssid:" MACSTR ", channel:%d, rssi: %d, authmode:%s", + ap_info.ssid, MAC2STR(ap_info.bssid), event->channel, ap_info.rssi, apsec[event->authmode]); if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { wifi_state->STA_connected = true; wifi_state->STA_rssi = ap_info.rssi; sprintf(wifi_state->STA_ssid, "%s", ap_info.ssid); xSemaphoreGive(xSemaphoreWiFi); - } + } else { + ESP_LOGE(TAG, "wifi_event_handler() lock error WIFI_EVENT_STA_CONNECTED"); + } xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_STA_CONNECTED); xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_STA_DISCONNECTED); break; } - case SYSTEM_EVENT_STA_DISCONNECTED: { - const system_event_sta_disconnected_t *disconnected = &event->event_info.disconnected; + case WIFI_EVENT_STA_DISCONNECTED: { + wifi_event_sta_disconnected_t* disconnected = (wifi_event_sta_disconnected_t*) event_data; wifi_ap_record_t ap; ESP_LOGW(TAG, "Event STA disconnected, ssid:%s, ssid_len:%d, bssid:" MACSTR ", reason:%d", disconnected->ssid, disconnected->ssid_len, MAC2STR(disconnected->bssid), disconnected->reason); - if (xSemaphoreTake(xSemaphoreWiFi, 10) == pdTRUE) { + if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { wifi_state->STA_connected = false; wifi_state->STA_online = false; wifi_state->STA_rssi = 0; xSemaphoreGive(xSemaphoreWiFi); - } + } else { + ESP_LOGE(TAG, "wifi_event_handler() lock error WIFI_EVENT_STA_DISCONNECTED"); + } xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_STA_CONNECTED); xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_STA_DISCONNECTED); sntp_stop(); @@ -233,116 +236,126 @@ } break; } - // SYSTEM_EVENT_STA_AUTHMODE_CHANGE 6 - case SYSTEM_EVENT_STA_GOT_IP: - xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_HAS_IP); - tcpip_adapter_ip_info_t ip; - memset(&ip, 0, sizeof(tcpip_adapter_ip_info_t)); - if (tcpip_adapter_get_ip_info(ESP_IF_WIFI_STA, &ip) == 0) { - if (xSemaphoreTake(xSemaphoreWiFi, 10) == pdTRUE) { - wifi_state->STA_online = true; - snprintf(wifi_state->STA_ip, 16, IPSTR, IP2STR(&ip.ip)); - snprintf(wifi_state->STA_nm, 16, IPSTR, IP2STR(&ip.netmask)); - snprintf(wifi_state->STA_gw, 16, IPSTR, IP2STR(&ip.gw)); - xSemaphoreGive(xSemaphoreWiFi); - } - } - /* - * There doesn't seem to be support for configuring NTP via DHCP so - * we need to hardcode the ntp servers. The preffered server can be - * set via the setup screen. It should be on your LAN, else leave it - * empty. And if you are on a different lan someday, there is no extra - * delay because the hostname will not be found. - */ - sntp_stop(); - if (strlen(config.ntp_server)) - sntp_setservername(0, config.ntp_server); - sntp_setservername(1, (char *)"pool.ntp.org"); // Will get you servers nearby - sntp_set_sync_mode(SNTP_SYNC_MODE_IMMED); - sntp_set_time_sync_notification_cb(time_sync_notification_cb); - sntp_init(); -#if 0 - if (strlen(config.ntp_server)) - ESP_LOGI(TAG, "NTP server %s", sntp_getservername(0)); - ESP_LOGI(TAG, "NTP server %s", sntp_getservername(1)); -#endif - break; - - case SYSTEM_EVENT_STA_LOST_IP: - ESP_LOGW(TAG, "Lost IP address"); - xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_HAS_IP); - if (xSemaphoreTake(xSemaphoreWiFi, 10) == pdTRUE) { - wifi_state->STA_ip[0] = '\0'; - wifi_state->STA_nm[0] = '\0'; - wifi_state->STA_gw[0] = '\0'; - wifi_state->STA_online = false; - xSemaphoreGive(xSemaphoreWiFi); - } - sntp_stop(); - break; - - // SYSTEM_EVENT_STA_WPS_ER_SUCCESS 9 - // SYSTEM_EVENT_STA_WPS_ER_FAILED 10 - // SYSTEM_EVENT_STA_WPS_ER_TIMEOUT 11 - // SYSTEM_EVENT_STA_WPS_ER_PIN 12 - - case SYSTEM_EVENT_AP_START: + case WIFI_EVENT_AP_START: xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_AP_STARTED); if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { wifi_state->AP_active = true; wifi_state->AP_clients = 0; xSemaphoreGive(xSemaphoreWiFi); - } + } else { + ESP_LOGE(TAG, "wifi_event_handler() lock error WIFI_EVENT_AP_START"); + } break; - case SYSTEM_EVENT_AP_STOP: + case WIFI_EVENT_AP_STOP: xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_AP_STARTED); if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { wifi_state->AP_active = false; wifi_state->AP_clients = 0; xSemaphoreGive(xSemaphoreWiFi); - } + } else { + ESP_LOGE(TAG, "wifi_event_handler() lock error WIFI_EVENT_AP_STOP"); + } break; - case SYSTEM_EVENT_AP_STACONNECTED: { + case WIFI_EVENT_AP_STACONNECTED: { if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { wifi_state->AP_clients++; xSemaphoreGive(xSemaphoreWiFi); - } - const system_event_ap_staconnected_t *staconnected = &event->event_info.sta_connected; + } else { + ESP_LOGE(TAG, "wifi_event_handler() lock error WIFI_EVENT_AP_STACONNECTED"); + } + wifi_event_ap_staconnected_t* staconnected = (wifi_event_ap_staconnected_t*) event_data; +// const system_event_ap_staconnected_t *staconnected = &event->event_info.sta_connected; ESP_LOGI(TAG, "Event AP connected, mac:" MACSTR ", aid:%d, conns:%d", MAC2STR(staconnected->mac), staconnected->aid, wifi_state->AP_clients); break; } - case SYSTEM_EVENT_AP_STADISCONNECTED: { + case WIFI_EVENT_AP_STADISCONNECTED: { if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { if (wifi_state->AP_clients > 0) wifi_state->AP_clients--; else wifi_state->AP_clients = 0; xSemaphoreGive(xSemaphoreWiFi); - } - const system_event_ap_stadisconnected_t *stadisconnected = &event->event_info.sta_disconnected; + } else { + ESP_LOGE(TAG, "wifi_event_handler() lock error WIFI_EVENT_AP_STADISCONNECTED"); + } + wifi_event_ap_stadisconnected_t* stadisconnected = (wifi_event_ap_stadisconnected_t*) event_data; +// const system_event_ap_stadisconnected_t *stadisconnected = &event->event_info.sta_disconnected; ESP_LOGI(TAG, "Event AP disconnected, mac:" MACSTR ", aid:%d, conns:%d", MAC2STR(stadisconnected->mac), stadisconnected->aid, wifi_state->AP_clients); break; } - case SYSTEM_EVENT_AP_STAIPASSIGNED: + default: + ESP_LOGW(TAG, "Unknown WiFi event %d", event_id); + break; + } +} + + + +static void got_ip_event_handler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data) +{ + switch (event_id) { + + case IP_EVENT_STA_GOT_IP: + xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_HAS_IP); + ip_event_got_ip_t* event = (ip_event_got_ip_t*) event_data; + if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { + wifi_state->STA_online = true; + snprintf(wifi_state->STA_ip, 16, "%s", ip4addr_ntoa(&event->ip_info.ip)); + snprintf(wifi_state->STA_nm, 16, "%s", ip4addr_ntoa(&event->ip_info.netmask)); + snprintf(wifi_state->STA_gw, 16, "%s", ip4addr_ntoa(&event->ip_info.gw)); + xSemaphoreGive(xSemaphoreWiFi); + } else { + ESP_LOGE(TAG, "got_ip_event_handler() lock error IP_EVENT_STA_GOT_IP"); + } + + /* + * There doesn't seem to be support for configuring NTP via DHCP so + * we need to hardcode the ntp servers. The preffered server can be + * set via the setup screen. It should be on your LAN, else leave it + * empty. And if you are on a different lan someday, there is no extra + * delay because the hostname will not be found. + */ + sntp_stop(); + if (strlen(config.ntp_server)) + sntp_setservername(0, config.ntp_server); + sntp_setservername(1, (char *)"pool.ntp.org"); // Will get you servers nearby + sntp_set_sync_mode(SNTP_SYNC_MODE_IMMED); + sntp_set_time_sync_notification_cb(time_sync_notification_cb); + sntp_init(); +#if 0 + if (strlen(config.ntp_server)) + ESP_LOGI(TAG, "NTP server %s", sntp_getservername(0)); + ESP_LOGI(TAG, "NTP server %s", sntp_getservername(1)); +#endif + break; + + case IP_EVENT_STA_LOST_IP: + ESP_LOGW(TAG, "Lost IP address"); + xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_HAS_IP); + if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) { + wifi_state->STA_ip[0] = '\0'; + wifi_state->STA_nm[0] = '\0'; + wifi_state->STA_gw[0] = '\0'; + wifi_state->STA_online = false; + xSemaphoreGive(xSemaphoreWiFi); + } else { + ESP_LOGE(TAG, "got_ip_event_handler() lock error IP_EVENT_STA_LOST_IP"); + } + sntp_stop(); + break; + + case IP_EVENT_AP_STAIPASSIGNED: + ESP_LOGI(TAG, "IP_EVENT_AP_STAIPASSIGNED"); break; - // SYSTEM_EVENT_AP_PROBEREQRECVED 18 - // SYSTEM_EVENT_GOT_IP6 19 - // SYSTEM_EVENT_ETH_START 20 - // SYSTEM_EVENT_ETH_STOP 21 - // SYSTEM_EVENT_ETH_CONNECTED 22 - // SYSTEM_EVENT_ETH_DISCONNECTED 23 - // SYSTEM_EVENT_ETH_GOT_IP 24 - - default: - printf("Unknown event %d\n", event->event_id); - break; + default: + ESP_LOGW(TAG, "Unknown IP event %d", event_id); + break; } - return ESP_OK; } @@ -384,7 +397,7 @@ xEventGroupWifi = xEventGroupCreate(); /* initialize the tcp stack */ tcpip_adapter_init(); - ESP_ERROR_CHECK(esp_event_loop_init(task_wifi_EventHandler, NULL)); + ESP_ERROR_CHECK(esp_event_loop_create_default()); /* * memory allocation of objects used by the task @@ -429,11 +442,15 @@ */ wifi_init_config_t wifi_init_config = WIFI_INIT_CONFIG_DEFAULT(); ESP_ERROR_CHECK(esp_wifi_init(&wifi_init_config)); + + ESP_ERROR_CHECK( esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &wifi_event_handler, NULL) ); + ESP_ERROR_CHECK( esp_event_handler_register(IP_EVENT, ESP_EVENT_ANY_ID /*IP_EVENT_STA_GOT_IP*/, &got_ip_event_handler, NULL) ); + ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM)); ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_APSTA)); ESP_ERROR_CHECK(esp_wifi_set_bandwidth(WIFI_IF_AP, config.ap_bandwidth)); - // configure the softAP and start it */ + /* configure the softAP and start it */ wifi_config_t ap_config = { .ap = { .ssid_len = 0, diff -r f066fdeb9650 -r baa34eaca140 main/updates.c --- a/main/updates.c Fri Jul 05 16:17:04 2019 +0200 +++ b/main/updates.c Mon Nov 25 19:41:50 2019 +0100 @@ -36,9 +36,6 @@ TFT_setFont(DEJAVU18_FONT, NULL); _fg = TFT_CYAN; const esp_partition_t *running = esp_ota_get_running_partition(); - snprintf(temp, 63, "Running part.type %d sub %d,\r\nat offset 0x%08x\r\n", - running->type, running->subtype, running->address); - TFT_print(temp, 0, LASTY); /* * Don't use https because it costs more then 100K memory. @@ -82,10 +79,11 @@ goto updateerr; } - TFT_print((char *)"Begin download.\r\n", 0, LASTY); + TFT_print((char *)"Begin firmware download.\r\n", 0, LASTY); ESP_LOGI(TAG, "Download update %s size %d", update.url, content_length); int binary_file_length = 0; /*deal with all receive packet*/ + bool image_header_was_checked = false; while (1) { int data_read = esp_http_client_read(client, ota_write_data, BUFFSIZE); if (data_read < 0) { @@ -93,13 +91,63 @@ http_cleanup(client); goto updateerr;; } else if (data_read > 0) { + if (image_header_was_checked == false) { + esp_app_desc_t new_app_info; + if (data_read > sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t) + sizeof(esp_app_desc_t)) { + // check current version with downloading + memcpy(&new_app_info, &ota_write_data[sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t)], sizeof(esp_app_desc_t)); + + esp_app_desc_t running_app_info; + if (esp_ota_get_partition_description(running, &running_app_info) == ESP_OK) { + ESP_LOGI(TAG, "Running firmware version: %s, %s %s", running_app_info.version, running_app_info.date, running_app_info.time); + } + + const esp_partition_t* last_invalid_app = esp_ota_get_last_invalid_partition(); + esp_app_desc_t invalid_app_info; + if (esp_ota_get_partition_description(last_invalid_app, &invalid_app_info) == ESP_OK) { + ESP_LOGI(TAG, "Last invalid firmware version: %s", invalid_app_info.version); + } + + // check current sha256 with last invalid partition + if (last_invalid_app != NULL) { + if (memcmp(invalid_app_info.app_elf_sha256, new_app_info.app_elf_sha256, 32) == 0) { + ESP_LOGW(TAG, "New version is the same as invalid version."); + ESP_LOGW(TAG, "Previously, there was an attempt to launch the firmware with %s version, but it failed.", invalid_app_info.version); + ESP_LOGW(TAG, "The firmware has been rolled back to the previous version."); + http_cleanup(client); + goto updateok; + } + } + + if (memcmp(new_app_info.app_elf_sha256, running_app_info.app_elf_sha256, 32) == 0) { + ESP_LOGI(TAG, "Current running version is the same as a new."); + http_cleanup(client); + goto updateok; + } + + image_header_was_checked = true; + + err = esp_ota_begin(update_partition, OTA_SIZE_UNKNOWN, &update_handle); + if (err != ESP_OK) { + ESP_LOGE(TAG, "esp_ota_begin failed (%s)", esp_err_to_name(err)); + http_cleanup(client); + goto updateerr; + } + ESP_LOGI(TAG, "Continue upgrade application"); + TFT_print((char *)"Download new version.\r\n", 0, LASTY); + } else { + ESP_LOGE(TAG, "Received package is not fit len"); + http_cleanup(client); + goto updateerr; + } + } err = esp_ota_write( update_handle, (const void *)ota_write_data, data_read); if (err != ESP_OK) { http_cleanup(client); goto updateerr;; } binary_file_length += data_read; -// ESP_LOGD(TAG, "Written image length %d", binary_file_length); + ESP_LOGD(TAG, "Written image length %d", binary_file_length); } else if (data_read == 0) { break; } @@ -108,6 +156,10 @@ ESP_LOGI(TAG, "Download complete, binary data length: %d", binary_file_length); http_cleanup(client); + if (binary_file_length != content_length) { + ESP_LOGE(TAG, "Incomplete file"); + goto updateerr; + } if (esp_ota_end(update_handle) != ESP_OK) { ESP_LOGE(TAG, "esp_ota_end failed!"); goto updateerr; @@ -115,14 +167,8 @@ snprintf(temp, 63, "Received image %d bytes\r\n", binary_file_length); TFT_print(temp, 0, LASTY); - if (esp_partition_check_identity(esp_ota_get_running_partition(), update_partition) == true) { - ESP_LOGI(TAG, "Already the latest version"); - TFT_print((char *)"Already the latest version.\r\n", LASTX, LASTY); - goto updateok; - } - /* - * Here we have a different and hopefully newer version, install and boot it. + * Here we have new version, install and boot it. */ err = esp_ota_set_boot_partition(update_partition); if (err != ESP_OK) { @@ -134,7 +180,7 @@ TFT_print((char *)"Rebooting ...", 0, LASTY); vTaskDelay(1000 / portTICK_PERIOD_MS); esp_restart(); - return ; + return; updateerr: _fg = TFT_RED; @@ -306,7 +352,6 @@ fclose(f); goto spiffs_error; } -// vTaskDelay(10 / portTICK_PERIOD_MS); } fclose(f); unlink("/spiffs/version.old"); @@ -316,7 +361,6 @@ spiffs_error: _fg = TFT_RED; TFT_print((char *)"error\r\n", LASTX, LASTY); - } diff -r f066fdeb9650 -r baa34eaca140 sdkconfig --- a/sdkconfig Fri Jul 05 16:17:04 2019 +0200 +++ b/sdkconfig Mon Nov 25 19:41:50 2019 +0100 @@ -4,6 +4,7 @@ # CONFIG_IDF_TARGET_ESP32=y CONFIG_IDF_TARGET="esp32" +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 # # SDK tool configuration @@ -11,6 +12,11 @@ CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" CONFIG_SDK_PYTHON="python" CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES=y +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y CONFIG_APP_COMPILE_TIME_DATE=y # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set @@ -27,6 +33,9 @@ # CONFIG_BOOTLOADER_APP_TEST is not set # CONFIG_BOOTLOADER_WDT_ENABLE is not set # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set # CONFIG_SECURE_BOOT_ENABLED is not set # CONFIG_SECURE_FLASH_ENC_ENABLED is not set @@ -86,8 +95,10 @@ CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set @@ -111,12 +122,17 @@ CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 CONFIG_BT_RESERVE_DRAM=0 +CONFIG_COAP_MBEDTLS_PSK=y +# CONFIG_COAP_MBEDTLS_PKI is not set +# CONFIG_COAP_MBEDTLS_DEBUG is not set +CONFIG_COAP_LOG_DEFAULT_LEVEL=0 # CONFIG_ADC_FORCE_XPD_FSM is not set CONFIG_ADC_DISABLE_DAC=y # CONFIG_SPI_MASTER_IN_IRAM is not set CONFIG_SPI_MASTER_ISR_IN_IRAM=y # CONFIG_SPI_SLAVE_IN_IRAM is not set CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# CONFIG_UART_ISR_IN_IRAM is not set # CONFIG_EFUSE_CUSTOM_TABLE is not set # CONFIG_EFUSE_VIRTUAL is not set # CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set @@ -124,6 +140,13 @@ # CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set CONFIG_EFUSE_MAX_BLK_LEN=192 # CONFIG_ESP_TLS_SERVER is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +CONFIG_ESP32_REV_MIN_0=y +# CONFIG_ESP32_REV_MIN_1 is not set +# CONFIG_ESP32_REV_MIN_2 is not set +# CONFIG_ESP32_REV_MIN_3 is not set +CONFIG_ESP32_REV_MIN=0 +CONFIG_ESP32_DPORT_WORKAROUND=y # CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set # CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y @@ -173,6 +196,8 @@ # CONFIG_ESP32_NO_BLOBS is not set # CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set # CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set +CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 +# CONFIG_ESP32_PANIC_HANDLER_IRAM is not set # CONFIG_PM_ENABLE is not set CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y @@ -210,6 +235,9 @@ CONFIG_ETH_DMA_BUFFER_SIZE=512 CONFIG_ETH_DMA_RX_BUFFER_NUM=10 CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +CONFIG_ETH_USE_SPI_ETHERNET=y +CONFIG_ETH_SPI_ETHERNET_DM9051=y +CONFIG_ETH_DM9051_INT_GPIO=4 # CONFIG_ESP_EVENT_LOOP_PROFILING is not set CONFIG_ESP_EVENT_POST_FROM_ISR=y CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y @@ -319,9 +347,7 @@ CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 -CONFIG_FREERTOS_USE_TRACE_FACILITY=y -CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y -# CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID is not set +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set # CONFIG_FREERTOS_DEBUG_INTERNALS is not set CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y @@ -353,10 +379,11 @@ CONFIG_LWIP_SO_REUSE=y CONFIG_LWIP_SO_REUSE_RXTOALL=y # CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set # CONFIG_LWIP_IP_FRAG is not set # CONFIG_LWIP_IP_REASSEMBLY is not set # CONFIG_LWIP_STATS is not set -CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y +# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set CONFIG_LWIP_ESP_GRATUITOUS_ARP=y CONFIG_LWIP_GARP_TMR_INTERVAL=60 CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 @@ -371,7 +398,7 @@ CONFIG_LWIP_MAX_LISTENING_TCP=16 CONFIG_LWIP_TCP_MAXRTX=12 CONFIG_LWIP_TCP_SYNMAXRTX=6 -CONFIG_LWIP_TCP_MSS=1436 +CONFIG_LWIP_TCP_MSS=1440 CONFIG_LWIP_TCP_MSL=60000 CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 CONFIG_LWIP_TCP_WND_DEFAULT=5744 @@ -400,6 +427,8 @@ CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 # CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set # CONFIG_MBEDTLS_DEBUG is not set +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# CONFIG_MBEDTLS_CMAC_C is not set CONFIG_MBEDTLS_HARDWARE_AES=y # CONFIG_MBEDTLS_HARDWARE_MPI is not set # CONFIG_MBEDTLS_HARDWARE_SHA is not set @@ -412,7 +441,11 @@ CONFIG_MBEDTLS_TLS_SERVER=y CONFIG_MBEDTLS_TLS_CLIENT=y CONFIG_MBEDTLS_TLS_ENABLED=y -# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_PSK_MODES=y +CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK=y +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA_PSK=y CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y @@ -425,7 +458,7 @@ CONFIG_MBEDTLS_SSL_PROTO_TLS1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_PROTO_DTLS=y CONFIG_MBEDTLS_SSL_ALPN=y CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y @@ -477,14 +510,14 @@ # CONFIG_OPENSSL_DEBUG is not set CONFIG_OPENSSL_ASSERT_DO_NOTHING=y # CONFIG_OPENSSL_ASSERT_EXIT is not set -CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 -CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 -CONFIG_ESP32_PTHREAD_STACK_MIN=768 -CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set -# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set -CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 -CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" # CONFIG_SPI_FLASH_VERIFY_WRITE is not set # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y @@ -533,7 +566,7 @@ CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=7000 CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5 CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 -# CONFIG_WPA_ENTERPRISE is not set +CONFIG_WPA_MBEDTLS_CRYPTO=y # CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set # Deprecated options for backward compatibility @@ -562,8 +595,8 @@ # CONFIG_MONITOR_BAUD_OTHER is not set CONFIG_MONITOR_BAUD_OTHER_VAL=115200 CONFIG_MONITOR_BAUD=115200 -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set @@ -653,7 +686,7 @@ CONFIG_TCPIP_RECVMBOX_SIZE=32 CONFIG_TCP_MAXRTX=12 CONFIG_TCP_SYNMAXRTX=6 -CONFIG_TCP_MSS=1436 +CONFIG_TCP_MSS=1440 CONFIG_TCP_MSL=60000 CONFIG_TCP_SND_BUF_DEFAULT=5744 CONFIG_TCP_WND_DEFAULT=5744 @@ -670,7 +703,14 @@ # CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF # CONFIG_PPP_SUPPORT is not set -CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set