Skip to content

Commit 47ea807

Browse files
committed
Update configs + SR Support
1 parent 55c3321 commit 47ea807

14 files changed

+193
-62
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ sdkconfig.old
1919
version.txt
2020
dependencies.lock
2121
managed_components/
22+
target/

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ idf_build_get_property(elf EXECUTABLE GENERATOR_EXPRESSION)
1212
add_custom_command(
1313
OUTPUT "idf_libs"
1414
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}" "${CONFIG_IDF_TARGET_ARCH_XTENSA}"
15-
DEPENDS ${elf}
15+
DEPENDS all
1616
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
1717
VERBATIM
1818
)

build.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,6 @@ if [ "$BUILD_TYPE" != "all" ]; then
122122
fi
123123

124124
rm -rf build sdkconfig out
125-
echo "* Reconfigure Project"
126-
idf.py reconfigure
127-
rm -rf build sdkconfig
128125

129126
# Add components version info
130127
mkdir -p "$AR_TOOLS/sdk" && rm -rf version.txt && rm -rf "$AR_TOOLS/sdk/versions.txt"
@@ -194,6 +191,7 @@ done
194191
# update package_esp32_index.template.json
195192
if [ "$BUILD_TYPE" = "all" ]; then
196193
python3 ./tools/gen_tools_json.py -i "$IDF_PATH" -j "$AR_COMPS/arduino/package/package_esp32_index.template.json" -o "$AR_OUT/"
194+
python3 ./tools/gen_tools_json.py -i "$IDF_PATH" -o "$TOOLS_JSON_OUT/"
197195
if [ $? -ne 0 ]; then exit 1; fi
198196
fi
199197

configs/builds.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@
66
"out":"lib/libspi_flash.a",
77
"targets":["esp32","esp32c3","esp32s2","esp32s3"]
88
},
9+
{
10+
"file":"libesp_psram.a",
11+
"src":"build/esp-idf/esp_psram/libesp_psram.a",
12+
"out":"lib/libesp_psram.a",
13+
"targets":["esp32s3"]
14+
},
915
{
1016
"file":"libesp_system.a",
1117
"src":"build/esp-idf/esp_system/libesp_system.a",
@@ -40,7 +46,7 @@
4046
"targets":[
4147
{
4248
"target": "esp32s3",
43-
"features":[],
49+
"features":["esp_sr"],
4450
"idf_libs":["qio","80m","qio_ram"],
4551
"bootloaders":[
4652
["qio","120m","qio_ram"],

configs/defconfig.common

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ CONFIG_ESP_TASK_WDT_PANIC=y
2121
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
2222
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
2323
CONFIG_ESP_WIFI_FTM_ENABLE=y
24-
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
25-
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
26-
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=16
27-
CONFIG_ESP32_WIFI_CSI_ENABLED=y
28-
CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
29-
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
30-
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
24+
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8
25+
CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8
26+
CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=16
27+
CONFIG_ESP_WIFI_CSI_ENABLED=y
28+
CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
29+
# CONFIG_ESP_WIFI_IRAM_OPT is not set
30+
# CONFIG_ESP_WIFI_RX_IRAM_OPT is not set
3131
CONFIG_ETH_SPI_ETHERNET_DM9051=y
3232
CONFIG_ETH_SPI_ETHERNET_W5500=y
3333
CONFIG_FATFS_CODEPAGE_850=y

configs/defconfig.esp32s3

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,5 @@ CONFIG_RTC_CLK_CAL_CYCLES=576
55
CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO=y
66
# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
77
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1 is not set
8-
CONFIG_SR_WN_MODEL_WN8_QUANT=y
9-
CONFIG_SR_WN_WN8_HIESP=y
10-
CONFIG_SR_MN_ENGLISH=y
11-
CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8=y
128
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
139
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3120

configs/defconfig.esp_sr

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
2+
CONFIG_PARTITION_TABLE_CUSTOM=y
3+
CONFIG_SR_WN_WN9_HIESP=y
4+
CONFIG_SR_MN_CN_NONE=y
5+
CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8=y
6+
CONFIG_EN_SPEECH_COMMAND_ID0=""
7+
CONFIG_EN_SPEECH_COMMAND_ID1=""
8+
CONFIG_EN_SPEECH_COMMAND_ID2=""
9+
CONFIG_EN_SPEECH_COMMAND_ID3=""
10+
CONFIG_EN_SPEECH_COMMAND_ID4=""
11+
CONFIG_EN_SPEECH_COMMAND_ID5=""
12+
CONFIG_EN_SPEECH_COMMAND_ID6=""
13+
CONFIG_EN_SPEECH_COMMAND_ID7=""
14+
CONFIG_EN_SPEECH_COMMAND_ID8=""
15+
CONFIG_EN_SPEECH_COMMAND_ID9=""
16+
CONFIG_EN_SPEECH_COMMAND_ID10=""
17+
CONFIG_EN_SPEECH_COMMAND_ID11=""
18+
CONFIG_EN_SPEECH_COMMAND_ID12=""
19+
CONFIG_EN_SPEECH_COMMAND_ID13=""
20+
CONFIG_EN_SPEECH_COMMAND_ID14=""
21+
CONFIG_EN_SPEECH_COMMAND_ID15=""
22+
CONFIG_EN_SPEECH_COMMAND_ID16=""
23+
CONFIG_EN_SPEECH_COMMAND_ID17=""
24+
CONFIG_EN_SPEECH_COMMAND_ID18=""
25+
CONFIG_EN_SPEECH_COMMAND_ID19=""
26+
CONFIG_EN_SPEECH_COMMAND_ID20=""
27+
CONFIG_EN_SPEECH_COMMAND_ID21=""
28+
CONFIG_EN_SPEECH_COMMAND_ID22=""
29+
CONFIG_EN_SPEECH_COMMAND_ID23=""
30+
CONFIG_EN_SPEECH_COMMAND_ID24=""
31+
CONFIG_EN_SPEECH_COMMAND_ID25=""
32+
CONFIG_EN_SPEECH_COMMAND_ID26=""
33+
CONFIG_EN_SPEECH_COMMAND_ID27=""
34+
CONFIG_EN_SPEECH_COMMAND_ID28=""
35+
CONFIG_EN_SPEECH_COMMAND_ID29=""
36+
CONFIG_EN_SPEECH_COMMAND_ID30=""
37+
CONFIG_EN_SPEECH_COMMAND_ID31=""

configs/pio_end.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
"ARDUINO_ARCH_ESP32",
2+
"ESP32",
3+
("F_CPU", "$BOARD_F_CPU"),
4+
("ARDUINO", 10812),
5+
("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")),
6+
("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', "")),
7+
"ARDUINO_PARTITION_%s" % basename(env.BoardConfig().get(
8+
"build.partitions", "default.csv")).replace(".csv", "").replace("-", "_")
9+
]
10+
)

configs/pio_start.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright 2014-present PlatformIO <contact@platformio.org>
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
"""
16+
Arduino
17+
18+
Arduino Wiring-based Framework allows writing cross-platform software to
19+
control devices attached to a wide range of Arduino boards to create all
20+
kinds of creative coding, interactive objects, spaces or physical experiences.
21+
22+
http://arduino.cc/en/Reference/HomePage
23+
"""
24+
25+
# Extends: https://github.com/platformio/platform-espressif32/blob/develop/builder/main.py
26+
27+
from os.path import basename, join
28+
29+
from SCons.Script import DefaultEnvironment
30+
31+
env = DefaultEnvironment()
32+
33+
FRAMEWORK_DIR = env.PioPlatform().get_package_dir("framework-arduinoespressif32")
34+
35+
env.Append(

partitions.csv

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Name, Type, SubType, Offset, Size, Flags
2+
nvs, data, nvs, 0x9000, 0x5000,
3+
otadata, data, ota, 0xe000, 0x2000,
4+
app0, app, ota_0, 0x10000, 0x300000,
5+
app1, app, ota_1, 0x310000, 0x300000,
6+
spiffs, data, spiffs, 0x610000, 0x5E0000,
7+
model, data, spiffs, 0xBF0000, 0x400000,
8+
coredump, data, coredump,0xFF0000, 0x10000,

tools/config.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ if [ -z $IDF_PATH ]; then
66
fi
77

88
if [ -z $IDF_BRANCH ]; then
9-
IDF_BRANCH="master"
9+
IDF_BRANCH="release/v5.1"
1010
fi
1111

1212
if [ -z $AR_PR_TARGET_BRANCH ]; then
@@ -42,6 +42,8 @@ AR_TOOLS="$AR_OUT/tools"
4242
AR_PLATFORM_TXT="$AR_OUT/platform.txt"
4343
AR_GEN_PART_PY="$AR_TOOLS/gen_esp32part.py"
4444
AR_SDK="$AR_TOOLS/sdk/$IDF_TARGET"
45+
PIO_SDK="FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\""
46+
TOOLS_JSON_OUT="$AR_TOOLS/sdk"
4547

4648
function get_os(){
4749
OSBITS=`arch`

tools/copy-libs.sh

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,15 @@ fi
3030
if [ -e "$AR_SDK/include" ]; then
3131
rm -rf "$AR_SDK/include"
3232
fi
33+
if [ -e "$AR_SDK/flags" ]; then
34+
rm -rf "$AR_SDK/flags"
35+
fi
3336
if [ -e "$AR_SDK/$MEMCONF" ]; then
3437
rm -rf "$AR_SDK/$MEMCONF"
3538
fi
39+
if [ -e "$AR_SDK/platformio-build.py" ]; then
40+
rm -rf "$AR_SDK/platformio-build.py"
41+
fi
3642
mkdir -p "$AR_SDK"
3743

3844
function get_actual_path(){
@@ -273,13 +279,11 @@ done
273279
# END OF DATA EXTRACTION FROM CMAKE
274280
#
275281

276-
AR_PLATFORMIO_PY="$AR_TOOLS/platformio-build-$IDF_TARGET.py"
282+
mkdir -p "$AR_SDK"
277283

278284
# start generation of platformio-build.py
279-
awk "/ASFLAGS=\[/{n++}{print>n\"pio_start.txt\"}" $AR_COMPS/arduino/tools/platformio-build-$IDF_TARGET.py
280-
awk "/\"ARDUINO_ARCH_ESP32\"/{n++}{print>n\"pio_end.txt\"}" 1pio_start.txt
281-
cat pio_start.txt > "$AR_PLATFORMIO_PY"
282-
rm pio_end.txt 1pio_start.txt pio_start.txt
285+
AR_PLATFORMIO_PY="$AR_SDK/platformio-build.py"
286+
cat configs/pio_start.txt > "$AR_PLATFORMIO_PY"
283287

284288
echo " ASFLAGS=[" >> "$AR_PLATFORMIO_PY"
285289
if [ "$IS_XTENSA" = "y" ]; then
@@ -380,11 +384,11 @@ for item; do
380384
out_cpath="$AR_SDK/include/$fname$out_sub"
381385
REL_INC+="-iwithprefixbefore $fname$out_sub "
382386
if [ "$out_sub" = "" ]; then
383-
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"include\", \"$fname\")," >> "$AR_PLATFORMIO_PY"
387+
echo " join($PIO_SDK, \"include\", \"$fname\")," >> "$AR_PLATFORMIO_PY"
384388
else
385389
pio_sub="${out_sub:1}"
386390
pio_sub=`echo $pio_sub | sed 's/\//\\", \\"/g'`
387-
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"include\", \"$fname\", \"$pio_sub\")," >> "$AR_PLATFORMIO_PY"
391+
echo " join($PIO_SDK, \"include\", \"$fname\", \"$pio_sub\")," >> "$AR_PLATFORMIO_PY"
388392
fi
389393
for f in `find "$item" -name '*.h'`; do
390394
rel_f=${f#*$item}
@@ -400,7 +404,7 @@ for item; do
400404
done
401405
fi
402406
done
403-
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", env.BoardConfig().get(\"build.arduino.memory_type\", (env.BoardConfig().get(\"build.flash_mode\", \"dio\") + \"_$OCT_PSRAM\")), \"include\")," >> "$AR_PLATFORMIO_PY"
407+
echo " join($PIO_SDK, env.BoardConfig().get(\"build.arduino.memory_type\", (env.BoardConfig().get(\"build.flash_mode\", \"dio\") + \"_$OCT_PSRAM\")), \"include\")," >> "$AR_PLATFORMIO_PY"
404408
echo " join(FRAMEWORK_DIR, \"cores\", env.BoardConfig().get(\"build.core\"))" >> "$AR_PLATFORMIO_PY"
405409
echo " ]," >> "$AR_PLATFORMIO_PY"
406410
echo "" >> "$AR_PLATFORMIO_PY"
@@ -423,9 +427,9 @@ for item; do
423427
done
424428

425429
echo " LIBPATH=[" >> "$AR_PLATFORMIO_PY"
426-
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"lib\")," >> "$AR_PLATFORMIO_PY"
427-
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", \"ld\")," >> "$AR_PLATFORMIO_PY"
428-
echo " join(FRAMEWORK_DIR, \"tools\", \"sdk\", \"$IDF_TARGET\", env.BoardConfig().get(\"build.arduino.memory_type\", (env.BoardConfig().get(\"build.flash_mode\", \"dio\") + \"_$OCT_PSRAM\")))" >> "$AR_PLATFORMIO_PY"
430+
echo " join($PIO_SDK, \"lib\")," >> "$AR_PLATFORMIO_PY"
431+
echo " join($PIO_SDK, \"ld\")," >> "$AR_PLATFORMIO_PY"
432+
echo " join($PIO_SDK, env.BoardConfig().get(\"build.arduino.memory_type\", (env.BoardConfig().get(\"build.flash_mode\", \"dio\") + \"_$OCT_PSRAM\")))" >> "$AR_PLATFORMIO_PY"
429433
echo " ]," >> "$AR_PLATFORMIO_PY"
430434
echo "" >> "$AR_PLATFORMIO_PY"
431435

@@ -452,8 +456,7 @@ for item; do
452456
done
453457

454458
# end generation of platformio-build.py
455-
cat 1pio_end.txt >> "$AR_PLATFORMIO_PY"
456-
rm 1pio_end.txt
459+
cat configs/pio_end.txt >> "$AR_PLATFORMIO_PY"
457460

458461
# replace double backslashes with single one
459462
DEFINES=`echo "$DEFINES" | tr -s '\'`
@@ -470,12 +473,18 @@ echo -n "$LD_FLAGS" > "$FLAGS_DIR/ld_flags"
470473
echo -n "$LD_SCRIPTS" > "$FLAGS_DIR/ld_scripts"
471474
echo -n "$AR_LIBS" > "$FLAGS_DIR/ld_libs"
472475

476+
# sr model.bin
477+
if [ -f "build/model.bin" ]; then
478+
mkdir -p "$AR_SDK/esp_sr"
479+
cp -f "build/model.bin" "$AR_SDK/esp_sr/"
480+
cp -f "partitions.csv" "$AR_SDK/esp_sr/"
481+
fi
473482

474483
# sdkconfig
475484
cp -f "sdkconfig" "$AR_SDK/sdkconfig"
476485

477486
# gen_esp32part.py
478-
cp "$IDF_PATH/components/partition_table/gen_esp32part.py" "$AR_GEN_PART_PY"
487+
# cp "$IDF_PATH/components/partition_table/gen_esp32part.py" "$AR_GEN_PART_PY"
479488

480489
# copy precompiled libs (if we need them)
481490
function copy_precompiled_lib(){

tools/copy-to-arduino.sh

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@ fi
1616

1717
echo "Installing new libraries to $ESP32_ARDUINO"
1818

19-
rm -rf $ESP32_ARDUINO/tools/sdk $ESP32_ARDUINO/tools/gen_esp32part.py $ESP32_ARDUINO/tools/platformio-build-*.py
20-
19+
rm -rf $ESP32_ARDUINO/package/package_esp32_index.template.json && \
2120
cp -f $AR_OUT/package_esp32_index.template.json $ESP32_ARDUINO/package/package_esp32_index.template.json
21+
22+
rm -rf $ESP32_ARDUINO/tools/sdk && \
2223
cp -Rf $AR_TOOLS/sdk $ESP32_ARDUINO/tools/
23-
cp -f $AR_TOOLS/gen_esp32part.py $ESP32_ARDUINO/tools/
24-
cp -f $AR_TOOLS/platformio-build-*.py $ESP32_ARDUINO/tools/

0 commit comments

Comments
 (0)