Skip to content

Commit 8f32b78

Browse files
authored
Merge branch 'espressif:master' into master
2 parents 6dcd8da + 3ec5f4e commit 8f32b78

File tree

20 files changed

+556
-58
lines changed

20 files changed

+556
-58
lines changed

.github/ISSUE_TEMPLATE/Issue-report.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ body:
4141
options:
4242
- latest master (checkout manually)
4343
- latest development Release Candidate (RC-X)
44+
- v2.0.9
4445
- v2.0.8
4546
- v2.0.7
4647
- v2.0.6

.github/scripts/find_all_boards.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
3+
# Get all boards
4+
boards_array=()
5+
6+
for line in `grep '.tarch=' boards.txt`; do
7+
board_name=$(echo "$line" | cut -d '.' -f1 | cut -d '#' -f1)
8+
boards_array+=("espressif:esp32:$board_name")
9+
echo "Added 'espressif:esp32:$board_name' to array"
10+
done
11+
12+
# Create JSON like string with all boards found and pass it to env variable
13+
board_count=${#boards_array[@]}
14+
echo "Boards found: $board_count"
15+
echo "BOARD-COUNT=$board_count" >> $GITHUB_ENV
16+
17+
if [ $board_count -gt 0 ]
18+
then
19+
json_matrix='['
20+
for board in ${boards_array[@]}
21+
do
22+
json_matrix+='"'$board'"'
23+
if [ $board_count -gt 1 ]
24+
then
25+
json_matrix+=","
26+
fi
27+
board_count=$(($board_count - 1))
28+
done
29+
json_matrix+=']'
30+
31+
echo $json_matrix
32+
echo "FQBNS=${json_matrix}" >> $GITHUB_ENV
33+
else
34+
echo "FQBNS=" >> $GITHUB_ENV
35+
fi

.github/workflows/allboards.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Boards Test - Remote trigger
2+
3+
# The workflow will run on remote dispath with event-type set to "test-boards"
4+
on:
5+
repository_dispatch:
6+
types: [test-boards]
7+
8+
jobs:
9+
find-boards:
10+
runs-on: ubuntu-latest
11+
12+
outputs:
13+
fqbns: ${{ env.FQBNS }}
14+
board-count: ${{ env.BOARD-COUNT }}
15+
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v3
19+
with:
20+
ref: ${{ github.event.client_payload.branch }}
21+
22+
- name: Get boards fqbns
23+
run:
24+
bash .github/scripts/find_all_boards.sh
25+
26+
setup-chunks:
27+
needs: find-boards
28+
runs-on: ubuntu-latest
29+
if: needs.find-boards.outputs.fqbns != ''
30+
31+
outputs:
32+
test-chunks: ${{ steps['set-test-chunks'].outputs['test-chunks'] }}
33+
34+
steps:
35+
- uses: actions/checkout@v3
36+
- run: npm install
37+
- name: Setup jq
38+
uses: dcarbone/[email protected]
39+
40+
- id: set-test-chunks
41+
name: Set Chunks
42+
run:
43+
echo "test-chunks<<EOF" >> $GITHUB_OUTPUT
44+
45+
echo "$( jq -nc '${{ needs.find-boards.outputs.fqbns }} | [_nwise( ${{ needs.find-boards.outputs.board-count }}/15 | ceil)]')" >> $GITHUB_OUTPUT
46+
47+
echo "EOF" >> $GITHUB_OUTPUT
48+
49+
test-boards:
50+
needs: setup-chunks
51+
runs-on: ubuntu-latest
52+
53+
env:
54+
REPOSITORY: |
55+
- source-path: '.'
56+
name: "espressif:esp32"
57+
58+
strategy:
59+
fail-fast: false
60+
matrix:
61+
chunk: ${{ fromJSON(needs.setup-chunks.outputs['test-chunks']) }}
62+
63+
steps:
64+
- name: Checkout repository
65+
uses: actions/checkout@v3
66+
67+
- name: Echo FQBNS to file
68+
run:
69+
echo "$FQBN" > fqbns.json
70+
env:
71+
FQBN: ${{ toJSON(matrix.chunk) }}
72+
73+
- name: Compile sketch
74+
uses: P-R-O-C-H-Y/compile-sketches@main
75+
with:
76+
platforms: |
77+
${{ env.REPOSITORY }}
78+
multiple-fqbn: true
79+
multiple-fqbn-path: "fqbns.json"
80+
use-json-file: false
81+
enable-deltas-report: false
82+
enable-warnings-report: false
83+
cli-compile-flags: |
84+
- --warnings="all"
85+
sketch-paths:
86+
"- ./libraries/ESP32/examples/CI/CIBoardsTest/CIBoardsTest.ino"

.github/workflows/lib.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
"name": "ESP32Servo",
2020
"exclude_targets": [],
2121
"sketch_path": [
22-
"~/Arduino/libraries/ESP32Servo/examples/Knob/Knob.ino",
23-
"~/Arduino/libraries/ESP32Servo/examples/Sweep/Sweep.ino",
24-
"~/Arduino/libraries/ESP32Servo/examples/PWMExample/PWMExample.ino",
2522
"~/Arduino/libraries/ESP32Servo/examples/Multiple-Servo-Example-Arduino/Multiple-Servo-Example-Arduino.ino"
2623
]
2724
},
@@ -51,5 +48,19 @@
5148
"sketch_path": [
5249
"~/Arduino/libraries/IRremote/examples/SendDemo/SendDemo.ino"
5350
]
51+
},
52+
{
53+
"name": "MFRC522",
54+
"exclude_targets": [],
55+
"sketch_path": [
56+
"~/Arduino/libraries/MFRC522/examples/ReadUidMultiReader/ReadUidMultiReader.ino"
57+
]
58+
},
59+
{
60+
"name": "WS2812FX",
61+
"exclude_targets": [],
62+
"sketch_path": [
63+
"~/Arduino/libraries/WS2812FX/examples/ws2812fx_spi/ws2812fx_spi.ino"
64+
]
5465
}
5566
]

boards.txt

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7314,6 +7314,7 @@ dfrobot_beetle_esp32c3.menu.EraseFlash.all.upload.erase_cmd=-e
73147314
dfrobot_firebeetle2_esp32e.name=FireBeetle 2 ESP32-E
73157315

73167316
dfrobot_firebeetle2_esp32e.upload.tool=esptool_py
7317+
dfrobot_firebeetle2_esp32e.upload.tool.default=esptool_py
73177318
dfrobot_firebeetle2_esp32e.upload.maximum_size=1310720
73187319
dfrobot_firebeetle2_esp32e.upload.maximum_data_size=327680
73197320
dfrobot_firebeetle2_esp32e.upload.flags=
@@ -12264,6 +12265,198 @@ m5stack-core2.menu.EraseFlash.all.upload.erase_cmd=-e
1226412265

1226512266
##############################################################
1226612267

12268+
m5stack-cores3.name=M5Stack-CoreS3
12269+
m5stack-cores3.vid.0=0x303a
12270+
m5stack-cores3.pid.0=0x1001
12271+
12272+
m5stack-cores3.bootloader.tool=esptool_py
12273+
m5stack-cores3.bootloader.tool.default=esptool_py
12274+
12275+
m5stack-cores3.upload.tool=esptool_py
12276+
m5stack-cores3.upload.tool.default=esptool_py
12277+
m5stack-cores3.upload.tool.network=esp_ota
12278+
12279+
m5stack-cores3.upload.maximum_size=1310720
12280+
m5stack-cores3.upload.maximum_data_size=327680
12281+
m5stack-cores3.upload.flags=
12282+
m5stack-cores3.upload.extra_flags=
12283+
m5stack-cores3.upload.use_1200bps_touch=false
12284+
m5stack-cores3.upload.wait_for_upload_port=false
12285+
12286+
m5stack-cores3.serial.disableDTR=false
12287+
m5stack-cores3.serial.disableRTS=false
12288+
12289+
m5stack-cores3.build.tarch=xtensa
12290+
m5stack-cores3.build.bootloader_addr=0x0
12291+
m5stack-cores3.build.target=esp32s3
12292+
m5stack-cores3.build.mcu=esp32s3
12293+
m5stack-cores3.build.core=esp32
12294+
m5stack-cores3.build.variant=m5stack_cores3
12295+
m5stack-cores3.build.board=M5STACK_CORES3
12296+
12297+
m5stack-cores3.build.usb_mode=1
12298+
m5stack-cores3.build.cdc_on_boot=0
12299+
m5stack-cores3.build.msc_on_boot=0
12300+
m5stack-cores3.build.dfu_on_boot=0
12301+
m5stack-cores3.build.f_cpu=240000000L
12302+
m5stack-cores3.build.flash_size=4MB
12303+
m5stack-cores3.build.flash_freq=80m
12304+
m5stack-cores3.build.flash_mode=dio
12305+
m5stack-cores3.build.boot=qio
12306+
m5stack-cores3.build.boot_freq=80m
12307+
m5stack-cores3.build.partitions=default
12308+
m5stack-cores3.build.defines=
12309+
m5stack-cores3.build.loop_core=
12310+
m5stack-cores3.build.event_core=
12311+
m5stack-cores3.build.psram_type=qspi
12312+
m5stack-cores3.build.memory_type={build.boot}_{build.psram_type}
12313+
12314+
m5stack-cores3.menu.JTAGAdapter.default=Disabled
12315+
m5stack-cores3.menu.JTAGAdapter.default.build.copy_jtag_files=0
12316+
m5stack-cores3.menu.JTAGAdapter.builtin=Integrated USB JTAG
12317+
m5stack-cores3.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
12318+
m5stack-cores3.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
12319+
m5stack-cores3.menu.JTAGAdapter.external=FTDI Adapter
12320+
m5stack-cores3.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg
12321+
m5stack-cores3.menu.JTAGAdapter.external.build.copy_jtag_files=1
12322+
m5stack-cores3.menu.JTAGAdapter.bridge=ESP USB Bridge
12323+
m5stack-cores3.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg
12324+
m5stack-cores3.menu.JTAGAdapter.bridge.build.copy_jtag_files=1
12325+
12326+
m5stack-cores3.menu.PSRAM.disabled=Disabled
12327+
m5stack-cores3.menu.PSRAM.disabled.build.defines=
12328+
m5stack-cores3.menu.PSRAM.disabled.build.psram_type=qspi
12329+
m5stack-cores3.menu.PSRAM.enabled=QSPI PSRAM
12330+
m5stack-cores3.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
12331+
m5stack-cores3.menu.PSRAM.enabled.build.psram_type=qspi
12332+
m5stack-cores3.menu.PSRAM.opi=OPI PSRAM
12333+
m5stack-cores3.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
12334+
m5stack-cores3.menu.PSRAM.opi.build.psram_type=opi
12335+
12336+
m5stack-cores3.menu.FlashMode.qio=QIO 80MHz
12337+
m5stack-cores3.menu.FlashMode.qio.build.flash_mode=dio
12338+
m5stack-cores3.menu.FlashMode.qio.build.boot=qio
12339+
m5stack-cores3.menu.FlashMode.qio.build.boot_freq=80m
12340+
m5stack-cores3.menu.FlashMode.qio.build.flash_freq=80m
12341+
m5stack-cores3.menu.FlashMode.qio120=QIO 120MHz
12342+
m5stack-cores3.menu.FlashMode.qio120.build.flash_mode=dio
12343+
m5stack-cores3.menu.FlashMode.qio120.build.boot=qio
12344+
m5stack-cores3.menu.FlashMode.qio120.build.boot_freq=120m
12345+
m5stack-cores3.menu.FlashMode.qio120.build.flash_freq=80m
12346+
m5stack-cores3.menu.FlashMode.dio=DIO 80MHz
12347+
m5stack-cores3.menu.FlashMode.dio.build.flash_mode=dio
12348+
m5stack-cores3.menu.FlashMode.dio.build.boot=dio
12349+
m5stack-cores3.menu.FlashMode.dio.build.boot_freq=80m
12350+
m5stack-cores3.menu.FlashMode.dio.build.flash_freq=80m
12351+
m5stack-cores3.menu.FlashMode.opi=OPI 80MHz
12352+
m5stack-cores3.menu.FlashMode.opi.build.flash_mode=dout
12353+
m5stack-cores3.menu.FlashMode.opi.build.boot=opi
12354+
m5stack-cores3.menu.FlashMode.opi.build.boot_freq=80m
12355+
m5stack-cores3.menu.FlashMode.opi.build.flash_freq=80m
12356+
12357+
m5stack-cores3.menu.FlashSize.4M=4MB (32Mb)
12358+
m5stack-cores3.menu.FlashSize.4M.build.flash_size=4MB
12359+
m5stack-cores3.menu.FlashSize.8M=8MB (64Mb)
12360+
m5stack-cores3.menu.FlashSize.8M.build.flash_size=8MB
12361+
m5stack-cores3.menu.FlashSize.8M.build.partitions=default_8MB
12362+
m5stack-cores3.menu.FlashSize.16M=16MB (128Mb)
12363+
m5stack-cores3.menu.FlashSize.16M.build.flash_size=16MB
12364+
#m5stack-cores3.menu.FlashSize.32M=32MB (256Mb)
12365+
#m5stack-cores3.menu.FlashSize.32M.build.flash_size=32MB
12366+
12367+
m5stack-cores3.menu.LoopCore.1=Core 1
12368+
m5stack-cores3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
12369+
m5stack-cores3.menu.LoopCore.0=Core 0
12370+
m5stack-cores3.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
12371+
12372+
m5stack-cores3.menu.EventsCore.1=Core 1
12373+
m5stack-cores3.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
12374+
m5stack-cores3.menu.EventsCore.0=Core 0
12375+
m5stack-cores3.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
12376+
12377+
m5stack-cores3.menu.USBMode.hwcdc=Hardware CDC and JTAG
12378+
m5stack-cores3.menu.USBMode.hwcdc.build.usb_mode=1
12379+
m5stack-cores3.menu.USBMode.default=USB-OTG (TinyUSB)
12380+
m5stack-cores3.menu.USBMode.default.build.usb_mode=0
12381+
12382+
m5stack-cores3.menu.CDCOnBoot.default=Disabled
12383+
m5stack-cores3.menu.CDCOnBoot.default.build.cdc_on_boot=0
12384+
m5stack-cores3.menu.CDCOnBoot.cdc=Enabled
12385+
m5stack-cores3.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
12386+
12387+
m5stack-cores3.menu.MSCOnBoot.default=Disabled
12388+
m5stack-cores3.menu.MSCOnBoot.default.build.msc_on_boot=0
12389+
m5stack-cores3.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
12390+
m5stack-cores3.menu.MSCOnBoot.msc.build.msc_on_boot=1
12391+
12392+
m5stack-cores3.menu.DFUOnBoot.default=Disabled
12393+
m5stack-cores3.menu.DFUOnBoot.default.build.dfu_on_boot=0
12394+
m5stack-cores3.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
12395+
m5stack-cores3.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
12396+
12397+
m5stack-cores3.menu.UploadMode.default=UART0 / Hardware CDC
12398+
m5stack-cores3.menu.UploadMode.default.upload.use_1200bps_touch=false
12399+
m5stack-cores3.menu.UploadMode.default.upload.wait_for_upload_port=false
12400+
m5stack-cores3.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
12401+
m5stack-cores3.menu.UploadMode.cdc.upload.use_1200bps_touch=true
12402+
m5stack-cores3.menu.UploadMode.cdc.upload.wait_for_upload_port=true
12403+
12404+
m5stack-cores3.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
12405+
m5stack-cores3.menu.PartitionScheme.default.build.partitions=default
12406+
m5stack-cores3.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
12407+
m5stack-cores3.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
12408+
m5stack-cores3.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
12409+
m5stack-cores3.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
12410+
m5stack-cores3.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
12411+
12412+
m5stack-cores3.menu.CPUFreq.240=240MHz (WiFi)
12413+
m5stack-cores3.menu.CPUFreq.240.build.f_cpu=240000000L
12414+
m5stack-cores3.menu.CPUFreq.160=160MHz (WiFi)
12415+
m5stack-cores3.menu.CPUFreq.160.build.f_cpu=160000000L
12416+
m5stack-cores3.menu.CPUFreq.80=80MHz (WiFi)
12417+
m5stack-cores3.menu.CPUFreq.80.build.f_cpu=80000000L
12418+
m5stack-cores3.menu.CPUFreq.40=40MHz
12419+
m5stack-cores3.menu.CPUFreq.40.build.f_cpu=40000000L
12420+
m5stack-cores3.menu.CPUFreq.20=20MHz
12421+
m5stack-cores3.menu.CPUFreq.20.build.f_cpu=20000000L
12422+
m5stack-cores3.menu.CPUFreq.10=10MHz
12423+
m5stack-cores3.menu.CPUFreq.10.build.f_cpu=10000000L
12424+
12425+
m5stack-cores3.menu.UploadSpeed.921600=921600
12426+
m5stack-cores3.menu.UploadSpeed.921600.upload.speed=921600
12427+
m5stack-cores3.menu.UploadSpeed.115200=115200
12428+
m5stack-cores3.menu.UploadSpeed.115200.upload.speed=115200
12429+
m5stack-cores3.menu.UploadSpeed.256000.windows=256000
12430+
m5stack-cores3.menu.UploadSpeed.256000.upload.speed=256000
12431+
m5stack-cores3.menu.UploadSpeed.230400.windows.upload.speed=256000
12432+
m5stack-cores3.menu.UploadSpeed.230400=230400
12433+
m5stack-cores3.menu.UploadSpeed.230400.upload.speed=230400
12434+
m5stack-cores3.menu.UploadSpeed.460800.linux=460800
12435+
m5stack-cores3.menu.UploadSpeed.460800.macosx=460800
12436+
m5stack-cores3.menu.UploadSpeed.460800.upload.speed=460800
12437+
m5stack-cores3.menu.UploadSpeed.512000.windows=512000
12438+
m5stack-cores3.menu.UploadSpeed.512000.upload.speed=512000
12439+
12440+
m5stack-cores3.menu.DebugLevel.none=None
12441+
m5stack-cores3.menu.DebugLevel.none.build.code_debug=0
12442+
m5stack-cores3.menu.DebugLevel.error=Error
12443+
m5stack-cores3.menu.DebugLevel.error.build.code_debug=1
12444+
m5stack-cores3.menu.DebugLevel.warn=Warn
12445+
m5stack-cores3.menu.DebugLevel.warn.build.code_debug=2
12446+
m5stack-cores3.menu.DebugLevel.info=Info
12447+
m5stack-cores3.menu.DebugLevel.info.build.code_debug=3
12448+
m5stack-cores3.menu.DebugLevel.debug=Debug
12449+
m5stack-cores3.menu.DebugLevel.debug.build.code_debug=4
12450+
m5stack-cores3.menu.DebugLevel.verbose=Verbose
12451+
m5stack-cores3.menu.DebugLevel.verbose.build.code_debug=5
12452+
12453+
m5stack-cores3.menu.EraseFlash.none=Disabled
12454+
m5stack-cores3.menu.EraseFlash.none.upload.erase_cmd=
12455+
m5stack-cores3.menu.EraseFlash.all=Enabled
12456+
m5stack-cores3.menu.EraseFlash.all.upload.erase_cmd=-e
12457+
12458+
##############################################################
12459+
1226712460
m5stack-timer-cam.name=M5Stack-Timer-CAM
1226812461

1226912462
m5stack-timer-cam.bootloader.tool=esptool_py
@@ -22259,6 +22452,7 @@ esp32c3m1IKit.menu.EraseFlash.all.upload.erase_cmd=-e
2225922452
roboheart_hercules.name=RoboHeart Hercules
2226022453

2226122454
roboheart_hercules.upload.tool=esptool_py
22455+
roboheart_hercules.upload.tool.default=esptool_py
2226222456
roboheart_hercules.upload.maximum_size=1310720
2226322457
roboheart_hercules.upload.maximum_data_size=327680
2226422458
roboheart_hercules.upload.wait_for_upload_port=true

cores/esp32/HardwareSerial.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -365,9 +365,6 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
365365
}
366366
break;
367367
#endif
368-
default:
369-
log_e("Bad UART Number");
370-
return;
371368
}
372369
}
373370

cores/esp32/WString.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
// A pure abstract class forward used as a means to proide a unique pointer type
3535
// but really is never defined.
3636
class __FlashStringHelper;
37-
#define FPSTR(pstr_pointer) (pstr_pointer)
38-
#define F(string_literal) (string_literal)
37+
#define FPSTR(str_pointer) (reinterpret_cast<const __FlashStringHelper *>(str_pointer))
38+
#define F(string_literal) (FPSTR(PSTR(string_literal)))
3939

4040
// An inherited class for holding the result of a concatenation. These
4141
// result objects are assumed to be writable by subsequent concatenations.

0 commit comments

Comments
 (0)