Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit a091c33

Browse files
authoredApr 28, 2025··
Merge branch 'master' into master
2 parents 3f847df + 8d121e0 commit a091c33

File tree

21 files changed

+187
-271
lines changed

21 files changed

+187
-271
lines changed
 

‎.github/scripts/on-push-idf.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
CHECK_REQUIREMENTS="./components/arduino-esp32/.github/scripts/sketch_utils.sh check_requirements"
6+
7+
# Export IDF environment
8+
. ${IDF_PATH}/export.sh
9+
10+
# Find all examples in ./components/arduino-esp32/idf_component_examples
11+
idf_component_examples=$(find ./components/arduino-esp32/idf_component_examples -mindepth 1 -maxdepth 1 -type d)
12+
13+
for example in $idf_component_examples; do
14+
if [ -f "$example"/ci.json ]; then
15+
# If the target is listed as false, skip the sketch. Otherwise, include it.
16+
is_target=$(jq -r --arg target "$IDF_TARGET" '.targets[$target]' "$example"/ci.json)
17+
if [[ "$is_target" == "false" ]]; then
18+
printf "\n\033[93mSkipping %s for target %s\033[0m\n\n" "$example" "$IDF_TARGET"
19+
continue
20+
fi
21+
fi
22+
23+
idf.py -C "$example" set-target "$IDF_TARGET"
24+
25+
has_requirements=$(${CHECK_REQUIREMENTS} "$example" "$example/sdkconfig")
26+
if [ "$has_requirements" -eq 0 ]; then
27+
printf "\n\033[93m%s does not meet the requirements for %s. Skipping...\033[0m\n\n" "$example" "$IDF_TARGET"
28+
continue
29+
fi
30+
31+
printf "\n\033[95mBuilding %s\033[0m\n\n" "$example"
32+
idf.py -C "$example" -DEXTRA_COMPONENT_DIRS="$PWD/components" build
33+
done

‎.github/scripts/on-release.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ PACKAGE_JSON_MERGE="$GITHUB_WORKSPACE/.github/scripts/merge_packages.py"
3535
PACKAGE_JSON_TEMPLATE="$GITHUB_WORKSPACE/package/package_esp32_index.template.json"
3636
PACKAGE_JSON_DEV="package_esp32_dev_index.json"
3737
PACKAGE_JSON_REL="package_esp32_index.json"
38+
PACKAGE_JSON_DEV_CN="package_esp32_dev_index_cn.json"
39+
PACKAGE_JSON_REL_CN="package_esp32_index_cn.json"
3840

3941
echo "Event: $GITHUB_EVENT_NAME, Repo: $GITHUB_REPOSITORY, Path: $GITHUB_WORKSPACE, Ref: $GITHUB_REF"
4042
echo "Action: $action, Branch: $RELEASE_BRANCH, ID: $RELEASE_ID"
@@ -339,9 +341,13 @@ jq_arg=".packages[0].platforms[0].version = \"$RELEASE_TAG\" | \
339341
# Generate package JSONs
340342
echo "Generating $PACKAGE_JSON_DEV ..."
341343
cat "$PACKAGE_JSON_TEMPLATE" | jq "$jq_arg" > "$OUTPUT_DIR/$PACKAGE_JSON_DEV"
344+
# On MacOS the sed command won't skip the first match. Use gsed instead.
345+
sed '0,/github\.com\/espressif\//!s|github\.com/espressif/|dl.espressif.cn/github_assets/espressif/|g' "$OUTPUT_DIR/$PACKAGE_JSON_DEV" > "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN"
342346
if [ "$RELEASE_PRE" == "false" ]; then
343347
echo "Generating $PACKAGE_JSON_REL ..."
344348
cat "$PACKAGE_JSON_TEMPLATE" | jq "$jq_arg" > "$OUTPUT_DIR/$PACKAGE_JSON_REL"
349+
# On MacOS the sed command won't skip the first match. Use gsed instead.
350+
sed '0,/github\.com\/espressif\//!s|github\.com/espressif/|dl.espressif.cn/github_assets/espressif/|g' "$OUTPUT_DIR/$PACKAGE_JSON_REL" > "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN"
345351
fi
346352

347353
# Figure out the last release or pre-release
@@ -373,12 +379,14 @@ echo
373379
if [ -n "$prev_any_release" ] && [ "$prev_any_release" != "null" ]; then
374380
echo "Merging with JSON from $prev_any_release ..."
375381
merge_package_json "$prev_any_release/$PACKAGE_JSON_DEV" "$OUTPUT_DIR/$PACKAGE_JSON_DEV"
382+
merge_package_json "$prev_any_release/$PACKAGE_JSON_DEV_CN" "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN"
376383
fi
377384

378385
if [ "$RELEASE_PRE" == "false" ]; then
379386
if [ -n "$prev_release" ] && [ "$prev_release" != "null" ]; then
380387
echo "Merging with JSON from $prev_release ..."
381388
merge_package_json "$prev_release/$PACKAGE_JSON_REL" "$OUTPUT_DIR/$PACKAGE_JSON_REL"
389+
merge_package_json "$prev_release/$PACKAGE_JSON_REL_CN" "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN"
382390
fi
383391
fi
384392

@@ -388,6 +396,8 @@ echo "Installing arduino-cli ..."
388396
export PATH="/home/runner/bin:$PATH"
389397
source "${SCRIPTS_DIR}/install-arduino-cli.sh"
390398

399+
# For the Chinese mirror, we can't test the package JSONs as the Chinese mirror might not be updated yet.
400+
391401
echo "Testing $PACKAGE_JSON_DEV install ..."
392402

393403
echo "Installing esp32 ..."
@@ -445,11 +455,15 @@ fi
445455
echo "Uploading $PACKAGE_JSON_DEV ..."
446456
echo "Download URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_DEV")"
447457
echo "Pages URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_DEV" "$OUTPUT_DIR/$PACKAGE_JSON_DEV")"
458+
echo "Download CN URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN")"
459+
echo "Pages CN URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_DEV" "$OUTPUT_DIR/$PACKAGE_JSON_DEV_CN")"
448460
echo
449461
if [ "$RELEASE_PRE" == "false" ]; then
450462
echo "Uploading $PACKAGE_JSON_REL ..."
451463
echo "Download URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_REL")"
452464
echo "Pages URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_REL" "$OUTPUT_DIR/$PACKAGE_JSON_REL")"
465+
echo "Download CN URL: $(git_safe_upload_asset "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN")"
466+
echo "Pages CN URL: $(git_safe_upload_to_pages "$PACKAGE_JSON_REL" "$OUTPUT_DIR/$PACKAGE_JSON_REL_CN")"
453467
echo
454468
fi
455469

‎.github/scripts/sketch_utils.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function check_requirements { # check_requirements <sketchdir> <sdkconfig_path>
1616
local requirements_or
1717

1818
if [ ! -f "$sdkconfig_path" ] || [ ! -f "$sketchdir/ci.json" ]; then
19-
echo "ERROR: sdkconfig or ci.json not found" 1>&2
19+
echo "WARNING: sdkconfig or ci.json not found. Assuming requirements are met." 1>&2
2020
# Return 1 on error to force the sketch to be built and fail. This way the
2121
# CI will fail and the user will know that the sketch has a problem.
2222
else

‎.github/workflows/push.yml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ on:
3131
- "!libraries/**.properties"
3232
- "!libraries/**.py"
3333
- "package/**"
34+
- "idf_component_examples/**"
3435
- "tools/**.py"
3536
- "platform.txt"
3637
- "programmers.txt"
@@ -45,7 +46,6 @@ on:
4546
- "!.github/scripts/tests_*"
4647
- "!.github/scripts/upload_*"
4748
- "variants/esp32/**/*"
48-
- "variants/esp32c2/**/*"
4949
- "variants/esp32c3/**/*"
5050
- "variants/esp32c6/**/*"
5151
- "variants/esp32h2/**/*"
@@ -124,7 +124,7 @@ jobs:
124124
- 'idf_component.yml'
125125
- 'Kconfig.projbuild'
126126
- 'CMakeLists.txt'
127-
- "variants/esp32c2/**/*"
127+
- "idf_component_examples/**"
128128
129129
- name: Set chunks
130130
id: set-chunks
@@ -267,15 +267,23 @@ jobs:
267267
submodules: recursive
268268
path: components/arduino-esp32
269269

270+
- name: Setup jq
271+
uses: dcarbone/install-jq-action@e397bd87438d72198f81efd21f876461183d383a # v3.0.1
272+
270273
- name: Build
271274
env:
272275
IDF_TARGET: ${{ matrix.idf_target }}
273276
shell: bash
274277
run: |
275-
. ${IDF_PATH}/export.sh
276-
idf.py create-project test
277-
echo CONFIG_FREERTOS_HZ=1000 > test/sdkconfig.defaults
278-
idf.py -C test -DEXTRA_COMPONENT_DIRS=$PWD/components build
278+
chmod a+x ./components/arduino-esp32/.github/scripts/*
279+
./components/arduino-esp32/.github/scripts/on-push-idf.sh
280+
281+
- name: Upload generated sdkconfig files for debugging
282+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
283+
if: always()
284+
with:
285+
name: sdkconfig-${{ matrix.idf_target }}
286+
path: ./components/arduino-esp32/idf_component_examples/**/sdkconfig
279287

280288
# Save artifacts to gh-pages
281289
save-master-artifacts:

‎boards.txt

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6007,12 +6007,12 @@ twatchs3.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
60076007
twatchs3.menu.UploadMode.cdc.upload.use_1200bps_touch=true
60086008
twatchs3.menu.UploadMode.cdc.upload.wait_for_upload_port=true
60096009

6010-
twatchs3.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
6011-
twatchs3.menu.PartitionScheme.fatflash.build.partitions=ffat
6012-
twatchs3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
60136010
twatchs3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
60146011
twatchs3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
60156012
twatchs3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
6013+
twatchs3.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
6014+
twatchs3.menu.PartitionScheme.fatflash.build.partitions=ffat
6015+
twatchs3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
60166016
twatchs3.menu.PartitionScheme.rainmaker=RainMaker
60176017
twatchs3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
60186018
twatchs3.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
@@ -6076,6 +6076,10 @@ twatchs3.menu.Revision.Radio_SX1280=Radio-SX1280
60766076
twatchs3.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
60776077
twatchs3.menu.Revision.Radio_CC1101=Radio-CC1101
60786078
twatchs3.menu.Revision.Radio_CC1101.build.board=LILYGO_LORA_CC1101
6079+
twatchs3.menu.Revision.Radio_LR1121=Radio-LR1121
6080+
twatchs3.menu.Revision.Radio_LR1121.build.board=LILYGO_LORA_LR1121
6081+
twatchs3.menu.Revision.Radio_SI4432=Radio-SI4432
6082+
twatchs3.menu.Revision.Radio_SI4432.build.board=LILYGO_LORA_SI4432
60796083

60806084
##############################################################
60816085

@@ -6231,13 +6235,16 @@ twatch_ultra.menu.EraseFlash.none.upload.erase_cmd=
62316235
twatch_ultra.menu.EraseFlash.all=Enabled
62326236
twatch_ultra.menu.EraseFlash.all.upload.erase_cmd=-e
62336237

6234-
twatch_ultra.menu.Revision.Radio_SX1280=Radio-SX1280
6235-
twatch_ultra.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
62366238
twatch_ultra.menu.Revision.Radio_SX1262=Radio-SX1262
62376239
twatch_ultra.menu.Revision.Radio_SX1262.build.board=LILYGO_LORA_SX1262
6240+
twatch_ultra.menu.Revision.Radio_SX1280=Radio-SX1280
6241+
twatch_ultra.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
62386242
twatch_ultra.menu.Revision.Radio_CC1101=Radio-CC1101
62396243
twatch_ultra.menu.Revision.Radio_CC1101.build.board=LILYGO_LORA_CC1101
6240-
6244+
twatch_ultra.menu.Revision.Radio_LR1121=Radio-LR1121
6245+
twatch_ultra.menu.Revision.Radio_LR1121.build.board=LILYGO_LORA_LR1121
6246+
twatch_ultra.menu.Revision.Radio_SI4432=Radio-SI4432
6247+
twatch_ultra.menu.Revision.Radio_SI4432.build.board=LILYGO_LORA_SI4432
62416248

62426249
##############################################################
62436250

@@ -6393,12 +6400,16 @@ tlora_pager.menu.EraseFlash.all=Enabled
63936400
tlora_pager.menu.EraseFlash.all.upload.erase_cmd=-e
63946401

63956402

6396-
tlora_pager.menu.Revision.Radio_SX1280=Radio-SX1280
6397-
tlora_pager.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
63986403
tlora_pager.menu.Revision.Radio_SX1262=Radio-SX1262
63996404
tlora_pager.menu.Revision.Radio_SX1262.build.board=LILYGO_LORA_SX1262
6405+
tlora_pager.menu.Revision.Radio_SX1280=Radio-SX1280
6406+
tlora_pager.menu.Revision.Radio_SX1280.build.board=LILYGO_LORA_SX1280
64006407
tlora_pager.menu.Revision.Radio_CC1101=Radio-CC1101
64016408
tlora_pager.menu.Revision.Radio_CC1101.build.board=LILYGO_LORA_CC1101
6409+
tlora_pager.menu.Revision.Radio_LR1121=Radio-LR1121
6410+
tlora_pager.menu.Revision.Radio_LR1121.build.board=LILYGO_LORA_LR1121
6411+
tlora_pager.menu.Revision.Radio_SI4432=Radio-SI4432
6412+
tlora_pager.menu.Revision.Radio_SI4432.build.board=LILYGO_LORA_SI4432
64026413

64036414
##############################################################
64046415

‎idf_component_examples/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
build/
2+
managed_components/
3+
dependencies.lock
4+
sdkconfig

‎idf_component_examples/esp_matter_light/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ set(PROJECT_VER_NUMBER 1)
88
# This should be done before using the IDF_TARGET variable.
99
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
1010

11+
idf_build_set_property(MINIMAL_BUILD ON)
1112
project(arduino_managed_component_light)
1213

1314
# WARNING: This is just an example for using key for decrypting the encrypted OTA image
@@ -20,7 +21,7 @@ if(CONFIG_IDF_TARGET_ESP32C2)
2021
include(relinker)
2122
endif()
2223

23-
idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++17;-Os;-DCHIP_HAVE_CONFIG_H" APPEND)
24+
idf_build_set_property(CXX_COMPILE_OPTIONS "-std=gnu++2a;-Os;-DCHIP_HAVE_CONFIG_H" APPEND)
2425
idf_build_set_property(C_COMPILE_OPTIONS "-Os" APPEND)
2526
# For RISCV chips, project_include.cmake sets -Wno-format, but does not clear various
2627
# flags that depend on -Wformat

‎idf_component_examples/esp_matter_light/README.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,22 @@ Use ESP-IDF 5.1.4 from https://github.com/espressif/esp-idf/tree/release/v5.1
5959
This example has been tested with Arduino Core 3.0.4
6060

6161
The project will download all necessary components, including the Arduino Core.
62-
Run `idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.<SOC>.idf" -p <PORT> flash monitor`
62+
Execute this sequence:
63+
`<remove build folder> using linux rm command or Windows rmdir command`
64+
`idf.py set-target <SoC_Target>`
65+
`idf.py -D SDKCONFIG_DEFAULTS="sdkconfig_file1;sdkconfig_file2;sdkconfig_fileX" -p <PORT> flash monitor`
6366

6467
Example for ESP32-S3/Linux | macOS:
6568
```
66-
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32s3" -p /dev/ttyACM0 flash monitor
69+
rm -rf build
70+
idf.py set-target esp32s3
71+
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults" -p /dev/ttyACM0 flash monitor
6772
```
6873
Example for ESP32-C3/Windows:
6974
```
70-
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.esp32c3" -p com3 flash monitor
75+
rmdir /s/q build
76+
idf.py set-target esp32c3
77+
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults" -p com3 flash monitor
7178
```
7279

7380
It may be necessary to delete some folders and files before running `idf.py`
@@ -95,11 +102,15 @@ In order to build the application that will use Thread Networking instead of Wi-
95102

96103
Example for ESP32-C6/Linux | macOS:
97104
```
98-
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p /dev/ttyACM0 flash monitor
105+
rm -rf build
106+
idf.py set-target esp32c6
107+
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.c6_thread" -p /dev/ttyACM0 flash monitor
99108
```
100109
Example for ESP32-C6/Windows:
101110
```
102-
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.c6_thread" -p com3 flash monitor
111+
rmdir /s/q build
112+
idf.py set-targt esp32c6
113+
idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.c6_thread" -p com3 flash monitor
103114
```
104115

105116
It may be necessary to delete some folders and files before running `idf.py`
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"targets": {
3+
"esp32c2": false,
4+
"esp32s2": false
5+
},
6+
"requires": [
7+
"CONFIG_SOC_WIFI_SUPPORTED=y",
8+
"CONFIG_ESP_MATTER_ENABLE_DATA_MODEL=y",
9+
"CONFIG_MBEDTLS_HKDF_C=y"
10+
]
11+
}

‎idf_component_examples/esp_matter_light/main/Kconfig.projbuild

Lines changed: 18 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -3,100 +3,40 @@ menu "Light Matter Accessory"
33
config BUTTON_PIN
44
int
55
prompt "Button 1 GPIO"
6-
default ENV_GPIO_BOOT_BUTTON
6+
default 9 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6
7+
default 0
78
range -1 ENV_GPIO_IN_RANGE_MAX
89
help
910
The GPIO pin for button that will be used to turn on/off the Matter Light. It shall be connected to a push button. It can use the BOOT button of the development board.
1011
endmenu
1112

12-
1313
menu "LEDs"
1414
config WS2812_PIN
1515
int
1616
prompt "WS2812 RGB LED GPIO"
17-
default ENV_GPIO_RGB_LED
17+
default 8 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C6
18+
default 48
1819
range -1 ENV_GPIO_OUT_RANGE_MAX
1920
help
2021
The GPIO pin for the Matter Light that will be driven by RMT. It shall be connected to one single WS2812 RGB LED.
2122
endmenu
2223

23-
# TARGET CONFIGURATION
24-
if IDF_TARGET_ESP32C3
25-
config ENV_GPIO_RANGE_MIN
26-
int
27-
default 0
28-
29-
config ENV_GPIO_RANGE_MAX
30-
int
31-
default 19
32-
# GPIOs 20/21 are always used by UART in examples
33-
34-
config ENV_GPIO_IN_RANGE_MAX
35-
int
36-
default ENV_GPIO_RANGE_MAX
37-
38-
config ENV_GPIO_OUT_RANGE_MAX
39-
int
40-
default ENV_GPIO_RANGE_MAX
41-
42-
config ENV_GPIO_BOOT_BUTTON
43-
int
44-
default 9
45-
46-
config ENV_GPIO_RGB_LED
47-
int
48-
default 8
49-
endif
50-
if IDF_TARGET_ESP32C6
51-
config ENV_GPIO_RANGE_MIN
52-
int
53-
default 0
24+
config ENV_GPIO_RANGE_MIN
25+
int
26+
default 0
5427

55-
config ENV_GPIO_RANGE_MAX
56-
int
57-
default 30
58-
# GPIOs 16/17 are always used by UART in examples
28+
config ENV_GPIO_RANGE_MAX
29+
int
30+
default 19 if IDF_TARGET_ESP32C3
31+
default 30 if IDF_TARGET_ESP32C6
32+
default 48
5933

60-
config ENV_GPIO_IN_RANGE_MAX
61-
int
62-
default ENV_GPIO_RANGE_MAX
34+
config ENV_GPIO_IN_RANGE_MAX
35+
int
36+
default ENV_GPIO_RANGE_MAX
6337

64-
config ENV_GPIO_OUT_RANGE_MAX
65-
int
66-
default ENV_GPIO_RANGE_MAX
67-
68-
config ENV_GPIO_BOOT_BUTTON
69-
int
70-
default 9
71-
72-
config ENV_GPIO_RGB_LED
73-
int
74-
default 8
75-
endif
76-
if IDF_TARGET_ESP32S3
77-
config ENV_GPIO_RANGE_MIN
78-
int
79-
default 0
80-
81-
config ENV_GPIO_RANGE_MAX
82-
int
83-
default 48
84-
85-
config ENV_GPIO_IN_RANGE_MAX
86-
int
87-
default ENV_GPIO_RANGE_MAX
88-
89-
config ENV_GPIO_OUT_RANGE_MAX
90-
int
91-
default ENV_GPIO_RANGE_MAX
92-
93-
config ENV_GPIO_BOOT_BUTTON
94-
int
95-
default 0
96-
97-
config ENV_GPIO_RGB_LED
98-
int
99-
default 48
100-
endif
38+
config ENV_GPIO_OUT_RANGE_MAX
39+
int
40+
default ENV_GPIO_RANGE_MAX
10141

10242
endmenu

‎idf_component_examples/esp_matter_light/main/idf_component.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
dependencies:
22
espressif/esp_matter:
3-
version: "^1.3.0"
3+
version: ">=1.3.0"
44
# Adds Arduino Core from GitHub repository using main branch
55
espressif/arduino-esp32:
6-
version: "^3.0.5"
6+
version: ">=3.0.5"
77
override_path: "../../../"
88
pre_release: true
99

‎idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c3 renamed to ‎idf_component_examples/esp_matter_light/sdkconfig.defaults

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
CONFIG_IDF_TARGET="esp32c3"
2-
31
# Arduino Settings
42
CONFIG_FREERTOS_HZ=1000
53
CONFIG_AUTOSTART_ARDUINO=y

‎idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32c6

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,5 @@
11
CONFIG_IDF_TARGET="esp32c6"
22

3-
# Arduino Settings
4-
CONFIG_FREERTOS_HZ=1000
5-
CONFIG_AUTOSTART_ARDUINO=y
6-
7-
# Log Levels
8-
# Boot Messages - Log level
9-
CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y
10-
# Arduino Log Level
11-
CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_INFO=y
12-
# IDF Log Level
13-
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y
14-
15-
# Default to 921600 baud when flashing and monitoring device
16-
CONFIG_ESPTOOLPY_BAUD_921600B=y
17-
CONFIG_ESPTOOLPY_BAUD=921600
18-
CONFIG_ESPTOOLPY_COMPRESSED=y
19-
CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y
20-
CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
21-
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
22-
23-
#enable BT
24-
CONFIG_BT_ENABLED=y
25-
CONFIG_BT_NIMBLE_ENABLED=y
26-
27-
#disable BT connection reattempt
28-
CONFIG_BT_NIMBLE_ENABLE_CONN_REATTEMPT=n
29-
30-
#enable lwip ipv6 autoconfig
31-
CONFIG_LWIP_IPV6_AUTOCONFIG=y
32-
33-
# Use a custom partition table
34-
CONFIG_PARTITION_TABLE_CUSTOM=y
35-
CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
36-
CONFIG_PARTITION_TABLE_OFFSET=0xC000
37-
38-
# Disable chip shell
39-
CONFIG_ENABLE_CHIP_SHELL=n
40-
41-
# Enable OTA Requester
42-
CONFIG_ENABLE_OTA_REQUESTOR=n
43-
44-
#enable lwIP route hooks
45-
CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT=y
46-
CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT=y
47-
48-
# disable softap by default
49-
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n
50-
CONFIG_ENABLE_WIFI_STATION=y
51-
CONFIG_ENABLE_WIFI_AP=n
52-
53-
# Disable DS Peripheral
54-
CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n
55-
56-
# Use compact attribute storage mode
57-
CONFIG_ESP_MATTER_NVS_USE_COMPACT_ATTR_STORAGE=y
58-
59-
# Enable HKDF in mbedtls
60-
CONFIG_MBEDTLS_HKDF_C=y
61-
62-
# Increase LwIP IPv6 address number to 6 (MAX_FABRIC + 1)
63-
# unique local addresses for fabrics(MAX_FABRIC), a link local address(1)
64-
CONFIG_LWIP_IPV6_NUM_ADDRESSES=6
65-
663
# libsodium
674
CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
685

‎idf_component_examples/esp_matter_light/sdkconfig.defaults.esp32s3

Lines changed: 0 additions & 64 deletions
This file was deleted.

‎idf_component_examples/hello_world/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@
55
cmake_minimum_required(VERSION 3.16)
66

77
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
8+
9+
idf_build_set_property(MINIMAL_BUILD ON)
810
project(main)

‎idf_component_examples/hw_cdc_hello_world/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake)
99
list(APPEND compile_definitions "ARDUINO_USB_CDC_ON_BOOT=1")
1010
list(APPEND compile_definitions "ARDUINO_USB_MODE=1")
1111

12+
idf_build_set_property(MINIMAL_BUILD ON)
1213
project(hw_cdc_hello_world)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"requires": [
3+
"CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y"
4+
]
5+
}

‎libraries/ESP32/examples/RMT/RMT_LED_Blink/RMT_LED_Blink.ino

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2023 Espressif Systems (Shanghai) PTE LTD
1+
// Copyright 2025 Espressif Systems (Shanghai) PTE LTD
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -13,16 +13,16 @@
1313
// limitations under the License.
1414

1515
/**
16-
* @brief This example demonstrate how to use RMT to just blink a regular LED (GPIO)
17-
* It uses all the different RMT Writing APIs to blink the LED by hardware, not being
18-
* necessary the regular Blink code in Arduino.
19-
*
20-
* The output is the Blinking LED in the GPIO and a serial output describing what is
21-
* going on, along the execution.
22-
*
23-
* The circuit is just a LED and a resistor of 270 ohms connected to the GPIO
24-
* GPIO ---> resistor 270 ohms ---> + LED - ---> GND
25-
*/
16+
@brief This example demonstrate how to use RMT to just blink a regular LED (GPIO)
17+
It uses all the different RMT Writing APIs to blink the LED by hardware, not being
18+
necessary the regular Blink code in Arduino.
19+
20+
The output is the Blinking LED in the GPIO and a serial output describing what is
21+
going on, along the execution.
22+
23+
The circuit is just a LED and a resistor of 270 ohms connected to the GPIO
24+
GPIO ---> resistor 270 ohms ---> + LED - ---> GND
25+
*/
2626

2727
#define BLINK_GPIO 2
2828

@@ -232,15 +232,15 @@ void RMT_Mixed_Write_Blink() {
232232
Serial.println("===> rmtWrite() (Blocking Mode) to Blink the LED.");
233233
Serial.println("Blinking at 500ms on + 500ms off :: 4 blinks");
234234
for (uint8_t i = 0; i < 4; i++) {
235-
if (!rmtWrite(BLINK_GPIO, blink_500ms_rmt_data, RMT_SYMBOLS_OF(blink_500ms_rmt_data) - 2, RMT_WAIT_FOR_EVER)) {
235+
if (!rmtWrite(BLINK_GPIO, blink_500ms_rmt_data, RMT_SYMBOLS_OF(blink_500ms_rmt_data) - 1, RMT_WAIT_FOR_EVER)) {
236236
Serial.println("===> rmtWrite Blink 0.5s Error!");
237237
}
238238
}
239239

240240
Serial.println("===> rmtWriteAsync() (Non-Blocking Mode) to Blink the LED.");
241241
Serial.println("Blinking at 250ms on + 250ms off :: 5 blinks");
242242
for (uint8_t i = 0; i < 5; i++) {
243-
if (!rmtWriteAsync(BLINK_GPIO, blink_250ms_rmt_data, RMT_SYMBOLS_OF(blink_250ms_rmt_data) - 2)) {
243+
if (!rmtWriteAsync(BLINK_GPIO, blink_250ms_rmt_data, RMT_SYMBOLS_OF(blink_250ms_rmt_data) - 1)) {
244244
Serial.println("===> rmtWrite Blink 0.25s Error!");
245245
}
246246
// wait (blocks) until all the data is sent out
@@ -267,9 +267,11 @@ void RMT_Loop_Write_Blink() {
267267
Serial.println("===> rmtWriteLooping Blink 0.25s Error!");
268268
}
269269
delay(5000);
270+
270271
Serial.println("Blinking OFF for 2 seconds");
271-
if (!rmtWriteLooping(BLINK_GPIO, NULL, 0)) {
272-
Serial.println("===> rmtWriteLooping Blink OFF Error!");
272+
rmt_data_t blink_STOP_rmt_data[] = {{0, 0, 0, 0}};
273+
if (!rmtWrite(BLINK_GPIO, blink_STOP_rmt_data, RMT_SYMBOLS_OF(blink_STOP_rmt_data), RMT_WAIT_FOR_EVER)) {
274+
Serial.println("===> rmtWrite Blink STOP Error!");
273275
}
274276
delay(2000);
275277
}
@@ -278,19 +280,19 @@ void RMT_Single_Write_Blocking_Blink() {
278280
Serial.println("Using RMT Writing and its Completion to blink an LED.");
279281
Serial.println("Blinking at 1s on + 1s off :: 2 blinks");
280282
for (uint8_t i = 0; i < 2; i++) {
281-
if (!rmtWrite(BLINK_GPIO, blink_1s_rmt_data, RMT_SYMBOLS_OF(blink_1s_rmt_data) - 2, RMT_WAIT_FOR_EVER)) {
283+
if (!rmtWrite(BLINK_GPIO, blink_1s_rmt_data, RMT_SYMBOLS_OF(blink_1s_rmt_data) - 1, RMT_WAIT_FOR_EVER)) {
282284
Serial.println("===> rmtWrite Blink 1s Error!");
283285
}
284286
}
285287
Serial.println("Blinking at 500ms on + 500ms off :: 4 blinks");
286288
for (uint8_t i = 0; i < 4; i++) {
287-
if (!rmtWrite(BLINK_GPIO, blink_500ms_rmt_data, RMT_SYMBOLS_OF(blink_500ms_rmt_data) - 2, RMT_WAIT_FOR_EVER)) {
289+
if (!rmtWrite(BLINK_GPIO, blink_500ms_rmt_data, RMT_SYMBOLS_OF(blink_500ms_rmt_data) - 1, RMT_WAIT_FOR_EVER)) {
288290
Serial.println("===> rmtWrite Blink 0.5s Error!");
289291
}
290292
}
291293
Serial.println("Blinking at 250ms on + 250ms off :: 8 blinks");
292294
for (uint8_t i = 0; i < 8; i++) {
293-
if (!rmtWrite(BLINK_GPIO, blink_250ms_rmt_data, RMT_SYMBOLS_OF(blink_250ms_rmt_data) - 2, RMT_WAIT_FOR_EVER)) {
295+
if (!rmtWrite(BLINK_GPIO, blink_250ms_rmt_data, RMT_SYMBOLS_OF(blink_250ms_rmt_data) - 1, RMT_WAIT_FOR_EVER)) {
294296
Serial.println("===> rmtWrite Blink 0.25s Error!");
295297
}
296298
}
@@ -302,23 +304,23 @@ void RMT_Write_Aync_Non_Blocking_Blink() {
302304
Serial.println("Using RMT Async Writing and its Completion to blink an LED.");
303305
Serial.println("Blinking at 1s on + 1s off :: 5 blinks");
304306
for (uint8_t i = 0; i < 5; i++) {
305-
if (!rmtWriteAsync(BLINK_GPIO, blink_1s_rmt_data, RMT_SYMBOLS_OF(blink_1s_rmt_data) - 2)) {
307+
if (!rmtWriteAsync(BLINK_GPIO, blink_1s_rmt_data, RMT_SYMBOLS_OF(blink_1s_rmt_data) - 1)) {
306308
Serial.println("===> rmtWrite Blink 1s Error!");
307309
}
308310
// wait (blocks) until all the data is sent out
309311
while (!rmtTransmitCompleted(BLINK_GPIO));
310312
}
311313
Serial.println("Blinking at 500ms on + 500ms off :: 5 blinks");
312314
for (uint8_t i = 0; i < 5; i++) {
313-
if (!rmtWriteAsync(BLINK_GPIO, blink_500ms_rmt_data, RMT_SYMBOLS_OF(blink_500ms_rmt_data) - 2)) {
315+
if (!rmtWriteAsync(BLINK_GPIO, blink_500ms_rmt_data, RMT_SYMBOLS_OF(blink_500ms_rmt_data) - 1)) {
314316
Serial.println("===> rmtWrite Blink 0.5s Error!");
315317
}
316318
// wait (blocks) until all the data is sent out
317319
while (!rmtTransmitCompleted(BLINK_GPIO));
318320
}
319321
Serial.println("Blinking at 250ms on + 250ms off :: 5 blinks");
320322
for (uint8_t i = 0; i < 5; i++) {
321-
if (!rmtWriteAsync(BLINK_GPIO, blink_250ms_rmt_data, RMT_SYMBOLS_OF(blink_250ms_rmt_data) - 2)) {
323+
if (!rmtWriteAsync(BLINK_GPIO, blink_250ms_rmt_data, RMT_SYMBOLS_OF(blink_250ms_rmt_data) - 1)) {
322324
Serial.println("===> rmtWrite Blink 0.25s Error!");
323325
}
324326
// wait (blocks) until all the data is sent out
@@ -345,7 +347,6 @@ void setup() {
345347

346348
RMT_Mixed_Write_Blink();
347349
Serial.println("End of Mixed Calls testing");
348-
delay(1000);
349350

350351
Serial.println("\n===============================");
351352
Serial.println("Starting a Blinking sequence...");

‎variants/lilygo_tlora_pager/pins_arduino.h

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
static const uint8_t TX = 43;
2121
static const uint8_t RX = 44;
2222

23-
//BHI260,PCF85063,BQ25896,DRV2605L,ES8311 share I2C Bus
24-
static const uint8_t SDA = 2;
25-
static const uint8_t SCL = 3;
23+
// BHI260,PCF85063,BQ25896,DRV2605L,ES8311 share I2C Bus
24+
static const uint8_t SDA = 3;
25+
static const uint8_t SCL = 2;
2626

2727
// Default sd cs pin
2828
static const uint8_t SS = SD_CS;
@@ -75,16 +75,18 @@ static const uint8_t SCK = 35;
7575
#define DISP_BL (42)
7676

7777
// External expansion chip IO definition
78-
#define EXPANDS_DRV_EN (0)
79-
#define EXPANDS_AMP_EN (1)
80-
#define EXPANDS_KB_RST (2)
81-
#define EXPANDS_LORA_EN (3)
82-
#define EXPANDS_GPS_EN (4)
83-
#define EXPANDS_NFC_EN (5)
84-
#define EXPANDS_DISP_RST (6)
85-
#define EXPANDS_GPS_RST (7)
86-
#define EXPANDS_KB_EN (8)
87-
#define EXPANDS_GPIO_EN (9)
78+
#define EXPANDS_DRV_EN (0)
79+
#define EXPANDS_AMP_EN (1)
80+
#define EXPANDS_KB_RST (2)
81+
#define EXPANDS_LORA_EN (3)
82+
#define EXPANDS_GPS_EN (4)
83+
#define EXPANDS_NFC_EN (5)
84+
#define EXPANDS_GPS_RST (7)
85+
#define EXPANDS_KB_EN (8)
86+
#define EXPANDS_GPIO_EN (9)
87+
#define EXPANDS_SD_DET (10)
88+
#define EXPANDS_SD_PULLEN (11)
89+
#define EXPANDS_SD_EN (12)
8890

8991
// Peripheral definition exists
9092
#define USING_AUDIO_CODEC

‎variants/lilygo_twatch_s3/pins_arduino.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
static const uint8_t TX = 42;
4545
static const uint8_t RX = 41;
4646

47-
//BHI260,PCF85063,AXP2101,DRV2605L,PN532 share I2C Bus
47+
// BMA423,PCF8563,AXP2101,DRV2605L share I2C Bus
4848
static const uint8_t SDA = 10;
4949
static const uint8_t SCL = 11;
5050

‎variants/lilygo_twatch_ultra/pins_arduino.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#define DISP_D3 (45)
2323
#define DISP_SCK (40)
2424
#define DISP_CS (41)
25+
#define DISP_RST (37)
2526
#define DISP_TE (6)
2627

2728
// Interrupt IO port
@@ -47,9 +48,9 @@
4748
static const uint8_t TX = 43;
4849
static const uint8_t RX = 44;
4950

50-
//BHI260,PCF85063,AXP2101,DRV2605L,PN532 share I2C Bus
51-
static const uint8_t SDA = 2;
52-
static const uint8_t SCL = 3;
51+
// BHI260,PCF85063,AXP2101,DRV2605L share I2C Bus
52+
static const uint8_t SDA = 3;
53+
static const uint8_t SCL = 2;
5354

5455
// Default sd cs pin
5556
static const uint8_t SS = SD_CS;
@@ -76,8 +77,8 @@ static const uint8_t SCK = 35;
7677
// External expansion chip IO definition
7778
#define EXPANDS_DRV_EN (6)
7879
#define EXPANDS_DISP_EN (7)
79-
#define EXPANDS_TOUCH_RST (10)
80-
#define EXPANDS_DISP_RST (11)
80+
#define EXPANDS_TOUCH_RST (8)
81+
#define EXPANDS_SD_DET (10)
8182

8283
// Peripheral definition exists
8384
#define USING_XL9555_EXPANDS

0 commit comments

Comments
 (0)
Please sign in to comment.