Skip to content

Commit 9a771b8

Browse files
committed
Merge branch 'feature/zigbee-library' of https://github.com/P-R-O-C-H-Y/arduino-esp32 into feature/zigbee-library
2 parents 59335bb + 39633f1 commit 9a771b8

File tree

56 files changed

+580
-48
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+580
-48
lines changed

.github/scripts/sketch_utils.sh

+8-1
Original file line numberDiff line numberDiff line change
@@ -416,10 +416,17 @@ function build_sketches(){ # build_sketches <ide_path> <user_path> <target> <pat
416416
echo "Start Sketch: $start_num"
417417
echo "End Sketch : $end_index"
418418

419+
#if fqbn is not passed then set it to default for compilation log
420+
if [ -z $fqbn ]; then
421+
log_fqbn="espressif:esp32:$target"
422+
else
423+
log_fqbn=$fqbn
424+
fi
425+
419426
sizes_file="$GITHUB_WORKSPACE/cli_compile_$chunk_index.json"
420427
if [ $log_compilation ]; then
421428
#echo board,target and start of sketches to sizes_file json
422-
echo "{ \"board\": \"$fqbn\",
429+
echo "{ \"board\": \"$log_fqbn\",
423430
\"target\": \"$target\",
424431
\"sketches\": [" >> "$sizes_file"
425432
fi

boards.txt

+160-14
Original file line numberDiff line numberDiff line change
@@ -3732,6 +3732,160 @@ um_nanos3.menu.EraseFlash.all.upload.erase_cmd=-e
37323732

37333733
##############################################################
37343734

3735+
um_omgs3.name=UM OMGS3
3736+
um_omgs3.vid.0=0x303a
3737+
um_omgs3.pid.0=0x8224
3738+
um_omgs3.upload_port.0.vid=0x303a
3739+
um_omgs3.upload_port.0.pid=0x8224
3740+
3741+
um_omgs3.bootloader.tool=esptool_py
3742+
um_omgs3.bootloader.tool.default=esptool_py
3743+
3744+
um_omgs3.upload.tool=esptool_py
3745+
um_omgs3.upload.tool.default=esptool_py
3746+
um_omgs3.upload.tool.network=esp_ota
3747+
3748+
um_omgs3.upload.maximum_size=1310720
3749+
um_omgs3.upload.maximum_data_size=327680
3750+
um_omgs3.upload.flags=
3751+
um_omgs3.upload.extra_flags=
3752+
um_omgs3.upload.use_1200bps_touch=false
3753+
um_omgs3.upload.wait_for_upload_port=false
3754+
3755+
um_omgs3.serial.disableDTR=false
3756+
um_omgs3.serial.disableRTS=false
3757+
3758+
um_omgs3.build.tarch=xtensa
3759+
um_omgs3.build.bootloader_addr=0x0
3760+
um_omgs3.build.target=esp32s3
3761+
um_omgs3.build.mcu=esp32s3
3762+
um_omgs3.build.core=esp32
3763+
um_omgs3.build.variant=um_omgs3
3764+
um_omgs3.build.board=OMGS3
3765+
3766+
um_omgs3.build.usb_mode=1
3767+
um_omgs3.build.cdc_on_boot=1
3768+
um_omgs3.build.msc_on_boot=0
3769+
um_omgs3.build.dfu_on_boot=0
3770+
um_omgs3.build.f_cpu=240000000L
3771+
um_omgs3.build.flash_size=8MB
3772+
um_omgs3.build.flash_freq=80m
3773+
um_omgs3.build.flash_mode=dio
3774+
um_omgs3.build.boot=qio
3775+
um_omgs3.build.partitions=default
3776+
um_omgs3.build.defines=
3777+
um_omgs3.build.loop_core=
3778+
um_omgs3.build.event_core=
3779+
um_omgs3.build.flash_type=qio
3780+
um_omgs3.build.psram_type=qspi
3781+
um_omgs3.build.memory_type=qio_qspi
3782+
3783+
um_omgs3.menu.LoopCore.1=Core 1
3784+
um_omgs3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
3785+
um_omgs3.menu.LoopCore.0=Core 0
3786+
um_omgs3.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
3787+
3788+
um_omgs3.menu.EventsCore.1=Core 1
3789+
um_omgs3.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
3790+
um_omgs3.menu.EventsCore.0=Core 0
3791+
um_omgs3.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
3792+
3793+
um_omgs3.menu.USBMode.hwcdc=Hardware CDC and JTAG
3794+
um_omgs3.menu.USBMode.hwcdc.build.usb_mode=1
3795+
um_omgs3.menu.USBMode.default=USB-OTG (TinyUSB)
3796+
um_omgs3.menu.USBMode.default.build.usb_mode=0
3797+
3798+
um_omgs3.menu.CDCOnBoot.cdc=Enabled
3799+
um_omgs3.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
3800+
um_omgs3.menu.CDCOnBoot.default=Disabled
3801+
um_omgs3.menu.CDCOnBoot.default.build.cdc_on_boot=0
3802+
3803+
um_omgs3.menu.MSCOnBoot.default=Disabled
3804+
um_omgs3.menu.MSCOnBoot.default.build.msc_on_boot=0
3805+
um_omgs3.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
3806+
um_omgs3.menu.MSCOnBoot.msc.build.msc_on_boot=1
3807+
3808+
um_omgs3.menu.DFUOnBoot.default=Disabled
3809+
um_omgs3.menu.DFUOnBoot.default.build.dfu_on_boot=0
3810+
um_omgs3.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
3811+
um_omgs3.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
3812+
3813+
um_omgs3.menu.UploadMode.cdc.upload.wait_for_upload_port=true
3814+
um_omgs3.menu.UploadMode.default=UART0 / Hardware CDC
3815+
um_omgs3.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
3816+
um_omgs3.menu.UploadMode.cdc.upload.use_1200bps_touch=true
3817+
um_omgs3.menu.UploadMode.default.upload.use_1200bps_touch=false
3818+
um_omgs3.menu.UploadMode.default.upload.wait_for_upload_port=false
3819+
3820+
um_omgs3.menu.PSRAM.enabled=Enabled
3821+
um_omgs3.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
3822+
um_omgs3.menu.PSRAM.disabled=Disabled
3823+
um_omgs3.menu.PSRAM.disabled.build.defines=
3824+
3825+
um_omgs3.menu.PartitionScheme.default_8MB=Default (3MB APP/1.5MB SPIFFS)
3826+
um_omgs3.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
3827+
um_omgs3.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
3828+
um_omgs3.menu.PartitionScheme.tinyuf2=TinyUF2 Compatibility (2MB APP/3.7MB FFAT)
3829+
um_omgs3.menu.PartitionScheme.tinyuf2.build.custom_bootloader=bootloader_tinyuf2
3830+
um_omgs3.menu.PartitionScheme.tinyuf2.build.custom_partitions=partitions_tinyuf2
3831+
um_omgs3.menu.PartitionScheme.tinyuf2.upload.extra_flags=0x410000 "{runtime.platform.path}/variants/{build.variant}/tinyuf2.bin"
3832+
um_omgs3.menu.PartitionScheme.tinyuf2.upload.maximum_size=2097152
3833+
3834+
um_omgs3.menu.CPUFreq.240=240MHz (WiFi)
3835+
um_omgs3.menu.CPUFreq.240.build.f_cpu=240000000L
3836+
um_omgs3.menu.CPUFreq.160=160MHz (WiFi)
3837+
um_omgs3.menu.CPUFreq.160.build.f_cpu=160000000L
3838+
um_omgs3.menu.CPUFreq.80=80MHz (WiFi)
3839+
um_omgs3.menu.CPUFreq.80.build.f_cpu=80000000L
3840+
um_omgs3.menu.CPUFreq.40=40MHz
3841+
um_omgs3.menu.CPUFreq.40.build.f_cpu=40000000L
3842+
um_omgs3.menu.CPUFreq.20=20MHz
3843+
um_omgs3.menu.CPUFreq.20.build.f_cpu=20000000L
3844+
um_omgs3.menu.CPUFreq.10=10MHz
3845+
um_omgs3.menu.CPUFreq.10.build.f_cpu=10000000L
3846+
3847+
um_omgs3.menu.FlashMode.qio=QIO
3848+
um_omgs3.menu.FlashMode.qio.build.flash_mode=dio
3849+
um_omgs3.menu.FlashMode.qio.build.boot=qio
3850+
um_omgs3.menu.FlashMode.dio=DIO
3851+
um_omgs3.menu.FlashMode.dio.build.flash_mode=dio
3852+
um_omgs3.menu.FlashMode.dio.build.boot=dio
3853+
3854+
um_omgs3.menu.UploadSpeed.921600=921600
3855+
um_omgs3.menu.UploadSpeed.921600.upload.speed=921600
3856+
um_omgs3.menu.UploadSpeed.115200=115200
3857+
um_omgs3.menu.UploadSpeed.115200.upload.speed=115200
3858+
um_omgs3.menu.UploadSpeed.256000.windows=256000
3859+
um_omgs3.menu.UploadSpeed.256000.upload.speed=256000
3860+
um_omgs3.menu.UploadSpeed.230400.windows.upload.speed=256000
3861+
um_omgs3.menu.UploadSpeed.230400=230400
3862+
um_omgs3.menu.UploadSpeed.230400.upload.speed=230400
3863+
um_omgs3.menu.UploadSpeed.460800.linux=460800
3864+
um_omgs3.menu.UploadSpeed.460800.macosx=460800
3865+
um_omgs3.menu.UploadSpeed.460800.upload.speed=460800
3866+
um_omgs3.menu.UploadSpeed.512000.windows=512000
3867+
um_omgs3.menu.UploadSpeed.512000.upload.speed=512000
3868+
3869+
um_omgs3.menu.DebugLevel.none=None
3870+
um_omgs3.menu.DebugLevel.none.build.code_debug=0
3871+
um_omgs3.menu.DebugLevel.error=Error
3872+
um_omgs3.menu.DebugLevel.error.build.code_debug=1
3873+
um_omgs3.menu.DebugLevel.warn=Warn
3874+
um_omgs3.menu.DebugLevel.warn.build.code_debug=2
3875+
um_omgs3.menu.DebugLevel.info=Info
3876+
um_omgs3.menu.DebugLevel.info.build.code_debug=3
3877+
um_omgs3.menu.DebugLevel.debug=Debug
3878+
um_omgs3.menu.DebugLevel.debug.build.code_debug=4
3879+
um_omgs3.menu.DebugLevel.verbose=Verbose
3880+
um_omgs3.menu.DebugLevel.verbose.build.code_debug=5
3881+
3882+
um_omgs3.menu.EraseFlash.none=Disabled
3883+
um_omgs3.menu.EraseFlash.none.upload.erase_cmd=
3884+
um_omgs3.menu.EraseFlash.all=Enabled
3885+
um_omgs3.menu.EraseFlash.all.upload.erase_cmd=-e
3886+
3887+
##############################################################
3888+
37353889
um_pros3.name=UM PROS3
37363890
um_pros3.vid.0=0x303a
37373891
um_pros3.pid.0=0x80D3
@@ -4507,8 +4661,6 @@ S_ODI_Ultra.menu.EraseFlash.all.upload.erase_cmd=-e
45074661
##############################################################
45084662

45094663
lilygo_t_display.name=LilyGo T-Display
4510-
lilygo_t_display.vid.0=0x1a86
4511-
lilygo_t_display.pid.0=0x55d4
45124664

45134665
lilygo_t_display.upload.tool=esptool_py
45144666
lilygo_t_display.upload.tool.default=esptool_py
@@ -22051,7 +22203,7 @@ m5stack_stamp_s3.build.flash_freq=80m
2205122203
m5stack_stamp_s3.build.flash_mode=dio
2205222204
m5stack_stamp_s3.build.boot=qio
2205322205
m5stack_stamp_s3.build.boot_freq=80m
22054-
m5stack_stamp_s3.build.partitions=default
22206+
m5stack_stamp_s3.build.partitions=default_8MB
2205522207
m5stack_stamp_s3.build.defines=
2205622208
m5stack_stamp_s3.build.loop_core=
2205722209
m5stack_stamp_s3.build.event_core=
@@ -22771,7 +22923,7 @@ m5stack_dial.build.flash_freq=80m
2277122923
m5stack_dial.build.flash_mode=dio
2277222924
m5stack_dial.build.boot=qio
2277322925
m5stack_dial.build.boot_freq=80m
22774-
m5stack_dial.build.partitions=default
22926+
m5stack_dial.build.partitions=default_8MB
2277522927
m5stack_dial.build.defines=
2277622928
m5stack_dial.build.loop_core=
2277722929
m5stack_dial.build.event_core=
@@ -27574,8 +27726,6 @@ fm-devkit.menu.EraseFlash.all.upload.erase_cmd=-e
2757427726
### Fri3d Badge 2024 (ESP32-S3-WROOM-1)
2757527727

2757627728
fri3d_2024_esp32s3.name=Fri3d Badge 2024 (ESP32-S3-WROOM-1)
27577-
fri3d_2024_esp32s3.vid.0=0x303a
27578-
fri3d_2024_esp32s3.pid.0=0x1001
2757927729

2758027730
fri3d_2024_esp32s3.bootloader.tool=esptool_py
2758127731
fri3d_2024_esp32s3.bootloader.tool.default=esptool_py
@@ -34347,9 +34497,9 @@ department_of_alchemy_minimain_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e
3434734497

3434834498
Bee_Data_Logger.name=Bee Data Logger
3434934499
Bee_Data_Logger.vid.0=0x303a
34350-
Bee_Data_Logger.pid.0=815C
34500+
Bee_Data_Logger.pid.0=0x815C
3435134501
Bee_Data_Logger.upload_port.0.vid=0x303a
34352-
Bee_Data_Logger.upload_port.0.pid=815C
34502+
Bee_Data_Logger.upload_port.0.pid=0x815C
3435334503

3435434504
Bee_Data_Logger.bootloader.tool=esptool_py
3435534505
Bee_Data_Logger.bootloader.tool.default=esptool_py
@@ -34571,7 +34721,7 @@ Bee_Motion.name=Bee Motion
3457134721
Bee_Motion.vid.0=0x303a
3457234722
Bee_Motion.pid.0=0x810D
3457334723
Bee_Motion.vid.upload_port.0.vid=0x303a
34574-
Bee_Motion.pid.upload_port.0.vid=0x810D
34724+
Bee_Motion.pid.upload_port.0.pid=0x810D
3457534725

3457634726
Bee_Motion.bootloader.tool=esptool_py
3457734727
Bee_Motion.bootloader.tool.default=esptool_py
@@ -34790,7 +34940,7 @@ Bee_S3.name=Bee S3
3479034940
Bee_S3.vid.0=0x303a
3479134941
Bee_S3.pid.0=0x8110
3479234942
Bee_S3.vid.upload_port.0.vid=0x303a
34793-
Bee_S3.pid.upload_port.0.vid=0x8110
34943+
Bee_S3.pid.upload_port.0.pid=0x8110
3479434944

3479534945
Bee_S3.bootloader.tool=esptool_py
3479634946
Bee_S3.bootloader.tool.default=esptool_py
@@ -39913,8 +40063,6 @@ waveshare_esp32_s3_lcd_169.menu.EraseFlash.all.upload.erase_cmd=-e
3991340063
##############################################################
3991440064

3991540065
waveshare_esp32s3_touch_lcd_128.name=Waveshare ESP32S3 Touch LCD 128
39916-
waveshare_esp32s3_touch_lcd_128.vid.0=0x1a86
39917-
waveshare_esp32s3_touch_lcd_128.pid.0=0x55d3
3991840066

3991940067
waveshare_esp32s3_touch_lcd_128.upload.tool=esptool_py
3992040068
waveshare_esp32s3_touch_lcd_128.upload.tool.default=esptool_py
@@ -40584,8 +40732,6 @@ walter.menu.EraseFlash.all.upload.erase_cmd=-e
4058440732
##############################################################
4058540733

4058640734
elecrow_crowpanel_7.name=Elecrow CrowPanel 7.0P
40587-
elecrow_crowpanel_7.vid.0=0x1a86
40588-
elecrow_crowpanel_7.pid.0=0x7523
4058940735

4059040736
elecrow_crowpanel_7.upload.tool=esptool_py
4059140737
elecrow_crowpanel_7.upload.tool.default=esptool_py

cores/esp32/Tone.cpp

+26-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
#include "freertos/queue.h"
55
#include "freertos/semphr.h"
66

7+
#if SOC_LEDC_SUPPORTED
78
static TaskHandle_t _tone_task = NULL;
89
static QueueHandle_t _tone_queue = NULL;
910
static int8_t _pin = -1;
11+
static uint8_t _channel = 255;
1012

1113
typedef enum {
1214
TONE_START,
@@ -20,6 +22,12 @@ typedef struct {
2022
unsigned long duration;
2123
} tone_msg_t;
2224

25+
#ifdef SOC_LEDC_SUPPORT_HS_MODE
26+
#define LEDC_CHANNELS (SOC_LEDC_CHANNEL_NUM << 1)
27+
#else
28+
#define LEDC_CHANNELS (SOC_LEDC_CHANNEL_NUM)
29+
#endif
30+
2331
static void tone_task(void *) {
2432
tone_msg_t tone_msg;
2533
while (1) {
@@ -29,7 +37,13 @@ static void tone_task(void *) {
2937
log_d("Task received from queue TONE_START: pin=%d, frequency=%u Hz, duration=%lu ms", tone_msg.pin, tone_msg.frequency, tone_msg.duration);
3038

3139
if (_pin == -1) {
32-
if (ledcAttach(tone_msg.pin, tone_msg.frequency, 10) == 0) {
40+
bool ret = true;
41+
if (_channel == 255) {
42+
ret = ledcAttach(tone_msg.pin, tone_msg.frequency, 10);
43+
} else {
44+
ret = ledcAttachChannel(tone_msg.pin, tone_msg.frequency, 10, _channel);
45+
}
46+
if (!ret) {
3347
log_e("Tone start failed");
3448
break;
3549
}
@@ -73,7 +87,7 @@ static int tone_init() {
7387
"toneTask", // Name of the task
7488
3500, // Stack size in words
7589
NULL, // Task input parameter
76-
1, // Priority of the task
90+
10, // Priority of the task must be higher than Arduino task
7791
&_tone_task // Task handle.
7892
);
7993
if (_tone_task == NULL) {
@@ -126,3 +140,13 @@ void tone(uint8_t pin, unsigned int frequency, unsigned long duration) {
126140
return;
127141
}
128142
}
143+
144+
void setToneChannel(uint8_t channel) {
145+
if (channel >= LEDC_CHANNELS) {
146+
log_e("Channel %u is not available (maximum %u)!", channel, LEDC_CHANNELS);
147+
return;
148+
}
149+
_channel = channel;
150+
}
151+
152+
#endif /* SOC_LEDC_SUPPORTED */

cores/esp32/chip-debug-report.cpp

+1-6
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,7 @@ static void printChipInfo(void) {
8787
default: chip_report_printf("Unknown %d\n", info.model); break;
8888
}
8989
printPkgVersion();
90-
chip_report_printf(" Revision : ");
91-
if (info.revision > 0xFF) {
92-
chip_report_printf("%d.%d\n", info.revision >> 8, info.revision & 0xFF);
93-
} else {
94-
chip_report_printf("%d\n", info.revision);
95-
}
90+
chip_report_printf(" Revision : %.2f\n", (float)(info.revision) / 100.0);
9691
chip_report_printf(" Cores : %d\n", info.cores);
9792
rtc_cpu_freq_config_t conf;
9893
rtc_clk_cpu_freq_get_config(&conf);

idf_component.yml

+1
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,4 @@ dependencies:
9696
require: public
9797
examples:
9898
- path: ./idf_component_examples/hello_world
99+
- path: ./idf_component_examples/hw_cdc_hello_world
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# For more information about build system see
2+
# https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/build-system.html
3+
# The following five lines of boilerplate have to be in your project's
4+
# CMakeLists in this exact order for cmake to work correctly
5+
cmake_minimum_required(VERSION 3.16)
6+
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
7+
8+
# Adds necessary definitions for compiling it using Serial symbol attached to the HW USB CDC port
9+
list(APPEND compile_definitions "ARDUINO_USB_CDC_ON_BOOT=1")
10+
list(APPEND compile_definitions "ARDUINO_USB_MODE=1")
11+
12+
project(hw_cdc_hello_world)

0 commit comments

Comments
 (0)