diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 6fc2c1c0d..01b553051 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -1,4 +1,4 @@ -name: IDF v5.4 +name: IDF v5.5 on: workflow_dispatch: # Manually start a workflow diff --git a/configs/builds.json b/configs/builds.json index 026c8d23b..c0c1358cd 100644 --- a/configs/builds.json +++ b/configs/builds.json @@ -4,7 +4,7 @@ "file":"libspi_flash.a", "src":"build/esp-idf/spi_flash/libspi_flash.a", "out":"lib/libspi_flash.a", - "targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4"] + "targets":["esp32","esp32c2","esp32c3","esp32s2","esp32s3","esp32c6","esp32h2","esp32p4","esp32c5"] }, { "file":"libesp_psram.a", @@ -50,6 +50,34 @@ } ], "targets":[ + { + "target": "esp32c5", + "features":["qio_ram"], + "idf_libs":["qio","80m"], + "bootloaders":[ + ["qio","80m"], + ["dio","80m"], + ["qio","40m"], + ["dio","40m"] + ], + "mem_variants":[ + ["dio","80m"] + ] + }, + { + "target": "esp32p4", + "features":["qio_ram"], + "idf_libs":["qio","80m"], + "bootloaders":[ + ["qio","80m"], + ["dio","80m"], + ["qio","40m"], + ["dio","40m"] + ], + "mem_variants":[ + ["dio","80m"] + ] + }, { "target": "esp32c2", "features":[], @@ -92,20 +120,6 @@ ["dio","80m"] ] }, - { - "target": "esp32p4", - "features":["qio_ram"], - "idf_libs":["qio","80m"], - "bootloaders":[ - ["qio","80m"], - ["dio","80m"], - ["qio","40m"], - ["dio","40m"] - ], - "mem_variants":[ - ["dio","80m"] - ] - }, { "target": "esp32c3", "features":[], diff --git a/configs/defconfig.common b/configs/defconfig.common index 445868554..31d39f0ec 100644 --- a/configs/defconfig.common +++ b/configs/defconfig.common @@ -1,230 +1,165 @@ CONFIG_AUTOSTART_ARDUINO=y # CONFIG_WS2812_LED_ENABLE is not set -CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y + CONFIG_APP_REPRODUCIBLE_BUILD=y -CONFIG_COMPILER_HIDE_PATHS_MACROS=y -CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y -CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y -# CONFIG_APP_COMPILE_TIME_DATE is not set CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y -CONFIG_BOOT_ROM_LOG_ALWAYS_OFF=y CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS=y -CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE=y -CONFIG_I2S_SUPPRESS_DEPRECATE_WARN=y -CONFIG_I2S_ISR_IRAM_SAFE=y -CONFIG_RMT_SUPPRESS_DEPRECATE_WARN=y -CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN=y -CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y +CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y CONFIG_COMPILER_OPTIMIZATION_SIZE=y -CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y +CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y CONFIG_COMPILER_DISABLE_GCC12_WARNINGS=y CONFIG_COMPILER_DISABLE_GCC13_WARNINGS=y CONFIG_COMPILER_DISABLE_GCC14_WARNINGS=y -CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y -CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y -CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y -# CONFIG_COMPILER_CXX_EXCEPTIONS is not set -# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +CONFIG_ADC_SUPPRESS_DEPRECATE_WARN=y +CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN=y +CONFIG_DAC_SUPPRESS_DEPRECATE_WARN=y +# CONFIG_DAC_DMA_AUTO_16BIT_ALIGN is not set +CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN=y +CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN=y +CONFIG_RMT_SUPPRESS_DEPRECATE_WARN=y +CONFIG_I2S_SUPPRESS_DEPRECATE_WARN=y +CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN=y +CONFIG_SDM_SUPPRESS_DEPRECATE_WARN=y +CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN=y +CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS=y +CONFIG_ESP_TLS_INSECURE=y # CONFIG_ESP_ERR_TO_NAME_LOOKUP is not set +CONFIG_I2S_ISR_IRAM_SAFE=y +CONFIG_ETH_TRANSMIT_MUTEX=y +CONFIG_ETH_SPI_ETHERNET_DM9051=y +CONFIG_ETH_SPI_ETHERNET_W5500=y +CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL=y # CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR is not set -CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS=y -# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set # CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS is not set -# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO=y +CONFIG_ESP_PHY_REDUCE_TX_POWER=y +CONFIG_SPIRAM=y +CONFIG_SPIRAM_BOOT_HW_INIT=y +CONFIG_SPIRAM_BOOT_INIT=y +CONFIG_SPIRAM_IGNORE_NOTFOUND=y +# CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION is not set +# CONFIG_SPIRAM_MEMTEST is not set +CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096 +CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0 +# CONFIG_SPIRAM_BANKSWITCH_ENABLE is not set CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y +CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH=y CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM=y -CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 -CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 -CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096 CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096 +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 CONFIG_ESP_TASK_WDT_PANIC=y +# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set # CONFIG_ESP_SYSTEM_HW_STACK_GUARD is not set -CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096 -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y -CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE=y -# CONFIG_ESP_WIFI_MBEDTLS_CRYPTO is not set -# CONFIG_ESP_WIFI_FTM_ENABLE is not set -# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set -# CONFIG_ESP_WIFI_CSI_ENABLED is not set -# CONFIG_ESP_WIFI_ENABLE_WPA3_SAE is not set -# CONFIG_ESP_WIFI_ENABLE_SAE_PK is not set -# CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT is not set -# CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT is not set -# CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT is not set -# CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA is not set -CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=0 +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8 # CONFIG_ESP_WIFI_IRAM_OPT is not set # CONFIG_ESP_WIFI_RX_IRAM_OPT is not set -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8 -CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=16 -CONFIG_ESP_PHY_REDUCE_TX_POWER=y -CONFIG_ETH_TRANSMIT_MUTEX=y -CONFIG_ETH_SPI_ETHERNET_DM9051=y -CONFIG_ETH_SPI_ETHERNET_W5500=y -CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL=y -CONFIG_FATFS_CODEPAGE_850=y +# CONFIG_ESP_WIFI_ENABLE_WPA3_SAE is not set +# CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA is not set +# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set +# CONFIG_ESP_WIFI_MBEDTLS_CRYPTO is not set +# CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT is not set CONFIG_FATFS_LFN_STACK=y -# CONFIG_FATFS_API_ENCODING_ANSI_OEM is not set +CONFIG_FATFS_CODEPAGE_850=y CONFIG_FATFS_API_ENCODING_UTF_8=y -# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set -CONFIG_FMB_TIMER_PORT_ENABLED=y CONFIG_FREERTOS_HZ=1000 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 # CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set # CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set # CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT is not set -CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 -# CONFIG_FREERTOS_FPU_IN_ISR is not set +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096 +CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=y +CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y +CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y +CONFIG_FREERTOS_ISR_STACKSIZE=2096 CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y -CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y CONFIG_HAL_ASSERTION_DISABLE=y -CONFIG_HEAP_POISONING_DISABLED=y -CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 -CONFIG_HTTPD_WS_SUPPORT=y CONFIG_LOG_DEFAULT_LEVEL_NONE=y -# CONFIG_LOG_COLORS is not set CONFIG_LWIP_LOCAL_HOSTNAME="tasmota" CONFIG_LWIP_MAX_SOCKETS=16 CONFIG_LWIP_SO_RCVBUF=y CONFIG_LWIP_IP_FORWARD=y CONFIG_LWIP_IPV4_NAPT=y -# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=48 +CONFIG_LWIP_DHCP_OPTIONS_LEN=128 +CONFIG_LWIP_IPV6_AUTOCONFIG=y +CONFIG_LWIP_IPV6_RDNSS_MAX_DNS_SERVERS=2 CONFIG_LWIP_TCP_SYNMAXRTX=6 CONFIG_LWIP_TCP_MSS=1436 CONFIG_LWIP_TCP_RTO_TIME=3000 -CONFIG_LWIP_TCP_MSL=6000 -CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=2000 -CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560 +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096 CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y -CONFIG_LWIP_IPV6_AUTOCONFIG=y -CONFIG_LWIP_IPV6_RDNSS_MAX_DNS_SERVERS=2 -CONFIG_LWIP_MAX_SOCKETS=16 -CONFIG_LWIP_DHCP_RESTORE_LAST_IP=n -CONFIG_LWIP_DHCP_OPTIONS_LEN=128 +CONFIG_LWIP_PPP_SUPPORT=y +# CONFIG_LWIP_PPP_ENABLE_IPV6 is not set +CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT=y +CONFIG_LWIP_PPP_PAP_SUPPORT=y +CONFIG_LWIP_MULTICAST_PING=y +CONFIG_LWIP_BROADCAST_PING=y CONFIG_LWIP_SNTP_MAX_SERVERS=3 # CONFIG_LWIP_DHCP_GET_NTP_SRV is not set CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000 -CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=48 -CONFIG_LWIP_TCP_RECVMBOX_SIZE=16 -CONFIG_LWIP_UDP_RECVMBOX_SIZE=64 -CONFIG_NEWLIB_NANO_FORMAT=y -# CONFIG_DAC_DMA_AUTO_16BIT_ALIGN is not set - -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y -CONFIG_MBEDTLS_TLS_DISABLED=y -# CONFIG_MBEDTLS_TLS_ENABLED is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT=y +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT=y # CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set -CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=180 # CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is not set -# CONFIG_MBEDTLS_PKCS7_C is not set -# CONFIG_MBEDTLS_ERROR_STRINGS is not set - -# -# Symmetric Ciphers -# -CONFIG_MBEDTLS_AES_C=y -# CONFIG_MBEDTLS_CAMELLIA_C is not set -# CONFIG_MBEDTLS_DES_C is not set -# CONFIG_MBEDTLS_BLOWFISH_C is not set -# CONFIG_MBEDTLS_XTEA_C is not set -# CONFIG_MBEDTLS_CCM_C is not set -# CONFIG_MBEDTLS_GCM_C is not set -# CONFIG_MBEDTLS_NIST_KW_C is not set -# end of Symmetric Ciphers - - -# -# TLS Key Exchange Methods -# - -CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y -# CONFIG_MBEDTLS_PSK_MODES is not set -# CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE is not set -# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA is not set -# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA is not set -# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA is not set -# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA is not set - -CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y -# CONFIG_MBEDTLS_SSL_RENEGOTIATION is not set -# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set -# CONFIG_MBEDTLS_SSL_ALPN is not set -# CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS is not set - -CONFIG_MBEDTLS_CMAC_C=y -CONFIG_MBEDTLS_ROM_MD5=y -CONFIG_MBEDTLS_HARDWARE_ECC=y -CONFIG_MBEDTLS_HARDWARE_AES=y -CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=180 +# CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER is not set # CONFIG_MBEDTLS_HARDWARE_SHA is not set -# CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK is not set # CONFIG_MBEDTLS_HAVE_TIME is not set # CONFIG_MBEDTLS_ECDSA_DETERMINISTIC is not set +# CONFIG_MBEDTLS_SHA1_C is not set # CONFIG_MBEDTLS_SHA512_C is not set -# CONFIG_MBEDTLS_RIPEMD160_C is not set - -# -# Certificates -# +CONFIG_MBEDTLS_TLS_DISABLED=y +# CONFIG_MBEDTLS_CCM_C is not set +# CONFIG_MBEDTLS_GCM_C is not set # CONFIG_MBEDTLS_PEM_PARSE_C is not set # CONFIG_MBEDTLS_PEM_WRITE_C is not set # CONFIG_MBEDTLS_X509_CRL_PARSE_C is not set # CONFIG_MBEDTLS_X509_CSR_PARSE_C is not set -# end of Certificates - -CONFIG_MBEDTLS_ECP_C=y -CONFIG_MBEDTLS_ECDH_C=y -CONFIG_MBEDTLS_ECDSA_C=y -CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y -# CONFIG_MBEDTLS_SHA1_C is not set -# CONFIG_MBEDTLS_SHA1_ALT is not set -# CONFIG_MBEDTLS_DHM_C is not set -# CONFIG_MBEDTLS_ECJPAKE_C is not set -# CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS is not set -# CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS is not set # CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED is not set -# CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED is not set +# CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED is not set # CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED is not set -# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set # CONFIG_MBEDTLS_ECP_NIST_OPTIM is not set -# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set -# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +# CONFIG_MBEDTLS_ERROR_STRINGS is not set +# CONFIG_MBEDTLS_FS_IO is not set + +# CONFIG_MQTT_PROTOCOL_311 is not set +# CONFIG_MQTT_TRANSPORT_SSL is not set + +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1 is not set +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2 is not set -CONFIG_OPENSSL_ASSERT_DO_NOTHING=y -CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048 CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED=y -# CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE is not set -CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10 CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2 CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096 +# CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE is not set + # CONFIG_UNITY_ENABLE_FLOAT is not set # CONFIG_UNITY_ENABLE_DOUBLE is not set # CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER is not set -# CONFIG_USE_WAKENET is not set -# CONFIG_USE_MULTINET is not set -# CONFIG_MBEDTLS_FS_IO is not set # CONFIG_VFS_SUPPORT_SELECT is not set # CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT is not set # CONFIG_VFS_SUPPORT_TERMIOS is not set -# CONFIG_SPI_MASTER_ISR_IN_IRAM is not set -# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096 -CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0 - -CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=1 -CONFIG_DSP_MAX_FFT_SIZE_1024=y +# +# LittleFS +# CONFIG_LITTLEFS_MAX_PARTITIONS=2 CONFIG_LITTLEFS_MULTIVERSION=y CONFIG_LITTLEFS_DISK_VERSION_2_0=y @@ -237,6 +172,9 @@ CONFIG_USB_HOST_HUBS_SUPPORTED=y CONFIG_USB_HOST_HUB_MULTI_LEVEL=y CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT=y +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=1 +CONFIG_DSP_MAX_FFT_SIZE_1024=y + # # Disable Cameras not used # diff --git a/configs/defconfig.esp32 b/configs/defconfig.esp32 index ccd403ef6..8d68cb2ec 100644 --- a/configs/defconfig.esp32 +++ b/configs/defconfig.esp32 @@ -31,17 +31,12 @@ CONFIG_ETH_USE_ESP32_EMAC=y CONFIG_ETH_PHY_INTERFACE_RMII=y CONFIG_ETH_USE_SPI_ETHERNET=y -CONFIG_SPIRAM=y CONFIG_SPIRAM_OCCUPY_HSPI_HOST=y + # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set -# CONFIG_UNITY_ENABLE_FLOAT is not set -# CONFIG_UNITY_ENABLE_DOUBLE is not set -# CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER is not set # CONFIG_USE_WAKENET is not set # CONFIG_USE_MULTINET is not set -# CONFIG_VFS_SUPPORT_SELECT is not set -# CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT is not set -# CONFIG_VFS_SUPPORT_TERMIOS is not set + CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC=y CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y diff --git a/configs/defconfig.esp32c2 b/configs/defconfig.esp32c2 index 9357c8008..1dbc4941f 100644 --- a/configs/defconfig.esp32c2 +++ b/configs/defconfig.esp32c2 @@ -2,6 +2,7 @@ CONFIG_XTAL_FREQ_26=y CONFIG_XTAL_FREQ=26 CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +CONFIG_NEWLIB_NANO_FORMAT=y # # Bluetooth diff --git a/configs/defconfig.esp32c3 b/configs/defconfig.esp32c3 index 304af275e..701c0b72d 100644 --- a/configs/defconfig.esp32c3 +++ b/configs/defconfig.esp32c3 @@ -1,3 +1,5 @@ +CONFIG_NEWLIB_NANO_FORMAT=y + # # Bluetooth # diff --git a/configs/defconfig.esp32c5 b/configs/defconfig.esp32c5 new file mode 100644 index 000000000..2884b0d13 --- /dev/null +++ b/configs/defconfig.esp32c5 @@ -0,0 +1,65 @@ +CONFIG_XTAL_FREQ_AUTO=y +CONFIG_XTAL_FREQ=0 +CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y +CONFIG_SPIRAM=y + +CONFIG_NEWLIB_NANO_FORMAT=y + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +CONFIG_BT_STACK_NO_LOG=y +# CONFIG_BT_BLE_42_FEATURES_SUPPORTED is not set +# CONFIG_BLE_MESH is not set +CONFIG_BT_NIMBLE_ENABLED=y +CONFIG_BT_NIMBLE_LOG_LEVEL_NONE=y +CONFIG_BT_NIMBLE_MAX_CONNECTIONS=2 +# CONFIG_BT_NIMBLE_NVS_PERSIST is not set +# CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS is not set +# CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY is not set +# CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY is not set +# CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT is not set + +CONFIG_BT_CTRL_MODEM_SLEEP=y +CONFIG_BT_CTRL_MODEM_SLEEP_MODE_1=y +CONFIG_BT_CTRL_LPCLK_SEL_MAIN_XTAL=y +# CONFIG_BT_CTRL_LPCLK_SEL_RTC_SLOW is not set +CONFIG_BT_LOG_HCI_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_BTM_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_SDP_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_GAP_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_BNEP_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_PAN_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_A2D_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_AVDT_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_AVCT_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_AVRC_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_MCA_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_HID_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_APPL_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_GATT_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_SMP_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_BTIF_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_BTC_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_OSI_TRACE_LEVEL_NONE=y +CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_NONE=y +CONFIG_RTC_CLK_CAL_CYCLES=576 +# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 + +# This Enables RISCV LP - but it can't be used within Arduino at this time. +#CONFIG_ULP_COPROC_ENABLED=y +#CONFIG_ULP_COPROC_LP_CORE=y +#CONFIG_ULP_COPROC_RESERVE_MEM=4096 + +# +# Zigbee +# +CONFIG_ZB_ENABLED=y +CONFIG_ZB_ZED=y +CONFIG_ZB_RADIO_NATIVE=y +# end of Zigbee diff --git a/configs/defconfig.esp32h2 b/configs/defconfig.esp32h2 index bd5412692..5cd92e6bf 100644 --- a/configs/defconfig.esp32h2 +++ b/configs/defconfig.esp32h2 @@ -1,3 +1,5 @@ +CONFIG_NEWLIB_NANO_FORMAT=y + # # Bluetooth # diff --git a/configs/defconfig.esp32p4 b/configs/defconfig.esp32p4 index d85da2618..20a20faa0 100644 --- a/configs/defconfig.esp32p4 +++ b/configs/defconfig.esp32p4 @@ -1,5 +1,7 @@ CONFIG_IDF_EXPERIMENTAL_FEATURES=y +CONFIG_NEWLIB_NANO_FORMAT=y + # Enable LP Core CONFIG_ULP_COPROC_ENABLED=y CONFIG_ULP_COPROC_TYPE_LP_CORE=y @@ -7,14 +9,20 @@ CONFIG_ULP_COPROC_RESERVE_MEM=8192 CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_360=y CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y -CONFIG_SPIRAM=y # CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set CONFIG_LWIP_TCP_SACK_OUT=y + +CONFIG_SPIRAM=y CONFIG_SPIRAM_SPEED_200M=y CONFIG_SPIRAM_XIP_FROM_PSRAM=y +CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY=y +CONFIG_SPIRAM_BOOT_HW_INIT=y +CONFIG_SPIRAM_BOOT_INIT=y +CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION=y + CONFIG_RTC_CLK_CAL_CYCLES=576 # CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set -# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3120 CONFIG_CACHE_L2_CACHE_256KB=y @@ -49,6 +57,23 @@ CONFIG_BT_NIMBLE_TRANSPORT_UART=n CONFIG_ESP_WIFI_REMOTE_ENABLED=y CONFIG_ESP_WIFI_REMOTE_LIBRARY_HOSTED=y +#### Add Wi-Fi Remote config for better performance: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=16 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=64 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=64 +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=32 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=32 + +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=65534 +CONFIG_LWIP_TCP_WND_DEFAULT=65534 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=64 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=64 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=64 + +CONFIG_LWIP_TCP_SACK_OUT=y + # # Enable ESP Hosted BT # Used as VHCI transport between BT Host and Controller diff --git a/configs/defconfig.esp32s2 b/configs/defconfig.esp32s2 index f3fca9b8f..274a7c46a 100644 --- a/configs/defconfig.esp32s2 +++ b/configs/defconfig.esp32s2 @@ -1,3 +1,5 @@ +CONFIG_NEWLIB_NANO_FORMAT=y + CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_SPIRAM=y CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y @@ -10,14 +12,6 @@ CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=4096 # CONFIG_USE_MULTINET is not set CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=n -# CONFIG_UNITY_ENABLE_FLOAT is not set -# CONFIG_UNITY_ENABLE_DOUBLE is not set -# CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER is not set -# CONFIG_USE_WAKENET is not set -# CONFIG_USE_MULTINET is not set -# CONFIG_VFS_SUPPORT_SELECT is not set -# CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT is not set -# CONFIG_VFS_SUPPORT_TERMIOS is not set # # PPP diff --git a/configs/defconfig.esp32s3 b/configs/defconfig.esp32s3 index 884c26f21..646b6ca1b 100644 --- a/configs/defconfig.esp32s3 +++ b/configs/defconfig.esp32s3 @@ -1,5 +1,7 @@ # CONFIG_IDF_EXPERIMENTAL_FEATURES=y +CONFIG_NEWLIB_NANO_FORMAT=y + CONFIG_ULP_COPROC_ENABLED=y CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=4096 diff --git a/patches/lwip_max_tcp_pcb.diff b/patches/lwip_max_tcp_pcb.diff deleted file mode 100644 index 6b9e73cb6..000000000 --- a/patches/lwip_max_tcp_pcb.diff +++ /dev/null @@ -1,118 +0,0 @@ -diff --git a/components/lwip/lwip/src/core/memp.c b/components/lwip/lwip/src/core/memp.c -index 352ce5a55127a658b6b3c9d8541298c42df332ff..39433cf476b3456b046e337e9b1f016299964a84 100644 ---- a/components/lwip/lwip/src/core/memp.c -+++ b/components/lwip/lwip/src/core/memp.c -@@ -240,6 +240,10 @@ memp_init(void) - #endif /* MEMP_OVERFLOW_CHECK >= 2 */ - } - -+#if MEMP_MEM_MALLOC && ESP_LWIP && LWIP_TCP -+static u32_t num_tcp_pcb = 0; -+#endif -+ - static void * - #if !MEMP_OVERFLOW_CHECK - do_memp_malloc_pool(const struct memp_desc *desc) -@@ -251,6 +255,16 @@ do_memp_malloc_pool_fn(const struct memp_desc *desc, const char *file, const int - SYS_ARCH_DECL_PROTECT(old_level); - - #if MEMP_MEM_MALLOC -+#if ESP_LWIP -+#if LWIP_TCP -+ if(desc == memp_pools[MEMP_TCP_PCB]){ -+ if(num_tcp_pcb >= MEMP_NUM_TCP_PCB){ -+ return NULL; -+ } -+ } -+#endif -+#endif -+ - memp = (struct memp *)mem_malloc(MEMP_SIZE + MEMP_ALIGN_SIZE(desc->size)); - SYS_ARCH_PROTECT(old_level); - #else /* MEMP_MEM_MALLOC */ -@@ -260,6 +274,12 @@ do_memp_malloc_pool_fn(const struct memp_desc *desc, const char *file, const int - #endif /* MEMP_MEM_MALLOC */ - - if (memp != NULL) { -+#if MEMP_MEM_MALLOC && ESP_LWIP && LWIP_TCP -+ if (desc == memp_pools[MEMP_TCP_PCB]) { -+ num_tcp_pcb++; -+ } -+#endif -+ - #if !MEMP_MEM_MALLOC - #if MEMP_OVERFLOW_CHECK == 1 - memp_overflow_check_element(memp, desc); -@@ -369,6 +389,12 @@ do_memp_free_pool(const struct memp_desc *desc, void *mem) - - SYS_ARCH_PROTECT(old_level); - -+#if MEMP_MEM_MALLOC && ESP_LWIP && LWIP_TCP -+ if (desc == memp_pools[MEMP_TCP_PCB]) { -+ num_tcp_pcb--; -+ } -+#endif -+ - #if MEMP_OVERFLOW_CHECK == 1 - memp_overflow_check_element(memp, desc); - #endif /* MEMP_OVERFLOW_CHECK */ -diff --git a/components/lwip/lwip/src/core/tcp.c b/components/lwip/lwip/src/core/tcp.c -index 3fbdd89ae07807208ff7466abb50f90b5e7727e4..fe6baaf250927cb4b89f8d1dbd41c73def88692b 100644 ---- a/components/lwip/lwip/src/core/tcp.c -+++ b/components/lwip/lwip/src/core/tcp.c -@@ -1765,7 +1765,9 @@ tcp_kill_state(enum tcp_state state) - struct tcp_pcb *pcb, *inactive; - u32_t inactivity; - -+#if !ESP_LWIP - LWIP_ASSERT("invalid state", (state == CLOSING) || (state == LAST_ACK)); -+#endif - - inactivity = 0; - inactive = NULL; -@@ -1870,17 +1872,41 @@ tcp_alloc(u8_t prio) - tcp_kill_state(CLOSING); - /* Try to allocate a tcp_pcb again. */ - pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB); -+#if ESP_LWIP - if (pcb == NULL) { -- /* Try killing oldest active connection with lower priority than the new one. */ -- LWIP_DEBUGF(TCP_DEBUG, ("tcp_alloc: killing oldest connection with prio lower than %d\n", prio)); -- tcp_kill_prio(prio); -- /* Try to allocate a tcp_pcb again. */ -+ /* Try killing oldest connection in FIN_WAIT_2. */ -+ LWIP_DEBUGF(TCP_DEBUG, ("tcp_alloc: killing off oldest FIN_WAIT_2 connection\n")); -+ tcp_kill_state(FIN_WAIT_2); - pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB); -+ if (pcb == NULL) { -+ /* Try killing oldest connection in FIN_WAIT_1. */ -+ LWIP_DEBUGF(TCP_DEBUG, ("tcp_alloc: killing off oldest FIN_WAIT_1 connection\n")); -+ tcp_kill_state(FIN_WAIT_1); -+ pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB); -+#endif -+ if (pcb == NULL) { -+ /* Try killing oldest active connection with lower priority than the new one. */ -+ LWIP_DEBUGF(TCP_DEBUG, ("tcp_alloc: killing oldest connection with prio lower than %d\n", prio)); -+ tcp_kill_prio(prio); -+ /* Try to allocate a tcp_pcb again. */ -+ pcb = (struct tcp_pcb *)memp_malloc(MEMP_TCP_PCB); -+ if (pcb != NULL) { -+ /* adjust err stats: memp_malloc failed multiple times before */ -+ MEMP_STATS_DEC(err, MEMP_TCP_PCB); -+ } -+ } -+#if ESP_LWIP -+ if (pcb != NULL) { -+ /* adjust err stats: memp_malloc failed multiple times before */ -+ MEMP_STATS_DEC(err, MEMP_TCP_PCB); -+ } -+ } - if (pcb != NULL) { - /* adjust err stats: memp_malloc failed multiple times before */ - MEMP_STATS_DEC(err, MEMP_TCP_PCB); - } - } -+#endif - if (pcb != NULL) { - /* adjust err stats: memp_malloc failed multiple times before */ - MEMP_STATS_DEC(err, MEMP_TCP_PCB); diff --git a/tools/config.sh b/tools/config.sh index 747689ae0..2baef8210 100755 --- a/tools/config.sh +++ b/tools/config.sh @@ -6,12 +6,12 @@ if [ -z $IDF_PATH ]; then fi if [ -z $IDF_BRANCH ]; then - export IDF_BRANCH="release/v5.4" + export IDF_BRANCH="release/v5.5" fi # Arduino branch to use if [ -z $AR_BRANCH ]; then - AR_BRANCH="main" + AR_BRANCH="release/v3.3.x" fi if [ -z $IDF_TARGET ]; then diff --git a/tools/copy-libs.sh b/tools/copy-libs.sh index f604ec54b..c2c82821e 100755 --- a/tools/copy-libs.sh +++ b/tools/copy-libs.sh @@ -75,6 +75,7 @@ LD_SCRIPT_DIRS="" PIO_CC_FLAGS="-flto=auto " PIO_C_FLAGS="-flto=auto " PIO_CXX_FLAGS="-flto=auto " +# PIO_CXX_FLAGS="-flto=auto -std=gnu++2a " PIO_AS_FLAGS="" PIO_LD_FLAGS="-flto " PIO_LD_FUNCS="" @@ -126,7 +127,7 @@ for item in "${@:2:${#@}-5}"; do DEFINES+="$item " fi elif [ "$prefix" = "-O" ]; then - PIO_CC_FLAGS+="$item " + PIO_CC_FLAGS+="$item " elif [[ "$item" != "-Wall" && "$item" != "-Werror=all" && "$item" != "-Wextra" ]]; then if [[ "${item:0:23}" != "-mfix-esp32-psram-cache" && "${item:0:18}" != "-fmacro-prefix-map" && "${item:0:20}" != "-fdiagnostics-color=" && "${item:0:19}" != "-fdebug-prefix-map=" && "${item:0:8}" != "-fno-lto" ]]; then C_FLAGS+="$item " @@ -312,6 +313,9 @@ for item; do fi done +# Remove -std=gnu++2b from PIO_CXX_FLAGS +# PIO_CXX_FLAGS="${PIO_CXX_FLAGS/-std=gnu++2b/}" + # # END OF DATA EXTRACTION FROM CMAKE # diff --git a/tools/install-esp-idf.sh b/tools/install-esp-idf.sh index ca0c46660..49dfa4e23 100755 --- a/tools/install-esp-idf.sh +++ b/tools/install-esp-idf.sh @@ -81,10 +81,9 @@ if [ ! -x $idf_was_installed ] || [ ! -x $commit_predefined ]; then # 1) Temporarily patch the ESP32-S2 I2C LL driver to keep the clock source # 2) Temporarily fix for mmu map and late init of psram https://github.com/espressif/arduino-esp32/issues/9936 - cd $IDF_PATH - patch -p1 -N -i $AR_PATCHES/esp32s2_i2c_ll_master_init.diff - patch -p1 -N -i $AR_PATCHES/lwip_max_tcp_pcb.diff - cd - + #cd $IDF_PATH + #patch -p1 -N -i $AR_PATCHES/esp32s2_i2c_ll_master_init.diff + #cd - # Get the exact IDF version from file "version.txt" cd $IDF_PATH