Skip to content

Commit 5d4ed02

Browse files
me-no-devSuGlider
andauthored
Add Matter component as part of the libs (espressif#220)
* Add Matter component as part of the libs * feat(matter): adds necessary setup * feat(matter): sdkconfig for each SoC * fix(matter): no wifi within C2 * fix(matter): replaces wrong pieces * fix(matter): forgot folder reference * feat(matter): strip matter lib.a * fix(matter): missing double quote * fix(matter): bad folder name * feat(matter): testing freertos backward compatibility * feat(matter): testing not using minimal mdns * feat(matter): disable lwip ipv6 autoconfig * feat(matter): common settings * feat(matter): revert changes * feat(matter): revert changes * feat(matter): revert changes * feat(matter): revert changes * feat(matter): no WiFi matter for H2 - thread only * feat(matter): revert changes * feat(matter): revert changes * feat(matter): no support for H2 - no WiFi * feat(matter): clean up * feat(matter): script clean up --------- Co-authored-by: SuGliger <rpgarc77@gmail.com> Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
1 parent 11e303c commit 5d4ed02

File tree

6 files changed

+38
-35
lines changed

6 files changed

+38
-35
lines changed

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,8 @@ add_custom_command(
3333
VERBATIM
3434
)
3535
add_custom_target(mem-variant DEPENDS "mem_variant")
36+
37+
##################
38+
### ESP Matter ###
39+
##################
40+
idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++17;-DCHIP_HAVE_CONFIG_H" APPEND)

configs/defconfig.common

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,14 @@ CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y
7575
CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT=y
7676
CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT=y
7777
CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM=y
78+
CONFIG_LWIP_MULTICAST_PING=y
79+
CONFIG_LWIP_BROADCAST_PING=y
80+
CONFIG_LWIP_IPV6_NUM_ADDRESSES=8
7881
CONFIG_MBEDTLS_PSK_MODES=y
7982
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
83+
CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y
84+
CONFIG_MBEDTLS_ECJPAKE_C=y
85+
CONFIG_MBEDTLS_HKDF_C=y
8086
CONFIG_MBEDTLS_CAMELLIA_C=y
8187
CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y
8288
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
@@ -111,3 +117,13 @@ CONFIG_ESP_COREDUMP_STACK_SIZE=1024
111117
CONFIG_MBEDTLS_DYNAMIC_BUFFER=y
112118
CONFIG_MBEDTLS_DYNAMIC_FREE_PEER_CERT=y
113119
CONFIG_MBEDTLS_DYNAMIC_FREE_CONFIG_DATA=y
120+
#
121+
# Matter Settings
122+
#
123+
# Disable Matter BLE
124+
CONFIG_ENABLE_CHIPOBLE=n
125+
CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING=n
126+
# ESP Insights
127+
CONFIG_ENABLE_ESP_INSIGHTS_TRACE=n
128+
# Use compact attribute storage mode
129+
CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y

configs/defconfig.esp32c6

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,6 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
88
#CONFIG_ULP_COPROC_LP_CORE=y
99
#CONFIG_ULP_COPROC_RESERVE_MEM=4096
1010

11-
#
12-
# ESP32 Arduino OpenThread Configuration
13-
#
14-
# lwIP
15-
#
16-
CONFIG_LWIP_IPV6_NUM_ADDRESSES=8
17-
CONFIG_LWIP_MULTICAST_PING=y
18-
CONFIG_LWIP_BROADCAST_PING=y
19-
# end of lwip
20-
21-
#
22-
# mbedTLS
23-
#
24-
CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y
25-
CONFIG_MBEDTLS_ECJPAKE_C=y
26-
# end of mbedTLS
27-
2811
#
2912
# OpenThread
3013
#

configs/defconfig.esp32h2

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,6 @@ CONFIG_RTC_CLK_CAL_CYCLES=576
44
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
55
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
66

7-
#
8-
# ESP32 Arduino OpenThread Configuration
9-
#
10-
# lwIP
11-
#
12-
CONFIG_LWIP_IPV6_NUM_ADDRESSES=8
13-
CONFIG_LWIP_MULTICAST_PING=y
14-
CONFIG_LWIP_BROADCAST_PING=y
15-
# end of lwip
16-
17-
#
18-
# mbedTLS
19-
#
20-
CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y
21-
CONFIG_MBEDTLS_ECJPAKE_C=y
22-
# end of mbedTLS
23-
247
#
258
# OpenThread
269
#

main/idf_component.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ dependencies:
2222
version: ">=1.4.2"
2323
rules:
2424
- if: "target in [esp32s3]"
25+
espressif/esp_matter:
26+
version: "^1.3.0"
27+
require: public
28+
rules:
29+
- if: "target not in [esp32c2, esp32h2]"
2530

2631
# esp-sr: "^1.3.1"
2732
# esp32-camera: "^2.0.4"

tools/copy-libs.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,17 @@ echo -n "$LD_FLAGS" > "$FLAGS_DIR/ld_flags"
491491
echo -n "$LD_SCRIPTS" > "$FLAGS_DIR/ld_scripts"
492492
echo -n "$AR_LIBS" > "$FLAGS_DIR/ld_libs"
493493

494+
# Matter Library adjustments
495+
for flag_file in "c_flags" "cpp_flags" "S_flags"; do
496+
echo "Fixing $FLAGS_DIR/$flag_file"
497+
sed 's/\\\"-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=<lib\/address_resolve\/AddressResolve_DefaultImpl.h>\\\"/-DCHIP_HAVE_CONFIG_H/' $FLAGS_DIR/$flag_file > $FLAGS_DIR/$flag_file.temp
498+
mv $FLAGS_DIR/$flag_file.temp $FLAGS_DIR/$flag_file
499+
done
500+
CHIP_RESOLVE_DIR="$AR_SDK/include/espressif__esp_matter/connectedhomeip/connectedhomeip/src/lib/address_resolve"
501+
sed 's/CHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER/<lib\/address_resolve\/AddressResolve_DefaultImpl.h>/' $CHIP_RESOLVE_DIR/AddressResolve.h > $CHIP_RESOLVE_DIR/AddressResolve_temp.h
502+
mv $CHIP_RESOLVE_DIR/AddressResolve_temp.h $CHIP_RESOLVE_DIR/AddressResolve.h
503+
# End of Matter Library adjustments
504+
494505
# copy zigbee + zboss lib
495506
if [ -d "managed_components/espressif__esp-zigbee-lib/lib/$IDF_TARGET/" ]; then
496507
cp -r "managed_components/espressif__esp-zigbee-lib/lib/$IDF_TARGET"/* "$AR_SDK/lib/"
@@ -530,7 +541,7 @@ for item; do
530541
done
531542
done
532543

533-
for lib in "openthread" "espressif__esp-tflite-micro" "bt"; do
544+
for lib in "openthread" "espressif__esp-tflite-micro" "bt" "espressif__esp_matter"; do
534545
if [ -f "$AR_SDK/lib/lib$lib.a" ]; then
535546
echo "Stripping $AR_SDK/lib/lib$lib.a"
536547
"$TOOLCHAIN-strip" -g "$AR_SDK/lib/lib$lib.a"

0 commit comments

Comments
 (0)
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