From 0033b9a289b2a5516cb4c3793e5c4071daf9a3b8 Mon Sep 17 00:00:00 2001
From: Knutwurst <36196269+knutwurst@users.noreply.github.com>
Date: Sat, 10 Apr 2021 15:51:26 +0200
Subject: [PATCH] Rewrite of the Chiron pin mapping.
---
Marlin/Configuration.h | 138 +---
Marlin/Configuration_adv.h | 6 +-
Marlin/src/core/boards.h | 1 +
Marlin/src/pins/pins.h | 2 +
Marlin/src/pins/ramps/pins_RAMPS_CHIRON.h | 723 ++++++++++++++++++
.../src/pins/ramps/pins_TRIGORILLA_CHIRON.h | 132 ++++
i3_mega_envs.ini | 4 +-
7 files changed, 879 insertions(+), 127 deletions(-)
create mode 100755 Marlin/src/pins/ramps/pins_RAMPS_CHIRON.h
create mode 100755 Marlin/src/pins/ramps/pins_TRIGORILLA_CHIRON.h
diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 9907c396..eb84ff75 100755
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -42,115 +42,29 @@
#define ANYCUBIC_FILAMENT_RUNOUT_SENSOR
#define KNUTWURST_SPECIAL_MENU
#define KNUTWURST_SPECIAL_MENU_WO_SD
-//#define KNUTWURST_MEGA_P_LASER
//#define ANYCUBIC_TFT_DEBUG
//#define POWER_OUTAGE_TEST
-/*******************************************************************************************
- ** **
- ** **
- ** WARNING: **
- ** THE FOLLOWING SETTINGS ARE NORMALLY SET BY PLATFORMIO! **
- ** **
- ** IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT **
- ** TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! **
- ** OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END **
- ** UP WITH A NON FUNCTIONING FIRMWARE! **
- ** **
- ** If you want to select a specific configuration for your **
- ** printer, just open the PlatformIO tab on the left, select **
- ** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
- ** From there you can build and upload your code. **
- ** **
- ** **
- *******************************************************************************************/
-
-
-/*
- * Select your printer.
- * DO NOT ENABLE MORE THAN ONE LINE!
- *
- * MEGA is the normal i3 Version without spool holder and the cassic extruder
- * MEGA_S is the S version with Titan clone extruder
- * MEGA_X is the big version with 310x310mm Bed
- * MEGA_P is the "Pro" Version with BMG Extruder, 2 TMC Steppers and Laser
- *
- * PLEASE READ THE WARNING ABOVE!
- *
- */
-//#define KNUTWURST_MEGA // DO
-//#define KNUTWURST_MEGA_S // NOT
-//#define KNUTWURST_MEGA_X // UNCOMMENT
-//#define KNUTWURST_MEGA_P // THESE
-//#define KNUTWURST_CHIRON // SETTINGS !
-
-/*
- * If you own the first generation i3 Mega
- * with only one Z endstop, you need to activate
- * KNUTWURST_MEGA and also this to disable
- * the left endstop and switch the Z Motors.
- *
- * If the option is disabled, two Z endstops
- * are used by default.
- *
- * PLEASE READ THE WARNING ABOVE!
- *
- */
-//#define KNUTWURST_ONE_Z_ENDSTOP // DO NOT UNCOMMENT! USE PLATFORMIO TO BUILD THE FW FOR YOUR PRINTER!
-
-/*
- * If you have defined the MEGA_X or if
- * you have the "new" Mega S with the blue/yellow
- * Touchscreen display, you need to enable the
- * DGUS2 switch to get the special menu to work
- *
- * PLEASE READ THE WARNING ABOVE!
- *
- */
-//#define KNUTWURST_DGUS2_TFT // DO NOT UNCOMMENT! USE PLATFORMIO TO BUILD THE FW FOR YOUR PRINTER!
-
-/*
- * Enable Support for Trinamic Stepper drivers.
- * This also inverts the X,Y,Z and Extruder motor
- * outputs/directions.
- *
- * PLEASE READ THE WARNING ABOVE!
- */
-//#define KNUTWURST_TMC // DO NOT UNCOMMENT! USE PLATFORMIO TO BUILD THE FW FOR YOUR PRINTER!
-
-/*
- * Invert E0 Stepper driver for
- * Bondtech Mini Geared (BMG) Extruders
- *
- * This flag is mandatory if you own a
- * MEGA Pro, which has this Extruder by
- * default.
- *
- */
-//#define KNUTWURST_BMG
-
-/*
- * This enables the BLTouch Support and also
- * activates the BLTouch Menu item in the
- * special menu. It also removes all manual
- * leveling features because they are not
- * neccessary at all.
- *
- * PLEASE READ THE WARNING ABOVE!
- *
- */
-//#define KNUTWURST_BLTOUCH // DO NOT UNCOMMENT! USE PLATFORMIO TO BUILD THE FW FOR YOUR PRINTER!
-
/*
* This feature is for debugging purpose only.
* It enabled more console output and should be
* disabled in production. It can cause the
* printer to stutter.
- *
- * PLEASE READ THE WARNING ABOVE!
+ */
+//#define KNUTWURST_DEBUG
+
+
+/*
+ * This enabled the integrated Laser engaving feature
+ * in the anycubic touchscreen. It's currently only
+ * supported by the Anycubic MEGA Pro and therefore it
+ * is automatically set if the MEGA_P is enabled.
*
*/
-//#define KNUTWURST_DEBUG // DO NOT UNCOMMENT! USE PLATFORMIO TO BUILD THE FW FOR YOUR PRINTER!
+#if ENABLED(KNUTWURST_MEGA_P)
+ //#define KNUTWURST_MEGA_P_LASER
+#endif
+
/*
* This enabled the integrated leveling features
@@ -158,32 +72,11 @@
* supported by the Anycubic Chiron and therefore it
* is automatically set if the chiron is enabled.
*
- * PLEASE READ THE WARNING ABOVE!
- *
*/
#if ENABLED(KNUTWURST_CHIRON)
//#define KNUTWURST_TFT_LEVELING
#endif
-/*******************************************************************************************
- ** **
- ** **
- ** WARNING: **
- ** THE SETTINGS ABOVE ARE NORMALLY SET BY PLATFORMIO! **
- ** **
- ** IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT **
- ** TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! **
- ** OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END **
- ** UP WITH A NON FUNCTIONING FIRMWARE! **
- ** **
- ** If you want to select a specific configuration for your **
- ** printer, just open the PlatformIO tab on the left, select **
- ** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
- ** From there you can build and upload your code. **
- ** **
- ** **
- *******************************************************************************************/
-
/*
* Here you can set the default preheat-Temperatures
@@ -292,9 +185,10 @@
*
* BOARD_TRIGORILLA_14 = Default Trigorilla
* BOARD_TRIGORILLA_14_11 = Newer Trigorilla v1.1 (first seen late 2018)
+ * BOARD_TRIGORILLA_CHIRON = EFB Version for Anycubic Chiron
*
- * The only major difference is a slight change on the servo pin mapping.
- * This setting only is relevant if you want to use BLtouch or similar
+ * The only major difference between 14 and 14_11 is a slight change on the servo
+ * pin mapping. This setting only is relevant if you want to use BLtouch or similar
* mods to be used via servo pins.
* The new version is to be identified by a "TRIGORILLA1.1" lettering
* on the upper left of the PCB silkscreen.
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index 6c41ee29..41a7fbdd 100755
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -424,7 +424,7 @@
* the fan will turn on when any selected extruder is above the threshold.
*/
-#if ANY(KNUTWURST_MEGA, KNUTWURST_MEGA_S, KNUTWURST_MEGA_X, KNUTWURST_MEGA_P, KNUTWURST_CHIRON)
+#if ANY(KNUTWURST_MEGA, KNUTWURST_MEGA_S, KNUTWURST_MEGA_X, KNUTWURST_MEGA_P)
#define E0_AUTO_FAN_PIN FAN2_PIN
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
@@ -433,7 +433,7 @@
#define E5_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1
#endif
-/*
+
#if ENABLED(KNUTWURST_CHIRON) // this might need some rework
#define E0_AUTO_FAN_PIN -1
#define E1_AUTO_FAN_PIN -1
@@ -443,7 +443,7 @@
#define E5_AUTO_FAN_PIN -1
#define CHAMBER_AUTO_FAN_PIN -1
#endif
-*/
+
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
#define CHAMBER_AUTO_FAN_TEMPERATURE 30
diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h
index 30c2d3eb..29a4cd27 100755
--- a/Marlin/src/core/boards.h
+++ b/Marlin/src/core/boards.h
@@ -104,6 +104,7 @@
#define BOARD_TANGO 1148 // BIQU Tango V1
#define BOARD_MKS_GEN_L_V2 1149 // MKS GEN L V2
#define BOARD_COPYMASTER_3D 1150 // Copymaster 3D
+#define BOARD_TRIGORILLA_CHIRON 1151 // TriGorilla Anycubic version 1.4 based on RAMPS EFB for Chiron
//
// RAMBo and derivatives
diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index 5de75a1f..86389296 100755
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -190,6 +190,8 @@
#include "ramps/pins_MKS_GEN_L_V2.h" // ATmega2560 env:mega2560
#elif MB(COPYMASTER_3D)
#include "ramps/pins_COPYMASTER_3D.h" // ATmega2560 env:mega2560
+#elif MB(TRIGORILLA_CHIRON)
+ #include "ramps/pins_TRIGORILLA_CHIRON.h" // ATmega2560 env:mega2560
//
// RAMBo and derivatives
diff --git a/Marlin/src/pins/ramps/pins_RAMPS_CHIRON.h b/Marlin/src/pins/ramps/pins_RAMPS_CHIRON.h
new file mode 100755
index 00000000..fbb686ed
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_RAMPS_CHIRON.h
@@ -0,0 +1,723 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 .
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.4 (or v1.3) pin assignments
+ *
+ * Applies to the following boards:
+ *
+ * RAMPS_14_EFB (Hotend, Fan, Bed)
+ * RAMPS_14_EEB (Hotend0, Hotend1, Bed)
+ * RAMPS_14_EFF (Hotend, Fan0, Fan1)
+ * RAMPS_14_EEF (Hotend0, Hotend1, Fan)
+ * RAMPS_14_SF (Spindle, Controller Fan)
+ *
+ * RAMPS_13_EFB (Hotend, Fan, Bed)
+ * RAMPS_13_EEB (Hotend0, Hotend1, Bed)
+ * RAMPS_13_EFF (Hotend, Fan0, Fan1)
+ * RAMPS_13_EEF (Hotend0, Hotend1, Fan)
+ * RAMPS_13_SF (Spindle, Controller Fan)
+ *
+ * Other pins_MYBOARD.h files may override these defaults
+ *
+ * Differences between
+ * RAMPS_13 | RAMPS_14
+ * 7 | 11
+ */
+
+#ifdef TARGET_LPC1768
+ #error "Oops! Set MOTHERBOARD to an LPC1768-based board when building for LPC1768."
+#elif defined(__STM32F1__)
+ #error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
+#endif
+
+#if NONE(IS_RAMPS_SMART, IS_RAMPS_DUO, IS_RAMPS4DUE, TARGET_LPC1768)
+ #if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
+ #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
+ #endif
+#endif
+
+#ifndef BOARD_INFO_NAME
+ #define BOARD_INFO_NAME "RAMPS 1.4"
+#endif
+
+//
+// Servos
+//
+#ifndef SERVO0_PIN
+ #ifdef IS_RAMPS_13
+ #define SERVO0_PIN 7
+ #else
+ #define SERVO0_PIN 11
+ #endif
+#endif
+#ifndef SERVO1_PIN
+ #define SERVO1_PIN 6
+#endif
+#ifndef SERVO2_PIN
+ #define SERVO2_PIN 5
+#endif
+#ifndef SERVO3_PIN
+ #define SERVO3_PIN 4
+#endif
+
+//
+// Limit Switches
+//
+#ifndef X_STOP_PIN
+ #ifndef X_MIN_PIN
+ #define X_MIN_PIN 3
+ #endif
+ #ifndef X_MAX_PIN
+ #define X_MAX_PIN 2
+ #endif
+#endif
+#ifndef Y_STOP_PIN
+ #ifndef Y_MIN_PIN
+ #define Y_MIN_PIN 42
+ #endif
+ #ifndef Y_MAX_PIN
+ #define Y_MAX_PIN -1
+ #endif
+#endif
+#ifndef Z_STOP_PIN
+ #ifndef Z_MIN_PIN
+ #define Z_MIN_PIN 18
+ #endif
+ #ifndef Z_MAX_PIN
+ #define Z_MAX_PIN 43
+ #endif
+#endif
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN 32
+#endif
+
+//
+// Steppers
+//
+#define X_STEP_PIN 54
+#define X_DIR_PIN 55
+#define X_ENABLE_PIN 38
+#ifndef X_CS_PIN
+ #define X_CS_PIN 53
+#endif
+
+#define Y_STEP_PIN 60
+#define Y_DIR_PIN 61
+#define Y_ENABLE_PIN 56
+#ifndef Y_CS_PIN
+ #define Y_CS_PIN 49
+#endif
+
+#ifndef Z_STEP_PIN
+ #define Z_STEP_PIN 46
+#endif
+#define Z_DIR_PIN 48
+#define Z_ENABLE_PIN 62
+#ifndef Z_CS_PIN
+ #define Z_CS_PIN 40
+#endif
+
+#define E0_STEP_PIN 26
+#define E0_DIR_PIN 28
+#define E0_ENABLE_PIN 24
+#ifndef E0_CS_PIN
+ #define E0_CS_PIN 42
+#endif
+
+#define E1_STEP_PIN 36
+#define E1_DIR_PIN 34
+#define E1_ENABLE_PIN 30
+#ifndef E1_CS_PIN
+ #define E1_CS_PIN 44
+#endif
+
+//
+// Temperature Sensors
+//
+#ifndef TEMP_0_PIN
+ #define TEMP_0_PIN 13 // Analog Input
+#endif
+#ifndef TEMP_1_PIN
+ #define TEMP_1_PIN 15 // Analog Input
+#endif
+#ifndef TEMP_BED_PIN
+ #define TEMP_BED_PIN 14 // Analog Input
+#endif
+
+//
+// SPI for Max6675 or Max31855 Thermocouple
+//
+#ifndef MAX6675_SS_PIN
+ #define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card (SDSS) or 49 (SD_DETECT_PIN)
+#endif
+
+//
+// Augmentation for auto-assigning RAMPS plugs
+//
+#if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
+ #if HOTENDS > 1
+ #if TEMP_SENSOR_BED
+ #define IS_RAMPS_EEB
+ #else
+ #define IS_RAMPS_EEF
+ #endif
+ #elif TEMP_SENSOR_BED
+ #define IS_RAMPS_EFB
+ #else
+ #define IS_RAMPS_EFF
+ #endif
+#endif
+
+//
+// Heaters / Fans
+//
+#ifndef MOSFET_D_PIN
+ #define MOSFET_D_PIN -1
+#endif
+#ifndef RAMPS_D8_PIN
+ #define RAMPS_D8_PIN 8
+#endif
+#ifndef RAMPS_D9_PIN
+ #define RAMPS_D9_PIN 9
+#endif
+#ifndef RAMPS_D10_PIN
+ #define RAMPS_D10_PIN 10
+#endif
+
+#define HEATER_0_PIN RAMPS_D10_PIN
+
+#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed
+ #define HEATER_BED_PIN 45 //RAMPS_D8_PIN
+#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan
+ #define HEATER_1_PIN RAMPS_D9_PIN
+#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
+ #define HEATER_1_PIN RAMPS_D9_PIN
+ #define HEATER_BED_PIN RAMPS_D8_PIN
+#elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan
+ #define FAN1_PIN RAMPS_D8_PIN
+#elif DISABLED(IS_RAMPS_SF) // Not Spindle, Fan (i.e., "EFBF" or "EFBE")
+ #define HEATER_BED_PIN RAMPS_D8_PIN
+ #if HOTENDS == 1
+ #define FAN1_PIN MOSFET_D_PIN
+ #else
+ #define HEATER_1_PIN MOSFET_D_PIN
+ #endif
+#endif
+
+#ifndef FAN_PIN
+ #if EITHER(IS_RAMPS_EFB, IS_RAMPS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan
+ #define FAN_PIN RAMPS_D9_PIN
+ #elif EITHER(IS_RAMPS_EEF, IS_RAMPS_SF) // Hotend, Hotend, Fan or Spindle, Fan
+ #define FAN_PIN RAMPS_D8_PIN
+ #elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
+ #define FAN_PIN 4 // IO pin. Buffer needed
+ #else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
+ #define FAN_PIN RAMPS_D9_PIN
+ #endif
+#endif
+
+//
+// Misc. Functions
+//
+#define SDSS 53
+#define LED_PIN 13
+
+#ifndef FILWIDTH_PIN
+ #define FILWIDTH_PIN 5 // Analog Input on AUX2
+#endif
+
+// RAMPS 1.4 DIO 4 on the servos connector
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN 4
+#endif
+
+#ifndef PS_ON_PIN
+ #define PS_ON_PIN 12
+#endif
+
+#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENA_PIN)
+ #if NUM_SERVOS <= 1 // Prefer the servo connector
+ #define CASE_LIGHT_PIN 6 // Hardware PWM
+ #elif HAS_FREE_AUX2_PINS
+ #define CASE_LIGHT_PIN 44 // Hardware PWM
+ #endif
+#endif
+
+//
+// M3/M4/M5 - Spindle/Laser Control
+//
+#if HAS_CUTTER && !defined(SPINDLE_LASER_ENA_PIN)
+ #if !NUM_SERVOS // Use servo connector if possible
+ #define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
+ #define SPINDLE_DIR_PIN 5
+ #elif HAS_FREE_AUX2_PINS
+ #define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown!
+ #define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
+ #define SPINDLE_DIR_PIN 65
+ #else
+ #error "No auto-assignable Spindle/Laser pins available."
+ #endif
+#endif
+
+//
+// TMC software SPI
+//
+#if ENABLED(TMC_USE_SW_SPI)
+ #ifndef TMC_SW_MOSI
+ #define TMC_SW_MOSI 66
+ #endif
+ #ifndef TMC_SW_MISO
+ #define TMC_SW_MISO 44
+ #endif
+ #ifndef TMC_SW_SCK
+ #define TMC_SW_SCK 64
+ #endif
+#endif
+
+#if HAS_TMC_UART
+ /**
+ * TMC2208/TMC2209 stepper drivers
+ *
+ * Hardware serial communication ports.
+ * If undefined software serial is used according to the pins below
+ */
+ //#define X_HARDWARE_SERIAL Serial1
+ //#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
+ //
+
+ #ifndef X_SERIAL_TX_PIN
+ #define X_SERIAL_TX_PIN 40
+ #endif
+ #ifndef X_SERIAL_RX_PIN
+ #define X_SERIAL_RX_PIN 63
+ #endif
+ #ifndef X2_SERIAL_TX_PIN
+ #define X2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef X2_SERIAL_RX_PIN
+ #define X2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef Y_SERIAL_TX_PIN
+ #define Y_SERIAL_TX_PIN 59
+ #endif
+ #ifndef Y_SERIAL_RX_PIN
+ #define Y_SERIAL_RX_PIN 64
+ #endif
+ #ifndef Y2_SERIAL_TX_PIN
+ #define Y2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef Y2_SERIAL_RX_PIN
+ #define Y2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef Z_SERIAL_TX_PIN
+ #define Z_SERIAL_TX_PIN 42
+ #endif
+ #ifndef Z_SERIAL_RX_PIN
+ #define Z_SERIAL_RX_PIN 65
+ #endif
+ #ifndef Z2_SERIAL_TX_PIN
+ #define Z2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef Z2_SERIAL_RX_PIN
+ #define Z2_SERIAL_RX_PIN -1
+ #endif
+
+ #ifndef E0_SERIAL_TX_PIN
+ #define E0_SERIAL_TX_PIN 44
+ #endif
+ #ifndef E0_SERIAL_RX_PIN
+ #define E0_SERIAL_RX_PIN 66
+ #endif
+ #ifndef E1_SERIAL_TX_PIN
+ #define E1_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E1_SERIAL_RX_PIN
+ #define E1_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E2_SERIAL_TX_PIN
+ #define E2_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E2_SERIAL_RX_PIN
+ #define E2_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E3_SERIAL_TX_PIN
+ #define E3_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E3_SERIAL_RX_PIN
+ #define E3_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E4_SERIAL_TX_PIN
+ #define E4_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E4_SERIAL_RX_PIN
+ #define E4_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E5_SERIAL_TX_PIN
+ #define E5_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E5_SERIAL_RX_PIN
+ #define E5_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E6_SERIAL_TX_PIN
+ #define E6_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E6_SERIAL_RX_PIN
+ #define E6_SERIAL_RX_PIN -1
+ #endif
+ #ifndef E7_SERIAL_TX_PIN
+ #define E7_SERIAL_TX_PIN -1
+ #endif
+ #ifndef E7_SERIAL_RX_PIN
+ #define E7_SERIAL_RX_PIN -1
+ #endif
+#endif
+
+//
+// Průša i3 MK2 Multiplexer Support
+//
+#ifndef E_MUX0_PIN
+ #define E_MUX0_PIN 40 // Z_CS_PIN
+#endif
+#ifndef E_MUX1_PIN
+ #define E_MUX1_PIN 42 // E0_CS_PIN
+#endif
+#ifndef E_MUX2_PIN
+ #define E_MUX2_PIN 44 // E1_CS_PIN
+#endif
+
+//////////////////////////
+// LCDs and Controllers //
+//////////////////////////
+
+#if HAS_SPI_LCD
+
+ //
+ // LCD Display output pins
+ //
+ #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
+
+ #define LCD_PINS_RS 49 // CS chip select /SS chip slave select
+ #define LCD_PINS_ENABLE 51 // SID (MOSI)
+ #define LCD_PINS_D4 52 // SCK (CLK) clock
+
+ #elif BOTH(NEWPANEL, PANEL_ONE)
+
+ #define LCD_PINS_RS 40
+ #define LCD_PINS_ENABLE 42
+ #define LCD_PINS_D4 65
+ #define LCD_PINS_D5 66
+ #define LCD_PINS_D6 44
+ #define LCD_PINS_D7 64
+
+ #else
+
+ #if ENABLED(CR10_STOCKDISPLAY)
+
+ #define LCD_PINS_RS 27
+ #define LCD_PINS_ENABLE 29
+ #define LCD_PINS_D4 25
+
+ #if DISABLED(NEWPANEL)
+ #define BEEPER_PIN 37
+ #endif
+
+ #elif ENABLED(ZONESTAR_LCD)
+
+ #define LCD_PINS_RS 64
+ #define LCD_PINS_ENABLE 44
+ #define LCD_PINS_D4 63
+ #define LCD_PINS_D5 40
+ #define LCD_PINS_D6 42
+ #define LCD_PINS_D7 65
+
+ #else
+
+ #if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
+ #define LCD_PINS_DC 25 // Set as output on init
+ #define LCD_PINS_RS 27 // Pull low for 1s to init
+ // DOGM SPI LCD Support
+ #define DOGLCD_CS 16
+ #define DOGLCD_MOSI 17
+ #define DOGLCD_SCK 23
+ #define DOGLCD_A0 LCD_PINS_DC
+ #else
+ #define LCD_PINS_RS 16
+ #define LCD_PINS_ENABLE 17
+ #define LCD_PINS_D4 23
+ #define LCD_PINS_D5 25
+ #define LCD_PINS_D6 27
+ #endif
+
+ #define LCD_PINS_D7 29
+
+ #if DISABLED(NEWPANEL)
+ #define BEEPER_PIN 33
+ #endif
+
+ #endif
+
+ #if DISABLED(NEWPANEL)
+ // Buttons attached to a shift register
+ // Not wired yet
+ //#define SHIFT_CLK 38
+ //#define SHIFT_LD 42
+ //#define SHIFT_OUT 40
+ //#define SHIFT_EN 17
+ #endif
+
+ #endif
+
+ //
+ // LCD Display input pins
+ //
+ #if ENABLED(NEWPANEL)
+
+ #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
+
+ #define BEEPER_PIN 37
+
+ #if ENABLED(CR10_STOCKDISPLAY)
+ #define BTN_EN1 17
+ #define BTN_EN2 23
+ #else
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+ #endif
+
+ #define BTN_ENC 35
+ #ifndef SD_DETECT_PIN
+ #define SD_DETECT_PIN 49
+ #endif
+ #ifndef KILL_PIN
+ #define KILL_PIN 41
+ #endif
+
+ #if ENABLED(BQ_LCD_SMART_CONTROLLER)
+ #define LCD_BACKLIGHT_PIN 39
+ #endif
+
+ #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
+
+ #define BTN_EN1 64
+ #define BTN_EN2 59
+ #define BTN_ENC 63
+ #define SD_DETECT_PIN 42
+
+ #elif ENABLED(LCD_I2C_PANELOLU2)
+
+ #define BTN_EN1 47
+ #define BTN_EN2 43
+ #define BTN_ENC 32
+ #define LCD_SDSS SDSS
+ #define KILL_PIN 41
+
+ #elif ENABLED(LCD_I2C_VIKI)
+
+ #define BTN_EN1 40 // http://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42.
+ #define BTN_EN2 42
+ #define BTN_ENC -1
+
+ #define LCD_SDSS SDSS
+ #define SD_DETECT_PIN 49
+
+ #elif ANY(VIKI2, miniVIKI)
+
+ #define DOGLCD_CS 45
+ #define DOGLCD_A0 44
+ #define LCD_SCREEN_ROT_180
+
+ #define BEEPER_PIN 33
+ #define STAT_LED_RED_PIN 32
+ #define STAT_LED_BLUE_PIN 35
+
+ #define BTN_EN1 22
+ #define BTN_EN2 7
+ #define BTN_ENC 39
+
+ #define SD_DETECT_PIN -1 // Pin 49 for display SD interface, 72 for easy adapter board
+ #define KILL_PIN 31
+
+ #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
+
+ #define DOGLCD_CS 29
+ #define DOGLCD_A0 27
+
+ #define BEEPER_PIN 23
+ #define LCD_BACKLIGHT_PIN 33
+
+ #define BTN_EN1 35
+ #define BTN_EN2 37
+ #define BTN_ENC 31
+
+ #define LCD_SDSS SDSS
+ #define SD_DETECT_PIN 49
+ #define KILL_PIN 41
+
+ #elif EITHER(MKS_MINI_12864, FYSETC_MINI_12864)
+
+ #define BEEPER_PIN 37
+ #define BTN_ENC 35
+ #define SD_DETECT_PIN 49
+
+ #ifndef KILL_PIN
+ #define KILL_PIN 41
+ #endif
+
+ #if ENABLED(MKS_MINI_12864) // Added in Marlin 1.1.6
+
+ #define DOGLCD_A0 27
+ #define DOGLCD_CS 25
+
+ // GLCD features
+ // Uncomment screen orientation
+ //#define LCD_SCREEN_ROT_90
+ //#define LCD_SCREEN_ROT_180
+ //#define LCD_SCREEN_ROT_270
+
+ // not connected to a pin
+ #define LCD_BACKLIGHT_PIN -1 // 65 (MKS mini12864 can't adjust backlight by software!)
+
+ #define BTN_EN1 31
+ #define BTN_EN2 33
+
+ #elif ENABLED(FYSETC_MINI_12864)
+
+ // From https://wiki.fysetc.com/Mini12864_Panel/?fbclid=IwAR1FyjuNdVOOy9_xzky3qqo_WeM5h-4gpRnnWhQr_O1Ef3h0AFnFXmCehK8
+
+ #define DOGLCD_A0 16
+ #define DOGLCD_CS 17
+
+ #define BTN_EN1 33
+ #define BTN_EN2 31
+
+ //#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 23 // 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 25
+ #endif
+ #ifndef RGB_LED_G_PIN
+ #define RGB_LED_G_PIN 27
+ #endif
+ #ifndef RGB_LED_B_PIN
+ #define RGB_LED_B_PIN 29
+ #endif
+ #elif ENABLED(FYSETC_MINI_12864_2_1)
+ #define NEOPIXEL_PIN 25
+ #endif
+
+ #endif
+
+ #elif ENABLED(MINIPANEL)
+
+ #define BEEPER_PIN 42
+ // not connected to a pin
+ #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
+
+ #define DOGLCD_A0 44
+ #define DOGLCD_CS 66
+
+ // GLCD features
+ // Uncomment screen orientation
+ //#define LCD_SCREEN_ROT_90
+ //#define LCD_SCREEN_ROT_180
+ //#define LCD_SCREEN_ROT_270
+
+ #define BTN_EN1 40
+ #define BTN_EN2 63
+ #define BTN_ENC 59
+
+ #define SD_DETECT_PIN 49
+ #define KILL_PIN 64
+
+ #elif ENABLED(ZONESTAR_LCD)
+
+ #define ADC_KEYPAD_PIN 12
+
+ #elif ENABLED(AZSMZ_12864)
+
+ // Pins only defined for RAMPS_SMART currently
+
+ #else
+
+ // Beeper on AUX-4
+ #define BEEPER_PIN 33
+
+ // Buttons are directly attached to AUX-2
+ #if ENABLED(PANEL_ONE)
+ #define BTN_EN1 59 // AUX2 PIN 3
+ #define BTN_EN2 63 // AUX2 PIN 4
+ #define BTN_ENC 49 // AUX3 PIN 7
+ #else
+ #define BTN_EN1 37
+ #define BTN_EN2 35
+ #define BTN_ENC 31
+ #endif
+
+ #if ENABLED(G3D_PANEL)
+ #define SD_DETECT_PIN 49
+ #define KILL_PIN 41
+ #endif
+
+ #endif
+ #endif // NEWPANEL
+
+#endif // HAS_SPI_LCD
+
+#if ENABLED(REPRAPWORLD_KEYPAD)
+ #define SHIFT_OUT 40
+ #define SHIFT_CLK 44
+ #define SHIFT_LD 42
+ #ifndef BTN_EN1
+ #define BTN_EN1 64
+ #endif
+ #ifndef BTN_EN2
+ #define BTN_EN2 59
+ #endif
+ #ifndef BTN_ENC
+ #define BTN_ENC 63
+ #endif
+#endif
diff --git a/Marlin/src/pins/ramps/pins_TRIGORILLA_CHIRON.h b/Marlin/src/pins/ramps/pins_TRIGORILLA_CHIRON.h
new file mode 100755
index 00000000..bbfeddd3
--- /dev/null
+++ b/Marlin/src/pins/ramps/pins_TRIGORILLA_CHIRON.h
@@ -0,0 +1,132 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 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 .
+ *
+ */
+#pragma once
+
+/**
+ * Arduino Mega with RAMPS v1.4 for Anycubic
+ */
+
+#define BOARD_INFO_NAME "Anycubic RAMPS 1.4"
+
+#define IS_RAMPS_EFB
+
+//
+// Servos
+//
+#if MB(TRIGORILLA_14_11)
+ #define SERVO0_PIN 5
+ #define SERVO1_PIN 4
+ #define SERVO2_PIN 11
+ #define SERVO3_PIN 6
+#endif
+
+//
+// Custom Limit Switches
+//
+//#define ANYCUBIC_4_MAX_PRO_ENDSTOPS
+#if ENABLED(ANYCUBIC_4_MAX_PRO_ENDSTOPS)
+ #define X_MAX_PIN 43
+ #define Y_MIN_PIN 19
+#endif
+
+// Labeled pins
+#define TG_HEATER_BED_PIN 8
+#define TG_HEATER_0_PIN 10
+#define TG_HEATER_1_PIN 45 // Anycubic Kossel: Unused
+
+#define TG_FAN0_PIN 9 // Anycubic Kossel: Usually the part cooling fan
+#define TG_FAN1_PIN 7 // Anycubic Kossel: Unused
+#define TG_FAN2_PIN 44 // Anycubic Kossel: Hotend fan
+#define CONTROLLER_FAN_PIN TG_FAN1_PIN
+#define FIL_RUNOUT_PIN 19
+#define BEEPER_PIN 31
+#define SDSS 53
+#define LED_PIN 13
+#define SD_DETECT_PIN 49
+// Remap MOSFET pins to common usages:
+
+#define RAMPS_D10_PIN TG_HEATER_0_PIN // HEATER_0_PIN is always RAMPS_D10_PIN in pins_RAMPS.h
+
+#if HOTENDS > 1 // EEF and EEB
+ #define RAMPS_D9_PIN TG_HEATER_1_PIN
+ #if !TEMP_SENSOR_BED
+ // EEF
+ #define RAMPS_D8_PIN TG_FAN0_PIN
+ #else
+ // EEB
+ #define RAMPS_D8_PIN TG_HEATER_BED_PIN
+ #define FAN_PIN TG_FAN0_PIN // Override pin 4 in pins_RAMPS.h
+ #endif
+#elif TEMP_SENSOR_BED
+ // EFB (Anycubic Kossel default)
+ #define RAMPS_D9_PIN TG_FAN0_PIN
+ #define RAMPS_D8_PIN TG_HEATER_BED_PIN
+#else
+ // EFF
+ #define RAMPS_D9_PIN TG_FAN1_PIN
+ #define RAMPS_D8_PIN TG_FAN0_PIN
+#endif
+
+#if HOTENDS > 1 || TEMP_SENSOR_BED // EEF, EEB, EFB
+ #define FAN1_PIN TG_FAN1_PIN
+#endif
+#define FAN2_PIN TG_FAN2_PIN
+#define ORIG_E0_AUTO_FAN_PIN TG_FAN2_PIN // Used in Anycubic Kossel example config
+
+#ifdef POWER_OUTAGE_TEST
+ #define OUTAGETEST_PIN 79
+ #define OUTAGECON_PIN 58
+#endif
+
+#include "pins_RAMPS_CHIRON.h"
+
+//
+// AnyCubic made the following changes to 1.1.0-RC8
+// If these are appropriate for your LCD let us know.
+//
+#if 0 && HAS_SPI_LCD
+
+ // LCD Display output pins
+ #if BOTH(NEWPANEL, PANEL_ONE)
+ #undef LCD_PINS_D6
+ #define LCD_PINS_D6 57
+ #endif
+
+ // LCD Display input pins
+ #if ENABLED(NEWPANEL)
+ #if ANY(VIKI2, miniVIKI)
+ #undef DOGLCD_A0
+ #define DOGLCD_A0 23
+ #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
+ #undef BEEPER_PIN
+ #define BEEPER_PIN 33
+ #undef LCD_BACKLIGHT_PIN
+ #define LCD_BACKLIGHT_PIN 67
+ #endif
+ #elif ENABLED(MINIPANEL)
+ #undef BEEPER_PIN
+ #define BEEPER_PIN 33
+ #undef DOGLCD_A0
+ #define DOGLCD_A0 42
+ #endif
+
+#endif // HAS_SPI_LCD
\ No newline at end of file
diff --git a/i3_mega_envs.ini b/i3_mega_envs.ini
index a3661675..adfe3cf1 100755
--- a/i3_mega_envs.ini
+++ b/i3_mega_envs.ini
@@ -464,7 +464,7 @@ board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +
-build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_CHIRON
+build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_CHIRON -DKNUTWURST_CHIRON
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH -DKNUTWURST_ONE_Z_ENDSTOP
[env:CHIRON_TMC]
@@ -474,5 +474,5 @@ board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +
-build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_CHIRON -DKNUTWURST_TMC
+build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_CHIRON -DKNUTWURST_CHIRON -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH -DKNUTWURST_ONE_Z_ENDSTOP