Browse Source

BigTreeTech SKR v1.4 support (#16236)

BigTreeTech 5 years ago
parent
commit
bbe0ffb2fa

+ 1 - 1
Marlin/Makefile

@@ -188,7 +188,7 @@ else ifeq ($(HARDWARE_MOTHERBOARD),1109)
 else ifeq ($(HARDWARE_MOTHERBOARD),1110)
 # zrib V2.0 control board (Chinese knock off RAMPS replica)
 else ifeq ($(HARDWARE_MOTHERBOARD),1111)
-# Bigtreetech or BIQU KFB2.0
+# BigTreeTech or BIQU KFB2.0
 else ifeq ($(HARDWARE_MOTHERBOARD),1112)
 # Felix 2.0+ Electronics Board (RAMPS like)
 else ifeq ($(HARDWARE_MOTHERBOARD),1113)

+ 10 - 9
Marlin/src/core/boards.h

@@ -64,7 +64,7 @@
 #define BOARD_MKS_BASE_HEROIC         1108  // MKS BASE 1.0 with Heroic HR4982 stepper drivers
 #define BOARD_MKS_GEN_13              1109  // MKS GEN v1.3 or 1.4
 #define BOARD_MKS_GEN_L               1110  // MKS GEN L
-#define BOARD_KFB_2                   1111  // Bigtreetech or BIQU KFB2.0
+#define BOARD_KFB_2                   1111  // BigTreeTech or BIQU KFB2.0
 #define BOARD_ZRIB_V20                1112  // zrib V2.0 control board (Chinese knock off RAMPS replica)
 #define BOARD_FELIX2                  1113  // Felix 2.0+ Electronics Board (RAMPS like)
 #define BOARD_RIGIDBOARD              1114  // Invent-A-Part RigidBoard
@@ -208,14 +208,15 @@
 #define BOARD_COHESION3D_MINI         2011  // Cohesion3D Mini
 #define BOARD_SMOOTHIEBOARD           2012  // Smoothieboard
 #define BOARD_AZTEEG_X5_MINI_WIFI     2013  // Azteeg X5 Mini Wifi (Power outputs: Hotend0, Bed, Fan)
-#define BOARD_BIGTREE_SKR_V1_1        2014  // BIGTREE SKR_V1.1 (Power outputs: Hotend0,Hotend1, Fan, Bed)
-#define BOARD_BIQU_B300_V1_0          2015  // BIQU B300_V1.0 (Power outputs: Hotend0, Fan, Bed, SPI Driver)
-#define BOARD_BIGTREE_SKR_V1_3        2016  // BIGTREE SKR_V1.3 (Power outputs: Hotend0, Hotend1, Fan, Bed)
-#define BOARD_AZTEEG_X5_MINI          2017  // Azteeg X5 Mini (Power outputs: Hotend0, Bed, Fan)
-#define BOARD_MKS_SGEN                2018  // MKS-SGen (Power outputs: Hotend0, Hotend1, Bed, Fan)
-#define BOARD_MKS_SGEN_L              2019  // MKS-SGen-L (Power outputs: Hotend0, Hotend1, Bed, Fan)
-#define BOARD_TH3D_EZBOARD            2020  // TH3D EZBoard v1.0
-#define BOARD_GMARSH_X6_REV1          2021  // GMARSH X6 board, revision 1 prototype
+#define BOARD_BIQU_B300_V1_0          2014  // BIQU B300_V1.0 (Power outputs: Hotend0, Fan, Bed, SPI Driver)
+#define BOARD_AZTEEG_X5_MINI          2015  // Azteeg X5 Mini (Power outputs: Hotend0, Bed, Fan)
+#define BOARD_MKS_SGEN                2016  // MKS-SGen (Power outputs: Hotend0, Hotend1, Bed, Fan)
+#define BOARD_MKS_SGEN_L              2017  // MKS-SGen-L (Power outputs: Hotend0, Hotend1, Bed, Fan)
+#define BOARD_TH3D_EZBOARD            2018  // TH3D EZBoard v1.0
+#define BOARD_GMARSH_X6_REV1          2019  // GMARSH X6 board, revision 1 prototype
+#define BOARD_BIGTREE_SKR_V1_1        2020  // BigTreeTech SKR v1.1 (Power outputs: Hotend0, Hotend1, Fan, Bed)
+#define BOARD_BIGTREE_SKR_V1_3        2021  // BigTreeTech SKR v1.3 (Power outputs: Hotend0, Hotend1, Fan, Bed)
+#define BOARD_BIGTREE_SKR_V1_4        2022  // BigTreeTech SKR v1.4 (Power outputs: Hotend0, Hotend1, Fan, Bed)
 
 //
 // SAM3X8E ARM Cortex M3

+ 0 - 1
Marlin/src/module/scara.cpp

@@ -95,7 +95,6 @@ void forward_kinematics_SCARA(const float &a, const float &b) {
 void inverse_kinematics(const xyz_pos_t &raw) {
 
   #if ENABLED(MORGAN_SCARA)
-
     /**
      * Morgan SCARA Inverse Kinematics. Results in 'delta'.
      *

+ 18 - 7
Marlin/src/pins/lpc1768/pins_BTT_SKR.h

@@ -31,18 +31,29 @@
 //
 // Steppers
 //
-
-#define E1_STEP_PIN        P0_01
-#define E1_DIR_PIN         P0_00
-#define E1_ENABLE_PIN      P0_10
+#ifndef E1_STEP_PIN
+  #define E1_STEP_PIN      P0_01
+#endif
+#ifndef E1_DIR_PIN
+  #define E1_DIR_PIN       P0_00
+#endif
+#ifndef E1_ENABLE_PIN
+  #define E1_ENABLE_PIN    P0_10
+#endif
 
 //
 // Temperature Sensors
 //  3.3V max when defined as an analog input
 //
-#define TEMP_BED_PIN       P0_23_A0   // A0 (T0) - (67) - TEMP_BED_PIN
-#define TEMP_0_PIN         P0_24_A1   // A1 (T1) - (68) - TEMP_0_PIN
-#define TEMP_1_PIN         P0_25_A2   // A2 (T2) - (69) - TEMP_1_PIN
+#ifndef TEMP_0_PIN
+  #define TEMP_0_PIN       P0_24_A1   // A1 (T1) - (68) - TEMP_0_PIN
+#endif
+#ifndef TEMP_1_PIN
+  #define TEMP_1_PIN       P0_25_A2   // A2 (T2) - (69) - TEMP_1_PIN
+#endif
+#ifndef TEMP_BED_PIN
+  #define TEMP_BED_PIN     P0_23_A0   // A0 (T0) - (67) - TEMP_BED_PIN
+#endif
 
 //
 // Heaters / Fans

+ 280 - 0
Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h

@@ -0,0 +1,280 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+#define BOARD_INFO_NAME "BIGTREE SKR 1.4"
+
+//
+// SD Connection
+//
+#ifndef SDCARD_CONNECTION
+  #define SDCARD_CONNECTION LCD
+#endif
+
+//
+// Servos
+//
+#define SERVO0_PIN         P2_00
+
+//
+// Limit Switches
+//
+#define X_STOP_PIN         P1_29
+#define Y_STOP_PIN         P1_28
+#define Z_STOP_PIN         P1_27
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+  #define Z_MIN_PROBE_PIN  P0_10
+#endif
+
+//
+// Filament Runout Sensor
+//
+#define FIL_RUNOUT_PIN     P1_26
+#define FIL_RUNOUT2_PIN    P1_25
+
+//
+// Power Supply Control
+//
+#ifndef PS_ON_PIN
+  #define PS_ON_PIN        P1_00
+#endif
+
+//
+// Power Loss Detection
+//
+#ifndef POWER_LOSS_PIN
+  #define POWER_LOSS_PIN   P1_00
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN         P2_02
+#define X_DIR_PIN          P2_06
+#define X_ENABLE_PIN       P2_01
+#ifndef X_CS_PIN
+  #define X_CS_PIN         P1_10
+#endif
+
+#define Y_STEP_PIN         P0_19
+#define Y_DIR_PIN          P0_20
+#define Y_ENABLE_PIN       P2_08
+#ifndef Y_CS_PIN
+  #define Y_CS_PIN         P1_09
+#endif
+
+#define Z_STEP_PIN         P0_22
+#define Z_DIR_PIN          P2_11
+#define Z_ENABLE_PIN       P0_21
+#ifndef Z_CS_PIN
+  #define Z_CS_PIN         P1_08
+#endif
+
+#define E0_STEP_PIN        P2_13
+#define E0_DIR_PIN         P0_11
+#define E0_ENABLE_PIN      P2_12
+#ifndef E0_CS_PIN
+  #define E0_CS_PIN        P1_04
+#endif
+
+#define E1_STEP_PIN        P1_15
+#define E1_DIR_PIN         P1_14
+#define E1_ENABLE_PIN      P1_16
+#ifndef E1_CS_PIN
+  #define E1_CS_PIN        P1_01
+#endif
+
+#define TEMP_1_PIN         P0_23_A0   // A2 (T2) - (69) - TEMP_1_PIN
+#define TEMP_BED_PIN       P0_25_A2   // A0 (T0) - (67) - TEMP_BED_PIN
+
+//
+// Include common SKR pins
+//
+#include "pins_BTT_SKR.h"
+
+//
+// Software SPI pins for TMC2130 stepper drivers
+//
+#if ENABLED(TMC_USE_SW_SPI)
+  #ifndef TMC_SW_MOSI
+    #define TMC_SW_MOSI    P1_17
+  #endif
+  #ifndef TMC_SW_MISO
+    #define TMC_SW_MISO    P0_05
+  #endif
+  #ifndef TMC_SW_SCK
+    #define TMC_SW_SCK     P0_04
+  #endif
+#endif
+
+#if HAS_TMC220x
+  /**
+   * TMC2208/TMC2209 stepper drivers
+   *
+   * Hardware serial communication ports.
+   * If undefined software serial is used according to the pins below
+   */
+  //#define X_HARDWARE_SERIAL  Serial
+  //#define X2_HARDWARE_SERIAL Serial1
+  //#define Y_HARDWARE_SERIAL  Serial1
+  //#define Y2_HARDWARE_SERIAL Serial1
+  //#define Z_HARDWARE_SERIAL  Serial1
+  //#define Z2_HARDWARE_SERIAL Serial1
+  //#define E0_HARDWARE_SERIAL Serial1
+  //#define E1_HARDWARE_SERIAL Serial1
+  //#define E2_HARDWARE_SERIAL Serial1
+  //#define E3_HARDWARE_SERIAL Serial1
+  //#define E4_HARDWARE_SERIAL Serial1
+
+  //
+  // Software serial
+  //
+  #define X_SERIAL_TX_PIN  P1_10
+  #define X_SERIAL_RX_PIN  P1_10
+
+  #define Y_SERIAL_TX_PIN  P1_09
+  #define Y_SERIAL_RX_PIN  P1_09
+
+  #define Z_SERIAL_TX_PIN  P1_08
+  #define Z_SERIAL_RX_PIN  P1_08
+
+  #define E0_SERIAL_TX_PIN P1_04
+  #define E0_SERIAL_RX_PIN P1_04
+
+  #define E1_SERIAL_TX_PIN P1_01
+  #define E1_SERIAL_RX_PIN P1_01
+
+  #define Z2_SERIAL_TX_PIN P1_01
+  #define Z2_SERIAL_RX_PIN P1_01
+
+  // Reduce baud rate to improve software serial reliability
+  #define TMC_BAUD_RATE 19200
+#endif
+
+//
+// SD Connection
+//
+#if SD_CONNECTION_IS(LCD)
+  #define SS_PIN           P0_16
+#endif
+
+/**
+ *              _____                                             _____
+ *          NC | · · | GND                                    5V | · · | GND
+ *       RESET | · · | 1.31(SD_DETECT)             (LCD_D7) 1.23 | · · | 1.22 (LCD_D6)
+ *  (MOSI)0.18 | · · | 3.25(BTN_EN2)               (LCD_D5) 1.21 | · · | 1.20 (LCD_D4)
+ * (SD_SS)0.16 | · · | 3.26(BTN_EN1)               (LCD_RS) 1.19 | · · | 1.18 (LCD_EN)
+ *   (SCK)0.15 | · · | 0.17(MISO)                 (BTN_ENC) 0.28 | · · | 1.30 (BEEPER)
+ *              -----                                             -----
+ *              EXP2                                              EXP1
+ */
+#if HAS_SPI_LCD
+  #define BTN_ENC          P0_28   // (58) open-drain
+
+  #if ENABLED(CR10_STOCKDISPLAY)
+    #define LCD_PINS_RS    P1_22
+
+    #define BTN_EN1        P1_18
+    #define BTN_EN2        P1_20
+
+    #define LCD_PINS_ENABLE P1_23
+    #define LCD_PINS_D4    P1_21
+
+  #else
+    #define LCD_PINS_RS    P1_19
+
+    #define BTN_EN1        P3_26   // (31) J3-2 & AUX-4
+    #define BTN_EN2        P3_25   // (33) J3-4 & AUX-4
+
+    #define LCD_PINS_ENABLE P1_18
+    #define LCD_PINS_D4    P1_20
+
+    #define LCD_SDSS       P0_16   // (16) J3-7 & AUX-4
+    #define SD_DETECT_PIN  P1_31   // (49) (NOT 5V tolerant)
+
+    #if ENABLED(FYSETC_MINI_12864)
+      #define DOGLCD_CS    P1_18
+      #define DOGLCD_A0    P1_19
+      #define DOGLCD_SCK   P0_15
+      #define DOGLCD_MOSI  P0_18
+
+      #define LCD_BACKLIGHT_PIN -1
+
+      #define FORCE_SOFT_SPI      // Use this if default of hardware SPI causes display problems
+                                  //   results in LCD soft SPI mode 3, SD soft SPI mode 0
+
+      #define LCD_RESET_PIN P1_20   // Must be high or open for LCD to operate normally.
+
+      #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
+        #ifndef RGB_LED_R_PIN
+          #define RGB_LED_R_PIN P1_21
+        #endif
+        #ifndef RGB_LED_G_PIN
+          #define RGB_LED_G_PIN P1_22
+        #endif
+        #ifndef RGB_LED_B_PIN
+          #define RGB_LED_B_PIN P1_23
+        #endif
+      #elif ENABLED(FYSETC_MINI_12864_2_1)
+        #define NEOPIXEL_PIN    P1_21
+      #endif
+
+    #else // !FYSETC_MINI_12864
+
+      #if ENABLED(MKS_MINI_12864)
+        #define DOGLCD_CS   P1_21
+        #define DOGLCD_A0   P1_22
+        #define DOGLCD_SCK  P0_15
+        #define DOGLCD_MOSI P0_18
+        #define FORCE_SOFT_SPI
+      #endif
+
+      #if ENABLED(ULTIPANEL)
+        #define LCD_PINS_D5 P1_21
+        #define LCD_PINS_D6 P1_22
+        #define LCD_PINS_D7 P1_23
+      #endif
+
+    #endif // !FYSETC_MINI_12864
+
+  #endif
+
+#endif // HAS_SPI_LCD
+
+//
+// Neopixel LED
+//
+#ifndef NEOPIXEL_PIN
+  #define NEOPIXEL_PIN      P1_24
+#endif
+
+/**
+ * Special pins
+ *   P1_30  (37) (NOT 5V tolerant)
+ *   P1_31  (49) (NOT 5V tolerant)
+ *   P0_27  (57) (Open collector)
+ *   P0_28  (58) (Open collector)
+ */

+ 6 - 4
Marlin/src/pins/pins.h

@@ -354,14 +354,16 @@
   #include "lpc1768/pins_BIQU_BQ111_A4.h"       // LPC1768                                env:LPC1768
 #elif MB(SELENA_COMPACT)
   #include "lpc1768/pins_SELENA_COMPACT.h"      // LPC1768                                env:LPC1768
-#elif MB(BIGTREE_SKR_V1_1)
-  #include "lpc1768/pins_BTT_SKR_V1_1.h"        // LPC1768                                env:LPC1768
 #elif MB(BIQU_B300_V1_0)
   #include "lpc1768/pins_BIQU_B300_V1.0.h"      // LPC1768                                env:LPC1768
-#elif MB(BIGTREE_SKR_V1_3)
-  #include "lpc1768/pins_BTT_SKR_V1_3.h"        // LPC1768                                env:LPC1768
 #elif MB(GMARSH_X6_REV1)
   #include "lpc1768/pins_GMARSH_X6_REV1.h"      // LPC1768                                env:LPC1768
+#elif MB(BIGTREE_SKR_V1_1)
+  #include "lpc1768/pins_BTT_SKR_V1_1.h"        // LPC1768                                env:LPC1768
+#elif MB(BIGTREE_SKR_V1_3)
+  #include "lpc1768/pins_BTT_SKR_V1_3.h"        // LPC1768                                env:LPC1768
+#elif MB(BIGTREE_SKR_V1_4)
+  #include "lpc1768/pins_BTT_SKR_V1_4.h"        // LPC1768                                env:LPC1768
 
 //
 // LPC1769 ARM Cortex M3

+ 2 - 2
buildroot/share/tests/STM32F103RC_bigtree-tests

@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Build tests for STM32F103RC Bigtreetech (SKR Mini E3)
+# Build tests for STM32F103RC BigTreeTech (SKR Mini E3)
 #
 
 # exit on first failure
@@ -13,7 +13,7 @@ restore_configs
 opt_set MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V1_0
 opt_set SERIAL_PORT 1
 opt_set SERIAL_PORT_2 -1
-exec_test $1 $2 "Bigtreetech SKR Mini E3 - Basic Configuration"
+exec_test $1 $2 "BigTreeTech SKR Mini E3 - Basic Configuration"
 
 # clean up
 restore_configs

+ 2 - 2
buildroot/share/tests/STM32F103RC_bigtree_USB-tests

@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Build tests for STM32F103RC Bigtreetech (SKR Mini v1.1)
+# Build tests for STM32F103RC BigTreeTech (SKR Mini v1.1)
 #
 
 # exit on first failure
@@ -13,7 +13,7 @@ restore_configs
 opt_set MOTHERBOARD BOARD_BIGTREE_SKR_MINI_V1_1
 opt_set SERIAL_PORT 1
 opt_set SERIAL_PORT_2 -1
-exec_test $1 $2 "Bigtreetech SKR Mini v1.1 - Basic Configuration"
+exec_test $1 $2 "BigTreeTech SKR Mini v1.1 - Basic Configuration"
 
 # clean up
 restore_configs

+ 2 - 2
buildroot/share/tests/STM32F103RE_bigtree-tests

@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Build tests for STM32F103RE Bigtreetech (SKR E3 DIP v1.0)
+# Build tests for STM32F103RE BigTreeTech (SKR E3 DIP v1.0)
 #
 
 # exit on first failure
@@ -13,7 +13,7 @@ restore_configs
 opt_set MOTHERBOARD BOARD_BIGTREE_SKR_E3_DIP
 opt_set SERIAL_PORT 1
 opt_set SERIAL_PORT_2 -1
-exec_test $1 $2 "Bigtreetech SKR E3 DIP v1.0 - Basic Configuration"
+exec_test $1 $2 "BigTreeTech SKR E3 DIP v1.0 - Basic Configuration"
 
 # clean up
 restore_configs

+ 2 - 2
buildroot/share/tests/STM32F103RE_bigtree_USB-tests

@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #
-# Build tests for STM32F103RE Bigtreetech (SKR E3 DIP v1.0)
+# Build tests for STM32F103RE BigTreeTech (SKR E3 DIP v1.0)
 #
 
 # exit on first failure
@@ -13,7 +13,7 @@ restore_configs
 opt_set MOTHERBOARD BOARD_BIGTREE_SKR_E3_DIP
 opt_set SERIAL_PORT 1
 opt_set SERIAL_PORT_2 -1
-exec_test $1 $2 "Bigtreetech SKR E3 DIP v1.0 - Basic Configuration"
+exec_test $1 $2 "BigTreeTech SKR E3 DIP v1.0 - Basic Configuration"
 
 # clean up
 restore_configs

Some files were not shown because too many files changed in this diff