Skip to content

Commit b9b655f

Browse files
committed
Allow CDC, FirmwareMSC and DFU to be enabled on boot
1 parent 4bf4cb0 commit b9b655f

File tree

18 files changed

+132
-72
lines changed

18 files changed

+132
-72
lines changed

boards.txt

Lines changed: 61 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
menu.UploadSpeed=Upload Speed
2-
menu.SerialMode=Serial Connected To
2+
menu.CDCOnBoot=USB CDC On Boot
3+
menu.MSCOnBoot=USB Firmware MSC On Boot
4+
menu.DFUOnBoot=USB DFU On Boot
35
menu.UploadMode=Upload Mode
46
menu.CPUFreq=CPU Frequency
57
menu.FlashFreq=Flash Frequency
@@ -37,7 +39,7 @@ esp32c3.build.variant=esp32c3
3739
esp32c3.build.board=ESP32C3_DEV
3840
esp32c3.build.bootloader_addr=0x0
3941

40-
esp32c3.build.serial=0
42+
esp32c3.build.cdc_on_boot=0
4143
esp32c3.build.f_cpu=160000000L
4244
esp32c3.build.flash_size=4MB
4345
esp32c3.build.flash_freq=80m
@@ -173,7 +175,9 @@ esp32s2.build.core=esp32
173175
esp32s2.build.variant=esp32s2
174176
esp32s2.build.board=ESP32S2_DEV
175177

176-
esp32s2.build.serial=0
178+
esp32s2.build.cdc_on_boot=0
179+
esp32s2.build.msc_on_boot=0
180+
esp32s2.build.dfu_on_boot=0
177181
esp32s2.build.f_cpu=240000000L
178182
esp32s2.build.flash_size=4MB
179183
esp32s2.build.flash_freq=80m
@@ -182,10 +186,20 @@ esp32s2.build.boot=qio
182186
esp32s2.build.partitions=default
183187
esp32s2.build.defines=
184188

185-
esp32s2.menu.SerialMode.default=UART0
186-
esp32s2.menu.SerialMode.default.build.serial=0
187-
esp32s2.menu.SerialMode.cdc=USB CDC
188-
esp32s2.menu.SerialMode.cdc.build.serial=1
189+
esp32s2.menu.CDCOnBoot.default=Disabled
190+
esp32s2.menu.CDCOnBoot.default.build.cdc_on_boot=0
191+
esp32s2.menu.CDCOnBoot.cdc=Enabled
192+
esp32s2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
193+
194+
esp32s2.menu.MSCOnBoot.default=Disabled
195+
esp32s2.menu.MSCOnBoot.default.build.msc_on_boot=0
196+
esp32s2.menu.MSCOnBoot.msc=Enabled
197+
esp32s2.menu.MSCOnBoot.msc.build.msc_on_boot=1
198+
199+
esp32s2.menu.DFUOnBoot.default=Disabled
200+
esp32s2.menu.DFUOnBoot.default.build.dfu_on_boot=0
201+
esp32s2.menu.DFUOnBoot.dfu=Enabled
202+
esp32s2.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
189203

190204
esp32s2.menu.UploadMode.default=UART0
191205
esp32s2.menu.UploadMode.default.upload.use_1200bps_touch=false
@@ -865,7 +879,7 @@ feathers2.build.core=esp32
865879
feathers2.build.variant=um_feathers2
866880
feathers2.build.board=FEATHERS2
867881

868-
feathers2.build.serial=1
882+
feathers2.build.cdc_on_boot=1
869883
feathers2.build.f_cpu=240000000L
870884
feathers2.build.flash_size=16MB
871885
feathers2.build.flash_freq=80m
@@ -874,10 +888,10 @@ feathers2.build.boot=qio
874888
feathers2.build.partitions=fatflash
875889
feathers2.build.defines=
876890

877-
feathers2.menu.SerialMode.cdc=USB CDC
878-
feathers2.menu.SerialMode.cdc.build.serial=1
879-
feathers2.menu.SerialMode.default=UART0
880-
feathers2.menu.SerialMode.default.build.serial=0
891+
feathers2.menu.CDCOnBoot.cdc=Enabled
892+
feathers2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
893+
feathers2.menu.CDCOnBoot.default=Disabled
894+
feathers2.menu.CDCOnBoot.default.build.cdc_on_boot=0
881895

882896
feathers2.menu.PSRAM.enabled=Enabled
883897
feathers2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
@@ -993,7 +1007,7 @@ tinys2.build.core=esp32
9931007
tinys2.build.variant=um_tinys2
9941008
tinys2.build.board=TINYS2
9951009

996-
tinys2.build.serial=1
1010+
tinys2.build.cdc_on_boot=1
9971011
tinys2.build.f_cpu=240000000L
9981012
tinys2.build.flash_size=4MB
9991013
tinys2.build.flash_freq=80m
@@ -1002,10 +1016,10 @@ tinys2.build.boot=qio
10021016
tinys2.build.partitions=default
10031017
tinys2.build.defines=
10041018

1005-
tinys2.menu.SerialMode.cdc=USB CDC
1006-
tinys2.menu.SerialMode.cdc.build.serial=1
1007-
tinys2.menu.SerialMode.default=UART0
1008-
tinys2.menu.SerialMode.default.build.serial=0
1019+
tinys2.menu.CDCOnBoot.cdc=Enabled
1020+
tinys2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
1021+
tinys2.menu.CDCOnBoot.default=Disabled
1022+
tinys2.menu.CDCOnBoot.default.build.cdc_on_boot=0
10091023

10101024
tinys2.menu.PSRAM.enabled=Enabled
10111025
tinys2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
@@ -1166,7 +1180,7 @@ micros2.build.core=esp32
11661180
micros2.build.variant=micro_s2
11671181
micros2.build.board=MICROS2
11681182

1169-
micros2.build.serial=1
1183+
micros2.build.cdc_on_boot=1
11701184
micros2.build.f_cpu=240000000L
11711185
micros2.build.flash_size=16MB
11721186
micros2.build.flash_freq=80m
@@ -1175,10 +1189,10 @@ micros2.build.boot=qio
11751189
micros2.build.partitions=fatflash
11761190
micros2.build.defines=
11771191

1178-
micros2.menu.SerialMode.cdc=USB CDC
1179-
micros2.menu.SerialMode.cdc.build.serial=1
1180-
micros2.menu.SerialMode.default=UART0
1181-
micros2.menu.SerialMode.default.build.serial=0
1192+
micros2.menu.CDCOnBoot.cdc=Enabled
1193+
micros2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
1194+
micros2.menu.CDCOnBoot.default=Disabled
1195+
micros2.menu.CDCOnBoot.default.build.cdc_on_boot=0
11821196

11831197
micros2.menu.PSRAM.enabled=Enabled
11841198
micros2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
@@ -2025,7 +2039,7 @@ sparkfun_esp32s2_thing_plus.build.core=esp32
20252039
sparkfun_esp32s2_thing_plus.build.variant=esp32s2thing_plus
20262040
sparkfun_esp32s2_thing_plus.build.board=ESP32S2_THING_PLUS
20272041

2028-
sparkfun_esp32s2_thing_plus.build.serial=0
2042+
sparkfun_esp32s2_thing_plus.build.cdc_on_boot=0
20292043
sparkfun_esp32s2_thing_plus.build.f_cpu=240000000L
20302044
sparkfun_esp32s2_thing_plus.build.flash_size=4MB
20312045
sparkfun_esp32s2_thing_plus.build.flash_freq=80m
@@ -2034,10 +2048,10 @@ sparkfun_esp32s2_thing_plus.build.boot=qio
20342048
sparkfun_esp32s2_thing_plus.build.partitions=default
20352049
sparkfun_esp32s2_thing_plus.build.defines=
20362050

2037-
sparkfun_esp32s2_thing_plus.menu.SerialMode.default=UART0
2038-
sparkfun_esp32s2_thing_plus.menu.SerialMode.default.build.serial=0
2039-
sparkfun_esp32s2_thing_plus.menu.SerialMode.cdc=USB CDC
2040-
sparkfun_esp32s2_thing_plus.menu.SerialMode.cdc.build.serial=1
2051+
sparkfun_esp32s2_thing_plus.menu.CDCOnBoot.default=Disabled
2052+
sparkfun_esp32s2_thing_plus.menu.CDCOnBoot.default.build.cdc_on_boot=0
2053+
sparkfun_esp32s2_thing_plus.menu.CDCOnBoot.cdc=Enabled
2054+
sparkfun_esp32s2_thing_plus.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
20412055

20422056
sparkfun_esp32s2_thing_plus.menu.PSRAM.disabled=Disabled
20432057
sparkfun_esp32s2_thing_plus.menu.PSRAM.disabled.build.defines=
@@ -3334,7 +3348,7 @@ adafruit_metro_esp32s2.build.core=esp32
33343348
adafruit_metro_esp32s2.build.variant=adafruit_metro_esp32s2
33353349
adafruit_metro_esp32s2.build.board=METRO_ESP32S2
33363350

3337-
adafruit_metro_esp32s2.build.serial=0
3351+
adafruit_metro_esp32s2.build.cdc_on_boot=0
33383352
adafruit_metro_esp32s2.build.f_cpu=240000000L
33393353
adafruit_metro_esp32s2.build.flash_size=4MB
33403354
adafruit_metro_esp32s2.build.flash_freq=80m
@@ -3343,10 +3357,10 @@ adafruit_metro_esp32s2.build.boot=qio
33433357
adafruit_metro_esp32s2.build.partitions=default
33443358
adafruit_metro_esp32s2.build.defines=
33453359

3346-
adafruit_metro_esp32s2.menu.SerialMode.cdc=USB CDC
3347-
adafruit_metro_esp32s2.menu.SerialMode.cdc.build.serial=1
3348-
adafruit_metro_esp32s2.menu.SerialMode.default=UART0
3349-
adafruit_metro_esp32s2.menu.SerialMode.default.build.serial=0
3360+
adafruit_metro_esp32s2.menu.CDCOnBoot.cdc=Enabled
3361+
adafruit_metro_esp32s2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
3362+
adafruit_metro_esp32s2.menu.CDCOnBoot.default=Disabled
3363+
adafruit_metro_esp32s2.menu.CDCOnBoot.default.build.cdc_on_boot=0
33503364

33513365
adafruit_metro_esp32s2.menu.PSRAM.enabled=Enabled
33523366
adafruit_metro_esp32s2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
@@ -3487,7 +3501,7 @@ adafruit_magtag29_esp32s2.build.core=esp32
34873501
adafruit_magtag29_esp32s2.build.variant=adafruit_magtag29_esp32s2
34883502
adafruit_magtag29_esp32s2.build.board=MAGTAG29_ESP32S2
34893503

3490-
adafruit_magtag29_esp32s2.build.serial=0
3504+
adafruit_magtag29_esp32s2.build.cdc_on_boot=0
34913505
adafruit_magtag29_esp32s2.build.f_cpu=240000000L
34923506
adafruit_magtag29_esp32s2.build.flash_size=4MB
34933507
adafruit_magtag29_esp32s2.build.flash_freq=80m
@@ -3496,10 +3510,10 @@ adafruit_magtag29_esp32s2.build.boot=qio
34963510
adafruit_magtag29_esp32s2.build.partitions=default
34973511
adafruit_magtag29_esp32s2.build.defines=
34983512

3499-
adafruit_magtag29_esp32s2.menu.SerialMode.cdc=USB CDC
3500-
adafruit_magtag29_esp32s2.menu.SerialMode.cdc.build.serial=1
3501-
adafruit_magtag29_esp32s2.menu.SerialMode.default=UART0
3502-
adafruit_magtag29_esp32s2.menu.SerialMode.default.build.serial=0
3513+
adafruit_magtag29_esp32s2.menu.CDCOnBoot.cdc=Enabled
3514+
adafruit_magtag29_esp32s2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
3515+
adafruit_magtag29_esp32s2.menu.CDCOnBoot.default=Disabled
3516+
adafruit_magtag29_esp32s2.menu.CDCOnBoot.default.build.cdc_on_boot=0
35033517

35043518
adafruit_magtag29_esp32s2.menu.PSRAM.enabled=Enabled
35053519
adafruit_magtag29_esp32s2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
@@ -3640,7 +3654,7 @@ adafruit_funhouse_esp32s2.build.core=esp32
36403654
adafruit_funhouse_esp32s2.build.variant=adafruit_funhouse_esp32s2
36413655
adafruit_funhouse_esp32s2.build.board=FUNHOUSE_ESP32S2
36423656

3643-
adafruit_funhouse_esp32s2.build.serial=0
3657+
adafruit_funhouse_esp32s2.build.cdc_on_boot=0
36443658
adafruit_funhouse_esp32s2.build.f_cpu=240000000L
36453659
adafruit_funhouse_esp32s2.build.flash_size=4MB
36463660
adafruit_funhouse_esp32s2.build.flash_freq=80m
@@ -3649,10 +3663,10 @@ adafruit_funhouse_esp32s2.build.boot=qio
36493663
adafruit_funhouse_esp32s2.build.partitions=default
36503664
adafruit_funhouse_esp32s2.build.defines=
36513665

3652-
adafruit_funhouse_esp32s2.menu.SerialMode.cdc=USB CDC
3653-
adafruit_funhouse_esp32s2.menu.SerialMode.cdc.build.serial=1
3654-
adafruit_funhouse_esp32s2.menu.SerialMode.default=UART0
3655-
adafruit_funhouse_esp32s2.menu.SerialMode.default.build.serial=0
3666+
adafruit_funhouse_esp32s2.menu.CDCOnBoot.cdc=Enabled
3667+
adafruit_funhouse_esp32s2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
3668+
adafruit_funhouse_esp32s2.menu.CDCOnBoot.default=Disabled
3669+
adafruit_funhouse_esp32s2.menu.CDCOnBoot.default.build.cdc_on_boot=0
36563670

36573671
adafruit_funhouse_esp32s2.menu.PSRAM.enabled=Enabled
36583672
adafruit_funhouse_esp32s2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
@@ -3793,7 +3807,7 @@ adafruit_feather_esp32s2_nopsram.build.core=esp32
37933807
adafruit_feather_esp32s2_nopsram.build.variant=adafruit_feather_esp32s2
37943808
adafruit_feather_esp32s2_nopsram.build.board=ADAFRUIT_FEATHER_ESP32S2_NOPSRAM
37953809

3796-
adafruit_feather_esp32s2_nopsram.build.serial=0
3810+
adafruit_feather_esp32s2_nopsram.build.cdc_on_boot=0
37973811
adafruit_feather_esp32s2_nopsram.build.f_cpu=240000000L
37983812
adafruit_feather_esp32s2_nopsram.build.flash_size=4MB
37993813
adafruit_feather_esp32s2_nopsram.build.flash_freq=80m
@@ -3802,10 +3816,10 @@ adafruit_feather_esp32s2_nopsram.build.boot=qio
38023816
adafruit_feather_esp32s2_nopsram.build.partitions=default
38033817
adafruit_feather_esp32s2_nopsram.build.defines=
38043818

3805-
adafruit_feather_esp32s2_nopsram.menu.SerialMode.cdc=USB CDC
3806-
adafruit_feather_esp32s2_nopsram.menu.SerialMode.cdc.build.serial=1
3807-
adafruit_feather_esp32s2_nopsram.menu.SerialMode.default=UART0
3808-
adafruit_feather_esp32s2_nopsram.menu.SerialMode.default.build.serial=0
3819+
adafruit_feather_esp32s2_nopsram.menu.CDCOnBoot.cdc=Enabled
3820+
adafruit_feather_esp32s2_nopsram.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
3821+
adafruit_feather_esp32s2_nopsram.menu.CDCOnBoot.default=Disabled
3822+
adafruit_feather_esp32s2_nopsram.menu.CDCOnBoot.default.build.cdc_on_boot=0
38093823

38103824
adafruit_feather_esp32s2_nopsram.menu.PSRAM.disabled=Disabled
38113825
adafruit_feather_esp32s2_nopsram.menu.PSRAM.disabled.build.defines=

libraries/USB/src/FirmwareMSC.cpp renamed to cores/esp32/FirmwareMSC.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,4 +350,8 @@ void FirmwareMSC::onEvent(arduino_firmware_msc_event_t event, esp_event_handler_
350350
arduino_usb_event_handler_register_with(ARDUINO_FIRMWARE_MSC_EVENTS, event, callback, this);
351351
}
352352

353+
#if ARDUINO_USB_MSC_ON_BOOT
354+
FirmwareMSC MSC_Update;
355+
#endif
356+
353357
#endif /* CONFIG_USB_MSC_ENABLED */

libraries/USB/src/FirmwareMSC.h renamed to cores/esp32/FirmwareMSC.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,9 @@ class FirmwareMSC {
6060
void onEvent(esp_event_handler_t callback);
6161
void onEvent(arduino_firmware_msc_event_t event, esp_event_handler_t callback);
6262
};
63+
64+
#if ARDUINO_USB_MSC_ON_BOOT
65+
extern FirmwareMSC MSC_Update;
66+
#endif
67+
6368
#endif /* CONFIG_TINYUSB_MSC_ENABLED */

cores/esp32/HardwareSerial.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
#endif
3838

3939
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
40-
#if ARDUINO_SERIAL_PORT //Serial used for USB CDC
40+
#if ARDUINO_USB_CDC_ON_BOOT //Serial used for USB CDC
4141
HardwareSerial Serial0(0);
4242
#else
4343
HardwareSerial Serial(0);

cores/esp32/HardwareSerial.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@ class HardwareSerial: public Stream
113113
extern void serialEventRun(void) __attribute__((weak));
114114

115115
#if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_SERIAL)
116-
#ifndef ARDUINO_SERIAL_PORT
117-
#define ARDUINO_SERIAL_PORT 0
116+
#ifndef ARDUINO_USB_CDC_ON_BOOT
117+
#define ARDUINO_USB_CDC_ON_BOOT 0
118118
#endif
119-
#if ARDUINO_SERIAL_PORT //Serial used for USB CDC
119+
#if ARDUINO_USB_CDC_ON_BOOT //Serial used for USB CDC
120120
#include "USB.h"
121121
#include "USBCDC.h"
122122
extern HardwareSerial Serial0;

cores/esp32/USB.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#include "common/tusb_common.h"
2222
#include "esp_event.h"
2323

24+
#define ARDUINO_USB_ON_BOOT (ARDUINO_USB_CDC_ON_BOOT|ARDUINO_USB_MSC_ON_BOOT|ARDUINO_USB_DFU_ON_BOOT)
25+
2426
ESP_EVENT_DECLARE_BASE(ARDUINO_USB_EVENTS);
2527

2628
typedef enum {

cores/esp32/USBCDC.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ USBCDC::operator bool() const
364364
return connected;
365365
}
366366

367-
#if ARDUINO_SERIAL_PORT //Serial used for USB CDC
367+
#if ARDUINO_USB_CDC_ON_BOOT //Serial used for USB CDC
368368
USBCDC Serial(0);
369369
#endif
370370

cores/esp32/USBCDC.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ class USBCDC: public Stream
129129

130130
};
131131

132-
#if ARDUINO_SERIAL_PORT //Serial used for USB CDC
132+
#if ARDUINO_USB_CDC_ON_BOOT //Serial used for USB CDC
133133
extern USBCDC Serial;
134134
#endif
135135

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)