diff options
author | Devaev Maxim <[email protected]> | 2020-11-11 21:32:22 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2020-11-11 22:24:25 +0300 |
commit | 55a682803965af9bc4712cb7485a706bd2b25832 (patch) | |
tree | 9dbde548843a8d09cbd5f8f5b2a9a1093519b9cf | |
parent | fef625aee52015dfdca0a96c31eced033663cb97 (diff) |
disable serial port for spi
-rw-r--r-- | hid/avrdude.py | 1 | ||||
-rw-r--r-- | hid/patch.py | 19 | ||||
-rw-r--r-- | hid/patches/serial.patch | 24 | ||||
-rw-r--r-- | hid/platformio.ini | 1 |
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 |