diff --git a/CMakeLists.txt b/CMakeLists.txt index 88cede19..53abed11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,3 +33,25 @@ add_custom_command( VERBATIM ) add_custom_target(mem-variant DEPENDS "mem_variant") + +################## +### ESP Matter ### +################## + +idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++17;-DCHIP_HAVE_CONFIG_H" APPEND) + +# WARNING: This is just an example for using key for decrypting the encrypted OTA image +# Please do not use it as is. +#if(CONFIG_ENABLE_ENCRYPTED_OTA) +# target_add_binary_data(light.elf "esp_image_encryption_key.pem" TEXT) +#endif() + +#if(CONFIG_IDF_TARGET_ESP32C2) +# include(relinker) +#endif() + +#idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++17;-Os;-DCHIP_HAVE_CONFIG_H" APPEND) +#idf_build_set_property(C_COMPILE_OPTIONS "-Os" APPEND) +# For RISCV chips, project_include.cmake sets -Wno-format, but does not clear various +# flags that depend on -Wformat +#idf_build_set_property(COMPILE_OPTIONS "-Wno-format-nonliteral;-Wno-format-security" APPEND) diff --git a/configs/defconfig.esp32 b/configs/defconfig.esp32 index 2e88a27e..a337c697 100644 --- a/configs/defconfig.esp32 +++ b/configs/defconfig.esp32 @@ -19,3 +19,50 @@ CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST=y CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID=y CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT=y CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y + +# Matter Configuration + +# +# mbedTLS +# +CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y +CONFIG_MBEDTLS_ECJPAKE_C=y +CONFIG_MBEDTLS_HKDF_C=y +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of mbedTLS + + +# +# lwIP +# +CONFIG_LWIP_MULTICAST_PING=y +CONFIG_LWIP_BROADCAST_PING=y +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +CONFIG_LWIP_IPV6_AUTOCONFIG=y +# Increase LwIP IPv6 address number to 8 (MAX_FABRIC + 1) +# unique local addresses for fabrics(MAX_FABRIC), a link local address(1) +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 + +# +# Other +# + +# Disable Matter BLE - needs nimBLE to run +CONFIG_ENABLE_CHIPOBLE=n +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# ESP Insights +CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n + +# Use minimal mDNS +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + diff --git a/configs/defconfig.esp32c3 b/configs/defconfig.esp32c3 index c497b562..ecc0437d 100644 --- a/configs/defconfig.esp32c3 +++ b/configs/defconfig.esp32c3 @@ -6,3 +6,47 @@ CONFIG_ESP_WIFI_11KV_SUPPORT=y CONFIG_ESP_WIFI_SCAN_CACHE=y CONFIG_ESP_WIFI_MBO_SUPPORT=y CONFIG_ESP_WIFI_11R_SUPPORT=y + +# Matter Configuration + +# +# mbedTLS +# +CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y +CONFIG_MBEDTLS_ECJPAKE_C=y +CONFIG_MBEDTLS_HKDF_C=y +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of mbedTLS + + +# +# lwIP +# +CONFIG_LWIP_MULTICAST_PING=y +CONFIG_LWIP_BROADCAST_PING=y +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +CONFIG_LWIP_IPV6_AUTOCONFIG=y +# Increase LwIP IPv6 address number to 8 (MAX_FABRIC + 1) +# unique local addresses for fabrics(MAX_FABRIC), a link local address(1) +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 + +# +# Other +# + +# Disable Matter BLE - needs nimBLE to run +CONFIG_ENABLE_CHIPOBLE=n +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# Use minimal mDNS +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + diff --git a/configs/defconfig.esp32c6 b/configs/defconfig.esp32c6 index e2c9c33e..a9363a31 100644 --- a/configs/defconfig.esp32c6 +++ b/configs/defconfig.esp32c6 @@ -9,6 +9,19 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 #CONFIG_ULP_COPROC_RESERVE_MEM=4096 # +# Matter and Thread Configuration +# + +# Disable Matter BLE - needs nimBLE to run +CONFIG_ENABLE_CHIPOBLE=n +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# ESP Insights +CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n + +# Matter over Thread +CONFIG_ENABLE_MATTER_OVER_THREAD=y + # ESP32 Arduino OpenThread Configuration # # lwIP @@ -16,6 +29,9 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 CONFIG_LWIP_MULTICAST_PING=y CONFIG_LWIP_BROADCAST_PING=y +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +CONFIG_LWIP_IPV6_AUTOCONFIG=y # end of lwip # @@ -23,8 +39,22 @@ CONFIG_LWIP_BROADCAST_PING=y # CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y CONFIG_MBEDTLS_ECJPAKE_C=y +CONFIG_MBEDTLS_HKDF_C=y +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y # end of mbedTLS +# Use minimal mDNS +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + + # # OpenThread # diff --git a/configs/defconfig.esp32h2 b/configs/defconfig.esp32h2 index 79a13544..a8b8da76 100644 --- a/configs/defconfig.esp32h2 +++ b/configs/defconfig.esp32h2 @@ -12,6 +12,9 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304 CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 CONFIG_LWIP_MULTICAST_PING=y CONFIG_LWIP_BROADCAST_PING=y +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +CONFIG_LWIP_IPV6_AUTOCONFIG=n # end of lwip # @@ -20,6 +23,11 @@ CONFIG_LWIP_BROADCAST_PING=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y CONFIG_MBEDTLS_ECJPAKE_C=y # end of mbedTLS +# Enable HKDF in mbedtls +CONFIG_MBEDTLS_HKDF_C=y +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of mbedTLS # # OpenThread @@ -47,3 +55,32 @@ CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" # end of OpenThread + +# Matter Configuration + +# Disable Matter BLE +CONFIG_ENABLE_CHIPOBLE=n +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# Use minimal mDNS +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + +# MRP configs +CONFIG_MRP_LOCAL_ACTIVE_RETRY_INTERVAL_FOR_THREAD=5000 +CONFIG_MRP_LOCAL_IDLE_RETRY_INTERVAL_FOR_THREAD=5000 +CONFIG_MRP_RETRY_INTERVAL_SENDER_BOOST_FOR_THREAD=5000 +CONFIG_MRP_MAX_RETRANS=3 + +# ESP Insights +CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n + +# Matter over Thread +CONFIG_ENABLE_MATTER_OVER_THREAD=y + diff --git a/configs/defconfig.esp32s2 b/configs/defconfig.esp32s2 index 3b0af548..560b54b9 100644 --- a/configs/defconfig.esp32s2 +++ b/configs/defconfig.esp32s2 @@ -15,3 +15,52 @@ CONFIG_ULP_COPROC_ENABLED=y CONFIG_ULP_COPROC_TYPE_FSM=y # CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=512 + + +# Matter Configuration + +# +# mbedTLS +# +CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y +CONFIG_MBEDTLS_ECJPAKE_C=y +# Enable HKDF in mbedtls +CONFIG_MBEDTLS_HKDF_C=y +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of mbedTLS + + +# +# lwIP +# +CONFIG_LWIP_MULTICAST_PING=y +CONFIG_LWIP_BROADCAST_PING=y +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +CONFIG_LWIP_IPV6_AUTOCONFIG=y +# Increase LwIP IPv6 address number to 8 (MAX_FABRIC + 1) +# unique local addresses for fabrics(MAX_FABRIC), a link local address(1) +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 + +# +# Other +# + +# Disable Matter BLE +CONFIG_ENABLE_CHIPOBLE=n +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# ESP Insights +CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n + +# Use minimal mDNS +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + diff --git a/configs/defconfig.esp32s3 b/configs/defconfig.esp32s3 index 2c2cba3c..0c5dccc0 100644 --- a/configs/defconfig.esp32s3 +++ b/configs/defconfig.esp32s3 @@ -17,3 +17,51 @@ CONFIG_ULP_COPROC_ENABLED=y CONFIG_ULP_COPROC_TYPE_FSM=y # CONFIG_ULP_COPROC_TYPE_RISCV=y CONFIG_ULP_COPROC_RESERVE_MEM=512 + +# Matter Configuration + +# +# mbedTLS +# +CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y +CONFIG_MBEDTLS_ECJPAKE_C=y +# Enable HKDF in mbedtls +CONFIG_MBEDTLS_HKDF_C=y +# libsodium +CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y +# end of mbedTLS + + +# +# lwIP +# +CONFIG_LWIP_MULTICAST_PING=y +CONFIG_LWIP_BROADCAST_PING=y +CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y +CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y +CONFIG_LWIP_IPV6_AUTOCONFIG=y +# Increase LwIP IPv6 address number to 8 (MAX_FABRIC + 1) +# unique local addresses for fabrics(MAX_FABRIC), a link local address(1) +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 + +# +# Other +# + +# Disable Matter BLE +CONFIG_ENABLE_CHIPOBLE=n +CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n + +# ESP Insights +CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n + +# Use minimal mDNS +CONFIG_USE_MINIMAL_MDNS=y +CONFIG_ENABLE_EXTENDED_DISCOVERY=y + +# FreeRTOS should use legacy API +CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y + +# Use compact attribute storage mode +CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y + pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy