summaryrefslogtreecommitdiff
path: root/hid/patches/arduino-optional-usb-serial.patch
diff options
context:
space:
mode:
Diffstat (limited to 'hid/patches/arduino-optional-usb-serial.patch')
-rw-r--r--hid/patches/arduino-optional-usb-serial.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/hid/patches/arduino-optional-usb-serial.patch b/hid/patches/arduino-optional-usb-serial.patch
new file mode 100644
index 00000000..0d4a0b37
--- /dev/null
+++ b/hid/patches/arduino-optional-usb-serial.patch
@@ -0,0 +1,53 @@
+https://github.com/arduino-libraries/MIDIUSB/issues/50#issuecomment-451427496
+--- a/cores/arduino/PluggableUSB.cpp 2019-05-16 15:52:01.000000000 +0300
++++ b/cores/arduino/PluggableUSB.cpp 2020-11-14 21:14:03.084063731 +0300
+@@ -103,8 +103,13 @@
+ return obj;
+ }
+
++#ifndef NO_USB_SERIAL
+ PluggableUSB_::PluggableUSB_() : lastIf(CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT),
+ lastEp(CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT),
++#else
++PluggableUSB_::PluggableUSB_() : lastIf(0),
++ lastEp(1),
++#endif
+ rootNode(NULL)
+ {
+ // Empty
+diff -u -r a/cores/arduino/USBCore.cpp b/cores/arduino/USBCore.cpp
+--- a/cores/arduino/USBCore.cpp 2019-09-20 15:48:38.000000000 +0300
++++ b/cores/arduino/USBCore.cpp 2020-11-14 21:08:27.473519254 +0300
+@@ -329,9 +329,11 @@
+ {
+ 0, // Control Endpoint
+
++#ifndef NO_USB_SERIAL
+ EP_TYPE_INTERRUPT_IN, // CDC_ENDPOINT_ACM
+ EP_TYPE_BULK_OUT, // CDC_ENDPOINT_OUT
+ EP_TYPE_BULK_IN, // CDC_ENDPOINT_IN
++#endif
+
+ // Following endpoints are automatically initialized to 0
+ };
+@@ -375,8 +377,10 @@
+ {
+ u8 i = setup.wIndex;
+
++#ifndef NO_USB_SERIAL
+ if (CDC_ACM_INTERFACE == i)
+ return CDC_Setup(setup);
++#endif
+
+ #ifdef PLUGGABLE_USB_ENABLED
+ return PluggableUSB().setup(setup);
+@@ -466,7 +470,9 @@
+ {
+ u8 interfaces = 0;
+
++#ifndef NO_USB_SERIAL
+ CDC_GetInterface(&interfaces);
++#endif
+
+ #ifdef PLUGGABLE_USB_ENABLED
+ PluggableUSB().getInterface(&interfaces);