CommunityGD32Cores / ArduinoCore-GD32

Arduino core for GD32 devices, community developed, based on original GigaDevice's core
Other
92 stars 33 forks source link

Add USB functionality #5

Open maxgerhardt opened 3 years ago

maxgerhardt commented 3 years ago

The currently does the original GD32 USB libraries (https://github.com/CommunityGD32Cores/GD32Core-New/tree/main/system/GD32F30x_firmware/GD32F30x_usbd_driver) but these are not used.

No USB functionality is available, e.g. USB CDC, USB HID, etc.

It should be thought out very carefully how USB support is added.

The ArduinoCore-API repo has the PluggableUSB class which is e.g. used in the ArduinoCore-mbed USB implementation.

Other cores use something like e.g. tinyUSB (Adafruit fork).

Since I'm no expert on USB, design thoughts & implementation help is appreciated.

Right now USB seems like a complex feature and maybe other smaller features can take precendence first.

obra commented 3 years ago

We may be able to lift things wholesale from the GD32 RISCV Arduino implementation: https://github.com/scpcom/Longduino/tree/master/cores/arduino