Browse Source

BigTreeTech SKR v1.4 support (#16236)

pull/1/head
BigTreeTech 4 years ago
committed by Scott Lahteine
parent
commit
bbe0ffb2fa
  1. 2
      Marlin/Makefile
  2. 19
      Marlin/src/core/boards.h
  3. 1
      Marlin/src/module/scara.cpp
  4. 25
      Marlin/src/pins/lpc1768/pins_BTT_SKR.h
  5. 280
      Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
  6. 10
      Marlin/src/pins/pins.h
  7. 4
      buildroot/share/tests/STM32F103RC_bigtree-tests
  8. 4
      buildroot/share/tests/STM32F103RC_bigtree_USB-tests
  9. 4
      buildroot/share/tests/STM32F103RE_bigtree-tests
  10. 4
      buildroot/share/tests/STM32F103RE_bigtree_USB-tests
  11. 7
      config/examples/Geeetech/E180/Configuration.h
  12. 4
      platformio.ini

2
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)

19
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

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'.
*

25
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
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)
*/

10
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

4
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

4
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

4
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

4
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

7
config/examples/Geeetech/E180/Configuration.h

@ -518,10 +518,9 @@
//120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
//#define DEFAULT_bedKp 10.00
//#define DEFAULT_bedKi .023
//#define DEFAULT_bedKd 305.4
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4
// FIND YOUR OWN: "M303 E-1 C8 S60"
#endif // PIDTEMPBED

4
platformio.ini

@ -621,7 +621,7 @@ src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32>
monitor_speed = 250000
#
# Bigtreetech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
# BigTreeTech SKR Pro (STM32F407ZGT6 ARM Cortex-M4)
#
[env:BIGTREE_SKR_PRO]
platform = ststm32
@ -646,7 +646,7 @@ src_filter = ${common.default_src_filter} +<src/HAL/HAL_STM32>
monitor_speed = 250000
#
# Bigtreetech BTT002 (STM32F407VET6 ARM Cortex-M4)
# BigTreeTech BTT002 (STM32F407VET6 ARM Cortex-M4)
#
[env:BIGTREE_BTT002]
platform = ststm32@5.6.0

Loading…
Cancel
Save