Skip to content

Commit 354a32b

Browse files
authored
Merge branch 'main' into sebromero/web-camera
2 parents e343588 + 09f690a commit 354a32b

File tree

335 files changed

+465052
-79967
lines changed

Some content is hidden

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

335 files changed

+465052
-79967
lines changed

.github/workflows/compile-examples.yml

+48-10
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@ jobs:
3939
- fqbn: arduino:mbed:nicla_sense
4040
- fqbn: arduino:mbed:nicla_vision
4141
- fqbn: arduino:mbed:opta
42+
- fqbn: arduino:mbed:giga
4243
- fqbn: arduino:mbed:nicla_voice
44+
- fqbn: arduino:mbed:edge_control
4345

4446
# compile only the examples compatible with each board
4547
include:
@@ -55,33 +57,32 @@ jobs:
5557
- ~/Arduino/libraries/ArduinoBLE
5658
- board:
5759
fqbn: arduino:mbed:envie_m7:target_core=cm4
58-
additional-libraries: |
59-
- name: lvgl
6060
additional-sketch-paths: |
61-
- libraries/doom
6261
- libraries/KernelDebug
6362
- libraries/Portenta_SDCARD
6463
- libraries/Portenta_SDRAM
65-
- libraries/Portenta_Video
6664
- libraries/RPC
6765
- board:
6866
fqbn: arduino:mbed:envie_m7
6967
additional-libraries: |
7068
- name: lvgl
71-
version: 7.11.0
69+
version: 8.3.5
7270
- name: MicroNMEA
7371
- name: ArduinoBLE
72+
- name: ArduinoGraphics
73+
- name: Arduino_GigaDisplayTouch
74+
- name: emWin
7475
additional-sketch-paths: |
7576
- libraries/PDM
7677
- libraries/doom
7778
- libraries/KernelDebug
7879
- libraries/MCUboot
79-
- libraries/Camera/examples
80-
- libraries/Portenta_lvgl/examples/Portenta_lvgl
80+
- libraries/Camera/examples/CameraCaptureRawBytes
81+
- libraries/Camera/examples/CameraMotionDetect
8182
- libraries/Portenta_SDCARD
8283
- libraries/Portenta_SDRAM
8384
- libraries/STM32H747_System
84-
- libraries/Portenta_Video
85+
- libraries/Arduino_H7_Video
8586
- libraries/RPC
8687
- libraries/ThreadDebug
8788
- libraries/USBHID
@@ -115,6 +116,7 @@ jobs:
115116
additional-sketch-paths: |
116117
- libraries/PDM
117118
- libraries/Camera/examples/CameraCaptureRawBytes
119+
- libraries/Camera/examples/CameraCaptureZoomPan
118120
- libraries/SE05X
119121
- libraries/STM32H747_System
120122
- libraries/ThreadDebug
@@ -131,6 +133,33 @@ jobs:
131133
- libraries/USBHID
132134
- libraries/USBMSD/examples/AccessFlashAsUSBDisk
133135
- libraries/WiFi
136+
- board:
137+
fqbn: arduino:mbed:giga
138+
additional-libraries: |
139+
- name: lvgl
140+
version: 8.3.5
141+
- name: MicroNMEA
142+
- name: ArduinoBLE
143+
- name: ArduinoGraphics
144+
- name: Arduino_GigaDisplayTouch
145+
- name: arducam_dvp
146+
- name: emWin
147+
additional-sketch-paths: |
148+
- libraries/PDM
149+
- libraries/MCUboot
150+
- libraries/Camera/examples/CameraCaptureRawBytes
151+
- libraries/Camera/examples/CameraMotionDetect
152+
- libraries/Camera/examples/GigaCameraDisplay
153+
- libraries/Portenta_SDCARD
154+
- libraries/Portenta_SDRAM
155+
- libraries/Arduino_H7_Video
156+
- libraries/RPC
157+
- libraries/ThreadDebug
158+
- libraries/USBHID
159+
- libraries/USBHOST
160+
- libraries/USBMSD/examples/AccessFlashAsUSBDisk
161+
- libraries/WiFi
162+
- ~/Arduino/libraries/ArduinoBLE
134163
- board:
135164
fqbn: arduino:mbed:nicla_voice
136165
additional-sketch-paths: |
@@ -141,10 +170,19 @@ jobs:
141170
- name: ArduinoBLE
142171
- name: arduino-audio-tools
143172
source-url: https://github.com/pschatzmann/arduino-audio-tools.git
144-
version: v0.9.4
173+
version: v0.9.6
145174
- name: arduino-libg722
146175
source-url: https://github.com/pschatzmann/arduino-libg722.git
147-
176+
- board:
177+
fqbn: arduino:mbed:edge_control
178+
additional-libraries: |
179+
- name: MicroNMEA
180+
additional-sketch-paths: |
181+
- libraries/GSM
182+
- libraries/USBHID
183+
- libraries/USBMSD/examples/Nano33BLE_FlashMassStorage
184+
- libraries/ThreadDebug
185+
148186
steps:
149187
- name: Checkout repository
150188
uses: actions/checkout@v2

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ The repository contains the Arduino APIs and IDE integration files targeting a g
1010

1111
## Installation
1212

13+
Note:
14+
1315
### Clone the repository in `$sketchbook/hardware/arduino-git`
1416

1517
```bash
@@ -45,7 +47,7 @@ To install ARM build tools, use the `Boards Manager` option in the Arduino IDE t
4547

4648
## mbed-os-to-arduino script
4749

48-
The backbone of the packaging process is the https://github.com/arduino/ArduinoCore-mbed/blob/master/mbed-os-to-arduino script. It basically compiles a blank Mbed OS project for any supported target board, recovering the files that will be needed at compile time and copying them to the right location.
50+
The backbone of the packaging process is the https://github.com/arduino/ArduinoCore-mbed/blob/master/mbed-os-to-arduino script. It basically compiles a blank Mbed OS project for any supported target board, recovering the files that will be needed at compile time and copying them to the right location. This script is compatible only with Linux. If you are using macOS, use the https://github.com/arduino/ArduinoCore-mbed/blob/master/mbed-os-to-arduino-macos script.
4951

5052
It can be used for a variety of tasks including:
5153

boards.txt

+87-13
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ edge_control.bootloader.config=-f target/nrf52.cfg
4747
edge_control.bootloader.programmer=-f interface/cmsis-dap.cfg
4848
edge_control.bootloader.file=EDGE_CONTROL/bootloader.hex
4949

50+
edge_control.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
51+
edge_control.debug.server.openocd.scripts.1={programmer.transport_script}
52+
edge_control.debug.server.openocd.scripts.2=target/nrf52.cfg
53+
edge_control.debug.svd_file={runtime.platform.path}/svd/nrf52840.svd
54+
5055
##############################################################
5156

5257
menu.split=Flash split
@@ -74,7 +79,7 @@ envie_m7.menu.target_core.cm7.build.fpu=-mfpu=fpv5-d16
7479
envie_m7.menu.target_core.cm7.build.architecture=cortex-m7
7580
envie_m7.menu.target_core.cm7.compiler.mbed.arch.define=
7681

77-
envie_m7.menu.target_core.cm4.build.variant=PORTENTA_H7_M4
82+
envie_m7.menu.target_core.cm4.build.variant=GENERIC_STM32H747_M4
7883
envie_m7.menu.target_core.cm4.build.mcu=cortex-m4
7984
envie_m7.menu.target_core.cm4.build.fpu=-mfpu=fpv4-sp-d16
8085
envie_m7.menu.target_core.cm4.build.architecture=cortex-m4
@@ -99,7 +104,7 @@ envie_m7.compiler.mbed.defines={build.variant.path}/defines.txt
99104
envie_m7.compiler.mbed.ldflags={build.variant.path}/ldflags.txt
100105
envie_m7.compiler.mbed.cflags={build.variant.path}/cflags.txt
101106
envie_m7.compiler.mbed.cxxflags={build.variant.path}/cxxflags.txt
102-
envie_m7.compiler.mbed.includes={build.variant.path}/includes.txt
107+
envie_m7.compiler.mbed.includes={build.variant.path}/../PORTENTA_H7_M7/includes.txt
103108
envie_m7.compiler.mbed.extra_ldflags=-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
104109
envie_m7.compiler.mbed="{build.variant.path}/libs/libmbed.a"
105110
envie_m7.vid.0=0x2341
@@ -160,6 +165,13 @@ envie_m7.bootloader.programmer=-f interface/stlink.cfg
160165
envie_m7.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
161166
envie_m7.bootloader.file=PORTENTA_H7/portentah7_bootloader_mbed_hs_v2.elf
162167

168+
envie_m7.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
169+
envie_m7.debug.server.openocd.scripts.1={programmer.transport_script}
170+
envie_m7.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
171+
envie_m7.debug.cortex-debug.custom.request=attach
172+
envie_m7.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
173+
envie_m7.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd
174+
163175
envie_m7_thread_debug.name=Arduino Portenta H7 (ThreadDebug)
164176
envie_m7_thread_debug.vid.0=0x2341
165177
envie_m7_thread_debug.pid.0=0x025B
@@ -277,6 +289,11 @@ nano33ble.bootloader.config=-f target/nrf52.cfg
277289
nano33ble.bootloader.programmer=-f interface/cmsis-dap.cfg
278290
nano33ble.bootloader.file=nano33ble/bootloader.hex
279291

292+
nano33ble.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
293+
nano33ble.debug.server.openocd.scripts.1={programmer.transport_script}
294+
nano33ble.debug.server.openocd.scripts.2=target/nrf52.cfg
295+
nano33ble.debug.svd_file={runtime.platform.path}/svd/nrf52840.svd
296+
280297
##############################################################
281298

282299
nanorp2040connect.name=Arduino Nano RP2040 Connect
@@ -333,6 +350,11 @@ nanorp2040connect.bootloader.tool.default=openocd
333350
nanorp2040connect.bootloader.config=-f target/rp2040.cfg
334351
nanorp2040connect.bootloader.programmer=-f interface/cmsis-dap.cfg
335352

353+
nanorp2040connect.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
354+
nanorp2040connect.debug.server.openocd.scripts.1={programmer.transport_script}
355+
nanorp2040connect.debug.server.openocd.scripts.2=target/rp2040-core0.cfg
356+
nanorp2040connect.debug.svd_file={runtime.platform.path}/svd/rp2040.svd
357+
336358
##############################################################
337359

338360
pico.name=Raspberry Pi Pico
@@ -377,6 +399,11 @@ pico.bootloader.tool.default=openocd
377399
pico.bootloader.config=-f target/rp2040.cfg
378400
pico.bootloader.programmer=-f interface/cmsis-dap.cfg
379401

402+
pico.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
403+
pico.debug.server.openocd.scripts.1={programmer.transport_script}
404+
pico.debug.server.openocd.scripts.2=target/rp2040-core0.cfg
405+
pico.debug.svd_file={runtime.platform.path}/svd/rp2040.svd
406+
380407
##############################################################
381408

382409
nicla_sense.name=Arduino Nicla Sense ME
@@ -424,6 +451,11 @@ nicla_sense.bootloader.config=-f target/nrf52.cfg
424451
nicla_sense.bootloader.programmer=-f interface/cmsis-dap.cfg
425452
nicla_sense.bootloader.file=NICLA/bootloader.hex
426453

454+
nicla_sense.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
455+
nicla_sense.debug.server.openocd.scripts.1={programmer.transport_script}
456+
nicla_sense.debug.server.openocd.scripts.2=target/nrf52.cfg
457+
nicla_sense.debug.svd_file={runtime.platform.path}/svd/nrf52833.svd
458+
427459
##############################################################
428460

429461
nicla_voice.name=Arduino Nicla Voice
@@ -472,6 +504,11 @@ nicla_voice.bootloader.config=-f target/nrf52.cfg
472504
nicla_voice.bootloader.programmer=-f interface/cmsis-dap.cfg
473505
nicla_voice.bootloader.file=NICLA_VOICE/bootloader_application.hex
474506

507+
nicla_voice.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
508+
nicla_voice.debug.server.openocd.scripts.1={programmer.transport_script}
509+
nicla_voice.debug.server.openocd.scripts.2=target/nrf52.cfg
510+
nicla_voice.debug.svd_file={runtime.platform.path}/svd/nrf52833.svd
511+
475512
##############################################################
476513

477514
nicla_vision.name=Arduino Nicla Vision
@@ -492,7 +529,7 @@ nicla_vision.menu.target_core.cm7.build.fpu=-mfpu=fpv5-d16
492529
nicla_vision.menu.target_core.cm7.build.architecture=cortex-m7
493530
nicla_vision.menu.target_core.cm7.compiler.mbed.arch.define=
494531

495-
nicla_vision.menu.target_core.cm4.build.variant=PORTENTA_H7_M4
532+
nicla_vision.menu.target_core.cm4.build.variant=GENERIC_STM32H747_M4
496533
nicla_vision.menu.target_core.cm4.build.mcu=cortex-m4
497534
nicla_vision.menu.target_core.cm4.build.fpu=-mfpu=fpv4-sp-d16
498535
nicla_vision.menu.target_core.cm4.build.architecture=cortex-m4
@@ -510,7 +547,7 @@ nicla_vision.compiler.mbed.defines={build.variant.path}/defines.txt
510547
nicla_vision.compiler.mbed.ldflags={build.variant.path}/ldflags.txt
511548
nicla_vision.compiler.mbed.cflags={build.variant.path}/cflags.txt
512549
nicla_vision.compiler.mbed.cxxflags={build.variant.path}/cxxflags.txt
513-
nicla_vision.compiler.mbed.includes={build.variant.path}/includes.txt
550+
nicla_vision.compiler.mbed.includes={build.variant.path}/../NICLA_VISION/includes.txt
514551
nicla_vision.compiler.mbed.extra_ldflags=-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
515552
nicla_vision.compiler.mbed="{build.variant.path}/libs/libmbed.a"
516553
nicla_vision.vid.0=0x2341
@@ -567,6 +604,13 @@ nicla_vision.bootloader.programmer=-f interface/stlink.cfg
567604
nicla_vision.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
568605
nicla_vision.bootloader.file=NICLA_VISION/bootloader.elf
569606

607+
nicla_vision.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
608+
nicla_vision.debug.server.openocd.scripts.1={programmer.transport_script}
609+
nicla_vision.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
610+
nicla_vision.debug.cortex-debug.custom.request=attach
611+
nicla_vision.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
612+
nicla_vision.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd
613+
570614
##############################################################
571615

572616
opta.name=Opta
@@ -581,32 +625,43 @@ opta.menu.split.100_0=2MB M7
581625
opta.menu.split.75_25=1.5MB M7 + 0.5MB M4
582626
opta.menu.split.50_50=1MB M7 + 1MB M4
583627

628+
opta.menu.security.none=None
629+
opta.menu.security.sien=Signature + Encryption
630+
584631
opta.menu.target_core.cm7.build.variant=OPTA
585632
opta.menu.target_core.cm7.build.mcu=cortex-m7
586633
opta.menu.target_core.cm7.build.fpu=-mfpu=fpv5-d16
587634
opta.menu.target_core.cm7.build.architecture=cortex-m7
588635
opta.menu.target_core.cm7.compiler.mbed.arch.define=
589636

590-
opta.menu.target_core.cm4.build.variant=PORTENTA_H7_M4
637+
opta.menu.target_core.cm4.build.variant=GENERIC_STM32H747_M4
591638
opta.menu.target_core.cm4.build.mcu=cortex-m4
592639
opta.menu.target_core.cm4.build.fpu=-mfpu=fpv4-sp-d16
593640
opta.menu.target_core.cm4.build.architecture=cortex-m4
594641
opta.menu.target_core.cm4.compiler.mbed.arch.define=-DOPTA_PINS
595642

643+
opta.build.float-abi=-mfloat-abi=softfp
644+
opta.build.extra_flags=
596645
opta.menu.split.50_50.build.extra_ldflags=-DCM4_BINARY_START=0x08100000 -DCM4_BINARY_END=0x08200000
597646
opta.menu.split.75_25.build.extra_ldflags=-DCM4_BINARY_START=0x08180000 -DCM4_BINARY_END=0x08200000
598647
opta.menu.split.100_0.build.extra_ldflags=-DCM4_BINARY_START=0x60000000 -DCM4_BINARY_END=0x60040000 -DCM4_RAM_END=0x60080000
599-
opta.build.board={build.variant}
600648

601-
opta.build.extra_flags=
602-
opta.build.float-abi=-mfloat-abi=softfp
649+
opta.build.board={build.variant}
603650
opta.build.ldscript=linker_script.ld
604651
opta.compiler.mbed.arch.define=
652+
opta.build.slot_size=0x1E0000
653+
opta.build.header_size=0x20000
654+
opta.build.alignment=32
655+
opta.build.version=1.2.3+4
656+
opta.menu.security.sien.recipe.hooks.objcopy.postobjcopy.1.pattern="{tools.imgtool.path}/{tools.imgtool.cmd}" {tools.imgtool.flags}
657+
opta.menu.security.sien.build.keys.keychain={runtime.platform.path}/libraries/MCUboot/default_keys
658+
opta.menu.security.sien.build.keys.sign_key=ecdsa-p256-signing-priv-key.pem
659+
opta.menu.security.sien.build.keys.encrypt_key=ecdsa-p256-encrypt-pub-key.pem
605660
opta.compiler.mbed.defines={build.variant.path}/defines.txt
606661
opta.compiler.mbed.ldflags={build.variant.path}/ldflags.txt
607662
opta.compiler.mbed.cflags={build.variant.path}/cflags.txt
608663
opta.compiler.mbed.cxxflags={build.variant.path}/cxxflags.txt
609-
opta.compiler.mbed.includes={build.variant.path}/includes.txt
664+
opta.compiler.mbed.includes={build.variant.path}/../OPTA/includes.txt
610665
opta.compiler.mbed.extra_ldflags=-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
611666
opta.compiler.mbed="{build.variant.path}/libs/libmbed.a"
612667
opta.vid.0=0x2341
@@ -653,10 +708,15 @@ opta.upload.interface=0
653708
opta.upload.use_1200bps_touch=true
654709
opta.upload.wait_for_upload_port=true
655710
opta.upload.native_usb=true
656-
opta.upload.maximum_size=786432
711+
opta.upload.maximum_size=1966080
657712
opta.upload.maximum_data_size=523624
658713

659-
opta.menu.target_core.cm7.upload.address=0x08040000
714+
opta.menu.security.none.upload.interface=0
715+
opta.menu.security.sien.upload.interface=2
716+
717+
opta.menu.security.none.upload.address_m7=0x08040000
718+
opta.menu.security.sien.upload.address_m7=0xA0000000
719+
opta.menu.target_core.cm7.upload.address={upload.address_m7}
660720

661721
opta.menu.target_core.cm7.menu.split.50_50.upload.maximum_size=786432
662722
opta.menu.target_core.cm7.menu.split.75_25.upload.maximum_size=1441792
@@ -680,6 +740,13 @@ opta.bootloader.programmer=-f interface/stlink.cfg
680740
opta.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
681741
opta.bootloader.file=OPTA/bootloader.elf
682742

743+
opta.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
744+
opta.debug.server.openocd.scripts.1={programmer.transport_script}
745+
opta.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
746+
opta.debug.cortex-debug.custom.request=attach
747+
opta.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
748+
opta.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd
749+
683750
##############################################################
684751

685752
giga.name=Arduino Giga R1
@@ -700,7 +767,7 @@ giga.menu.target_core.cm7.build.fpu=-mfpu=fpv5-d16
700767
giga.menu.target_core.cm7.build.architecture=cortex-m7
701768
giga.menu.target_core.cm7.compiler.mbed.arch.define=
702769

703-
giga.menu.target_core.cm4.build.variant=PORTENTA_H7_M4
770+
giga.menu.target_core.cm4.build.variant=GENERIC_STM32H747_M4
704771
giga.menu.target_core.cm4.build.mcu=cortex-m4
705772
giga.menu.target_core.cm4.build.fpu=-mfpu=fpv4-sp-d16
706773
giga.menu.target_core.cm4.build.architecture=cortex-m4
@@ -723,7 +790,7 @@ giga.compiler.mbed.defines={build.variant.path}/defines.txt
723790
giga.compiler.mbed.ldflags={build.variant.path}/ldflags.txt
724791
giga.compiler.mbed.cflags={build.variant.path}/cflags.txt
725792
giga.compiler.mbed.cxxflags={build.variant.path}/cxxflags.txt
726-
giga.compiler.mbed.includes={build.variant.path}/includes.txt
793+
giga.compiler.mbed.includes={build.variant.path}/../GIGA/includes.txt
727794
giga.compiler.mbed.extra_ldflags=-lstdc++ -lsupc++ -lm -lc -lgcc -lnosys
728795
giga.compiler.mbed="{build.variant.path}/libs/libmbed.a"
729796
giga.vid.0=0x2341
@@ -775,3 +842,10 @@ giga.bootloader.config=-f target/stm32h7x_dual_bank.cfg
775842
giga.bootloader.programmer=-f interface/stlink.cfg
776843
giga.bootloader.extra_action.preflash=stm32h7x option_write 0 0x01c 0xb86aaf0
777844
giga.bootloader.file=GIGA/bootloader.elf
845+
846+
giga.debug.server.openocd.scripts.0=interface/{programmer.protocol}.cfg
847+
giga.debug.server.openocd.scripts.1={programmer.transport_script}
848+
giga.debug.server.openocd.scripts.2=target/stm32h7x_dual_bank.cfg
849+
giga.debug.cortex-debug.custom.request=attach
850+
giga.menu.target_core.cm7.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM7.svd
851+
giga.menu.target_core.cm4.debug.svd_file={runtime.platform.path}/svd/STM32H747_CM4.svd

bootloaders/GIGA/bootloader.bin

9.33 KB
Binary file not shown.

bootloaders/GIGA/bootloader.elf

-76.3 KB
Binary file not shown.

cores/arduino/Arduino.h

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ typedef struct _AnalogPinDescription AnalogPinDescription;
8484
extern PinDescription g_APinDescription[];
8585
extern AnalogPinDescription g_AAnalogPinDescription[];
8686
extern AnalogPinDescription g_AAnalogOutPinDescription[];
87+
extern AnalogPinDescription g_pureAAnalogPinDescription[];
8788

8889
#ifdef ANALOG_CONFIG
8990
#include "hal/analogin_api.h"

cores/arduino/USB/PluggableUSBDevice.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ uint32_t arduino::internal::PluggableUSBModule::write_finish(usb_ep_t endpoint)
6060
return PluggableUSBD().write_finish(endpoint);
6161
}
6262

63+
void arduino::internal::PluggableUSBModule::callback_reset()
64+
{
65+
}
66+
6367
arduino::PluggableUSBDevice::PluggableUSBDevice(uint16_t vendor_id, uint16_t product_id)
6468
: USBDevice(get_usb_phy(), vendor_id, product_id, 1 << 8)
6569
{

0 commit comments

Comments
 (0)