From f58cba0b4fd3fb6efd957a738d7e40da628c34db Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Wed, 22 Jul 2020 13:46:59 +0300 Subject: [PATCH] Add support for custom VID/PID and Board name to show in ArduinoIDE ports list --- boards.txt | 2 ++ libraries/USB/src/USB.cpp | 26 +++++++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/boards.txt b/boards.txt index b6d0ce9a..083ce9c5 100644 --- a/boards.txt +++ b/boards.txt @@ -14,6 +14,8 @@ menu.Revision=Board Revision ############################################################## esp32s2.name=ESP32S2 Dev Module +esp32s2.vid.0=0x303a +esp32s2.pid.0=0x0002 esp32s2.upload.tool=esptool_py esp32s2.upload.maximum_size=1310720 diff --git a/libraries/USB/src/USB.cpp b/libraries/USB/src/USB.cpp index a5815eeb..ce486bcc 100644 --- a/libraries/USB/src/USB.cpp +++ b/libraries/USB/src/USB.cpp @@ -17,6 +17,22 @@ #if CONFIG_USB_ENABLED #include "usb_persist.h" +#ifndef USB_VID +#define USB_VID USB_ESPRESSIF_VID +#endif +#ifndef USB_PID +#define USB_PID 0x0002 +#endif +#ifndef USB_MANUFACTURER +#define USB_MANUFACTURER "Espressif Systems" +#endif +#ifndef USB_PRODUCT +#define USB_PRODUCT ARDUINO_BOARD +#endif +#ifndef USB_SERIAL +#define USB_SERIAL "" +#endif + extern "C" { #include "tinyusb.h" } @@ -97,11 +113,11 @@ void tud_resume_cb(void){ } ESPUSB::ESPUSB(size_t task_stack_size, uint8_t event_task_priority) -:vid(USB_ESPRESSIF_VID) -,pid(0x0002) -,product_name(ARDUINO_BOARD) -,manufacturer_name("Espressif Systems") -,serial_number("") +:vid(USB_VID) +,pid(USB_PID) +,product_name(USB_PRODUCT) +,manufacturer_name(USB_MANUFACTURER) +,serial_number(USB_SERIAL) ,fw_version(0x0100) ,usb_version(0x0200)// at least 2.1 or 3.x for BOS & webUSB ,usb_class(TUSB_CLASS_MISC)