summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2020-11-11 21:32:22 +0300
committerDevaev Maxim <[email protected]>2020-11-11 22:24:25 +0300
commit55a682803965af9bc4712cb7485a706bd2b25832 (patch)
tree9dbde548843a8d09cbd5f8f5b2a9a1093519b9cf
parentfef625aee52015dfdca0a96c31eced033663cb97 (diff)
disable serial port for spi
-rw-r--r--hid/avrdude.py1
-rw-r--r--hid/patch.py19
-rw-r--r--hid/patches/serial.patch24
-rw-r--r--hid/platformio.ini1
4 files changed, 40 insertions, 5 deletions
diff --git a/hid/avrdude.py b/hid/avrdude.py
index 1eef53b4..3ae227f9 100644
--- a/hid/avrdude.py
+++ b/hid/avrdude.py
@@ -1,5 +1,6 @@
# https://docs.platformio.org/en/latest/projectconf/advanced_scripting.html
+
from os import rename
from os import symlink
from os.path import exists
diff --git a/hid/patch.py b/hid/patch.py
index c05ed262..58462bc1 100644
--- a/hid/patch.py
+++ b/hid/patch.py
@@ -1,5 +1,6 @@
# https://docs.platformio.org/en/latest/projectconf/advanced_scripting.html
+
from os.path import exists
from os.path import join
from os.path import basename
@@ -10,6 +11,12 @@ Import("env")
# =====
+def _get_pkg_path(name: str) -> str:
+ path = env.PioPlatform().get_package_dir(name)
+ assert exists(path)
+ return path
+
+
def _get_libs() -> Dict[str, str]:
return {
builder.name: builder.path
@@ -17,15 +24,17 @@ def _get_libs() -> Dict[str, str]:
}
-def _patch_lib(lib_path: str, patch_path: str) -> None:
- assert exists(lib_path)
- flag_path: str = join(lib_path, f".{basename(patch_path)}.done")
+def _patch(path: str, patch_path: str) -> None:
+ assert exists(path)
+ flag_path: str = join(path, f".{basename(patch_path)}.done")
if not exists(flag_path):
- env.Execute(f"patch -p1 -d {lib_path} < {patch_path}")
+ env.Execute(f"patch -p1 -d {path} < {patch_path}")
env.Execute(lambda *_, **__: open(flag_path, "w").close())
# =====
+_patch(_get_pkg_path("framework-arduino-avr"), "patches/serial.patch")
+
_libs = _get_libs()
if "HID-Project" in _libs:
- _patch_lib(_libs["HID-Project"], "patches/absmouse.patch")
+ _patch(_libs["HID-Project"], "patches/absmouse.patch")
diff --git a/hid/patches/serial.patch b/hid/patches/serial.patch
new file mode 100644
index 00000000..16ba3811
--- /dev/null
+++ b/hid/patches/serial.patch
@@ -0,0 +1,24 @@
+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);
diff --git a/hid/platformio.ini b/hid/platformio.ini
index 3414d1d7..a24c4aca 100644
--- a/hid/platformio.ini
+++ b/hid/platformio.ini
@@ -102,6 +102,7 @@ extra_scripts =
[_cmd_spi]
build_flags =
-DCMD_SPI
+ -DNO_SERIAL
upload_protocol = custom
upload_flags =
-C