fixed serial port disabling

This commit is contained in:
Devaev Maxim 2020-11-15 16:35:13 +03:00
parent 0955e03cd3
commit 37d9518bc8
3 changed files with 54 additions and 25 deletions

View File

@ -33,7 +33,7 @@ def _patch(path: str, patch_path: str) -> None:
# =====
_patch(_get_pkg_path("framework-arduino-avr"), "patches/serial.patch")
_patch(_get_pkg_path("framework-arduino-avr"), "patches/optional-serial.patch")
_patch(_get_pkg_path("framework-arduino-avr"), "patches/get-plugged-endpoint.patch")
_libs = _get_libs()

View File

@ -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_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_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_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_SERIAL
CDC_GetInterface(&interfaces);
+#endif
#ifdef PLUGGABLE_USB_ENABLED
PluggableUSB().getInterface(&interfaces);

View File

@ -1,24 +0,0 @@
https://github.com/arduino/Arduino/issues/6387
--- a/cores/arduino/USBCore.cpp 2019-09-20 15:48:38.000000000 +0300
+++ b/cores/arduino/USBCore.cpp 2020-11-11 19:56:49.233690476 +0300
@@ -375,8 +375,10 @@
{
u8 i = setup.wIndex;
+#ifndef NO_SERIAL
if (CDC_ACM_INTERFACE == i)
return CDC_Setup(setup);
+#endif
#ifdef PLUGGABLE_USB_ENABLED
return PluggableUSB().setup(setup);
@@ -466,7 +468,9 @@
{
u8 interfaces = 0;
+#ifndef NO_SERIAL
CDC_GetInterface(&interfaces);
+#endif
#ifdef PLUGGABLE_USB_ENABLED
PluggableUSB().getInterface(&interfaces);