From a01884061a638e687417fcdb97de0123cfcdab7f Mon Sep 17 00:00:00 2001 From: EvilGremlin <22657714+EvilGremlin@users.noreply.github.com> Date: Mon, 22 Aug 2022 18:31:02 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Robin=20Nano=20v1=20CDC=20(USB=20mo?= =?UTF-8?q?d)=20(#24619)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test-builds.yml | 6 +++-- Marlin/src/pins/pins.h | 4 ++-- .../src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h | 4 +++- .../pins/stm32f1/pins_MKS_ROBIN_NANO_common.h | 13 +++++++--- .../PlatformIO/scripts/offset_and_rename.py | 10 +++++++- buildroot/tests/mks_robin_nano_v1_3_f4_usbmod | 19 +++++++++++++++ .../{mks_robin_nano35 => mks_robin_nano_v1v2} | 0 ...nano35_maple => mks_robin_nano_v1v2_maple} | 0 buildroot/tests/mks_robin_nano_v1v2_usbmod | 19 +++++++++++++++ ini/renamed.ini | 8 +++++++ ini/stm32f1-maple.ini | 6 ++--- ini/stm32f1.ini | 24 +++++++++++++++++++ 12 files changed, 100 insertions(+), 13 deletions(-) create mode 100755 buildroot/tests/mks_robin_nano_v1_3_f4_usbmod rename buildroot/tests/{mks_robin_nano35 => mks_robin_nano_v1v2} (100%) rename buildroot/tests/{mks_robin_nano35_maple => mks_robin_nano_v1v2_maple} (100%) create mode 100755 buildroot/tests/mks_robin_nano_v1v2_usbmod diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml index 9feba3847db1..2fe7a28bc23a 100644 --- a/.github/workflows/test-builds.yml +++ b/.github/workflows/test-builds.yml @@ -66,7 +66,7 @@ jobs: #- mks_robin_maple - mks_robin_lite_maple - mks_robin_pro_maple - #- mks_robin_nano35_maple + #- mks_robin_nano_v1v2_maple #- STM32F103RE_creality_maple - STM32F103VE_ZM3E4V2_USB_maple @@ -93,7 +93,9 @@ jobs: - rumba32 - LERDGEX - LERDGEK - - mks_robin_nano35 + - mks_robin_nano_v1v2 + - mks_robin_nano_v1_2_usbmod + - mks_robin_nano_v1_3_f4_usbmod - NUCLEO_F767ZI - REMRAM_V1 - BTT_SKR_SE_BX diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index d6ac2aab5dcb..89e5d6ace28c 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -508,9 +508,9 @@ #elif MB(MKS_ROBIN_MINI) #include "stm32f1/pins_MKS_ROBIN_MINI.h" // STM32F1 env:mks_robin_mini env:mks_robin_mini_maple #elif MB(MKS_ROBIN_NANO) - #include "stm32f1/pins_MKS_ROBIN_NANO.h" // STM32F1 env:mks_robin_nano35 env:mks_robin_nano35_maple + #include "stm32f1/pins_MKS_ROBIN_NANO.h" // STM32F1 env:mks_robin_nano_v1v2 env:mks_robin_nano_v1v2_maple env:mks_robin_nano_v1_2_usbmod #elif MB(MKS_ROBIN_NANO_V2) - #include "stm32f1/pins_MKS_ROBIN_NANO_V2.h" // STM32F1 env:mks_robin_nano35 env:mks_robin_nano35_maple + #include "stm32f1/pins_MKS_ROBIN_NANO_V2.h" // STM32F1 env:mks_robin_nano_v1v2 env:mks_robin_nano3_v1v2_maple #elif MB(MKS_ROBIN_LITE) #include "stm32f1/pins_MKS_ROBIN_LITE.h" // STM32F1 env:mks_robin_lite env:mks_robin_lite_maple #elif MB(MKS_ROBIN_LITE3) diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index 9ce5d270b556..9c6373bef987 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -35,7 +35,9 @@ #define BOARD_INFO_NAME "MKS Robin nano V2.0" -#define BOARD_NO_NATIVE_USB +#ifndef USB_MOD + #define BOARD_NO_NATIVE_USB +#endif #define USES_DIAG_PINS // Avoid conflict with TIMER_SERVO when using the STM32 HAL diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_common.h index 9612e92f10df..3f6c797ca4e7 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_common.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_common.h @@ -29,7 +29,9 @@ #error "MKS Robin nano boards support up to 2 hotends / E steppers." #endif -#define BOARD_NO_NATIVE_USB +#ifndef USB_MOD + #define BOARD_NO_NATIVE_USB +#endif // Avoid conflict with TIMER_SERVO when using the STM32 HAL #define TEMP_TIMER 5 @@ -53,9 +55,14 @@ // Limit Switches // #define X_STOP_PIN PA15 -#define Y_STOP_PIN PA12 -#define Z_MIN_PIN PA11 #define Z_MAX_PIN PC4 +#ifndef USB_MOD + #define Y_STOP_PIN PA12 + #define Z_MIN_PIN PA11 +#else + #define Y_STOP_PIN PB10 + #define Z_MIN_PIN PB11 +#endif // // Steppers diff --git a/buildroot/share/PlatformIO/scripts/offset_and_rename.py b/buildroot/share/PlatformIO/scripts/offset_and_rename.py index 8f1450ab5314..7adfa4133afd 100644 --- a/buildroot/share/PlatformIO/scripts/offset_and_rename.py +++ b/buildroot/share/PlatformIO/scripts/offset_and_rename.py @@ -67,6 +67,7 @@ def encrypt(source, target, env): <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD def rename_target(source, target, env): firmware = os.path.join(target[0].dir.path, board.get("build.rename")) @@ -84,9 +85,16 @@ def rename_target(source, target, env): >>>>>>> 306e03b03b (🧑‍💻 Use spaces indent for Python) ======= +======= + # If FIRMWARE_BIN is defined by config, override all + mf = env["MARLIN_FEATURES"] + if "FIRMWARE_BIN" in mf: new_name = mf["FIRMWARE_BIN"] + else: new_name = board.get("build.rename") + +>>>>>>> 2a1c2e26ed (✨ Robin Nano v1 CDC (USB mod) (#24619)) def rename_target(source, target, env): from pathlib import Path - Path(target[0].path).replace(Path(target[0].dir.path, board.get("build.rename"))) + Path(target[0].path).replace(Path(target[0].dir.path, new_name)) >>>>>>> 306e03b03b (🧑‍💻 Use spaces indent for Python) ======= diff --git a/buildroot/tests/mks_robin_nano_v1_3_f4_usbmod b/buildroot/tests/mks_robin_nano_v1_3_f4_usbmod new file mode 100755 index 000000000000..5213eb84f796 --- /dev/null +++ b/buildroot/tests/mks_robin_nano_v1_3_f4_usbmod @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# +# Build tests for MKS Robin nano +# (STM32F4 genericSTM32F407VE) +# + +# exit on first failure +set -e + +# +# MKS/ZNP Robin nano v1.3 Emulated DOGM FSMC and native USB mod +# +use_example_configs Mks/Robin +opt_add USB_MOD +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V1_3_F4 SERIAL_PORT -1 +exec_test $1 $2 "MKS/ZNP Robin nano v1.3 Emulated DOGM FSMC and native USB mod" "$3" + +# cleanup +restore_configs diff --git a/buildroot/tests/mks_robin_nano35 b/buildroot/tests/mks_robin_nano_v1v2 similarity index 100% rename from buildroot/tests/mks_robin_nano35 rename to buildroot/tests/mks_robin_nano_v1v2 diff --git a/buildroot/tests/mks_robin_nano35_maple b/buildroot/tests/mks_robin_nano_v1v2_maple similarity index 100% rename from buildroot/tests/mks_robin_nano35_maple rename to buildroot/tests/mks_robin_nano_v1v2_maple diff --git a/buildroot/tests/mks_robin_nano_v1v2_usbmod b/buildroot/tests/mks_robin_nano_v1v2_usbmod new file mode 100755 index 000000000000..a3ec1d4075d9 --- /dev/null +++ b/buildroot/tests/mks_robin_nano_v1v2_usbmod @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# +# Build tests for MKS Robin nano +# (STM32F1 genericSTM32F103VE) +# + +# exit on first failure +set -e + +# +# MKS/ZNP Robin nano v1.2 Emulated DOGM FSMC and native USB mod +# +use_example_configs Mks/Robin +opt_add USB_MOD +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO SERIAL_PORT -1 +exec_test $1 $2 "MKS/ZNP Robin nano v1.2 Emulated DOGM FSMC and native USB mod" "$3" + +# cleanup +restore_configs diff --git a/ini/renamed.ini b/ini/renamed.ini index 75f5dc3accc7..5785bfac67e3 100644 --- a/ini/renamed.ini +++ b/ini/renamed.ini @@ -56,3 +56,11 @@ extends = renamed [env:STM32F103VE_GTM32] # Renamed to STM32F103VE_GTM32_maple extends = renamed + +[env:mks_robin_nano_35] +# Renamed to mks_robin_nano_v1v2 +extends = renamed + +[env:mks_robin_nano_35_maple] +# Renamed to mks_robin_nano_v1v2_maple +extends = renamed diff --git a/ini/stm32f1-maple.ini b/ini/stm32f1-maple.ini index 18c861ba1ebe..9263a627874b 100644 --- a/ini/stm32f1-maple.ini +++ b/ini/stm32f1-maple.ini @@ -203,17 +203,15 @@ board_build.ldscript = mks_robin_mini.ld build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE # -# MKS Robin Nano (STM32F103VET6) +# MKS Robin Nano v1.x and v2 (STM32F103VET6) # -[env:mks_robin_nano35_maple] +[env:mks_robin_nano_v1v2_maple] extends = STM32F1_maple board = genericSTM32F103VE board_build.address = 0x08007000 board_build.rename = Robin_nano35.bin board_build.ldscript = mks_robin_nano.ld build_flags = ${STM32F1_maple.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -debug_tool = jlink -upload_protocol = jlink # # MKS Robin (STM32F103ZET6) diff --git a/ini/stm32f1.ini b/ini/stm32f1.ini index 3e7ee2ad03ea..eef5d8efcbe7 100644 --- a/ini/stm32f1.ini +++ b/ini/stm32f1.ini @@ -218,6 +218,7 @@ build_flags = ${stm32_variant.build_flags} build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC +<<<<<<< HEAD >>>>>>> 83320f1052 (✨ Bed Distance Sensor (#24554)) # # MKS Robin Nano V1.2 and V2 @@ -247,12 +248,23 @@ build_unflags = ${stm32_variant.build_unflags} [env:mks_robin_nano35] platform = ${common_stm32.platform} +======= +[mks_robin_nano_v1v2_common] +>>>>>>> 2a1c2e26ed (✨ Robin Nano v1 CDC (USB mod) (#24619)) extends = stm32_variant board = genericSTM32F103VE board_build.variant = MARLIN_F103Vx board_build.encrypt_mks = ../../../Releases/V1.1/Robin_nano35.bin board_build.offset = 0x7000 board_upload.offset_address = 0x08007000 +debug_tool = stlink +upload_protocol = stlink + +# +# MKS Robin Nano V1.2 and V2 +# +[env:mks_robin_nano_v1v2] +extends = mks_robin_nano_v1v2_common build_flags = ${stm32_variant.build_flags} -D MCU_STM32F103VE -D SS_TIMER=4 @@ -268,10 +280,22 @@ build_flags = ${stm32_variant.build_flags} # -D MAXIMUM_STEPPER_RATE=35000 build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC +<<<<<<< HEAD debug_tool = jlink upload_protocol = jlink <<<<<<< HEAD ======= +======= + +# +# MKS/ZNP Robin Nano v1.2 with native USB modification +# +[env:mks_robin_nano_v1_2_usbmod] +extends = mks_robin_nano_v1v2_common +build_flags = ${common_stm32.build_flags} + -DMCU_STM32F103VE -DSS_TIMER=4 + -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 +>>>>>>> 2a1c2e26ed (✨ Robin Nano v1 CDC (USB mod) (#24619)) # # Mingda MPX_ARM_MINI