Initial commit. Unusable Marlin 2.0.5.3 core without any custimization.

This commit is contained in:
Knutwurst
2020-06-02 11:44:35 +02:00
commit 987c858ae4
1519 changed files with 1361431 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* E4d@Box pin assignments
* E4d@Box is a small factor 3D printer control board based on the ESP32 microcontroller for Laser, CNC and 3d printers
* for more info check http://atbox.tech/ and join to Facebook page E4d@box.
*/
#ifndef ARDUINO_ARCH_ESP32
#error "Oops! Select an ESP32 board in 'Tools > Board.'"
#elif EXTRUDERS > 1 || E_STEPPERS > 1
#error "E4d@box only supports one E Stepper. Comment out this line to continue."
#elif HOTENDS > 2
#error "E4d@box currently supports only one hotend. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "E4D@BOX"
#define BOARD_WEBSITE_URL "github.com/Exilaus/E4d@box"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Limit Switches
//
#define X_MIN_PIN 34
#define Y_MIN_PIN 35
#define Z_MIN_PIN 16 // 15
//
// Steppers
//
#define X_STEP_PIN 12 // 34//27
#define X_DIR_PIN 13 // 35//26
#define X_ENABLE_PIN 17 // 0//17//25 // used free pin
//#define X_CS_PIN 0
#define Y_STEP_PIN 32 // 33
#define Y_DIR_PIN 33 // 32
#define Y_ENABLE_PIN X_ENABLE_PIN
//#define Y_CS_PIN 13
#define Z_STEP_PIN 25 // 14
#define Z_DIR_PIN 26 // 12
#define Z_ENABLE_PIN X_ENABLE_PIN
//#define Z_CS_PIN 5 // SS_PIN
#define E0_STEP_PIN 27 // 16
#define E0_DIR_PIN 14 // 17
#define E0_ENABLE_PIN X_ENABLE_PIN
//#define E0_CS_PIN 21
//
// Temperature Sensors
//
#define TEMP_0_PIN 36 // Analog Input
#define TEMP_BED_PIN 39 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2 // 4//2//(D8)
#define FAN_PIN 0 // 2//15//13 (D9)
#define HEATER_BED_PIN 15 // 15//0 //(D10)
// SPI
#define SDSS 5
#define I2S_STEPPER_STREAM
#define I2S_WS 23
#define I2S_BCK 22
#define I2S_DATA 21

View File

@@ -0,0 +1,86 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Espressif ESP32 (Tensilica Xtensa LX6) pin assignments
*/
#ifndef ARDUINO_ARCH_ESP32
"Oops! Select an ESP32 board in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Espressif ESP32"
//
// I2S (steppers & other output-only pins)
//
#define I2S_STEPPER_STREAM
#define I2S_WS 25
#define I2S_BCK 26
#define I2S_DATA 27
//
// Limit Switches
//
#define X_MIN_PIN 34
#define Y_MIN_PIN 35
#define Z_MIN_PIN 15
//
// Steppers
//
#define X_STEP_PIN 128
#define X_DIR_PIN 129
#define X_ENABLE_PIN 130
//#define X_CS_PIN 0
#define Y_STEP_PIN 131
#define Y_DIR_PIN 132
#define Y_ENABLE_PIN 133
//#define Y_CS_PIN 13
#define Z_STEP_PIN 134
#define Z_DIR_PIN 135
#define Z_ENABLE_PIN 136
//#define Z_CS_PIN 5 // SS_PIN
#define E0_STEP_PIN 137
#define E0_DIR_PIN 138
#define E0_ENABLE_PIN 139
//#define E0_CS_PIN 21
//
// Temperature Sensors
//
#define TEMP_0_PIN 36 // Analog Input
#define TEMP_BED_PIN 39 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define FAN_PIN 13
#define HEATER_BED_PIN 4
// SPI
#define SDSS 5

View File

@@ -0,0 +1,110 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MRR ESPA pin assignments
* MRR ESPA is a 3D printer control board based on the ESP32 microcontroller.
* Supports 4 stepper drivers, heated bed, single hotend.
*/
#ifndef ARDUINO_ARCH_ESP32
#error "Oops! Select an ESP32 board in 'Tools > Board.'"
#elif EXTRUDERS > 1 || E_STEPPERS > 1
#error "MRR ESPA only supports one E Stepper. Comment out this line to continue."
#elif HOTENDS > 1
#error "MRR ESPA currently supports only one hotend. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MRR ESPA"
#define BOARD_WEBSITE_URL "github.com/maplerainresearch/MRR_ESPA"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Disable I2S stepper stream
//
#ifdef I2S_STEPPER_STREAM
#undef I2S_STEPPER_STREAM
#endif
#define I2S_WS -1
#define I2S_BCK -1
#define I2S_DATA -1
//
// Limit Switches
//
#define X_STOP_PIN 34
#define Y_STOP_PIN 35
#define Z_STOP_PIN 15
//
// Steppers
//
#define X_STEP_PIN 27
#define X_DIR_PIN 26
#define X_ENABLE_PIN 25
//#define X_CS_PIN 21
#define Y_STEP_PIN 33
#define Y_DIR_PIN 32
#define Y_ENABLE_PIN X_ENABLE_PIN
//#define Y_CS_PIN 22
#define Z_STEP_PIN 14
#define Z_DIR_PIN 12
#define Z_ENABLE_PIN X_ENABLE_PIN
//#define Z_CS_PIN 5 // SS_PIN
#define E0_STEP_PIN 16
#define E0_DIR_PIN 17
#define E0_ENABLE_PIN X_ENABLE_PIN
//#define E0_CS_PIN 21
//
// Temperature Sensors
//
#define TEMP_0_PIN 36 // Analog Input
#define TEMP_BED_PIN 39 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define FAN_PIN 13
#define HEATER_BED_PIN 4
//
// MicroSD card
//
#define MOSI_PIN 23
#define MISO_PIN 19
#define SCK_PIN 18
#define SDSS 5
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
// Hardware serial pins
// Add the following to Configuration.h or Configuration_adv.h to assign
// specific pins to hardware Serial1.
// Note: Serial2 can be defined using HARDWARE_SERIAL2_RX and HARDWARE_SERIAL2_TX but
// MRR ESPA does not have enough spare pins for such reassignment.
//#define HARDWARE_SERIAL1_RX 21
//#define HARDWARE_SERIAL1_TX 22

View File

@@ -0,0 +1,165 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 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
/**
* MRR ESPE pin assignments
* MRR ESPE is a 3D printer control board based on the ESP32 microcontroller.
* Supports 5 stepper drivers (using I2S stepper stream), heated bed,
* single hotend, and LCD controller.
*/
#ifndef ARDUINO_ARCH_ESP32
#error "Oops! Select an ESP32 board in 'Tools > Board.'"
#elif EXTRUDERS > 2 || E_STEPPERS > 2
#error "MRR ESPE only supports two E Steppers. Comment out this line to continue."
#elif HOTENDS > 1
#error "MRR ESPE currently supports only one hotend. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MRR ESPE"
#define BOARD_WEBSITE_URL "github.com/maplerainresearch/MRR_ESPE"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Limit Switches
//
#define X_STOP_PIN 35
#define Y_STOP_PIN 32
#define Z_STOP_PIN 33
//
// Enable I2S stepper stream
//
#undef I2S_STEPPER_STREAM
#define I2S_STEPPER_STREAM
#undef LIN_ADVANCE // Currently, I2S stream does not work with linear advance
#define I2S_WS 26
#define I2S_BCK 25
#define I2S_DATA 27
//
// Steppers
//
#define X_STEP_PIN 129
#define X_DIR_PIN 130
#define X_ENABLE_PIN 128
//#define X_CS_PIN 21
#define Y_STEP_PIN 132
#define Y_DIR_PIN 133
#define Y_ENABLE_PIN 131
//#define Y_CS_PIN 22
#define Z_STEP_PIN 135
#define Z_DIR_PIN 136
#define Z_ENABLE_PIN 134
//#define Z_CS_PIN 5 // SS_PIN
#define E0_STEP_PIN 138
#define E0_DIR_PIN 139
#define E0_ENABLE_PIN 137
//#define E0_CS_PIN 21
#define E1_STEP_PIN 141
#define E1_DIR_PIN 142
#define E1_ENABLE_PIN 140
//#define E1_CS_PIN 22
#define Z2_STEP_PIN 141
#define Z2_DIR_PIN 142
#define Z2_ENABLE_PIN 140
//#define Z2_CS_PIN 5
//
// Temperature Sensors
//
#define TEMP_0_PIN 36 // Analog Input
#define TEMP_1_PIN 34 // Analog Input
#define TEMP_BED_PIN 39 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 145 // 2
#define FAN_PIN 146 // 15
#define HEATER_BED_PIN 144 // 4
#define CONTROLLER_FAN_PIN 147
//#define E0_AUTO_FAN_PIN 148 // need to update Configuration_adv.h @section extruder
//#define E1_AUTO_FAN_PIN 149 // need to update Configuration_adv.h @section extruder
#define FAN1_PIN 149
//
// MicroSD card
//
#define MOSI_PIN 23
#define MISO_PIN 19
#define SCK_PIN 18
#define SDSS 5
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
//////////////////////////
// LCDs and Controllers //
//////////////////////////
#if HAS_GRAPHICAL_LCD
#define LCD_PINS_RS 13
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 16
#if ENABLED(CR10_STOCKDISPLAY)
#define BEEPER_PIN 151
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BEEPER_PIN 151
//#define LCD_PINS_D5 150
//#define LCD_PINS_D6 152
//#define LCD_PINS_D7 153
#else
#error "Only CR10_STOCKDISPLAY and REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER are currently supported. Comment out this line to continue."
#endif
#define BTN_EN1 0
#define BTN_EN2 12
#define BTN_ENC 14
#endif // HAS_GRAPHICAL_LCD
// Hardware serial pins
// Add the following to Configuration.h or Configuration_adv.h to assign
// specific pins to hardware Serial1 and Serial2.
// Note: Serial2 can be defined using HARDWARE_SERIAL2_RX and HARDWARE_SERIAL2_TX but
// MRR ESPA does not have enough spare pins for such reassignment.
//#define HARDWARE_SERIAL1_RX 21
//#define HARDWARE_SERIAL1_TX 22
//#define HARDWARE_SERIAL2_RX 2
//#define HARDWARE_SERIAL2_TX 4

View File

@@ -0,0 +1,633 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#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
*/
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "RAMPS 1.4"
#endif
#define E2END 0xFFF // 4KB
#define IS_RAMPS_EFB
//
// Servos
//
#ifdef IS_RAMPS_13
#define SERVO0_PIN 7 // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI
#else
#define SERVO0_PIN 11
#endif
#define SERVO1_PIN 6
#define SERVO2_PIN 5
#ifndef SERVO3_PIN
#define SERVO3_PIN 4
#endif
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// 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
#define Z_STEP_PIN 46
#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
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Don't use 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 FAN_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan
#define HEATER_1_PIN RAMPS_D9_PIN
#define FAN_PIN RAMPS_D8_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 FAN_PIN RAMPS_D9_PIN
#define FAN1_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_SF) // Spindle, Fan
#define FAN_PIN RAMPS_D8_PIN
#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
#define FAN_PIN RAMPS_D9_PIN
#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
#define FAN_PIN 4 // IO pin. Buffer needed
#endif
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 5 // Analog Input on AUX2
#endif
// define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 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 // try to use AUX 2
#define CASE_LIGHT_PIN 44 // Hardware PWM
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if !defined(NUM_SERVOS) || NUM_SERVOS == 0 // Prefer the servo connector
#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 // try to use AUX 2
#define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
#define SPINDLE_DIR_PIN 65
#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
/**
* Default pins for 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
//////////////////////////
// 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
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#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 22 // http://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42.
#define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13.
#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 ENABLED(MKS_MINI_12864)
#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
#define BEEPER_PIN 37
// not connected to a pin
#define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#define KILL_PIN 64
#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(REPRAPWORLD_KEYPAD)
#define SHIFT_OUT 40
#define SHIFT_CLK 44
#define SHIFT_LD 42
#define BTN_EN1 64
#define BTN_EN2 59
#define BTN_ENC 63
#elif 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

View File

@@ -0,0 +1,166 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZSMZ MINI pin assignments
*/
#ifndef MCU_LPC1768
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "AZSMZ MINI"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P1_23
//
// Limit Switches
//
#define X_MIN_PIN P1_24
#define Y_MIN_PIN P1_26
#define Z_MIN_PIN P1_28
#define Z_MAX_PIN P1_29
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P0_04
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
#define E1_STEP_PIN P2_08
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_23_A0 // A0 (TH1)
#define TEMP_BED_PIN P0_24_A1 // A1 (TH2)
#define TEMP_1_PIN P0_25_A2 // A2 (TH3)
//
// Heaters / Fans
//
// EFB
#define HEATER_0_PIN P2_04
#define HEATER_BED_PIN P2_05
#ifndef FAN_PIN
#define FAN_PIN P2_07
#endif
#define FAN1_PIN P0_26
#define LCD_SDSS P0_16 // LCD SD chip select
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if ENABLED(AZSMZ_12864)
#define BEEPER_PIN P1_30
#define DOGLCD_A0 P2_06
#define DOGLCD_CS P1_22
#define BTN_EN1 P4_28
#define BTN_EN2 P1_27
#define BTN_ENC P3_26
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION LCD
#endif
#endif
#if SD_CONNECTION_IS(LCD)
#define SCK_PIN P0_15
#define MISO_PIN P0_17
#define MOSI_PIN P0_18
#define SS_PIN LCD_SDSS
#define SD_DETECT_PIN P3_25
#elif SD_CONNECTION_IS(ONBOARD)
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN ONBOARD_SD_CS_PIN
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif
//
// Ethernet pins
//
#define ENET_MDIO P1_17
#define ENET_RX_ER P1_14
#define ENET_RXD1 P1_10
#define ENET_MOC P1_16
#define REF_CLK P1_15
#define ENET_RXD0 P1_09
#define ENET_CRS P1_08
#define ENET_TX_EN P1_04
#define ENET_TXD0 P1_00
#define ENET_TXD1 P1_01
/**
* PWMs
*
* There are 6 PWMs. Each PWM can be assigned to one of two pins.
*
* SERVO2 does NOT have a PWM assigned to it.
*
* PWM1.1 DIO4 SERVO3_PIN FIL_RUNOUT_PIN 5V output, PWM
* PWM1.1 DIO26 E0_STEP_PIN
* PWM1.2 DIO11 SERVO0_PIN
* PWM1.2 DIO54 X_STEP_PIN
* PWM1.3 DIO6 SERVO1_PIN J5-1
* PWM1.3 DIO60 Y_STEP_PIN
* PWM1.4 DIO53 SDSS(SSEL0) J3-5 AUX-3
* PWM1.4 DIO46 Z_STEP_PIN
* PWM1.5 DIO3 X_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.5 DIO9 RAMPS_D9_PIN
* PWM1.6 DIO14 Y_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.6 DIO10 RAMPS_D10_PIN
*/
/**
* Special pins
* D37 - not 5V tolerant
* D49 - not 5V tolerant
* D57 - open collector
* D58 - open collector
*/

View File

@@ -0,0 +1,189 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BIQU BQ111-A4
*
* Applies to the following boards:
*
* BOARD_BIQU_BQ111_A4 (Hotend, Fan, Bed)
*
*/
#ifndef MCU_LPC1768
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "BIQU Thunder B300 V1.0"
#endif
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Limit Switches
//
#define X_MIN_PIN P1_24 // 10k pullup to 3.3V, 1K series
#define X_MAX_PIN P1_25 // 10k pullup to 3.3V, 1K series
#define Y_MIN_PIN P1_26 // 10k pullup to 3.3V, 1K series
#define Y_MAX_PIN P1_27 // 10k pullup to 3.3V, 1K series
#define Z_MIN_PIN P1_28 // 10k pullup to 3.3V, 1K series
#define Z_MAX_PIN P1_29 // 10k pullup to 3.3V, 1K series
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P0_04
#ifndef X_CS_PIN
#define X_CS_PIN P1_15 // ETH
#endif
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#ifndef Y_CS_PIN
#define Y_CS_PIN P1_14 // ETH
#endif
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#ifndef Z_CS_PIN
#define Z_CS_PIN P1_16 // ETH
#endif
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
#ifndef E0_CS_PIN
#define E0_CS_PIN P1_17 // ETH
#endif
//
// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P0_18 // ETH
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO P0_17 // ETH
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK P0_15 // ETH
#endif
#endif
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_24_A1 // A0 (T0)
#define TEMP_BED_PIN P0_23_A0 // A1 (T1)
//
// Heaters / Fans
//
#define HEATER_0_PIN P2_07
#define HEATER_BED_PIN P2_05
#ifndef FAN_PIN
#define FAN_PIN P2_04
#endif
//
// Unused
//
//#define PIN_P2_10 P2_10 // IBOOT-1
//#define PIN_P0_27 P0_27 // Onboard SD Detect
/**
* LCD / Controller
*
* REPRAP_DISCOUNT_SMART_CONTROLLER is not supported due to the lack of LCD_PINS_D5,
* LCD_PINS_D6 or LCD_PINS_D7 in the EXP1 connector.
*
* A remote SD card is not supported as the pins routed to EXP2 are the same as used
* for the onboard SD card, and a chip select signal is not provided for the remote
* SD card.
*/
#if HAS_SPI_LCD
#define BEEPER_PIN P1_31 // EXP1-1
#define BTN_EN1 P3_26 // EXP2-3
#define BTN_EN2 P3_25 // EXP2-5
#define BTN_ENC P1_30 // EXP1-2
#define SD_DETECT_PIN P0_27 // EXP2-7
#define LCD_PINS_RS P0_16 // EXP1-4
#define LCD_PINS_ENABLE P0_18 // (MOSI) EXP1-3
#define LCD_PINS_D4 P0_15 // (SCK) EXP1-5
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && HAS_CHARACTER_LCD
#error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU B300 v1.0"
#endif
#if ENABLED(SDSUPPORT)
#error "SDSUPPORT is not supported by the BIQU B300 v1.0 when an LCD controller is used"
#endif
#endif // HAS_SPI_LCD
/**
* SD Card Reader
*
* Software SPI is used to interface with a stand-alone SD card reader connected to EXP1.
* Hardware SPI can't be used because P0_17 (MISO) is not brought out on this board.
*/
#if ENABLED(SDSUPPORT)
#define SCK_PIN P0_15 // EXP1-5
#define MISO_PIN P0_16 // EXP1-4
#define MOSI_PIN P0_18 // EXP1-3
#define SS_PIN P1_30 // EXP1-2
#define SDSS SS_PIN
#endif
/**
* PWMS
*
* There are 6 PWMS. Each PWM can be assigned to one of two pins.
*
* PWM1.1 P0_18 LCD_PINS_ENABLE
* PWM1.1 P2_0 X_STEP_PIN
* PWM1.2 P1_20 <none>
* PWM1.2 P2_1 Y_STEP_PIN
* PWM1.3 P1_21 <none>
* PWM1.3 P2_2 Z_STEP_PIN
* PWM1.4 P1_23 <none>
* PWM1.4 P2_3 E0_STEP_PIN
* PWM1.5 P1_24 X_MIN_PIN
* PWM1.5 P2_4 FAN_PIN
* PWM1.6 P1_26 Y_MIN_PIN
* PWM1.6 P2_5 HEATER_BED_PIN
*/

View File

@@ -0,0 +1,162 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BIQU BQ111-A4
*
* Applies to the following boards:
*
* BOARD_BIQU_BQ111_A4 (Hotend, Fan, Bed)
*
*/
#ifndef MCU_LPC1768
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "BIQU BQ111-A4"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Limit Switches
//
#define X_MIN_PIN P1_24 // 10k pullup to 3.3V, 1K series
#define X_MAX_PIN P1_25 // 10k pullup to 3.3V, 1K series
#define Y_MIN_PIN P1_26 // 10k pullup to 3.3V, 1K series
#define Y_MAX_PIN P1_27 // 10k pullup to 3.3V, 1K series
#define Z_MIN_PIN P1_28 // 10k pullup to 3.3V, 1K series
#define Z_MAX_PIN P1_29 // 10k pullup to 3.3V, 1K series
//
// Steppers
//
#define X_STEP_PIN P2_0
#define X_DIR_PIN P0_5
#define X_ENABLE_PIN P0_4
#define Y_STEP_PIN P2_1
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#define Z_STEP_PIN P2_2
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#define E0_STEP_PIN P2_3
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_23_A0 // A0 (T0)
#define TEMP_BED_PIN P0_24_A1 // A1 (T1)
//
// Heaters / Fans
//
#define HEATER_0_PIN P2_7
#define HEATER_BED_PIN P2_5
#ifndef FAN_PIN
#define FAN_PIN P2_4
#endif
//
// Unused
//
//#define PIN_P2_10 P2_10 // IBOOT-1
//#define PIN_P0_27 P0_27 // Onboard SD Detect
/**
* LCD / Controller
*
* REPRAP_DISCOUNT_SMART_CONTROLLER is not supported due to the lack of LCD_PINS_D5,
* LCD_PINS_D6 or LCD_PINS_D7 in the EXP1 connector.
*
* A remote SD card is not supported as the pins routed to EXP2 are the same as used
* for the onboard SD card, and a chip select signal is not provided for the remote
* SD card.
*/
#if HAS_SPI_LCD
#define BEEPER_PIN P1_31 // EXP1-1
#define BTN_EN1 P3_26 // EXP2-3
#define BTN_EN2 P3_25 // EXP2-5
#define BTN_ENC P1_30 // EXP1-2
#define SD_DETECT_PIN P0_27 // EXP2-7
#define LCD_PINS_RS P0_16 // EXP1-4
#define LCD_PINS_ENABLE P0_18 // (MOSI) EXP1-3
#define LCD_PINS_D4 P0_15 // (SCK) EXP1-5
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) && HAS_CHARACTER_LCD
#error "REPRAP_DISCOUNT_SMART_CONTROLLER is not supported by the BIQU BQ111-A4"
#endif
#if ENABLED(SDSUPPORT)
#error "SDSUPPORT is not supported by the BIQU BQ111-A4 when an LCD controller is used"
#endif
#endif // HAS_SPI_LCD
/**
* SD Card Reader
*
* Software SPI is used to interface with a stand-alone SD card reader connected to EXP1.
* Hardware SPI can't be used because P0_17 (MISO) is not brought out on this board.
*/
#if ENABLED(SDSUPPORT)
#define SCK_PIN P0_15 // EXP1-5
#define MISO_PIN P0_16 // EXP1-4
#define MOSI_PIN P0_18 // EXP1-3
#define SS_PIN P1_30 // EXP1-2
#define SDSS SS_PIN
#endif // SDSUPPORT
/**
* PWMS
*
* There are 6 PWMS. Each PWM can be assigned to one of two pins.
*
* PWM1.1 P0_18 LCD_PINS_ENABLE
* PWM1.1 P2_0 X_STEP_PIN
* PWM1.2 P1_20 <none>
* PWM1.2 P2_1 Y_STEP_PIN
* PWM1.3 P1_21 <none>
* PWM1.3 P2_2 Z_STEP_PIN
* PWM1.4 P1_23 <none>
* PWM1.4 P2_3 E0_STEP_PIN
* PWM1.5 P1_24 X_MIN_PIN
* PWM1.5 P2_4 FAN_PIN
* PWM1.6 P1_26 Y_MIN_PIN
* PWM1.6 P2_5 HEATER_BED_PIN
*/

View File

@@ -0,0 +1,238 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#define BOARD_INFO_NAME "BIGTREE SKR 1.1"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Limit Switches
//
#define X_MIN_PIN P1_29
#define X_MAX_PIN P1_28
#define Y_MIN_PIN P1_27
#define Y_MAX_PIN P1_26
#define Z_MIN_PIN P1_25
#define Z_MAX_PIN P1_24
//
// Steppers
//
#define X_STEP_PIN P0_04
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P4_28
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P2_02
#define Y_ENABLE_PIN P2_00
#define Z_STEP_PIN P0_20
#define Z_DIR_PIN P0_21
#define Z_ENABLE_PIN P0_19
#define E0_STEP_PIN P0_11
#define E0_DIR_PIN P2_13
#define E0_ENABLE_PIN P2_12
/**
* LCD / Controller
*
* As of 20 JAN 2019 only the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER display has
* been tested with these settings. It can be connected to the SKR using standard cables
* via the EXP1 and EXP2 ports. Other displays may need a custom cable and/or changes to
* the pins defined below.
*
* The SD card on the LCD controller uses the same SPI signals as the LCD, resulting in
* garbage/lines on the LCD display during SD card access. The LCD code mitigates this
* by redrawing the screen after SD card accesses.
*/
#if HAS_SPI_LCD
#define BTN_EN1 P3_26
#define BTN_EN2 P3_25
#define BTN_ENC P2_11
#define SD_DETECT_PIN P1_31
#define LCD_SDSS P1_23
#define LCD_PINS_RS P0_16
#define LCD_PINS_ENABLE P0_18
#define LCD_PINS_D4 P0_15
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS P2_06
#define DOGLCD_A0 P0_16
#endif
#endif
//
// SD Support
//
// MKS_MINI_12864 strongly prefers the SD card on the display and
// requires jumpers on the SKR V1.1 board as documented here:
// https://www.facebook.com/groups/505736576548648/permalink/630639874058317/
#ifndef SDCARD_CONNECTION
#if EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY)
#define SDCARD_CONNECTION LCD
#else
#define SDCARD_CONNECTION ONBOARD
#endif
#endif
#if SD_CONNECTION_IS(LCD)
#define SS_PIN P1_23
#endif
// Trinamic driver support
#if HAS_TRINAMIC_CONFIG
// Using TMC devices in intelligent mode requires extra connections to each device. Unfortunately
// the SKR does not have many free pins (especially if a display is in use). The SPI-based devices
// will require 3 connections (clock, mosi, miso), plus a chip select line (CS) for each driver.
// The UART-based devices require 2 pis per deriver (one of which must be interrupt capable).
// The same SPI pins can be shared with the display/SD card reader, meaning SPI-based devices are
// probably a good choice for this board.
//
// SOFTWARE_DRIVER_ENABLE is a good option. It uses SPI to control the driver enable and allows the
// hardware ENABLE pins for each driver to be repurposed as SPI chip select. To use this mode the
// driver modules will probably need to be modified, removing the pin used for the enable line from
// the module and wiring this connection directly to GND (as is the case for TMC2130).
// Using this option and sharing all of the SPI pins allows 5 TMC2130 drivers to be used along with
// a REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER without requiring the use of any extra pins.
//
// Other options will probably require the use of any free pins and the TFT serial port or a
// different type of display (like the TFT), using the pins normally used for the display and encoder.
// Unfortunately, tests show it's not possible to use endstop and thermistor pins for chip-select.
// Sample settings are provided below, but only some have been tested.
//
// Another option is to share the enable and chip-select pins when using SPI. Several users have
// reported that this works. However, it's unlikely that this configuration will allow SPI communi-
// cation with the device when the drivers are active, meaning that some of the more advanced TMC
// options may not be available.
// When using any TMC SPI-based drivers, software SPI is used
// because pins may be shared with the display or SD card.
#define TMC_USE_SW_SPI
#define TMC_SW_MOSI P0_18
#define TMC_SW_MISO P0_17
// To minimize pin usage use the same clock pin as the display/SD card reader. (May generate LCD noise.)
#define TMC_SW_SCK P0_15
// If pin 2_06 is unused, it can be used for the clock to avoid the LCD noise.
//#define TMC_SW_SCK P2_06
#if ENABLED(SOFTWARE_DRIVER_ENABLE)
// Software enable allows the enable pins to be repurposed as chip-select pins.
// Note: Requires the driver modules to be modified to always be enabled with the enable pin removed.
#if AXIS_DRIVER_TYPE_X(TMC2130)
#define X_CS_PIN P4_28
#undef X_ENABLE_PIN
#define X_ENABLE_PIN -1
#endif
#if AXIS_DRIVER_TYPE_Y(TMC2130)
#define Y_CS_PIN P2_00
#undef Y_ENABLE_PIN
#define Y_ENABLE_PIN -1
#endif
#if AXIS_DRIVER_TYPE_Z(TMC2130)
#define Z_CS_PIN P0_19
#undef Z_ENABLE_PIN
#define Z_ENABLE_PIN -1
#endif
#if AXIS_DRIVER_TYPE_E0(TMC2130)
#define E0_CS_PIN P2_12
#undef E0_ENABLE_PIN
#define E0_ENABLE_PIN -1
#endif
#if AXIS_DRIVER_TYPE_E1(TMC2130)
#define E1_CS_PIN P0_10
#undef E1_ENABLE_PIN
#define E1_ENABLE_PIN -1
#endif
#else // !SOFTWARE_DRIVER_ENABLE
// A chip-select pin is needed for each driver.
// EXAMPLES
// Example 1: No LCD attached or a TFT style display using the AUX header RX/TX pins.
// SDCARD_CONNECTION must not be 'LCD'. Nothing should be connected to EXP1/EXP2.
//#define SKR_USE_LCD_PINS_FOR_CS
#if ENABLED(SKR_USE_LCD_PINS_FOR_CS)
#if SD_CONNECTION_IS(LCD)
#error "SDCARD_CONNECTION must not be 'LCD' with SKR_USE_LCD_PINS_FOR_CS."
#endif
#define X_CS_PIN P1_23
#define Y_CS_PIN P3_26
#define Z_CS_PIN P2_11
#define E0_CS_PIN P3_25
#define E1_CS_PIN P1_31
#endif
// Example 2: A REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
// The SD card reader attached to the LCD (if present) can't be used because
// the pins will be in use. So SDCARD_CONNECTION must not be 'LCD'.
//#define SKR_USE_LCD_SD_CARD_PINS_FOR_CS
#if ENABLED(SKR_USE_LCD_SD_CARD_PINS_FOR_CS)
#if SD_CONNECTION_IS(LCD)
#error "SDCARD_CONNECTION must not be 'LCD' with SKR_USE_LCD_SD_CARD_PINS_FOR_CS."
#endif
#define X_CS_PIN P0_02
#define Y_CS_PIN P0_03
#define Z_CS_PIN P2_06
// We use SD_DETECT_PIN for E0
#undef SD_DETECT_PIN
#define E0_CS_PIN P1_31
// We use LCD_SDSS pin for E1
#undef LCD_SDSS
#define LCD_SDSS -1
#define E1_CS_PIN P1_23
#endif
// Example 3: Use the driver enable pins for chip-select.
// Commands must not be sent to the drivers when enabled. So certain
// advanced features (like driver monitoring) will not be available.
//#define SKR_USE_ENABLE_CS
#if ENABLED(SKR_USE_ENABLE_FOR_CS)
#define X_CS_PIN X_ENABLE_PIN
#define Y_CS_PIN Y_ENABLE_PIN
#define Z_CS_PIN Z_ENABLE_PIN
#define E0_CS_PIN E0_ENABLE_PIN
#define E1_CS_PIN E1_ENABLE_PIN
#endif
#endif // SOFTWARE_DRIVER_ENABLE
#endif
// Include common SKR pins
#include "pins_BTT_SKR_common.h"

View File

@@ -0,0 +1,378 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#define BOARD_INFO_NAME "BIGTREE SKR 1.3"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
/**
* Trinamic Stallguard pins
*/
#define X_DIAG_PIN P1_29 // X-
#define Y_DIAG_PIN P1_27 // Y-
#define Z_DIAG_PIN P1_25 // Z-
#define E0_DIAG_PIN P1_28 // X+
#define E1_DIAG_PIN P1_26 // Y+
/**
* Limit Switches
*/
#if X_STALL_SENSITIVITY
#define X_STOP_PIN X_DIAG_PIN
#if X_HOME_DIR < 0
#define X_MAX_PIN P1_28 // X+
#else
#define X_MIN_PIN P1_28 // X+
#endif
#else
#define X_MIN_PIN P1_29 // X-
#define X_MAX_PIN P1_28 // X+
#endif
#if Y_STALL_SENSITIVITY
#define Y_STOP_PIN Y_DIAG_PIN
#if Y_HOME_DIR < 0
#define Y_MAX_PIN P1_26 // Y+
#else
#define Y_MIN_PIN P1_26 // Y+
#endif
#else
#define Y_MIN_PIN P1_27 // Y-
#define Y_MAX_PIN P1_26 // Y+
#endif
#if Z_STALL_SENSITIVITY
#define Z_STOP_PIN Z_DIAG_PIN
#if Z_HOME_DIR < 0
#define Z_MAX_PIN P1_24 // Z+
#else
#define Z_MIN_PIN P1_24 // Z+
#endif
#else
#define Z_MIN_PIN P1_25 // Z-
#define Z_MAX_PIN P1_24 // Z+
#endif
#define ONBOARD_ENDSTOPPULLUPS // Board has built-in pullups
//
// Servos
//
#ifndef SERVO0_PIN
#define SERVO0_PIN P2_00
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN P1_24
#endif
//
// Filament Runout Sensor
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN P1_28
#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_17
#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_15
#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_10
#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_08
#endif
#ifndef E1_CS_PIN
#define E1_CS_PIN P1_01
#endif
//
// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P4_28
#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_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 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 P4_29
#define X_SERIAL_RX_PIN P1_17
#define Y_SERIAL_TX_PIN P1_16
#define Y_SERIAL_RX_PIN P1_15
#define Z_SERIAL_TX_PIN P1_14
#define Z_SERIAL_RX_PIN P1_10
#define E0_SERIAL_TX_PIN P1_09
#define E0_SERIAL_RX_PIN P1_08
#define E1_SERIAL_TX_PIN P1_04
#define E1_SERIAL_RX_PIN P1_01
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
/**
* _____ _____
* NC | 1 2 | GND 5V | 1 2 | GND
* RESET | 3 4 | 1.31 (SD_DETECT) (LCD_D7) 1.23 | 3 4 | 1.22 (LCD_D6)
* (MOSI) 0.18 | 5 6 3.25 (BTN_EN2) (LCD_D5) 1.21 | 5 6 1.20 (LCD_D4)
* (SD_SS) 0.16 | 7 8 | 3.26 (BTN_EN1) (LCD_RS) 1.19 | 7 8 | 1.18 (LCD_EN)
* (SCK) 0.15 | 9 10| 0.17 (MISO) (BTN_ENC) 0.28 | 9 10| 1.30 (BEEPER)
* ----- -----
* EXP2 EXP1
*/
#define EXPA1_03_PIN P1_23
#define EXPA1_04_PIN P1_22
#define EXPA1_05_PIN P1_21
#define EXPA1_06_PIN P1_20
#define EXPA1_07_PIN P1_19
#define EXPA1_08_PIN P1_18
#define EXPA1_09_PIN P0_28
#define EXPA1_10_PIN P1_30
#define EXPA2_03_PIN -1
#define EXPA2_04_PIN P1_31
#define EXPA2_05_PIN P0_18
#define EXPA2_06_PIN P3_25
#define EXPA2_07_PIN P0_16
#define EXPA2_08_PIN P3_26
#define EXPA2_09_PIN P0_15
#define EXPA2_10_PIN P0_17
#if HAS_SPI_LCD
#if ENABLED(ANET_FULL_GRAPHICS_LCD)
#error "CAUTION! ANET_FULL_GRAPHICS_LCD requires wiring modifications. See 'pins_BTT_SKR_V1_3.h' for details. Comment out this line to continue."
/**
* 1. Cut the tab off the LCD connector so it can be plugged into the "EXP1" connector the other way.
* 2. Swap the LCD's +5V (Pin2) and GND (Pin1) wires. (This is the critical part!)
* 3. Rewire the CLK Signal (LCD Pin9) to LCD Pin7. (LCD Pin9 remains open because this pin is open drain.)
* 4. A wire is needed to connect the Reset switch at J3 (LCD Pin7) to EXP2 (Pin3) on the board.
*
* !!! If you are unsure, ask for help! Your motherboard may be damaged in some circumstances !!!
*
* The ANET_FULL_GRAPHICS_LCD connector plug:
*
* BEFORE AFTER
* _____ _____
* GND 1 | 1 2 | 2 5V 5V 1 | 1 2 | 2 GND
* CS 3 | 3 4 | 4 BTN_EN2 CS 3 | 3 4 | 4 BTN_EN2
* SID 5 | 5 6 6 BTN_EN1 SID 5 | 5 6 6 BTN_EN1
* open 7 | 7 8 | 8 BTN_ENC CLK 7 | 7 8 | 8 BTN_ENC
* CLK 9 | 9 10| 10 Beeper open 9 | 9 10| 10 Beeper
* ----- -----
* LCD LCD
*/
#define LCD_PINS_RS EXPA1_03_PIN
#define BTN_EN1 EXPA1_06_PIN
#define BTN_EN2 EXPA1_04_PIN
#define BTN_ENC EXPA1_08_PIN
#define LCD_PINS_ENABLE EXPA1_05_PIN
#define LCD_PINS_D4 EXPA1_07_PIN
#elif ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS EXPA1_04_PIN
#define BTN_EN1 EXPA1_08_PIN
#define BTN_EN2 EXPA1_06_PIN
#define BTN_ENC EXPA1_09_PIN // (58) open-drain
#define LCD_PINS_ENABLE EXPA1_03_PIN
#define LCD_PINS_D4 EXPA1_05_PIN
#else // !CR10_STOCKDISPLAY
#define LCD_PINS_RS EXPA1_07_PIN
#define BTN_EN1 EXPA2_08_PIN // (31) J3-2 & AUX-4
#define BTN_EN2 EXPA2_06_PIN // (33) J3-4 & AUX-4
#define BTN_ENC EXPA1_09_PIN // (58) open-drain
#define LCD_PINS_ENABLE EXPA1_08_PIN
#define LCD_PINS_D4 EXPA1_06_PIN
#define LCD_SDSS EXPA2_07_PIN // (16) J3-7 & AUX-4
#define SD_DETECT_PIN EXPA2_04_PIN // (49) (NOT 5V tolerant)
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS EXPA1_08_PIN
#define DOGLCD_A0 EXPA1_07_PIN
#define DOGLCD_SCK EXPA2_09_PIN
#define DOGLCD_MOSI EXPA2_05_PIN
#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 EXPA1_06_PIN // 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 EXPA1_05_PIN
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN EXPA1_04_PIN
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN EXPA1_03_PIN
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN EXPA1_05_PIN
#endif
#else // !FYSETC_MINI_12864
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS EXPA1_05_PIN
#define DOGLCD_A0 EXPA1_04_PIN
#define DOGLCD_SCK EXPA2_09_PIN
#define DOGLCD_MOSI EXPA2_05_PIN
#elif ENABLED(ENDER2_STOCKDISPLAY)
/**
* Creality Ender-2 display pinout
* _____
* 5V | 1 2 | GND
* (MOSI) P1_23 | 3 4 | P1_22 (LCD_CS)
* (LCD_A0) P1_21 | 5 6 P1_20 (BTN_EN2)
* RESET P1_19 | 7 8 | P1_18 (BTN_EN1)
* (BTN_ENC) P0_28 | 9 10| P1_30 (SCK)
* -----
* EXP1
*/
#define BTN_EN1 EXPA1_08_PIN
#define BTN_EN2 EXPA1_06_PIN
#define BTN_ENC EXPA1_09_PIN
#define DOGLCD_CS EXPA1_04_PIN
#define DOGLCD_A0 EXPA1_05_PIN
#define DOGLCD_SCK EXPA1_10_PIN
#define DOGLCD_MOSI EXPA1_03_PIN
#define FORCE_SOFT_SPI
#define LCD_BACKLIGHT_PIN -1
#endif
#if ENABLED(ULTIPANEL)
#define LCD_PINS_D5 EXPA1_05_PIN
#define LCD_PINS_D6 EXPA1_04_PIN
#define LCD_PINS_D7 EXPA1_03_PIN
#endif
#endif // !FYSETC_MINI_12864
#endif // !CR10_STOCKDISPLAY
#endif // HAS_SPI_LCD
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION LCD
#endif
#if SD_CONNECTION_IS(LCD)
#define SS_PIN EXPA2_07_PIN
#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)
*/
// Include common SKR pins
#include "pins_BTT_SKR_common.h"

View File

@@ -0,0 +1,344 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "BIGTREE SKR 1.4"
#endif
//
// EEPROM
//
#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
#endif
//
// SD Connection
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION LCD
#endif
//
// Servos
//
#define SERVO0_PIN P2_00
//
// TMC StallGuard DIAG pins
//
#define X_DIAG_PIN P1_29 // X-STOP
#define Y_DIAG_PIN P1_28 // Y-STOP
#define Z_DIAG_PIN P1_27 // Z-STOP
#define E0_DIAG_PIN P1_26 // E0DET
#define E1_DIAG_PIN P1_25 // E1DET
//
// Limit Switches
//
#if X_STALL_SENSITIVITY
#define X_STOP_PIN X_DIAG_PIN
#if X_HOME_DIR < 0
#define X_MAX_PIN P1_26 // E0DET
#else
#define X_MIN_PIN P1_26 // E0DET
#endif
#else
#define X_STOP_PIN P1_29 // X-STOP
#endif
#if Y_STALL_SENSITIVITY
#define Y_STOP_PIN Y_DIAG_PIN
#if Y_HOME_DIR < 0
#define Y_MAX_PIN P1_25 // E1DET
#else
#define Y_MIN_PIN P1_25 // E1DET
#endif
#else
#define Y_STOP_PIN P1_28 // Y-STOP
#endif
#if Z_STALL_SENSITIVITY
#define Z_STOP_PIN Z_DIAG_PIN
#if Z_HOME_DIR < 0
#define Z_MAX_PIN P1_00 // PWRDET
#else
#define Z_MIN_PIN P1_00 // PWRDET
#endif
#else
#ifndef Z_STOP_PIN
#define Z_STOP_PIN P1_27 // Z-STOP
#endif
#endif
//
// 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 // E0DET
#define FIL_RUNOUT2_PIN P1_25 // E1DET
//
// Power Supply Control
//
#ifndef PS_ON_PIN
#define PS_ON_PIN P1_00 // PWRDET
#endif
//
// Power Loss Detection
//
#ifndef POWER_LOSS_PIN
#define POWER_LOSS_PIN P1_00 // PWRDET
#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
//
// 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_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 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
#if ENABLED(ANET_FULL_GRAPHICS_LCD)
#define LCD_PINS_RS P1_23
#define BTN_EN1 P1_20
#define BTN_EN2 P1_22
#define BTN_ENC P1_18
#define LCD_PINS_ENABLE P1_21
#define LCD_PINS_D4 P1_19
#elif ENABLED(CR10_STOCKDISPLAY)
#define BTN_ENC P0_28 // (58) open-drain
#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 BTN_ENC P0_28 // (58) open-drain
#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
#if SD_CONNECTION_IS(LCD)
#define SD_DETECT_PIN P1_31 // (49) (NOT 5V tolerant)
#endif
#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)
*/
//
// Include common SKR pins
//
#include "pins_BTT_SKR_common.h"

View File

@@ -0,0 +1,117 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#ifdef SKR_HAS_LPC1769
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#elif !defined(MCU_LPC1768)
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
// Ignore temp readings during development.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
#if DISABLED(SDCARD_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
#endif
//
// Steppers
//
#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
//
#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
#if HOTENDS == 1 && TEMP_SENSOR_PROBE
#define TEMP_PROBE_PIN TEMP_1_PIN
#endif
//
// Heaters / Fans
//
#ifndef HEATER_0_PIN
#define HEATER_0_PIN P2_07
#endif
#if HOTENDS == 1
#ifndef FAN1_PIN
#define FAN1_PIN P2_04
#endif
#else
#ifndef HEATER_1_PIN
#define HEATER_1_PIN P2_04
#endif
#endif
#ifndef FAN_PIN
#define FAN_PIN P2_03
#endif
#ifndef HEATER_BED_PIN
#define HEATER_BED_PIN P2_05
#endif
//
// LCD / Controller
//
#if HAS_SPI_LCD
#define BEEPER_PIN P1_30 // (37) not 5V tolerant
#endif
//
// SD Support
//
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if SD_CONNECTION_IS(LCD)
#define SCK_PIN P0_15
#define MISO_PIN P0_17
#define MOSI_PIN P0_18
#elif SD_CONNECTION_IS(ONBOARD)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN P0_27
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN ONBOARD_SD_CS_PIN
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif

View File

@@ -0,0 +1,169 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#ifndef MCU_LPC1768
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "GMARSH X6 REV1"
// Ignore temp readings during develpment.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Enable 12MHz clock output on P1.27 pin to sync TMC2208 chip clocks
//
#define LPC1768_ENABLE_CLKOUT_12M
//
// Servos
//
#define SERVO0_PIN P1_26 // PWM1[6]
#define SERVO1_PIN P1_18 // PWM1[1]
//
// Limit Switches
//
#define X_MIN_PIN P0_00
#define X_MAX_PIN P0_01
#define Y_MIN_PIN P0_10
#define Y_MAX_PIN P0_21
#define Z_MIN_PIN P2_13
#define Z_MAX_PIN P2_22
//
// Steppers
//
#define X_STEP_PIN P1_01
#define X_DIR_PIN P1_04
#define X_ENABLE_PIN P0_26
#define Y_STEP_PIN P1_10
#define Y_DIR_PIN P1_14
#define Y_ENABLE_PIN P1_08
#define Z_STEP_PIN P1_17
#define Z_DIR_PIN P4_29
#define Z_ENABLE_PIN P1_15
#define E0_STEP_PIN P0_05
#define E0_DIR_PIN P2_00
#define E0_ENABLE_PIN P4_28
#define E1_STEP_PIN P2_03
#define E1_DIR_PIN P2_04
#define E1_ENABLE_PIN P2_01
#define E2_STEP_PIN P2_07
#define E2_DIR_PIN P2_08
#define E2_ENABLE_PIN P2_05
//
// TMC2208 UART pins
//
#if HAS_TMC_UART
#define X_SERIAL_TX_PIN P1_00
#define X_SERIAL_RX_PIN P1_00
#define Y_SERIAL_TX_PIN P1_09
#define Y_SERIAL_RX_PIN P1_09
#define Z_SERIAL_TX_PIN P1_16
#define Z_SERIAL_RX_PIN P1_16
#define E0_SERIAL_TX_PIN P0_04
#define E0_SERIAL_RX_PIN P0_04
#define E1_SERIAL_TX_PIN P2_02
#define E1_SERIAL_RX_PIN P2_02
#define E2_SERIAL_TX_PIN P2_06
#define E2_SERIAL_RX_PIN P2_06
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#else
#error "TMC2208 UART configuration is required for GMarsh X6."
#endif
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_24_A1 // AD0[0] on P0_23
#define TEMP_BED_PIN P0_23_A0 // AD0[1] on P0_24
//
// Heaters / Fans
//
#define HEATER_BED_PIN P1_19 // Not a PWM pin, software PWM required
#define HEATER_0_PIN P3_26 // PWM1[3]
#define FAN_PIN P3_25 // Part cooling fan - connected to PWM1[2]
#define E0_AUTO_FAN_PIN P0_27 // Extruder cooling fan
//
// Misc. Functions
//
#define LED_PIN P1_31
//
// LCD
//
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN P0_19
#define BTN_EN1 P1_23
#define BTN_EN2 P1_24
#define BTN_ENC P1_25
#define LCD_PINS_RS P0_20
#define LCD_PINS_ENABLE P0_21
#define LCD_PINS_D4 P2_11
#define LCD_PINS_D5 P0_22
#define LCD_PINS_D6 P1_29
#define LCD_PINS_D7 P1_28
#endif
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION LCD
#endif
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if SD_CONNECTION_IS(LCD)
#define SCK_PIN P0_15
#define MISO_PIN P0_17
#define MOSI_PIN P0_18
#define SS_PIN P0_16
#elif SD_CONNECTION_IS(ONBOARD)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN P0_27
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN ONBOARD_SD_CS_PIN
#endif

View File

@@ -0,0 +1,387 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS SBASE pin assignments
*/
#if defined(MKS_HAS_LPC1769) && !defined(MCU_LPC1769)
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#elif !defined(MKS_HAS_LPC1769) && !defined(MCU_LPC1768)
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "MKS SBASE"
#endif
#ifndef BOARD_WEBSITE_URL
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SBASE"
#endif
//
// EEPROM
//
#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
#endif
#define LED_PIN P1_18 // Used as a status indicator
#define LED2_PIN P1_19
#define LED3_PIN P1_20
#define LED4_PIN P1_21
//
// Servos
//
#define SERVO0_PIN P1_23 // J8-3 (low jitter)
#define SERVO1_PIN P2_12 // J8-4
#define SERVO2_PIN P2_11 // J8-5
#define SERVO3_PIN P4_28 // J8-6
//
// Limit Switches - Not Interrupt Capable
//
#define X_MIN_PIN P1_24 // 10k pullup to 3.3V, 1K series
#define X_MAX_PIN P1_25 // 10k pullup to 3.3V, 1K series
#define Y_MIN_PIN P1_26 // 10k pullup to 3.3V, 1K series
#define Y_MAX_PIN P1_27 // 10k pullup to 3.3V, 1K series
#define Z_MIN_PIN P1_28 // The original Mks Sbase DIO19 has a 10k pullup to 3.3V or 5V, 1K series, so when using a Zprobe we must use DIO41 (J8 P1.22)
#define Z_MAX_PIN P1_29 // 10k pullup to 3.3V, 1K series
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN P4_28 // Connector J8
#endif
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P0_04
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
#define E1_STEP_PIN P2_08
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_BED_PIN P0_23_A0 // A0 (TH1)
#define TEMP_0_PIN P0_24_A1 // A1 (TH2)
#define TEMP_1_PIN P0_25_A2 // A2 (TH3)
#define TEMP_2_PIN P0_26_A3 // A3 (TH4)
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_0_PIN P2_07
#define HEATER_1_PIN P2_06
#ifndef FAN_PIN
#define FAN_PIN P2_04
#endif
//
// Connector J7
// Note: These pins are all digitally shared with the EXP1/EXP2 Connector.
// Using them with an LCD connected or configured will lead to hangs & crashes.
//
// 5V
// NC
// GND
#define PIN_P0_17 P0_17
#define PIN_P0_16 P0_16
#define PIN_P0_15 P0_15
//
// Connector J8
//
// GND
#define PIN_P1_22 P1_22
#define PIN_P1_23 P1_23 // PWM Capable
#define PIN_P2_12 P2_12 // Interrupt Capable
#define PIN_P2_11 P2_11 // Interrupt Capable
//
// Průša i3 MK2 Multi Material Multiplexer Support
//
#if ENABLED(MK2_MULTIPLEXER)
#define E_MUX0_PIN P1_23 // J8-3
#define E_MUX1_PIN P2_12 // J8-4
#define E_MUX2_PIN P2_11 // J8-5
#endif
//
// Misc. Functions
//
#define PS_ON_PIN P0_25 // TH3 Connector
//
// Ethernet pins
//
#ifndef ULTIPANEL
#define ENET_MDIO P1_17 // J12-4
#define ENET_RX_ER P1_14 // J12-6
#define ENET_RXD1 P1_10 // J12-8
#endif
#define ENET_MOC P1_16 // J12-3
#define REF_CLK P1_15 // J12-5
#define ENET_RXD0 P1_09 // J12-7
#define ENET_CRS P1_08 // J12-9
#define ENET_TX_EN P1_04 // J12-10
#define ENET_TXD0 P1_00 // J12-11
#define ENET_TXD1 P1_01 // J12-12
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if SD_CONNECTION_IS(CUSTOM_CABLE)
/**
* A custom cable is needed. See the README file in the
* Marlin\src\config\examples\Mks\Sbase directory
* P0.27 is on EXP2 and the on-board SD card's socket. That means it can't be
* used as the SD_DETECT for the LCD's SD card.
*
* The best solution is to use the custom cable to connect the LCD's SD_DETECT
* to a pin NOT on EXP2.
*
* If you can't find a pin to use for the LCD's SD_DETECT then comment out
* SD_DETECT_PIN entirely and remove that wire from the the custom cable.
*/
#define SD_DETECT_PIN P2_11 // J8-5 (moved from EXP2 P0.27)
#define SCK_PIN P1_22 // J8-2 (moved from EXP2 P0.7)
#define MISO_PIN P1_23 // J8-3 (moved from EXP2 P0.8)
#define MOSI_PIN P2_12 // J8-4 (moved from EXP2 P0.9)
#define SS_PIN P0_28
#define LPC_SOFTWARE_SPI // With a custom cable we need software SPI because the
// selected pins are not on a hardware SPI controller
#elif SD_CONNECTION_IS(LCD)
// use standard cable and header, SPI and SD detect sre shared with on-board SD card
// hardware SPI is used for both SD cards. The detect pin is shred between the
// LCD and onboard SD readers so we disable it.
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN P0_28
#elif SD_CONNECTION_IS(ONBOARD)
#define SD_DETECT_PIN P0_27
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN ONBOARD_SD_CS_PIN
#endif
/**
* Smart LCD adapter
*
* The Smart LCD adapter can be used for the two 10 pin LCD controllers such as
* REPRAP_DISCOUNT_SMART_CONTROLLER. It can't be used for controllers that use
* DOGLCD_A0, DOGLCD_CS, LCD_PINS_D5, LCD_PINS_D6 or LCD_PINS_D7. A custom cable
* is needed to pick up 5V for the EXP1 connection.
*
* SD card on the LCD uses the same SPI signals as the LCD. This results in garbage/lines
* on the LCD display during accesses of the SD card. The menus/code has been arranged so
* that the garbage/lines are erased immediately after the SD card accesses are completed.
*/
#if HAS_SPI_LCD
#define BEEPER_PIN P1_31 // EXP1.1
#define BTN_ENC P1_30 // EXP1.2
#define BTN_EN1 P3_26 // EXP2.5
#define BTN_EN2 P3_25 // EXP2.3
#define LCD_PINS_RS P0_16 // EXP1.4
#define LCD_SDSS P0_28 // EXP2.4
#define LCD_PINS_ENABLE P0_18 // EXP1.3
#define LCD_PINS_D4 P0_15 // EXP1.5
#if ANY(VIKI2, miniVIKI)
#define DOGLCD_SCK SCK_PIN
#define DOGLCD_MOSI MOSI_PIN
#endif
#if ENABLED(FYSETC_MINI_12864)
/**
* The FYSETC display can NOT use the SCK and MOSI pins on EXP2, so a
* special cable is needed to go between EXP2 on the FYSETC and the
* controller board's EXP2 and J8. It also means that a software SPI
* is needed to drive those pins.
*
* The FYSETC requires mode 3 SPI interface.
*
* Pins 6, 7 & 8 on EXP2 are no connects. That means a second special
* cable will be needed if the RGB LEDs are to be active.
*/
#define DOGLCD_CS LCD_PINS_ENABLE // EXP1.3 (LCD_EN on FYSETC schematic)
#define DOGLCD_A0 LCD_PINS_RS // EXP1.4 (LCD_A0 on FYSETC schematic)
#define DOGLCD_SCK P2_11 // J8-5 (SCK on FYSETC schematic)
#define DOGLCD_MOSI P4_28 // J8-6 (MOSI on FYSETC schematic)
//#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
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN P2_12 // J8-4 (LCD_D6 on FYSETC schematic)
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN P1_23 // J8-3 (LCD_D5 on FYSETC schematic)
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN P1_22 // J8-2 (LCD_D7 on FYSETC schematic)
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN P2_12
#endif
#elif ENABLED(MINIPANEL)
// GLCD features
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#endif
#endif
/**
* Example for trinamic drivers using the J8 connector on MKs Sbase.
* 2130s need 1 pin for each driver. 2208/2209s need 2 pins for serial control.
* This board does not have enough pins to use hardware serial.
*/
#if HAS_DRIVER(TMC2130)
// J8
#define X_CS_PIN P1_22
#define Y_CS_PIN P1_23
#define Z_CS_PIN P2_12
#define E0_CS_PIN P2_11
#define E1_CS_PIN P4_28
// Hardware SPI is on EXP2. See if you can make it work:
// https://github.com/makerbase-mks/MKS-SBASE/issues/25
#define TMC_USE_SW_SPI
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P0_03 // AUX1
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO P0_02 // AUX1
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK P0_26 // TH4
#endif
#endif
#endif
#if MB(MKS_SBASE) && HAS_TMC_UART
/**
* TMC2208/TMC2209 stepper drivers
*
* The shortage of pins becomes apparent.
* Worst case you may have to give up the LCD
* RX pins need to be interrupt capable
*/
#define X_SERIAL_TX_PIN P1_22 // J8-2
#define X_SERIAL_RX_PIN P2_12 // J8-4 Interrupt Capable
#define Y_SERIAL_TX_PIN P1_23 // J8-3
#define Y_SERIAL_RX_PIN P2_11 // J8-5 Interrupt Capable
#define Z_SERIAL_TX_PIN P2_12 // J8-4
#define Z_SERIAL_RX_PIN P0_25 // TH3
#define E0_SERIAL_TX_PIN P4_28 // J8-6
#define E0_SERIAL_RX_PIN P0_26 // TH4
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
// UNUSED
#define PIN_P0_27 P0_27 // EXP2/Onboard SD
#define PIN_P0_28 P0_28 // EXP2
#define PIN_P0_02 P0_02 // AUX1 (Interrupt Capable/ADC/Serial Port 0)
#define PIN_P0_03 P0_03 // AUX1 (Interrupt Capable/ADC/Serial Port 0)
/**
* PWMs
*
* There are 6 PWMs. Each PWM can be assigned to one of two pins.
*
* SERVO2 does NOT have a PWM assigned to it.
*
* PWM1.1 P1_18 SERVO3_PIN FIL_RUNOUT_PIN 5V output, PWM
* PWM1.1 P2_00 E0_STEP_PIN
* PWM1.2 P1_20 SERVO0_PIN
* PWM1.2 P2_01 X_STEP_PIN
* PWM1.3 P1_21 SERVO1_PIN J5-1
* PWM1.3 P2_02 Y_STEP_PIN
* PWM1.4 P1_23 SDSS(SSEL0) J3-5 AUX-3
* PWM1.4 P2_03 Z_STEP_PIN
* PWM1.5 P1_24 X_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.5 P2_04 RAMPS_D9_PIN
* PWM1.6 P1_26 Y_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.6 P2_05 RAMPS_D10_PIN
*/
/**
* Special pins
* P1_30 - not 5V tolerant - EXP1
* P1_31 - not 5V tolerant - EXP1
* P0_27 - open collector - EXP2
* P0_28 - open collector - EXP2
*
*/
/**
* Serial Ports
* P0_00 - Port 3
* P0_01 - SD Card (Onboard)
* P0_10 - Port 2
* P0_11 - Y_EN/Y_DIR
* P0_15 - Port 1
* P0_16 - EXP1
* P0_02 - Port 0
* P0_03 - AUX1
* P0_29 - Port -1
* P0_30 - USB
*
*/

View File

@@ -0,0 +1,357 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS SGEN-L pin assignments
*/
#ifndef MCU_LPC1768
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "MKS SGen-L"
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SGEN_L"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P1_23 // SERVO P1.23
#define SERVO1_PIN P2_00 // SERVO P2.0
//
// Trinamic Stallguard pins
//
#define X_DIAG_PIN P1_29 // X-
#define Y_DIAG_PIN P1_27 // Y-
#define Z_DIAG_PIN P1_25 // Z-
#define E0_DIAG_PIN P1_28 // X+
#define E1_DIAG_PIN P1_26 // Y+
//
// Limit Switches
//
#if X_STALL_SENSITIVITY
#define X_STOP_PIN X_DIAG_PIN
#if X_HOME_DIR < 0
#define X_MAX_PIN P1_28 // X+
#else
#define X_MIN_PIN P1_28 // X+
#endif
#else
#define X_MIN_PIN P1_29 // X-
#define X_MAX_PIN P1_28 // X+
#endif
#if Y_STALL_SENSITIVITY
#define Y_STOP_PIN Y_DIAG_PIN
#if Y_HOME_DIR < 0
#define Y_MAX_PIN P1_26 // Y+
#else
#define Y_MIN_PIN P1_26 // Y+
#endif
#else
#define Y_MIN_PIN P1_27 // Y-
#define Y_MAX_PIN P1_26 // Y+
#endif
#if Z_STALL_SENSITIVITY
#define Z_STOP_PIN Z_DIAG_PIN
#if Z_HOME_DIR < 0
#define Z_MAX_PIN P1_24 // Z+
#else
#define Z_MIN_PIN P1_24 // Z+
#endif
#else
#define Z_MIN_PIN P1_25 // Z-
#define Z_MAX_PIN P1_24 // Z+
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN P1_24
#endif
//
// Steppers
//
#define X_STEP_PIN P2_02
#define X_DIR_PIN P2_03
#define X_ENABLE_PIN P2_01
#ifndef X_CS_PIN
#define X_CS_PIN P1_01
#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_08
#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_10
#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_15
#endif
#define E1_STEP_PIN P0_01
#define E1_DIR_PIN P0_00
#define E1_ENABLE_PIN P0_10
#ifndef E1_CS_PIN
#define E1_CS_PIN P1_17
#endif
//
// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P4_28
#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_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 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_04
#define X_SERIAL_RX_PIN P1_01
#define Y_SERIAL_TX_PIN P1_09
#define Y_SERIAL_RX_PIN P1_08
#define Z_SERIAL_TX_PIN P1_14
#define Z_SERIAL_RX_PIN P1_10
#define E0_SERIAL_TX_PIN P1_16
#define E0_SERIAL_RX_PIN P1_15
#define E1_SERIAL_TX_PIN P4_29
#define E1_SERIAL_RX_PIN P1_17
#define Z2_SERIAL_TX_PIN P4_29
#define Z2_SERIAL_RX_PIN P1_17
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif // TMC2208 || TMC2209
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_23_A0 // Analog Input A0 (TH1)
#define TEMP_BED_PIN P0_24_A1 // Analog Input A1 (TB)
#define TEMP_1_PIN P0_25_A2 // Analog Input A2 (TH2)
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_0_PIN P2_07
#if HOTENDS == 1
#ifndef FAN1_PIN
#define FAN1_PIN P2_06
#endif
#else
#ifndef HEATER_1_PIN
#define HEATER_1_PIN P2_06
#endif
#endif
#ifndef FAN_PIN
#define FAN_PIN P2_04
#endif
//
// Misc. Functions
//
#define LED_PIN P1_18 // Used as a status indicator
#define LED2_PIN P1_19
#define LED3_PIN P1_20
#define LED4_PIN P1_21
/**
* _____ _____
* (BEEPER) 1.31 | · · | 1.30 (BTN_ENC) (MISO) 0.8 | · · | 0.7 (SD_SCK)
* (LCD_EN) 0.18 | · · | 0.16 (LCD_RS) (BTN_EN1) 3.25 | · · | 0.28 (SD_CS2)
* (LCD_D4) 0.15 | · · | 0.17 (LCD_D5) (BTN_EN2) 3.26 | · · | 1.20 (SD_MOSI)
* (LCD_D6) 1.0 | · · | 1.22 (LCD_D7) (SD_DETECT) 0.27 | · · | RST
* GND | · · | 5V GND | · · | NC
* ----- -----
* EXP1 EXP2
*/
#if HAS_SPI_LCD
#define BEEPER_PIN P1_31
#define BTN_ENC P1_30
#if ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS P1_00
#define BTN_EN1 P0_18
#define BTN_EN2 P0_15
#define LCD_PINS_ENABLE P1_22
#define LCD_PINS_D4 P0_17
#else
#define BTN_EN1 P3_25
#define BTN_EN2 P3_26
#define LCD_SDSS P0_28
#if ENABLED(MKS_12864OLED_SSD1306)
#define LCD_PINS_DC P0_17
#define DOGLCD_CS P0_16
#define DOGLCD_A0 LCD_PINS_DC
#define DOGLCD_SCK P0_15
#define DOGLCD_MOSI P0_18
#define LCD_PINS_RS P1_00
#define LCD_PINS_D7 P1_22
#define KILL_PIN -1 // NC
#else // !MKS_12864OLED_SSD1306
#define LCD_PINS_RS P0_16
#define LCD_PINS_ENABLE P0_18
#define LCD_PINS_D4 P0_15
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS P0_18
#define DOGLCD_A0 P0_16
#define DOGLCD_SCK P0_07
#define DOGLCD_MOSI P1_20
#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 P0_15 // 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 P0_17
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN P1_00
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN P1_22
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN P0_17
#endif
#else // !FYSETC_MINI_12864
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS P0_17
#define DOGLCD_A0 P1_00
#endif
#if ENABLED(ULTIPANEL)
#define LCD_PINS_D5 P0_17
#define LCD_PINS_D6 P1_00
#define LCD_PINS_D7 P1_22
#endif
#endif // !FYSETC_MINI_12864
#endif // !MKS_12864OLED_SSD1306
#endif // !CR10_STOCKDISPLAY
#endif // HAS_SPI_LCD
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if SD_CONNECTION_IS(LCD) || SD_CONNECTION_IS(ONBOARD)
#define SD_DETECT_PIN P0_27
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#if SD_CONNECTION_IS(ONBOARD)
#define SS_PIN ONBOARD_SD_CS_PIN
#else
#define SS_PIN P0_28
#endif
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif
//
// Other Pins
//
//#define PIN_P0_02 P0_02 // AUX1 (Interrupt Capable/ADC/Serial Port 0)
//#define PIN_P0_03 P0_03 // AUX1 (Interrupt Capable/ADC/Serial Port 0)
//#define PS_ON_PIN P1_23 // SERVO P1.23

View File

@@ -0,0 +1,511 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Re-ARM with RAMPS v1.4 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)
*
*/
// Numbers in parentheses () are the corresponding mega2560 pin numbers
#ifndef MCU_LPC1768
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "Re-ARM RAMPS 1.4"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P1_20 // (11)
#define SERVO1_PIN P1_21 // ( 6) also on J5-1
#define SERVO2_PIN P1_19 // ( 5)
#define SERVO3_PIN P1_18 // ( 4) 5V output
//
// Limit Switches
//
#define X_MIN_PIN P1_24 // ( 3) 10k pullup to 3.3V, 1K series
#define X_MAX_PIN P1_25 // ( 2) 10k pullup to 3.3V, 1K series
#define Y_MIN_PIN P1_26 // (14) 10k pullup to 3.3V, 1K series
#define Y_MAX_PIN P1_27 // (15) 10k pullup to 3.3V, 1K series
#define Z_MIN_PIN P1_29 // (18) 10k pullup to 3.3V, 1K series
#define Z_MAX_PIN P1_28 // (19) 10k pullup to 3.3V, 1K series
#define ONBOARD_ENDSTOPPULLUPS // Board has built-in pullups
//
// Steppers
//
#define X_STEP_PIN P2_01 // (54)
#define X_DIR_PIN P0_11 // (55)
#define X_ENABLE_PIN P0_10 // (38)
#ifndef X_CS_PIN
#define X_CS_PIN P1_01 // ETH
#endif
#define Y_STEP_PIN P2_02 // (60)
#define Y_DIR_PIN P0_20 // (61)
#define Y_ENABLE_PIN P0_19 // (56)
#ifndef Y_CS_PIN
#define Y_CS_PIN P1_04 // ETH
#endif
#define Z_STEP_PIN P2_03 // (46)
#define Z_DIR_PIN P0_22 // (48)
#define Z_ENABLE_PIN P0_21 // (62)
#ifndef Z_CS_PIN
#define Z_CS_PIN P1_10 // ETH
#endif
#define E0_STEP_PIN P2_00 // (26)
#define E0_DIR_PIN P0_05 // (28)
#define E0_ENABLE_PIN P0_04 // (24)
#ifndef E0_CS_PIN
#define E0_CS_PIN P1_14 // ETH
#endif
#define E1_STEP_PIN P2_08 // (36)
#define E1_DIR_PIN P2_13 // (34)
#define E1_ENABLE_PIN P4_29 // (30)
#ifndef E1_CS_PIN
#define E1_CS_PIN -1
#endif
//
// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P1_00 // ETH
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO P1_08 // ETH
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK P1_09 // ETH
#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
*/
//
// Software serial
//
// P2_08 E1-Step
// P2_13 E1-Dir
#ifndef X_SERIAL_TX_PIN
#define X_SERIAL_TX_PIN P0_01
#endif
#ifndef X_SERIAL_RX_PIN
#define X_SERIAL_RX_PIN P0_01
#endif
#ifndef Y_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P0_00
#endif
#ifndef Y_SERIAL_RX_PIN
#define Y_SERIAL_RX_PIN P0_00
#endif
#ifndef Z_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P2_13
#endif
#ifndef Z_SERIAL_RX_PIN
#define Z_SERIAL_RX_PIN P2_13
#endif
#ifndef E0_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P2_08
#endif
#ifndef E0_SERIAL_RX_PIN
#define E0_SERIAL_RX_PIN P2_08
#endif
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_23_A0 // A0 (T0) - (67) - TEMP_0_PIN
#define TEMP_BED_PIN P0_24_A1 // A1 (T1) - (68) - TEMP_BED_PIN
#define TEMP_1_PIN P0_25_A2 // A2 (T2) - (69) - TEMP_1_PIN
#define TEMP_2_PIN P0_26_A3 // A3 - (63) - J5-3 & AUX-2
#define TEMP_3_PIN P1_30_A4 // A4 - (37) - BUZZER_PIN
//#define TEMP_4_PIN P1_31_A5 // A5 - (49) - SD_DETECT_PIN
//#define ?? P0_03_A6 // A6 - ( 0) - RXD0 - J4-4 & AUX-1
#define FILWIDTH_PIN P0_02_A7 // A7 - ( 1) - TXD0 - J4-5 & AUX-1
//
// 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 P2_07 // (8)
#endif
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN P2_04 // (9)
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN P2_05 // (10)
#endif
#define HEATER_0_PIN RAMPS_D10_PIN
#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed
#define HEATER_BED_PIN 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 P1_18 // (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 LED_PIN P4_28 // (13)
// define digital pin 5 for the filament runout sensor. Use the RAMPS 1.4 digital input 5 on the servos connector
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN P1_19 // (5)
#endif
#define PS_ON_PIN P2_12 // (12)
#if !defined(MAX6675_SS_PIN) && DISABLED(USE_ZMAX_PLUG)
#define MAX6675_SS_PIN P1_28
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) && !defined(SPINDLE_LASER_ENA_PIN)
#if !defined(NUM_SERVOS) || NUM_SERVOS < 4 // Try to use servo connector
#define CASE_LIGHT_PIN P1_18 // (4) MUST BE HARDWARE PWM
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
// Use servo pins, if available
//
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if NUM_SERVOS > 1
#if ENABLED(SPINDLE_FEATURE)
#error "SPINDLE_FEATURE requires 3 free servo pins."
#else
#error "LASER_FEATURE requires 3 free servo pins."
#endif
#endif
#define SPINDLE_LASER_ENA_PIN SERVO1_PIN // (6) Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN SERVO3_PIN // (4) MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN SERVO2_PIN // (5)
#endif
//
// Průša i3 MK2 Multiplexer Support
//
#if SERIAL_PORT != 0 && SERIAL_PORT_2 != 0
#define E_MUX0_PIN P0_03 // ( 0) Z_CS_PIN
#define E_MUX1_PIN P0_02 // ( 1) E0_CS_PIN
#endif
#define E_MUX2_PIN P0_26 // (63) E1_CS_PIN
/**
* LCD / Controller
*
* All controllers can use J3 and J5 on the Re-ARM board. Custom cabling will be required.
*
* - https://github.com/wolfmanjm/universal-panel-adapter
* - http://panucattdevices.freshdesk.com/support/solutions/articles/1000243195-lcd-display-installation
*/
/**
* Smart LCD adapter
*
* The Smart LCD adapter can be used for the two 10 pin LCD controllers such as
* REPRAP_DISCOUNT_SMART_CONTROLLER. It can't be used for controllers that use
* DOGLCD_A0, DOGLCD_CS, LCD_PINS_D5, LCD_PINS_D6 or LCD_PINS_D7. A custom cable
* is needed to pick up 5V for the EXP1 connection.
*
* SD card on the LCD uses the same SPI signals as the LCD. This results in garbage/lines
* on the LCD display during accesses of the SD card. The menus/code has been arranged so
* that the garbage/lines are erased immediately after the SD card accesses are completed.
*/
#if ENABLED(CR10_STOCKDISPLAY)
// Re-Arm can support Creality stock display without SD card reader and single cable on EXP3.
// Re-Arm J3 pins 1 (p1.31) & 2 (P3.26) are not used. Stock cable will need to have one
// 10-pin IDC connector trimmed or replaced with a 12-pin IDC connector to fit J3.
// Requires REVERSE_ENCODER_DIRECTION in Configuration.h
#define BEEPER_PIN P2_11 // J3-3 & AUX-4
#define BTN_EN1 P0_16 // J3-7 & AUX-4
#define BTN_EN2 P1_23 // J3-5 & AUX-4
#define BTN_ENC P3_25 // J3-4 & AUX-4
#define LCD_PINS_RS P0_15 // J3-9 & AUX-4 (CS)
#define LCD_PINS_ENABLE P0_18 // J3-10 & AUX-3 (SID, MOSI)
#define LCD_PINS_D4 P2_06 // J3-8 & AUX-3 (SCK, CLK)
#elif HAS_SPI_LCD
//#define SCK_PIN P0_15 // (52) system defined J3-9 & AUX-3
//#define MISO_PIN P0_17 // (50) system defined J3-10 & AUX-3
//#define MOSI_PIN P0_18 // (51) system defined J3-10 & AUX-3
//#define SS_PIN P1_23 // (53) system defined J3-5 & AUX-3 (Sometimes called SDSS)
#if ENABLED(FYSETC_MINI_12864)
#define BEEPER_PIN P1_01
#define BTN_ENC P1_04
#else
#define BEEPER_PIN P1_30 // (37) not 5V tolerant
#define BTN_ENC P2_11 // (35) J3-3 & AUX-4
#endif
#define BTN_EN1 P3_26 // (31) J3-2 & AUX-4
#define BTN_EN2 P3_25 // (33) J3-4 & AUX-4
#define SD_DETECT_PIN P1_31 // (49) J3-1 & AUX-3 (NOT 5V tolerant)
#define KILL_PIN P1_22 // (41) J5-4 & AUX-4
#define LCD_PINS_RS P0_16 // (16) J3-7 & AUX-4
#define LCD_SDSS P0_16 // (16) J3-7 & AUX-4
#if ENABLED(NEWPANEL)
#if ENABLED(REPRAPWORLD_KEYPAD)
#define SHIFT_OUT P0_18 // (51) (MOSI) J3-10 & AUX-3
#define SHIFT_CLK P0_15 // (52) (SCK) J3-9 & AUX-3
#define SHIFT_LD P1_31 // (49) J3-1 & AUX-3 (NOT 5V tolerant)
#endif
#else
//#define SHIFT_CLK P3_26 // (31) J3-2 & AUX-4
//#define SHIFT_LD P3_25 // (33) J3-4 & AUX-4
//#define SHIFT_OUT P2_11 // (35) J3-3 & AUX-4
//#define SHIFT_EN P1_22 // (41) J5-4 & AUX-4
#endif
#if ANY(VIKI2, miniVIKI)
// #define LCD_SCREEN_ROT_180
#define DOGLCD_CS P0_16 // (16)
#define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2
#define DOGLCD_SCK SCK_PIN
#define DOGLCD_MOSI MOSI_PIN
#define STAT_LED_BLUE_PIN P0_26 //(63) may change if cable changes
#define STAT_LED_RED_PIN P1_21 // ( 6) may change if cable changes
#else
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_SCK P0_15
#define DOGLCD_MOSI P0_18
// EXP1 on LCD adapter is not usable - using Ethernet connector instead
#define DOGLCD_CS P1_09
#define DOGLCD_A0 P1_14
//#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 P0_16 // 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_00
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN P1_01
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN P1_08
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN P1_00
#endif
#else
#define DOGLCD_CS P0_26 // (63) J5-3 & AUX-2
#define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2
#endif
#define LCD_BACKLIGHT_PIN P0_16 //(16) J3-7 & AUX-4 - only used on DOGLCD controllers
#define LCD_PINS_ENABLE P0_18 // (51) (MOSI) J3-10 & AUX-3
#define LCD_PINS_D4 P0_15 // (52) (SCK) J3-9 & AUX-3
#if ENABLED(ULTIPANEL)
#define LCD_PINS_D5 P1_17 // (71) ENET_MDIO
#define LCD_PINS_D6 P1_14 // (73) ENET_RX_ER
#define LCD_PINS_D7 P1_10 // (75) ENET_RXD1
#endif
#endif
#if ENABLED(MINIPANEL)
// GLCD features
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#endif
#endif // HAS_SPI_LCD
//
// Ethernet pins
//
#if DISABLED(ULTIPANEL)
#define ENET_MDIO P1_17 // (71) J12-4
#define ENET_RX_ER P1_14 // (73) J12-6
#define ENET_RXD1 P1_10 // (75) J12-8
#endif
#define ENET_MOC P1_16 // (70) J12-3
#define REF_CLK P1_15 // (72) J12-5
#define ENET_RXD0 P1_09 // (74) J12-7
#define ENET_CRS P1_08 // (76) J12-9
#define ENET_TX_EN P1_04 // (77) J12-10
#define ENET_TXD0 P1_00 // (78) J12-11
#define ENET_TXD1 P1_01 // (79) J12-12
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if SD_CONNECTION_IS(LCD)
#define SCK_PIN P0_15 // (52) system defined J3-9 & AUX-3
#define MISO_PIN P0_17 // (50) system defined J3-10 & AUX-3
#define MOSI_PIN P0_18 // (51) system defined J3-10 & AUX-3
#define SS_PIN P1_23 // (53) system defined J3-5 & AUX-3 (Sometimes called SDSS) - CS used by Marlin
#elif SD_CONNECTION_IS(ONBOARD)
#undef SD_DETECT_PIN
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN ONBOARD_SD_CS_PIN
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif
/**
* Fast PWMs
*
* The LPC1768's hardware PWM controller has 6 channels. Each channel
* can be setup to either control a dedicated pin directly or to generate
* an interrupt. The direct method's duty cycle is accurate to within a
* a microsecond. The interrupt method's average duty cycle has the
* the same accuracy but the individual cycles can vary because of higher
* priority interrupts.
*
* All Fast PWMs have a 50Hz rate.
*
* The following pins/signals use the direct method. All other pins use the
* the interrupt method. Note that SERVO2_PIN and RAMPS_D8_PIN use the
* interrupt method.
*
* P1_20 (11) SERVO0_PIN
* P1_21 ( 6) SERVO1_PIN J5-1
* P0_18 ( 4) SERVO3_PIN 5V output
* *P2_04 ( 9) RAMPS_D9_PIN
* *P2_05 (10) RAMPS_D10_PIN
*
* * - If used as a heater driver then a Fast PWM is NOT assigned. If used as
* a fan driver then enabling FAST_PWM_FAN assigns a Fast PWM to it.
*/
/**
* Special pins
* P1_30 (37) (NOT 5V tolerant)
* P1_31 (49) (NOT 5V tolerant)
* P0_27 (57) (Open collector)
* P0_28 (58) (Open collector)
*/
/**
* The following mega2560 pins are NOT available in a Re-ARM system:
*
* 7, 17, 22, 23, 25, 27, 29, 32, 39, 40, 42, 43, 44, 45, 47, 64, 65, 66
*/

View File

@@ -0,0 +1,119 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Selena Compact pin assignments
*/
#ifndef MCU_LPC1768
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "Selena Compact"
#define BOARD_WEBSITE_URL "github.com/Ales2-k/Selena"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P1_23
//
// Limit Switches
//
#define X_MIN_PIN P1_28
#define X_MAX_PIN P1_25
#define Y_MIN_PIN P2_11
#define Y_MAX_PIN -1
#define Z_MIN_PIN P1_27
#define Z_MAX_PIN -1
#define Z_PROBE P1_22
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P0_04
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
#define E1_STEP_PIN P2_08
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_BED_PIN P0_23_A0 // A0 (TH1)
#define TEMP_0_PIN P0_24_A1 // A1 (TH2)
#define TEMP_1_PIN P0_25_A2 // A2 (TH3)
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_BED2_PIN P2_04
#define HEATER_0_PIN P2_07
#define HEATER_1_PIN P2_06
#ifndef FAN_PIN
#define FAN_PIN P1_24
#endif
#define FAN1_PIN P1_26
//
// Display
//
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define LCD_PINS_RS P0_16
#define LCD_PINS_ENABLE P0_18
#define LCD_PINS_D4 P0_15
#define LCD_PINS_D5 P1_00
#define LCD_PINS_D6 P1_01
#define LCD_PINS_D7 P1_04
#define BEEPER_PIN P1_31
#define BTN_EN1 P3_25
#define BTN_EN2 P3_26
#define BTN_ENC P1_30
#define SD_DETECT_PIN -1
#endif // REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

View File

@@ -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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Azteeg X5 GT pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "Azteeg X5 GT"
#define BOARD_WEBSITE_URL "tinyurl.com/yx8tdqa3"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P1_23
//
// Limit Switches
//
#define X_MIN_PIN P1_24
#define X_MAX_PIN P1_27
#define Y_MIN_PIN P1_25
#define Y_MAX_PIN P1_28
#define Z_MIN_PIN P1_26
#define Z_MAX_PIN P1_29
//
// Steppers
//
#define X_STEP_PIN P2_01
#define X_DIR_PIN P0_11
#define X_ENABLE_PIN P0_10
#ifndef X_CS_PIN
#define X_CS_PIN P0_10 // BSD2660 default
#endif
#define Y_STEP_PIN P2_02
#define Y_DIR_PIN P0_20
#define Y_ENABLE_PIN P0_19
#ifndef Y_CS_PIN
#define Y_CS_PIN P0_19 // BSD2660 default
#endif
#define Z_STEP_PIN P2_03
#define Z_DIR_PIN P0_22
#define Z_ENABLE_PIN P0_21
#ifndef Z_CS_PIN
#define Z_CS_PIN P0_21 // BSD2660 default
#endif
#define E0_STEP_PIN P2_00
#define E0_DIR_PIN P0_05
#define E0_ENABLE_PIN P0_04
#ifndef E0_CS_PIN
#define E0_CS_PIN P0_04 // BSD2660 default
#endif
#define E1_STEP_PIN P2_08
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
#ifndef E1_CS_PIN
#define E1_CS_PIN P4_29 // BSD2660 default
#endif
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_BED_PIN P0_23_A0 // A0 (TH1)
#define TEMP_0_PIN P0_24_A1 // A1 (TH2)
#define TEMP_1_PIN P0_25_A2 // A2 (TH3)
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_07
#define HEATER_0_PIN P2_04
#define HEATER_1_PIN P2_05
#ifndef FAN_PIN
#define FAN_PIN P0_26
#endif
#define FAN1_PIN P1_22
//
// Display
//
#if ANY(VIKI2, miniVIKI)
#define BEEPER_PIN P1_31
#define DOGLCD_A0 P2_06
#define DOGLCD_CS P0_16
#define BTN_EN1 P3_25
#define BTN_EN2 P3_26
#define BTN_ENC P2_11
#define SD_DETECT_PIN P1_18
#define SDSS P1_21
#define STAT_LED_RED_PIN P1_19
#define STAT_LED_BLUE_PIN P1_20
#endif

View File

@@ -0,0 +1,220 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Azteeg X5 MINI pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "Azteeg X5 MINI"
#endif
#define BOARD_WEBSITE_URL "tiny.cc/x5_mini"
//
// LED
//
#define LED_PIN P1_18
//
// Servos
//
#define SERVO0_PIN P1_29
//
// Limit Switches
//
#define X_STOP_PIN P1_24
#define Y_STOP_PIN P1_26
#define Z_STOP_PIN P1_28
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN P2_04
#endif
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN P0_25_A2 // Analog Input (P0_25)
#endif
//
// Steppers
//
#define X_STEP_PIN P2_01
#define X_DIR_PIN P0_11
#define X_ENABLE_PIN P0_10
#define Y_STEP_PIN P2_02
#define Y_DIR_PIN P0_20
#define Y_ENABLE_PIN P0_19
#define Z_STEP_PIN P2_03
#define Z_DIR_PIN P0_22
#define Z_ENABLE_PIN P0_21
#define E0_STEP_PIN P2_00
#define E0_DIR_PIN P0_05
#define E0_ENABLE_PIN P0_04
//
// DIGIPOT slave addresses
//
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT
#endif
#ifndef DIGIPOT_I2C_ADDRESS_B
#define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT
#endif
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_BED_PIN P0_23_A0 // A0 (TH1)
#define TEMP_0_PIN P0_24_A1 // A1 (TH2)
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_07
#define HEATER_0_PIN P2_05
#ifndef FAN_PIN
#define FAN_PIN P0_26
#endif
#define FAN1_PIN P1_25
//
// Display
//
#if HAS_SPI_LCD
#if ENABLED(CR10_STOCKDISPLAY)
// Re-Arm can support Creality stock display without SD card reader and single cable on EXP3.
// Re-Arm J3 pins 1 (p1.31) & 2 (P3.26) are not used. Stock cable will need to have one
// 10-pin IDC connector trimmed or replaced with a 12-pin IDC connector to fit J3.
// Requires REVERSE_ENCODER_DIRECTION in Configuration.h
#define BEEPER_PIN P2_11 // J3-3 & AUX-4
#define BTN_EN1 P0_16 // J3-7 & AUX-4
#define BTN_EN2 P1_23 // J3-5 & AUX-4
#define BTN_ENC P3_25 // J3-4 & AUX-4
#define LCD_PINS_RS P0_15 // J3-9 & AUX-4 (CS)
#define LCD_PINS_ENABLE P0_18 // J3-10 & AUX-3 (SID, MOSI)
#define LCD_PINS_D4 P2_06 // J3-8 & AUX-3 (SCK, CLK)
#else
#define BTN_EN1 P3_26 // (31) J3-2 & AUX-4
#define BTN_EN2 P3_25 // (33) J3-4 & AUX-4
#define BTN_ENC P2_11 // (35) J3-3 & AUX-4
#define SD_DETECT_PIN P1_31 // (49) not 5V tolerant J3-1 & AUX-3
#define KILL_PIN P1_22 // (41) J5-4 & AUX-4
#define LCD_PINS_RS P0_16 // (16) J3-7 & AUX-4
#define LCD_SDSS P0_16 // (16) J3-7 & AUX-4
#define LCD_BACKLIGHT_PIN P0_16 // (16) J3-7 & AUX-4 - only used on DOGLCD controllers
#define LCD_PINS_ENABLE P0_18 // (51) (MOSI) J3-10 & AUX-3
#define LCD_PINS_D4 P0_15 // (52) (SCK) J3-9 & AUX-3
#define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2
#if ENABLED(REPRAPWORLD_KEYPAD)
#define SHIFT_OUT P0_18 // (51) (MOSI) J3-10 & AUX-3
#define SHIFT_CLK P0_15 // (52) (SCK) J3-9 & AUX-3
#define SHIFT_LD P1_31 // (49) not 5V tolerant J3-1 & AUX-3
#elif DISABLED(NEWPANEL)
//#define SHIFT_OUT P2_11 // (35) J3-3 & AUX-4
//#define SHIFT_CLK P3_26 // (31) J3-2 & AUX-4
//#define SHIFT_LD P3_25 // (33) J3-4 & AUX-4
//#define SHIFT_EN P1_22 // (41) J5-4 & AUX-4
#endif
#if ANY(VIKI2, miniVIKI)
//#define LCD_SCREEN_ROT_180
#define BEEPER_PIN P1_30 // (37) may change if cable changes
#define DOGLCD_CS P0_26 // (63) J5-3 & AUX-2
#define DOGLCD_SCK SCK_PIN
#define DOGLCD_MOSI MOSI_PIN
#define STAT_LED_BLUE_PIN P0_26 // (63) may change if cable changes
#define STAT_LED_RED_PIN P1_21 // ( 6) may change if cable changes
#else
#if ENABLED(ULTIPANEL)
#define LCD_PINS_D5 P1_17 // (71) ENET_MDIO
#define LCD_PINS_D6 P1_14 // (73) ENET_RX_ER
#define LCD_PINS_D7 P1_10 // (75) ENET_RXD1
#endif
#define BEEPER_PIN P1_30 // (37) not 5V tolerant
#define DOGLCD_CS P0_16 // (16)
#endif
#if ENABLED(MINIPANEL)
// GLCD features
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#endif
#endif
#endif // HAS_SPI_LCD
//
// EEPROM
//
#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
#endif
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if SD_CONNECTION_IS(LCD)
#define SCK_PIN P0_15
#define MISO_PIN P0_17
#define MOSI_PIN P0_18
#define SS_PIN P1_23
#elif SD_CONNECTION_IS(ONBOARD)
#undef SD_DETECT_PIN
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN ONBOARD_SD_CS_PIN
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif

View File

@@ -0,0 +1,50 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Azteeg X5 MINI pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "Azteeg X5 MINI WIFI"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// DIGIPOT slave addresses
//
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x58 // shifted slave address for first DIGIPOT (0x58 <- 0x2C << 1)
#endif
#ifndef DIGIPOT_I2C_ADDRESS_B
#define DIGIPOT_I2C_ADDRESS_B 0x5C // shifted slave address for second DIGIPOT (0x5C <- 0x2E << 1)
#endif
#include "pins_AZTEEG_X5_MINI.h"

View File

@@ -0,0 +1,36 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#define BOARD_INFO_NAME "BIGTREE SKR 1.4 TURBO"
#define SKR_HAS_LPC1769
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Include SKR 1.4 pins
//
#include "../lpc1768/pins_BTT_SKR_V1_4.h"

View File

@@ -0,0 +1,178 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cohesion3D Mini pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "Cohesion3D Mini"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P1_23
//
// Limit Switches
//
#define X_MIN_PIN P1_24 // 10k pullup to 3.3V
#define X_MAX_PIN P1_25 // 10k pullup to 3.3V
#define Y_MIN_PIN P1_26 // 10k pullup to 3.3V
#define Y_MAX_PIN P1_27 // 10k pullup to 3.3V
#define Z_MIN_PIN P1_28 // 10k pullup to 3.3V
#define Z_MAX_PIN P1_29 // 10k pullup to 3.3V
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P0_04
#define X_CS_PIN P1_10 // Ethernet Expansion - Pin 9
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#define Y_CS_PIN P1_09 // Ethernet Expansion - Pin 10
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#define Z_CS_PIN P1_00 // Ethernet Expansion - Pin 11
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
#define E0_CS_PIN P1_04 // Ethernet Expansion - Pin 12
//
// Default pins for TMC software SPI
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P1_16 // Ethernet Expansion - Pin 5
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO P1_17 // Ethernet Expansion - Pin 6
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK P1_08 // Ethernet Expansion - Pin 7
#endif
#endif
//
// Analog Inputs
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_23_A0 // P0_23
#define TEMP_BED_PIN P0_24_A1 // P0_24
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_0_PIN P2_07 // FET 1
#ifndef FAN_PIN
#define FAN_PIN P2_06 // FET 3
#endif
//
// Auto fans
//
#define AUTO_FAN_PIN P2_04 // FET 4
#define ORIG_E0_AUTO_FAN_PIN AUTO_FAN_PIN
#define ORIG_E1_AUTO_FAN_PIN AUTO_FAN_PIN
#define ORIG_E2_AUTO_FAN_PIN AUTO_FAN_PIN
//
// Misc. Functions
//
#define LED_PIN P4_28 // Play LED
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER
#undef HEATER_0_PIN
#define SPINDLE_LASER_ENA_PIN P2_07 // FET 1
#undef HEATER_BED_PIN
#define SPINDLE_LASER_PWM_PIN P2_05 // Bed FET
#undef FAN_PIN
#define SPINDLE_DIR_PIN P2_06 // FET 3
#endif
//
// LCD / Controller
//
// LCD_PINS_D5, D6, and D7 are not present in the EXP1 connector, and will need to be
// defined to use the REPRAP_DISCOUNT_SMART_CONTROLLER.
//
// A remote SD card is currently not supported because the pins routed to the EXP2
// connector are shared with the onboard SD card, and Marlin does not support reading
// G-code files from the onboard SD card.
//
#if HAS_SPI_LCD
#define BEEPER_PIN P0_27 // EXP2-7 - open drain
#define BTN_EN1 P3_26 // EXP2-5
#define BTN_EN2 P3_25 // EXP2-3
#define BTN_ENC P1_30 // EXP1-2
#define LCD_PINS_RS P0_16 // EXP1-4
#define LCD_SDSS P0_28 // EXP2-4
#define LCD_PINS_ENABLE P0_18 // EXP1-3
#define LCD_PINS_D4 P0_15 // EXP1-5
#define KILL_PIN P2_11 // EXP2-10
#if ENABLED(SDSUPPORT)
#error "SDSUPPORT is not currently supported by the Cohesion3D boards"
#endif
#endif // HAS_SPI_LCD
//
// Ethernet pins
//
#define ENET_MDIO P1_17
#define ENET_RX_ER P1_14
#define ENET_RXD1 P1_10
#define ENET_MOC P1_16
#define REF_CLK P1_15
#define ENET_RXD0 P1_09
#define ENET_CRS P1_08
#define ENET_TX_EN P1_04
#define ENET_TXD0 P1_00
#define ENET_TXD1 P1_01

View File

@@ -0,0 +1,290 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cohesion3D ReMix pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "Cohesion3D ReMix"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P2_04
//
// Limit Switches
//
#define X_MIN_PIN P1_24 // 10k pullup to 3.3V
#define X_MAX_PIN P1_25 // 10k pullup to 3.3V
#define Y_MIN_PIN P1_26 // 10k pullup to 3.3V
#define Y_MAX_PIN P1_27 // 10k pullup to 3.3V
#define Z_MIN_PIN P1_28 // 10k pullup to 3.3V
#define Z_MAX_PIN P1_29 // 10k pullup to 3.3V
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN P1_29
#endif
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P0_04
#define X_CS_PIN P1_10 // Ethernet Expansion - Pin 9
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#define Y_CS_PIN P1_09 // Ethernet Expansion - Pin 10
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#define Z_CS_PIN P1_00 // Ethernet Expansion - Pin 11
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
#define E0_CS_PIN P1_04 // Ethernet Expansion - Pin 12
#define E1_STEP_PIN P2_08
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
#define E1_CS_PIN P1_01 // Ethernet Expansion - Pin 14
#define E2_STEP_PIN P1_20
#define E2_DIR_PIN P1_19
#define E2_ENABLE_PIN P1_21
#define E2_CS_PIN P1_18 // FET 6
//
// Default pins for TMC software SPI
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P1_16 // Ethernet Expansion - Pin 5
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO P1_17 // Ethernet Expansion - Pin 6
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK P1_08 // Ethernet Expansion - Pin 7
#endif
#endif
//
// Analog Inputs
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_23_A0
#define TEMP_BED_PIN P0_24_A1
#define TEMP_1_PIN P0_25_A2
#if ENABLED(FILAMENT_WIDTH_SENSOR)
#define FILWIDTH_PIN P0_26_A3
#else
#define TEMP_2_PIN P0_26_A3
#endif
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_0_PIN P2_07 // FET 1
#define HEATER_1_PIN P1_23 // FET 2
#define HEATER_2_PIN P1_22 // FET 3
#ifndef FAN_PIN
#define FAN_PIN P2_06 // FET 4
#endif
//
// Auto fans
//
#if HOTENDS == 3
#define AUTO_FAN_PIN P1_18 // FET 6
#else
#define AUTO_FAN_PIN P1_22 // FET 3
#endif
#define ORIG_E0_AUTO_FAN_PIN AUTO_FAN_PIN
#define ORIG_E1_AUTO_FAN_PIN AUTO_FAN_PIN
#define ORIG_E2_AUTO_FAN_PIN AUTO_FAN_PIN
//
// Misc. Functions
//
#define LED_PIN P4_28 // Play LED
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER
#undef HEATER_0_PIN
#undef HEATER_BED_PIN
#undef FAN_PIN
#define SPINDLE_LASER_ENA_PIN P2_07 // FET 1
#define SPINDLE_LASER_PWM_PIN P2_05 // Bed FET
#define SPINDLE_DIR_PIN P2_06 // FET 4
#endif
//
// LCD / Controller
//
// LCD_PINS_D5, D6, and D7 are not present in the EXP1 connector, and will need to be
// defined to use the REPRAP_DISCOUNT_SMART_CONTROLLER.
//
// A remote SD card is currently not supported because the pins routed to the EXP2
// connector are shared with the onboard SD card, and Marlin does not support that
// hardware configuration.
//
#if ENABLED(FYSETC_MINI_12864)
#define FORCE_SOFT_SPI // REQUIRED - results in LCD soft SPI mode 3
#define BEEPER_PIN P1_31 // EXP1-1
#define BTN_ENC P1_30 // EXP1-2
#define DOGLCD_CS P0_18 // EXP1-3
#define DOGLCD_A0 P0_16 // EXP1-4
#define LCD_RESET_PIN P0_15 // EXP1-5
// A custom cable is REQUIRED for EXP2 cable because the SCK & MOSI on the card's EXP2 are dedicated
// to the onboard SD card. All required EXP2 signals come from the Ethernet connector. Pin 1 of this
// connector is the one nearest the motor power connector.
#define DOGLCD_SCK P1_17 // EXP2-2 => Ethernet pin 5 (bottom, 3 from left)
#define BTN_EN2 P1_09 // EXP2-3 => Ethernet pin 9 (bottom, 5 from left)
#define BTN_EN1 P1_04 // EXP2-5 => Ethernet pin 11 (bottom, 6 from left)
#define DOGLCD_MOSI P1_01 // EXP2-6 => Ethernet pin 13 (bottom, 7 from left)
// A custom EXP1 cable is required colored LEDs. Pins 1-5, 9, 10 of the cable go to pins 1-5, 9, 10
// on the board's EXP1 connector. Pins 6, 7, and 8 of the EXP1 cable go to the Ethernet connector.
// Rev 1.2 displays do NOT require the RGB LEDs. 2.0 and 2.1 displays do require RGB.
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN P1_16 // EXP1-6 => Ethernet pin 6 (top row, 3 from left)
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN P1_10 // EXP1-7 => Ethernet pin 10 (top row, 5 from left)
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN P1_00 // EXP1-8 => Ethernet pin 12 (top row, 6 from left)
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN P1_16 // EXP1-6 => Ethernet pin 6 (top row, 3 from left)
#endif
#elif HAS_SPI_LCD
#define BEEPER_PIN P1_31 // EXP1-1
//#define SD_DETECT_PIN P0_27 // EXP2-7
#define BTN_EN1 P3_26 // EXP2-5
#define BTN_EN2 P3_25 // EXP2-3
#define BTN_ENC P1_30 // EXP1-2
#define LCD_PINS_RS P0_16 // EXP1-4
#define LCD_SDSS P0_28 // EXP2-4
#define LCD_PINS_ENABLE P0_18 // EXP1-3
#define LCD_PINS_D4 P0_15 // EXP1-5
#define KILL_PIN P2_11 // EXP2-10
#endif // HAS_SPI_LCD
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#if SD_CONNECTION_IS(LCD)
#define SCK_PIN P0_07 // (52) system defined J3-9 & AUX-3
#define MISO_PIN P0_08 // (50) system defined J3-10 & AUX-3
#define MOSI_PIN P0_09 // (51) system defined J3-10 & AUX-3
#define SS_PIN P1_23 // (53) system defined J3-5 & AUX-3 (Sometimes called SDSS) - CS used by Marlin
#elif SD_CONNECTION_IS(ONBOARD)
#undef SD_DETECT_PIN
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define SS_PIN ONBOARD_SD_CS_PIN
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif
//
// Ethernet pins
//
//#define ENET_MDIO P1_17 // Ethernet pin 5 (bottom, 3 from left)
//#define ENET_RX_ER P1_14
//#define ENET_RXD1 P1_10 // Ethernet pin 10 (top row, 5 from left)
//#define ENET_MOC P1_16 // Ethernet pin 6 (top row, 3 from left)
//#define REF_CLK P1_15
//#define ENET_RXD0 P1_09 // Ethernet pin 9 (bottom, 5 from left)
//#define ENET_CRS P1_08 // Ethernet pin 8 (top row, 4 from left) - INPUT ONLY
//#define ENET_TX_EN P1_04 // Ethernet pin 11 (bottom, 6 from left)
//#define ENET_TXD0 P1_00 // Ethernet pin 12 (top row, 6 from left)
//#define ENET_TXD1 P1_01 // Ethernet pin 13 (bottom, 7 from left)
/**
* EXP1 pins
* 1 - P1_31
* 2 - P1_30
* 3 - P0_18
* 4 - P0_16
* 5 - P0_15
* 6 - N/C
* 7 - N/C
* 8 - P0_27 (also on EXP2-7)
* 9 - GND
* 10 - +5V
*
*
* EXP2 pins
* 1 - P0_08
* 2 - P0_07
* 3 - P3_26
* 4 - P0_28
* 5 - P3_25
* 6 - P0_09
* 7 - P0_27 (also on EXP1_8)
* 8 - P2_11
* 9 - GND
* 10 - N/C
*/

View File

@@ -0,0 +1,74 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS SGen pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "MKS SGen"
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SGEN"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
#define MKS_HAS_LPC1769
#include "../lpc1768/pins_MKS_SBASE.h"
#undef E1_STEP_PIN
#undef E1_DIR_PIN
#undef E1_ENABLE_PIN
//#undef BTN_EN1
//#undef BTN_EN2
//#define BTN_EN1 P1_23 // EXP2.5
//#define BTN_EN2 P1_22 // EXP2.3
#if HAS_TMC_UART
/**
* TMC2208/TMC2209 stepper drivers
*
* The shortage of pins becomes apparent.
* In the worst case you may have to give up the LCD.
* RX pins must be interrupt-capable.
*/
#define X_SERIAL_TX_PIN P4_29 // J8-2
#define X_SERIAL_RX_PIN P4_29 // J8-2
#define Y_SERIAL_TX_PIN P2_08 // J8-3
#define Y_SERIAL_RX_PIN P2_08 // J8-3
#define Z_SERIAL_TX_PIN P2_11 // J8-4
#define Z_SERIAL_RX_PIN P2_11 // J8-4
#define E0_SERIAL_TX_PIN P2_13 // J8-5
#define E0_SERIAL_RX_PIN P2_13 // J8-5
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif

View File

@@ -0,0 +1,122 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Smoothieboard pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "Smoothieboard"
#define BOARD_WEBSITE_URL "smoothieware.org/smoothieboard"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P1_23
//
// Limit Switches
//
#define X_MIN_PIN P1_24
#define X_MAX_PIN P1_25
#define Y_MIN_PIN P1_26
#define Y_MAX_PIN P1_27
#define Z_MIN_PIN P1_28
#define Z_MAX_PIN P1_29
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P0_05
#define X_ENABLE_PIN P0_04
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P0_11
#define Y_ENABLE_PIN P0_10
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P0_20
#define Z_ENABLE_PIN P0_19
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P0_22
#define E0_ENABLE_PIN P0_21
#define E1_STEP_PIN P2_08
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_23_A0 // (T1)
#define TEMP_BED_PIN P0_24_A1 // (T2)
#define TEMP_1_PIN P0_25_A2 // (T3)
#define TEMP_2_PIN P0_26_A3 // (T4)
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_0_PIN P2_07
#define HEATER_1_PIN P1_23
#ifndef FAN_PIN
#define FAN_PIN P2_06
#endif
#define FAN1_PIN P2_04
//
// LCD / Controller
//
#if ANY(VIKI2, miniVIKI)
#define BEEPER_PIN P1_31
#define DOGLCD_A0 P2_11
#define DOGLCD_CS P0_16
#define BTN_EN1 P3_25
#define BTN_EN2 P3_26
#define BTN_ENC P1_30
#define SD_DETECT_PIN P1_18
#define SDSS P1_21
#define STAT_LED_RED_PIN P1_19
#define STAT_LED_BLUE_PIN P1_20
#elif HAS_SPI_LCD
#error "Marlin's Smoothieboard support cannot drive your LCD."
#endif

View File

@@ -0,0 +1,183 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* TH3D EZBoard pin assignments
*/
#ifndef MCU_LPC1769
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
#define BOARD_INFO_NAME "TH3D EZBoard"
#define BOARD_WEBSITE_URL "th3dstudio.com"
//
// EEPROM
//
#define FLASH_EEPROM_EMULATION
//#define SDCARD_EEPROM_EMULATION
//
// Servos
//
#define SERVO0_PIN P2_04
//
// Limit Switches
//
#define X_STOP_PIN P1_24
#define Y_STOP_PIN P1_25
#define Z_STOP_PIN P1_26
//
// Filament Runout Sensor
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN P1_27
#endif
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P1_16
#define X_ENABLE_PIN P1_17
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P1_10
#define Y_ENABLE_PIN P1_09
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P1_15
#define Z_ENABLE_PIN P1_14
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P1_04
#define E0_ENABLE_PIN P1_08
#define E1_STEP_PIN P2_08
#define E1_DIR_PIN P2_13
#define E1_ENABLE_PIN P4_29
#if HAS_TMC_UART
//
// TMC220x stepper drivers
// Software serial
//
#define X_SERIAL_TX_PIN P0_04
#define X_SERIAL_RX_PIN P0_05
#define Y_SERIAL_TX_PIN P0_10
#define Y_SERIAL_RX_PIN P0_11
#define Z_SERIAL_TX_PIN P0_19
#define Z_SERIAL_RX_PIN P0_20
#define E0_SERIAL_TX_PIN P0_22
#define E0_SERIAL_RX_PIN P0_21
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
//
// Temp Sensors
// 3.3V max when defined as an Analog Input!
//
#if TEMP_SENSOR_0 == 20 // PT100 Adapter
#define TEMP_0_PIN P0_02_A7 // Analog Input
#else
#define TEMP_0_PIN P0_23_A0 // Analog Input P0_23
#endif
#define TEMP_BED_PIN P0_24_A1 // Analog Input P0_24
#define TEMP_1_PIN P0_25_A2 // Analog Input P0_25
#if ENABLED(FILAMENT_WIDTH_SENSOR)
#define FILWIDTH_PIN P0_26_A3 // Analog Input P0_26
#else
#define TEMP_2_PIN P0_26_A3 // Analog Input P0_26
#endif
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_0_PIN P2_07
#ifndef FAN_PIN
#define FAN_PIN P2_06
#endif
#define FAN1_PIN P1_22
//
// Auto fans
//
#define AUTO_FAN_PIN P1_22 // FET 3
#define ORIG_E0_AUTO_FAN_PIN AUTO_FAN_PIN
#define ORIG_E1_AUTO_FAN_PIN AUTO_FAN_PIN
#define ORIG_E2_AUTO_FAN_PIN AUTO_FAN_PIN
//
// SD Card
//
#define SDCARD_CONNECTION ONBOARD
#define SCK_PIN P0_07
#define MISO_PIN P0_08
#define MOSI_PIN P0_09
#define ONBOARD_SD_CS_PIN P0_06
#define SS_PIN ONBOARD_SD_CS_PIN
//
// LCD / Controller
//
/**
* _____
* 5V | · · | GND
* (LCD_EN) P0_18 | · · | P0_16 (LCD_RS)
* (LCD_D4) P0_15 | · · | P3_25 (BTN_EN2)
* (RESET) P2_11 | · · | P3_26 (BTN_EN1)
* (BTN_ENC) P1_30 | · · | P1_31 (BEEPER)
* -----
* EXP1
*
* LCD_PINS_D5, D6, and D7 are not present in the EXP1 connector, and will need to be
* defined to use the REPRAP_DISCOUNT_SMART_CONTROLLER.
*
* A remote SD card is currently not supported because the pins routed to the EXP2
* connector are shared with the onboard SD card.
*
*/
#if ENABLED(CR10_STOCKDISPLAY)
#define BEEPER_PIN P1_31
#define BTN_EN1 P3_26
#define BTN_EN2 P3_25
#define BTN_ENC P1_30
#define LCD_PINS_RS P0_16
#define LCD_PINS_ENABLE P0_18
#define LCD_PINS_D4 P0_15
#define KILL_PIN P2_11
#elif HAS_SPI_LCD
#error "Only the CR10_STOCKDISPLAY is supported with TH3D EZBoard."
#endif

View File

@@ -0,0 +1,80 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cheaptronic v1.0 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Cheaptronic v1.0"
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 2
#define Z_STOP_PIN 5
//
// Steppers
//
#define X_STEP_PIN 14
#define X_DIR_PIN 15
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 35
#define Y_DIR_PIN 36
#define Y_ENABLE_PIN 31
#define Z_STEP_PIN 40
#define Z_DIR_PIN 41
#define Z_ENABLE_PIN 37
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 25
#define E1_STEP_PIN 33
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
//
// Temperature sensors
//
#define TEMP_0_PIN 15 // Analog Input
#define TEMP_1_PIN 14 // Analog Input
#define TEMP_BED_PIN 13 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 19 // EXTRUDER 1
#define HEATER_1_PIN 23 // EXTRUDER 2
#define HEATER_BED_PIN 22
//
// LCD / Controller
//
// Cheaptronic v1.0 doesn't support LCD

View File

@@ -0,0 +1,136 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cheaptronic v2.0 pin assignments
* Built and sold by Michal Dyntar - RRO
* www.reprapobchod.cz
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Cheaptronic v2.0"
//
// Limit Switches
//
#define X_MIN_PIN 30
#define X_MAX_PIN 31
#define Y_MIN_PIN 32
#define Y_MAX_PIN 33
#define Z_MIN_PIN 34
#define Z_MAX_PIN 35
//
// Steppers
//
#define X_STEP_PIN 17
#define X_DIR_PIN 16
#define X_ENABLE_PIN 48
#define Y_STEP_PIN 54
#define Y_DIR_PIN 47
#define Y_ENABLE_PIN 55
#define Z_STEP_PIN 57
#define Z_DIR_PIN 56
#define Z_ENABLE_PIN 62
#define E0_STEP_PIN 23
#define E0_DIR_PIN 22
#define E0_ENABLE_PIN 24
#define E1_STEP_PIN 26
#define E1_DIR_PIN 25
#define E1_ENABLE_PIN 27
#define E2_STEP_PIN 29
#define E2_DIR_PIN 28
#define E2_ENABLE_PIN 39
//
// Temperature sensors
//
#define TEMP_0_PIN 15
#define TEMP_1_PIN 13
#define TEMP_2_PIN 14
#define TEMP_3_PIN 11 // should be used for chamber temperature control
#define TEMP_BED_PIN 12
//
// Heaters / Fans
//
#define HEATER_0_PIN 6
#define HEATER_1_PIN 7
#define HEATER_2_PIN 8
#define HEATER_BED_PIN 9
#ifndef FAN_PIN
#define FAN_PIN 3
#endif
#define FAN2_PIN 58 // additional fan or light control output
//
// Other board specific pins
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 37 // board input labeled as F-DET
#endif
#define Z_MIN_PROBE_PIN 36 // additional external board input labeled as E-SENS (should be used for Z-probe)
#define LED_PIN 13
#define SPINDLE_ENABLE_PIN 4 // additional PWM pin 1 at JP1 connector - should be used for laser control too
#define EXT_2 5 // additional PWM pin 2 at JP1 connector
#define EXT_3 2 // additional PWM pin 3 at JP1 connector
#define PS_ON_PIN 45
#define KILL_PIN 46
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 11 // shared with TEMP_3 analog input
#endif
//
// LCD / Controller
//
#define LCD_PINS_RS 19
#define LCD_PINS_ENABLE 42
#define LCD_PINS_D4 18
#define LCD_PINS_D5 38
#define LCD_PINS_D6 41
#define LCD_PINS_D7 40
//
// Beeper, SD Card, Encoder
//
#define BEEPER_PIN 44
#if ENABLED(SDSUPPORT)
#define SDSS 53
#define SD_DETECT_PIN 49
#endif
#if ENABLED(NEWPANEL)
#define BTN_EN1 11
#define BTN_EN2 12
#define BTN_ENC 43
#endif

View File

@@ -0,0 +1,148 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* CartesioV11 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "CN Controls V11"
//
// Limit Switches
//
#define X_STOP_PIN 43
#define Y_STOP_PIN 45
#define Z_STOP_PIN 42
//
// Steppers
//
#define X_STEP_PIN 34
#define X_DIR_PIN 36
#define X_ENABLE_PIN 35
#define Y_STEP_PIN 37
#define Y_DIR_PIN 39
#define Y_ENABLE_PIN 38
#define Z_STEP_PIN 40
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 41
#define E0_STEP_PIN 29
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 3
#define E1_STEP_PIN 61
#define E1_DIR_PIN 62
#define E1_ENABLE_PIN 60
#define E2_STEP_PIN 15
#define E2_DIR_PIN 14
#define E2_ENABLE_PIN 16
#define E3_STEP_PIN 44
#define E3_DIR_PIN 49
#define E3_ENABLE_PIN 47
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 3 // Analog Input. 3 for tool2 -> 2 for chambertemp
#define TEMP_2_PIN 2 // Analog Input. 9 for tool3 -> 2 for chambertemp
#define TEMP_3_PIN 11 // Analog Input. 11 for tool4 -> 2 for chambertemp
#define TEMP_BED_PIN 1 // Analog Input
#ifndef TEMP_CHAMBER_PIN
//#define TEMP_CHAMBER_PIN 2 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 5
#define HEATER_1_PIN 58
#define HEATER_2_PIN 64
#define HEATER_3_PIN 46
#define HEATER_BED_PIN 2
#ifndef FAN_PIN
//#define FAN_PIN 7 // common PWM pin for all tools
#endif
#define ORIG_E0_AUTO_FAN_PIN 7
#define ORIG_E1_AUTO_FAN_PIN 7
#define ORIG_E2_AUTO_FAN_PIN 7
#define ORIG_E3_AUTO_FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 13
// Tools
//#define TOOL_0_PIN 4
//#define TOOL_1_PIN 59
//#define TOOL_2_PIN 8
//#define TOOL_3_PIN 30
//#define TOOL_PWM_PIN 7 // common PWM pin for all tools
// Common I/O
//#define FIL_RUNOUT_PIN -1
//#define PWM_1_PIN 11
//#define PWM_2_PIN 10
//#define SPARE_IO 12
//
// LCD / Controller
//
#define BEEPER_PIN 6
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 26
#define DOGLCD_CS 24
#define DOGLCD_MOSI -1
#define DOGLCD_SCK -1
#define BTN_EN1 23
#define BTN_EN2 25
#define BTN_ENC 27
// Hardware buttons for manual movement of XYZ
#define SHIFT_OUT 19
#define SHIFT_LD 18
#define SHIFT_CLK 17
//#define UI1 31
//#define UI2 22
#define STAT_LED_BLUE_PIN -1
#define STAT_LED_RED_PIN 31

View File

@@ -0,0 +1,155 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* CartesioV12 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "CN Controls V12"
//
// Limit Switches
//
#define X_STOP_PIN 19
#define Y_STOP_PIN 22
#define Z_STOP_PIN 23
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 27
#define X_ENABLE_PIN 26
#define Y_STEP_PIN 28
#define Y_DIR_PIN 30
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 31
#define Z_DIR_PIN 33
#define Z_ENABLE_PIN 32
#define E0_STEP_PIN 57
#define E0_DIR_PIN 55
#define E0_ENABLE_PIN 58
#define E1_STEP_PIN 61
#define E1_DIR_PIN 62
#define E1_ENABLE_PIN 60
#define E2_STEP_PIN 46
#define E2_DIR_PIN 66
#define E2_ENABLE_PIN 44
#define E3_STEP_PIN 45
#define E3_DIR_PIN 69
#define E3_ENABLE_PIN 47
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 9 // Analog Input. 9 for tool2 -> 13 for chambertemp
#define TEMP_2_PIN 13 // Analog Input. 10 for tool3 -> 13 for chambertemp
#define TEMP_3_PIN 11 // Analog Input. 11 for tool4 -> 13 for chambertemp
#define TEMP_BED_PIN 14 // Analog Input
#ifndef TEMP_CHAMBER_PIN
//#define TEMP_CHAMBER_PIN 13 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 11
#define HEATER_1_PIN 9
#define HEATER_2_PIN 6
#define HEATER_3_PIN 3
#define HEATER_BED_PIN 24
#ifndef FAN_PIN
#define FAN_PIN 5 // 5 is PWMtool3 -> 7 is common PWM pin for all tools
#endif
#define ORIG_E0_AUTO_FAN_PIN 7
#define ORIG_E1_AUTO_FAN_PIN 7
#define ORIG_E2_AUTO_FAN_PIN 7
#define ORIG_E3_AUTO_FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 15
// Tools
//#define TOOL_0_PIN 56
//#define TOOL_0_PWM_PIN 10 // red warning led at dual extruder
//#define TOOL_1_PIN 59
//#define TOOL_1_PWM_PIN 8 // lights at dual extruder
//#define TOOL_2_PIN 4
//#define TOOL_2_PWM_PIN 5
//#define TOOL_3_PIN 14
//#define TOOL_3_PWM_PIN 2
// Common I/O
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 18
#endif
//#define PWM_1_PIN 12
//#define PWM_2_PIN 13
//#define SPARE_IO 17
//
// LCD / Controller
//
#define BEEPER_PIN 16
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 39
#define DOGLCD_CS 35
#define DOGLCD_MOSI 48
#define DOGLCD_SCK 49
#define LCD_SCREEN_ROT_180
// The encoder and click button
#define BTN_EN1 36
#define BTN_EN2 34
#define BTN_ENC 38
// Hardware buttons for manual movement of XYZ
#define SHIFT_OUT 42
#define SHIFT_LD 41
#define SHIFT_CLK 40
//#define UI1 43
//#define UI2 37
#define STAT_LED_BLUE_PIN -1
#define STAT_LED_RED_PIN 10 // TOOL_0_PWM_PIN

View File

@@ -0,0 +1,112 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* CNControls V15 for HMS434 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "CN Controls V15"
//
// Servos
//
#define SERVO0_PIN 6
//
// Limit Switches
//
#define X_STOP_PIN 34
#define Y_STOP_PIN 39
#define Z_STOP_PIN 62
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 49
#endif
//
// Steppers
//
#define X_STEP_PIN 14
#define X_DIR_PIN 25
#define X_ENABLE_PIN 26
#define Y_STEP_PIN 11
#define Y_DIR_PIN 12
#define Y_ENABLE_PIN 15
#define Z_STEP_PIN 24
#define Z_DIR_PIN 27
#define Z_ENABLE_PIN 28
#define E0_STEP_PIN 64
#define E0_DIR_PIN 65
#define E0_ENABLE_PIN 63
//
// Temperature Sensors
// Analog Inputs
//
#define TEMP_0_PIN 2 // Analog Input
#define TEMP_BED_PIN 4 // Analog Input
#ifndef TEMP_CHAMBER_PIN
#define TEMP_CHAMBER_PIN 5 // Analog Input
#endif
//
// Heaters
//
#define HEATER_0_PIN 4
#define HEATER_BED_PIN 32
#define HEATER_CHAMBER_PIN 33
//
// Fans
//
#define FAN_PIN 8
#define ORIG_E0_AUTO_FAN_PIN 30
#define ORIG_E1_AUTO_FAN_PIN 30
#define ORIG_E2_AUTO_FAN_PIN 30
#define ORIG_E3_AUTO_FAN_PIN 30
//#define ORIG_CHAMBER_AUTO_FAN_PIN 10
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 40
// Common I/O
#define FIL_RUNOUT_PIN 9
//#define FIL_RUNOUT_PIN 29 // encoder sensor
//#define PWM_1_PIN 12
//#define PWM_2_PIN 13
//#define SPARE_IO 17
#define BEEPER_PIN 13
#define STAT_LED_BLUE_PIN -1
#define STAT_LED_RED_PIN 10 // 31

View File

@@ -0,0 +1,113 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Einstart-S pin assignments
* PCB Silkscreen: 3DPrinterCon_v3.5
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Einstart-S"
//
// Limit Switches
//
#define X_STOP_PIN 44
#define Y_STOP_PIN 43
#define Z_STOP_PIN 42
//
// Steppers
//
#define X_STEP_PIN 76
#define X_DIR_PIN 75
#define X_ENABLE_PIN 73
#define Y_STEP_PIN 31
#define Y_DIR_PIN 32
#define Y_ENABLE_PIN 72
#define Z_STEP_PIN 34
#define Z_DIR_PIN 35
#define Z_ENABLE_PIN 33
#define E0_STEP_PIN 36
#define E0_DIR_PIN 37
#define E0_ENABLE_PIN 30
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_BED_PIN 1 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 83
#define HEATER_BED_PIN 38
#define FAN_PIN 82
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 4
//////////////////////////
// LCDs and Controllers //
//////////////////////////
//
// LCD Display output pins
//
// Requires #define U8GLIB_SH1106_EINSTART in Configuration.h
// u8glib constructor
// U8GLIB_SH1106_128X64 u8g(DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS);
#define LCD_PINS_DC 78
#define LCD_PINS_RS 79
// DOGM SPI LCD Support
#define DOGLCD_CS 3
#define DOGLCD_MOSI 2
#define DOGLCD_SCK 5
#define DOGLCD_A0 2
//
// LCD Display input pins
//
#define BTN_UP 25
#define BTN_DWN 26
#define BTN_LFT 27
#define BTN_RT 28
// 'OK' button
#define BTN_ENC 29
// Set Kill to right arrow, same as RIGID_PANEL
#define KILL_PIN 28

View File

@@ -0,0 +1,152 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Elefu RA Board Pin Assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Elefu Ra v3"
//
// Limit Switches
//
#define X_MIN_PIN 35
#define X_MAX_PIN 34
#define Y_MIN_PIN 33
#define Y_MAX_PIN 32
#define Z_MIN_PIN 31
#define Z_MAX_PIN 30
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 30
#endif
//
// Steppers
//
#define X_STEP_PIN 49
#define X_DIR_PIN 13
#define X_ENABLE_PIN 48
#define Y_STEP_PIN 11
#define Y_DIR_PIN 9
#define Y_ENABLE_PIN 12
#define Z_STEP_PIN 7
#define Z_DIR_PIN 6
#define Z_ENABLE_PIN 8
#define E0_STEP_PIN 40
#define E0_DIR_PIN 41
#define E0_ENABLE_PIN 37
#define E1_STEP_PIN 18
#define E1_DIR_PIN 19
#define E1_ENABLE_PIN 38
#define E2_STEP_PIN 43
#define E2_DIR_PIN 47
#define E2_ENABLE_PIN 42
//
// Temperature Sensors
//
#define TEMP_0_PIN 3 // Analog Input
#define TEMP_1_PIN 2 // Analog Input
#define TEMP_2_PIN 1 // Analog Input
#define TEMP_BED_PIN 0 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 45 // 12V PWM1
#define HEATER_1_PIN 46 // 12V PWM2
#define HEATER_2_PIN 17 // 12V PWM3
#define HEATER_BED_PIN 44 // DOUBLE 12V PWM
#ifndef FAN_PIN
#define FAN_PIN 16 // 5V PWM
#endif
//
// Misc. Functions
//
#define PS_ON_PIN 10 // Set to -1 if using a manual switch on the PWRSW Connector
#define SLEEP_WAKE_PIN 26 // This feature still needs work
#define PHOTOGRAPH_PIN 29
//
// LCD / Controller
//
#define BEEPER_PIN 36
#if ENABLED(RA_CONTROL_PANEL)
#define SDSS 53
#define SD_DETECT_PIN 28
#define BTN_EN1 14
#define BTN_EN2 39
#define BTN_ENC 15
#endif // RA_CONTROL_PANEL
#if ENABLED(RA_DISCO)
// variables for which pins the TLC5947 is using
#define TLC_CLOCK_PIN 25
#define TLC_BLANK_PIN 23
#define TLC_XLAT_PIN 22
#define TLC_DATA_PIN 24
// We also need to define pin to port number mapping for the 2560 to match the pins listed above.
// If you change the TLC pins, update this as well per the 2560 datasheet! This currently only works with the RA Board.
#define TLC_CLOCK_BIT 3
#define TLC_CLOCK_PORT &PORTA
#define TLC_BLANK_BIT 1
#define TLC_BLANK_PORT &PORTA
#define TLC_DATA_BIT 2
#define TLC_DATA_PORT &PORTA
#define TLC_XLAT_BIT 0
#define TLC_XLAT_PORT &PORTA
// Change this to match your situation. Lots of TLCs takes up the arduino SRAM very quickly, so be careful
// Leave it at at least 1 if you have enabled RA_LIGHTING
// The number of TLC5947 boards chained together for use with the animation, additional ones will repeat the animation on them, but are not individually addressable and mimic those before them. You can leave the default at 2 even if you only have 1 TLC5947 module.
#define NUM_TLCS 2
// These TRANS_ARRAY values let you change the order the LEDs on the lighting modules will animate for chase functions.
// Modify them according to your specific situation.
// NOTE: the array should be 8 long for every TLC you have. These defaults assume (2) TLCs.
#define TRANS_ARRAY { 0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8 } // forward
//#define TRANS_ARRAY { 7, 6, 5, 4, 3, 2, 1, 0, 8, 9, 10, 11, 12, 13, 14, 15 } // backward
#endif // RA_DISCO

View File

@@ -0,0 +1,141 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech GT2560 Revision A board pin assignments, based on the work of
* George Robles (https://georges3dprinters.com) and
* Richard Smith <galorin@gmail.com>
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "GT2560 Rev.A"
#endif
#define DEFAULT_MACHINE_NAME "Prusa i3 Pro B"
//
// Limit Switches
//
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define Z_MIN_PIN 30
#define Z_MAX_PIN 32
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27
#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 37
#define Z_DIR_PIN 39
#define Z_ENABLE_PIN 35
#define E0_STEP_PIN 43
#define E0_DIR_PIN 45
#define E0_ENABLE_PIN 41
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
//
// Temperature Sensors
//
#define TEMP_0_PIN 8
#define TEMP_1_PIN 9
#define TEMP_BED_PIN 10
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_BED_PIN 4
#ifndef FAN_PIN
#define FAN_PIN 7
#endif
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define SUICIDE_PIN 54 // Must be enabled at startup to keep power flowing
#define KILL_PIN -1
#if HAS_SPI_LCD
#define BEEPER_PIN 18
#if ENABLED(NEWPANEL)
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_A0 5
#define DOGLCD_CS 21
#define BTN_EN1 40
#define BTN_EN2 42
#else
#define LCD_PINS_RS 20
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 16
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
#define BTN_EN1 42
#define BTN_EN2 40
#endif
#define BTN_ENC 19
#define SD_DETECT_PIN 38
#else // !NEWPANEL
#define SHIFT_CLK 38
#define SHIFT_LD 42
#define SHIFT_OUT 40
#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 6
#define LCD_PINS_D5 21
#define LCD_PINS_D6 20
#define LCD_PINS_D7 19
#define SD_DETECT_PIN -1
#endif // !NEWPANEL
#endif // HAS_SPI_LCD

View File

@@ -0,0 +1,36 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech GT2560 Revision A+ board pin assignments
*/
#define BOARD_INFO_NAME "GT2560 Rev.A+"
#include "pins_GT2560_REV_A.h"
#if ENABLED(BLTOUCH)
#define SERVO0_PIN 11
#else
#define SERVO0_PIN 32
#endif

View File

@@ -0,0 +1,185 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* GT2560 RevB + GT2560 V3.0 + GT2560 V3.1 + GT2560 V4.0 pin assignment
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "GT2560 V3.0"
#endif
//
// Servos
//
#define SERVO0_PIN 11 //13 untested 3Dtouch
//
// Limit Switches
//
#ifndef X_STOP_PIN
#ifndef X_MIN_PIN
#define X_MIN_PIN 24
#endif
#ifndef X_MAX_PIN
#define X_MAX_PIN 22
#endif
#endif
#ifndef Y_STOP_PIN
#ifndef Y_MIN_PIN
#define Y_MIN_PIN 28
#endif
#ifndef Y_MAX_PIN
#define Y_MAX_PIN 26
#endif
#endif
#ifndef Z_STOP_PIN
#ifndef Z_MIN_PIN
#define Z_MIN_PIN 30
#endif
#ifndef Z_MAX_PIN
#define Z_MAX_PIN 32
#endif
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Runout Sensor
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 66
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN 67
#endif
//
// Power Recovery
//
#define POWER_LOSS_PIN 69 // Pin to detect power loss
#define POWER_LOSS_STATE LOW
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 39
#define X_ENABLE_PIN 35
#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 25
#define Z_DIR_PIN 23
#define Z_ENABLE_PIN 27
#define E0_STEP_PIN 46
#define E0_DIR_PIN 44
#define E0_ENABLE_PIN 12
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
#define E2_STEP_PIN 43
#define E2_DIR_PIN 45
#define E2_ENABLE_PIN 41
//
// Temperature Sensors
//
#define TEMP_0_PIN 11 // Analog Input
#define TEMP_1_PIN 9 // Analog Input
#define TEMP_2_PIN 1 // Analog Input
#define TEMP_BED_PIN 10 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 3
#define HEATER_2_PIN 1
#define HEATER_BED_PIN 4
#define FAN_PIN 9
#define FAN1_PIN 8
#define FAN2_PIN 7
//
// Misc. Functions
//
#define SD_DETECT_PIN 38
#define SDSS 53
#define LED_PIN 6
#define PS_ON_PIN 12
#define SUICIDE_PIN 54 // This pin must be enabled at boot to keep power flowing
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 6 // 21
#endif
//
// LCD Controller
//
#define BEEPER_PIN 18
#ifndef LCD_PINS_RS
#define LCD_PINS_RS 20
#endif
#ifndef LCD_PINS_ENABLE
#define LCD_PINS_ENABLE 17
#endif
#ifndef LCD_PINS_D4
#define LCD_PINS_D4 16
#endif
#ifndef LCD_PINS_D5
#define LCD_PINS_D5 21
#endif
#ifndef LCD_PINS_D6
#define LCD_PINS_D6 5
#endif
#ifndef LCD_PINS_D7
#define LCD_PINS_D7 36
#endif
#if ENABLED(NEWPANEL)
#ifndef BTN_EN1
#define BTN_EN1 42
#endif
#ifndef BTN_EN2
#define BTN_EN2 40
#endif
#ifndef BTN_ENC
#define BTN_ENC 19
#endif
#endif

View File

@@ -0,0 +1,39 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech A20M pin assignment
*/
#define LCD_PINS_RS 5
#define LCD_PINS_ENABLE 36
#define LCD_PINS_D4 21
#define LCD_PINS_D7 6
#if ENABLED(NEWPANEL)
#define BTN_EN1 16
#define BTN_EN2 17
#define BTN_ENC 19
#endif
#include "pins_GT2560_V3.h"

View File

@@ -0,0 +1,35 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/*****************************************************************
* GT2560 V3.0 pin assignment (for Mecreator 2)
*****************************************************************/
#define BOARD_INFO_NAME "GT2560 V3.0 (MC2)"
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#include "pins_GT2560_V3.h"

View File

@@ -0,0 +1,170 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* HJC2560-C Rev2.x pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define DEFAULT_MACHINE_NAME "ADIMLab Gantry v2"
#define BOARD_INFO_NAME "HJC2560-C"
//
// Servos
//
//#ifndef SERVO0_PIN
// #define SERVO0_PIN 11
//#endif
//
// Limit Switches
//
#define X_STOP_PIN 22
#define Y_STOP_PIN 26
#define Z_STOP_PIN 29
//#define EXP_STOP_PIN 28
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27
#define Y_STEP_PIN 32
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 31
#define Z_STEP_PIN 35
#define Z_DIR_PIN 36
#define Z_ENABLE_PIN 34
#define E0_STEP_PIN 42
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 37
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
#define MOTOR_CURRENT_PWM_XY_PIN 44
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 46
// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
#ifndef MOTOR_CURRENT_PWM_RANGE
#define MOTOR_CURRENT_PWM_RANGE 2000
#endif
#define DEFAULT_PWM_MOTOR_CURRENT { 1300, 1300, 1250 }
//
// Temperature Sensors
//
#define TEMP_0_PIN 8 // Analog Input
#define TEMP_1_PIN 9 // Analog Input
#define TEMP_BED_PIN 10 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_BED_PIN 4
#ifndef FAN_PIN
#define FAN_PIN 7 //默认不使用PWM_FAN冷却喷嘴如果需要则取消注释
#endif
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 39
//#define LED_PIN 8
#define CASE_LIGHT_PIN 8 // 8 默认挤出机风扇作为Case LED如果需要PWM FAN,则需要将FAN_PIN置为7LED_PIN置为8
//#define SAFETY_TRIGGERED_PIN 28 // PIN to detect the safety circuit has triggered
//#define MAIN_VOLTAGE_MEASURE_PIN 14 // ANALOG PIN to measure the main voltage, with a 100k - 4k7 resitor divider.
//
// M3/M4/M5 - Spindle/Laser Control
//
#if ENABLED(SPINDLE_LASER_ENABLE)
#define SPINDLE_DIR_PIN 16
#define SPINDLE_LASER_ENABLE_PIN 17 // Pin should have a pullup!
#define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
#endif
//
// LCD / Controller
//
#if HAS_SPI_LCD
#define BEEPER_PIN 18
#if ENABLED(NEWPANEL)
#define LCD_PINS_RS 20 // LCD_CS
#define LCD_PINS_ENABLE 15 // LCD_SDA
#define LCD_PINS_D4 14 // LCD_SCK
#if ENABLED(HJC_LCD_SMART_CONTROLLER)
#define LCD_BACKLIGHT_PIN 5 // LCD_Backlight
//#ifndef LCD_CONTRAST_PIN
// #define LCD_CONTRAST_PIN 5 // LCD_Contrast
//#endif
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 24 // Filament runout
#endif
#else
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
#endif
#define BTN_EN1 41
#define BTN_EN2 40
#define BTN_ENC 19
#define SD_DETECT_PIN 39
#else
// Buttons attached to a shift register
#define SHIFT_CLK 38
#define SHIFT_LD 42
#define SHIFT_OUT 40
#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 6
#define LCD_PINS_D5 21
#define LCD_PINS_D6 20
#define LCD_PINS_D7 19
#endif // !NEWPANEL
#endif // HAS_SPI_LCD

View File

@@ -0,0 +1,152 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Intamsys Funmat HT V4.0 Mainboard
* 4988 Drivers Tested
* 2208 version exists and may or may not work
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Intamsys 4.0"
//
// Servos
//
#define SERVO0_PIN 12 // Uses High Temp Present Jumper Pin
//
// Limit Switches
//
#define X_STOP_PIN 22
#define Y_STOP_PIN 26
#define Z_MIN_PIN 29
#define Z_MAX_PIN 69
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 69
#endif
#define FIL_RUNOUT_PIN 10
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27 // 44
#define Y_STEP_PIN 32 // 33
#define Y_DIR_PIN 33 // 31, 32
#define Y_ENABLE_PIN 31 // 32
#define Z_STEP_PIN 35 // 35
#define Z_DIR_PIN 36
#define Z_ENABLE_PIN 34 // 34
#define E0_STEP_PIN 42
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 37
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
#define MOTOR_CURRENT_PWM_X_PIN 11
#define MOTOR_CURRENT_PWM_Y_PIN 44
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 46
// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
#ifndef MOTOR_CURRENT_PWM_RANGE
#define MOTOR_CURRENT_PWM_RANGE 2000
#endif
#define DEFAULT_PWM_MOTOR_CURRENT { 1300, 1300, 1250 }
//
// Temperature Sensors
//
#define TEMP_0_PIN 8 // Analog Input D62
#define TEMP_BED_PIN 10 // Analog Input D64
#define TEMP_CHAMBER_PIN 9 // Analog Input D63
//
// Heaters / Fans
//
#define HEATER_0_PIN 2 // PWM
#define HEATER_BED_PIN 4 // PWM
#define HEATER_CHAMBER_PIN 3 // PWM
#define FAN_PIN 7 // PWM
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 39
#if ENABLED(CASE_LIGHT_ENABLE)
#define CASE_LIGHT_PIN 8
#endif
#if ENABLED(PSU_CONTROL)
#define PS_ON_PIN 38 // UPS Module
#endif
//
// LCD Controller
//
#define BEEPER_PIN 18
#if HAS_SPI_LCD
#define LCD_PINS_RS 20
#define LCD_PINS_ENABLE 30
#define LCD_PINS_D4 14
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
#define BTN_EN1 40
#define BTN_EN2 41
#define BTN_ENC 19
#endif
///////////////////// SPARE HEADERS //////////////
/**
*
* J25
* 1 D54
* 2 D55
* 3 D56
* 4 D57
* 5 D58
* 6 D59
* 7 D60
* 8 D61
Hotend High Temp Connected : D12
*/

View File

@@ -0,0 +1,92 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Leapfrog Driver board pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Mega 1280' or 'Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Leapfrog"
//
// Limit Switches
//
#define X_MIN_PIN 47
#define X_MAX_PIN 2
#define Y_MIN_PIN 48
#define Y_MAX_PIN 15
#define Z_MIN_PIN 49
#define Z_MAX_PIN -1
//
// Steppers
//
#define X_STEP_PIN 28
#define X_DIR_PIN 63
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 14 // A6
#define Y_DIR_PIN 15 // A0
#define Y_ENABLE_PIN 39
#define Z_STEP_PIN 31 // A2
#define Z_DIR_PIN 32 // A6
#define Z_ENABLE_PIN 30 // A1
#define E0_STEP_PIN 34 // 34
#define E0_DIR_PIN 35 // 35
#define E0_ENABLE_PIN 33 // 33
#define E1_STEP_PIN 37 // 37
#define E1_DIR_PIN 40 // 40
#define E1_ENABLE_PIN 36 // 36
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input (D27)
#define TEMP_1_PIN 15 // Analog Input (1)
#define TEMP_BED_PIN 14 // Analog Input (1,2 or I2C)
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 8 // 12
#define HEATER_2_PIN 11 // 13
#define HEATER_BED_PIN 10 // 14/15
#define FAN_PIN 7
//
// Misc. Functions
//
#define SDSS 11
#define LED_PIN 13
#define SOL1_PIN 16
#define SOL2_PIN 17
/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */

View File

@@ -0,0 +1,115 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Leapfrog Xeed Driver board pin assignments
*
* This board is used by other Leapfrog printers in addition to the Xeed,
* such as the Creatr HS and Bolt. The pin assignments vary wildly between
* printer models. As such this file is currently specific to the Xeed.
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Leapfrog Xeed 2015"
//
// Limit Switches
//
#define X_STOP_PIN 47 // 'X Min'
#define Y_STOP_PIN 48 // 'Y Min'
#define Z_STOP_PIN 49 // 'Z Min'
//
// Steppers
// The Xeed utilizes three Z-axis motors, which use the X, Y, and Z stepper connectors
// on the board. The X and Y steppers use external drivers, attached to signal-level
// Y-axis and X-axis connectors on the board, which map to distinct CPU pins from
// the on-board X/Y stepper drivers.
//
// X-axis signal-level connector
#define X_STEP_PIN 65
#define X_DIR_PIN 64
#define X_ENABLE_PIN 66 // Not actually used on Xeed, could be repurposed
// Y-axis signal-level connector
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24 // Not actually used on Xeed, could be repurposed
// ZMOT connector (Front Right Z Motor)
#define Z_STEP_PIN 31
#define Z_DIR_PIN 32
#define Z_ENABLE_PIN 30
// XMOT connector (Rear Z Motor)
#define Z2_STEP_PIN 28
#define Z2_DIR_PIN 63
#define Z2_ENABLE_PIN 29
// YMOT connector (Front Left Z Motor)
#define Z3_STEP_PIN 14
#define Z3_DIR_PIN 15
#define Z3_ENABLE_PIN 39
// EMOT2 connector
#define E0_STEP_PIN 37
#define E0_DIR_PIN 40
#define E0_ENABLE_PIN 36
// EMOT connector
#define E1_STEP_PIN 34
#define E1_DIR_PIN 35
#define E1_ENABLE_PIN 33
//
// Filament runout
//
#define FIL_RUNOUT_PIN 42 // ROT2 Connector
#define FIL_RUNOUT2_PIN 44 // ROT1 Connector
//
// Temperature Sensors
//
#define TEMP_0_PIN 15 // T3 Connector
#define TEMP_1_PIN 13 // T1 Connector
#define TEMP_BED_PIN 14 // BED Connector (Between T1 and T3)
//
// Heaters / Fans
//
#define HEATER_0_PIN 8 // Misc Connector, pins 3 and 4 (Out2)
#define HEATER_1_PIN 9 // Misc Connector, pins 5 and 6 (Out3)
#define HEATER_BED_PIN 6 // Misc Connector, pins 9(-) and 10(+) (OutA)
#define FAN_PIN 10 // Misc Connector, pins 7(-) and 8 (+) (Out4)
#define LED_PIN 13
#define SOL1_PIN 7 // Misc Connector, pins 1(-) and 2(+) (Out1)
// Door Closed Sensor
//#define DOOR_PIN 45 // HM1 Connector

View File

@@ -0,0 +1,164 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Mega controller pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "Mega Controller supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Mega Controller"
//
// Servos
//
#define SERVO0_PIN 30
#define SERVO1_PIN 31
#define SERVO2_PIN 32
#define SERVO3_PIN 33
//
// Limit Switches
//
#define X_MIN_PIN 43
#define X_MAX_PIN 42
#define Y_MIN_PIN 38
#define Y_MAX_PIN 41
#define Z_MIN_PIN 40
#define Z_MAX_PIN 37
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 37
#endif
//
// Steppers
//
#define X_STEP_PIN 62 // A8
#define X_DIR_PIN 63 // A9
#define X_ENABLE_PIN 61 // A7
#define Y_STEP_PIN 65 // A11
#define Y_DIR_PIN 66 // A12
#define Y_ENABLE_PIN 64 // A10
#define Z_STEP_PIN 68 // A14
#define Z_DIR_PIN 69 // A15
#define Z_ENABLE_PIN 67 // A13
#define E0_STEP_PIN 23
#define E0_DIR_PIN 24
#define E0_ENABLE_PIN 22
#define E1_STEP_PIN 26
#define E1_DIR_PIN 27
#define E1_ENABLE_PIN 25
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 4 // Analog Input
#else
#define TEMP_0_PIN 0 // Analog Input
#endif
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 5 // Analog Input
#else
#define TEMP_1_PIN 2 // Analog Input
#endif
#define TEMP_2_PIN 3 // Analog Input
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 6 // Analog Input
#else
#define TEMP_BED_PIN 1 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 29
#define HEATER_1_PIN 34
#define HEATER_BED_PIN 28
#ifndef FAN_PIN
#define FAN_PIN 39
#endif
#define FAN1_PIN 35
#define FAN2_PIN 36
#ifndef CONTROLLER_FAN_PIN
#define CONTROLLER_FAN_PIN FAN2_PIN
#endif
#define FAN_SOFT_PWM
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define CASE_LIGHT_PIN 2
//
// LCD / Controller
//
#if ENABLED(MINIPANEL)
#define BEEPER_PIN 46
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 47
#define DOGLCD_CS 45
#define LCD_BACKLIGHT_PIN 44 // backlight LED on PA3
#define KILL_PIN 12
// GLCD features
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#define BTN_EN1 48
#define BTN_EN2 11
#define BTN_ENC 10
#define SD_DETECT_PIN 49
#endif // MINIPANEL
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 7 // Pullup!
#define SPINDLE_DIR_PIN 8

View File

@@ -0,0 +1,131 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MegaTronics pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Megatronics"
//
// Limit Switches
//
#define X_MIN_PIN 41
#define X_MAX_PIN 37
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 28
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 60 // A6
#define Y_DIR_PIN 61 // A7
#define Y_ENABLE_PIN 22
#define Z_STEP_PIN 54 // A0
#define Z_DIR_PIN 55 // A1
#define Z_ENABLE_PIN 56 // A2
#define E0_STEP_PIN 31
#define E0_DIR_PIN 32
#define E0_ENABLE_PIN 38
#define E1_STEP_PIN 34
#define E1_DIR_PIN 36
#define E1_ENABLE_PIN 30
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 8 // Analog Input
#else
#define TEMP_0_PIN 13 // Analog Input
#endif
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 14 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 8
#define HEATER_BED_PIN 10
#ifndef FAN_PIN
#define FAN_PIN 7 // IO pin. Buffer needed
#endif
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define CASE_LIGHT_PIN 2
//
// LCD / Controller
//
#define BEEPER_PIN 33
#if BOTH(ULTRA_LCD, NEWPANEL)
#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
#define LCD_PINS_D7 29
// Buttons directly attached to AUX-2
#define BTN_EN1 59
#define BTN_EN2 64
#define BTN_ENC 43
#define SD_DETECT_PIN -1 // RAMPS doesn't use this
#endif // HAS_SPI_LCD && NEWPANEL
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 3 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 4 // Pullup!
#define SPINDLE_DIR_PIN 11

View File

@@ -0,0 +1,152 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MegaTronics v2.0 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Megatronics v2.0"
//
// Limit Switches
//
#define X_MIN_PIN 37
#define X_MAX_PIN 40
#define Y_MIN_PIN 41
#define Y_MAX_PIN 38
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 27
#define X_ENABLE_PIN 25
#define Y_STEP_PIN 4 // A6
#define Y_DIR_PIN 54 // A0
#define Y_ENABLE_PIN 5
#define Z_STEP_PIN 56 // A2
#define Z_DIR_PIN 60 // A6
#define Z_ENABLE_PIN 55 // A1
#define E0_STEP_PIN 35
#define E0_DIR_PIN 36
#define E0_ENABLE_PIN 34
#define E1_STEP_PIN 29
#define E1_DIR_PIN 39
#define E1_ENABLE_PIN 28
#define E2_STEP_PIN 23 // ? schematic says 24
#define E2_DIR_PIN 24 // ? schematic says 23
#define E2_ENABLE_PIN 22
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 4 // Analog Input
#else
#define TEMP_0_PIN 13 // Analog Input
#endif
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 8 // Analog Input
#else
#define TEMP_1_PIN 15 // Analog Input
#endif
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 8 // Analog Input
#else
#define TEMP_BED_PIN 14 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 8
#define HEATER_BED_PIN 10
#ifndef FAN_PIN
#define FAN_PIN 7
#endif
#define FAN1_PIN 6
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define CASE_LIGHT_PIN 2
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 3 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 16 // Pullup!
#define SPINDLE_DIR_PIN 11
//
// LCD / Controller
//
#define BEEPER_PIN 64
#if HAS_SPI_LCD
#define LCD_PINS_RS 14
#define LCD_PINS_ENABLE 15
#define LCD_PINS_D4 30
#define LCD_PINS_D5 31
#define LCD_PINS_D6 32
#define LCD_PINS_D7 33
#if ENABLED(NEWPANEL)
// Buttons are directly attached using keypad
#define BTN_EN1 61
#define BTN_EN2 59
#define BTN_ENC 43
#else
// Buttons attached to shift register of reprapworld keypad v1.1
#define SHIFT_CLK 63
#define SHIFT_LD 42
#define SHIFT_OUT 17
#define SHIFT_EN 17
#endif
#endif // HAS_SPI_LCD

View File

@@ -0,0 +1,195 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MegaTronics v3.0 / v3.1 / v3.2 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if MB(MEGATRONICS_32)
#define BOARD_INFO_NAME "Megatronics v3.2"
#elif MB(MEGATRONICS_31)
#define BOARD_INFO_NAME "Megatronics v3.1"
#else
#define BOARD_INFO_NAME "Megatronics v3.0"
#endif
//
// Servos
//
#define SERVO0_PIN 46 // AUX3-6
#define SERVO1_PIN 47 // AUX3-5
#define SERVO2_PIN 48 // AUX3-4
#define SERVO3_PIN 49 // AUX3-3
//
// Limit Switches
//
#define X_MIN_PIN 37 // No INT
#define X_MAX_PIN 40 // No INT
#define Y_MIN_PIN 41 // No INT
#define Y_MAX_PIN 38 // No INT
#define Z_MIN_PIN 18 // No INT
#define Z_MAX_PIN 19 // No INT
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 58
#define X_DIR_PIN 57
#define X_ENABLE_PIN 59
#define Y_STEP_PIN 5
#define Y_DIR_PIN 17
#define Y_ENABLE_PIN 4
#define Z_STEP_PIN 16
#define Z_DIR_PIN 11
#define Z_ENABLE_PIN 3
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 29
#define E1_STEP_PIN 25
#define E1_DIR_PIN 24
#define E1_ENABLE_PIN 26
#define E2_STEP_PIN 22
#define E2_DIR_PIN 60
#define E2_ENABLE_PIN 23
//
// Temperature Sensors
//
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 11 // Analog Input
#else
#define TEMP_0_PIN 15 // Analog Input
#endif
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 10 // Analog Input
#else
#define TEMP_1_PIN 13 // Analog Input
#endif
#if TEMP_SENSOR_2 == -1
#define TEMP_2_PIN 9 // Analog Input
#else
#define TEMP_2_PIN 12 // Analog Input
#endif
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 8 // Analog Input
#else
#define TEMP_BED_PIN 14 // Analog Input
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 9
#define HEATER_2_PIN 8
#define HEATER_BED_PIN 10
#ifndef FAN_PIN
#define FAN_PIN 6
#endif
#define FAN1_PIN 7
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define CASE_LIGHT_PIN 45 // Try the keypad connector
//
// LCD / Controller
//
#define BEEPER_PIN 61
#define BTN_EN1 44
#define BTN_EN2 45
#define BTN_ENC 33
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define LCD_PINS_RS 56 // CS chip select / SS chip slave select
#define LCD_PINS_ENABLE 51 // SID (MOSI)
#define LCD_PINS_D4 52 // SCK (CLK) clock
#define SD_DETECT_PIN 35
#else
#define LCD_PINS_RS 32
#define LCD_PINS_ENABLE 31
#define LCD_PINS_D4 14
#define LCD_PINS_D5 30
#define LCD_PINS_D6 39
#define LCD_PINS_D7 15
#define SHIFT_CLK 43
#define SHIFT_LD 35
#define SHIFT_OUT 34
#define SHIFT_EN 44
#if MB(MEGATRONICS_31, MEGATRONICS_32)
#define SD_DETECT_PIN 56
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if DISABLED(REPRAPWORLD_KEYPAD) // try to use the keypad connector first
#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 43 // Pullup!
#define SPINDLE_DIR_PIN 42
#elif EXTRUDERS <= 2
// Hijack the last extruder so that we can get the PWM signal off the Y breakout
// Move Y to the E2 plug. This makes dual Y steppers harder
#undef Y_ENABLE_PIN // 4
#undef Y_STEP_PIN // 5
#undef Y_DIR_PIN // 17
#undef E2_ENABLE_PIN // 23
#undef E2_STEP_PIN // 22
#undef E2_DIR_PIN // 60
#define Y_ENABLE_PIN 23
#define Y_STEP_PIN 22
#define Y_DIR_PIN 60
#define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 17 // Pullup!
#define SPINDLE_DIR_PIN 5
#endif

View File

@@ -0,0 +1,298 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Mightyboard Rev.E pin assignments
* also works for Rev D boards. It's all rev E despite what the silk screen says
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for:
* M3, M4 & M5 spindle control commands
* case light
*
* Corrected pin assignment for EX2_HEAT_PIN pin. Changed it from 9 to 11. The port
* number (B5) agrees with the schematic but B5 is assigned to logical pin 11.
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Mega 1280' or 'Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Mightyboard"
#define DEFAULT_MACHINE_NAME "MB Replicator"
//
// Servos
//
#define SERVO0_PIN 36 // C1 (1280-EX1)
#define SERVO1_PIN 37 // C0 (1280-EX2)
#define SERVO2_PIN 40 // G1 (1280-EX3)
#define SERVO3_PIN 41 // G0 (1280-EX4)
//
// Limit Switches
//
#define X_MIN_PIN 49 // L0
#define X_MAX_PIN 48 // L1
#define Y_MIN_PIN 47 // L2
#define Y_MAX_PIN 46 // L3
#define Z_MIN_PIN 43 // L6
#define Z_MAX_PIN 42 // L7
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 42
#endif
//
// Filament Runout Pins
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 49
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN 47
#endif
//
// Steppers
//
#define X_STEP_PIN 55 // F1
#define X_DIR_PIN 54 // F0
#define X_ENABLE_PIN 56 // F2
#define Y_STEP_PIN 59 // F5
#define Y_DIR_PIN 58 // F4
#define Y_ENABLE_PIN 60 // F6
#define Z_STEP_PIN 63 // K1
#define Z_DIR_PIN 62 // K0
#define Z_ENABLE_PIN 64 // K2
#define E0_STEP_PIN 25 // A3
#define E0_DIR_PIN 24 // A2
#define E0_ENABLE_PIN 26 // A4
#define E1_STEP_PIN 29 // A7
#define E1_DIR_PIN 28 // A6
#define E1_ENABLE_PIN 39 // G2
//
// I2C Digipots - MCP4018
// Address 5E (2F << 1)
// Set from 0 - 127 with stop bit.
// (Ex. 3F << 1 | 1)
//
#define DIGIPOTS_I2C_SCL 76 // J5
#define DIGIPOTS_I2C_SDA_X 57 // F3
#define DIGIPOTS_I2C_SDA_Y 61 // F7
#define DIGIPOTS_I2C_SDA_Z 65 // K3
#define DIGIPOTS_I2C_SDA_E0 27 // A5
#define DIGIPOTS_I2C_SDA_E1 77 // J6
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x2F // unshifted slave address (5E <- 2F << 1)
#endif
//
// Temperature Sensors
//
// K7 - 69 / ADC15 - 15
#define TEMP_BED_PIN 15
// SPI for Max6675 or Max31855 Thermocouple
// Uses a separate SPI bus
//
// 3 E5 DO (SO)
// 5 E3 CS1
// 2 E4 CS2
// 78 E2 SCK
//
#define THERMO_SCK_PIN 78 // E2
#define THERMO_DO_PIN 3 // E5
#define THERMO_CS1_PIN 5 // E3
#define THERMO_CS2_PIN 2 // E4
#define MAX6675_SS_PIN THERMO_CS1_PIN
#define MAX6675_SS2_PIN THERMO_CS2_PIN
#define MAX6675_SCK_PIN THERMO_SCK_PIN
#define MAX6675_DO_PIN THERMO_DO_PIN
//
// Augmentation for auto-assigning plugs
//
// Two thermocouple connectors allows for either
// 2 extruders or 1 extruder and a heated bed.
// With no heated bed, an additional 24V fan is possible.
//
// Labels from the schematic:
#define EX1_HEAT_PIN 6 // H3
#define EX1_FAN_PIN 7 // H4
#define EX2_HEAT_PIN 11 // B5
#define EX2_FAN_PIN 12 // B6
#define HBP_PIN 45 // L4
#define EXTRA_FET_PIN 44 // L5
#if HOTENDS > 1
#if TEMP_SENSOR_BED
#define IS_EEB
#else
#define IS_EEF
#endif
#elif TEMP_SENSOR_BED
#define IS_EFB
#else
#define IS_EFF
#endif
//
// Heaters / Fans (24V)
//
#define HEATER_0_PIN EX1_HEAT_PIN
#if ENABLED(IS_EFB) // Hotend, Fan, Bed
#define HEATER_BED_PIN HBP_PIN
#elif ENABLED(IS_EEF) // Hotend, Hotend, Fan
#define HEATER_1_PIN EX2_HEAT_PIN
#elif ENABLED(IS_EEB) // Hotend, Hotend, Bed
#define HEATER_1_PIN EX2_HEAT_PIN
#define HEATER_BED_PIN HBP_PIN
#elif ENABLED(IS_EFF) // Hotend, Fan, Fan
#define FAN1_PIN HBP_PIN
#endif
#ifndef FAN_PIN
#if EITHER(IS_EFB, IS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan
#define FAN_PIN EX2_HEAT_PIN
#elif EITHER(IS_EEF, IS_SF) // Hotend, Hotend, Fan or Spindle, Fan
#define FAN_PIN HBP_PIN
#else
#define FAN_PIN EXTRA_FET_PIN
#endif
#endif
//
// Misc. Functions
//
#define LED_PIN 13 // B7
#define CUTOFF_RESET_PIN 16 // H1
#define CUTOFF_TEST_PIN 17 // H0
//
// LCD / Controller
//
#if HAS_SPI_LCD
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define LCD_PINS_RS 33 // C4: LCD-STROBE
#define LCD_PINS_ENABLE 72 // J2: LEFT
#define LCD_PINS_D4 35 // C2: LCD-CLK
#define LCD_PINS_D5 32 // C5: RLED
#define LCD_PINS_D6 34 // C3: LCD-DATA
#define LCD_PINS_D7 31 // C6: GLED
#define BTN_EN2 75 // J4, UP
#define BTN_EN1 73 // J3, DOWN
//STOP button connected as KILL_PIN
#define KILL_PIN 14 // J1, RIGHT
//KILL - not connected
#define BEEPER_PIN 8 // H5, SD_WP
//on board leds
#define STAT_LED_RED_LED SERVO0_PIN // C1 (1280-EX1, DEBUG2)
#define STAT_LED_BLUE_PIN SERVO1_PIN // C0 (1280-EX2, DEBUG3)
#else
// Replicator uses a 3-wire SR controller with HD44780
#define SR_DATA_PIN 34 // C3
#define SR_CLK_PIN 35 // C2
#define SR_STROBE_PIN 33 // C4
#define BTN_UP 75 // J4
#define BTN_DWN 73 // J3
#define BTN_LFT 72 // J2
#define BTN_RT 14 // J1
// Disable encoder
#undef BTN_EN1
#undef BTN_EN2
#define BEEPER_PIN 4 // G5
#define STAT_LED_RED_PIN 32 // C5
#define STAT_LED_BLUE_PIN 31 // C6 (Actually green)
#endif
#define BTN_CENTER 15 // J0
#define BTN_ENC BTN_CENTER
#endif // HAS_SPI_LCD
//
// SD Card
//
#define SDSS 53 // B0
#define SD_DETECT_PIN 9 // H6
//
// TMC 220x
//
#if HAS_TMC_UART
/**
* TMC220x stepper drivers
*
* Hardware serial communication ports.
* If undefined software serial is used according to the pins below
*/
#define X_HARDWARE_SERIAL Serial2
#define Y_HARDWARE_SERIAL Serial1
/**
* Software serial
*/
#define X_SERIAL_TX_PIN 16
#define X_SERIAL_RX_PIN 17
#define Y_SERIAL_TX_PIN 18
#define Y_SERIAL_RX_PIN 19
#define Z_SERIAL_TX_PIN 41
#define Z_SERIAL_RX_PIN 66
#define E0_SERIAL_TX_PIN 40
#define E0_SERIAL_RX_PIN 67
#define E1_SERIAL_TX_PIN 37
#define E1_SERIAL_RX_PIN 68
#endif

View File

@@ -0,0 +1,143 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Minitronics v1.0/1.1 pin assignments
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for M3, M4 & M5 spindle control commands
*
*/
#ifndef __AVR_ATmega1281__
#error "Oops! Select 'Minitronics' in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "Minitronics supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Minitronics v1.0/1.1"
//
// Limit Switches
//
#define X_MIN_PIN 5
#define X_MAX_PIN 2
#define Y_MIN_PIN 2
#define Y_MAX_PIN 15
#define Z_MIN_PIN 6
#define Z_MAX_PIN -1
//
// Steppers
//
#define X_STEP_PIN 48
#define X_DIR_PIN 47
#define X_ENABLE_PIN 49
#define Y_STEP_PIN 39 // A6
#define Y_DIR_PIN 40 // A0
#define Y_ENABLE_PIN 38
#define Z_STEP_PIN 42 // A2
#define Z_DIR_PIN 43 // A6
#define Z_ENABLE_PIN 41 // A1
#define E0_STEP_PIN 45
#define E0_DIR_PIN 44
#define E0_ENABLE_PIN 27
#define E1_STEP_PIN 36
#define E1_DIR_PIN 35
#define E1_ENABLE_PIN 37
//
// Temperature Sensors
//
#define TEMP_0_PIN 7 // Analog Input
#define TEMP_1_PIN 6 // Analog Input
#define TEMP_BED_PIN 6 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 7 // EXTRUDER 1
#define HEATER_1_PIN 8 // EXTRUDER 2
#define HEATER_BED_PIN 3 // BED
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
//
// Misc. Functions
//
#define SDSS 16
#define LED_PIN 46
//
// LCD / Controller
//
#define BEEPER_PIN -1
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define LCD_PINS_RS 15 // CS chip select /SS chip slave select
#define LCD_PINS_ENABLE 11 // SID (MOSI)
#define LCD_PINS_D4 10 // SCK (CLK) clock
#define BTN_EN1 18
#define BTN_EN2 17
#define BTN_ENC 25
#define SD_DETECT_PIN 30
#else
#define LCD_PINS_RS -1
#define LCD_PINS_ENABLE -1
// Buttons are directly attached using keypad
#define BTN_EN1 -1
#define BTN_EN2 -1
#define BTN_ENC -1
#define SD_DETECT_PIN -1 // Minitronics doesn't use this
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER // assumes we're only doing CNC work (no 3D printing)
#undef HEATER_BED_PIN
#undef TEMP_BED_PIN // need to free up some pins but also need to
#undef TEMP_0_PIN // re-assign them (to unused pins) because Marlin
#undef TEMP_1_PIN // requires the presence of certain pins or else it
#define HEATER_BED_PIN 4 // won't compile
#define TEMP_BED_PIN 50
#define TEMP_0_PIN 51
#define SPINDLE_LASER_ENA_PIN 52 // using A6 because it already has a pullup
#define SPINDLE_LASER_PWM_PIN 3 // WARNING - LED & resistor pull up to +12/+24V stepper voltage
#define SPINDLE_DIR_PIN 53
#endif

View File

@@ -0,0 +1,144 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Dreammaker Overlord v1.1 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "Overlord Controller supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "OVERLORD"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Limit Switches
//
#define X_STOP_PIN 24
#define Y_STOP_PIN 28
#define Z_MIN_PIN 46
#define Z_MAX_PIN 32
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 46 // JP4, Tfeed1
#endif
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_PIN 44 // JP3, Tfeed2
#endif
//
// Steppers
//
#define X_STEP_PIN 25
#define X_DIR_PIN 23
#define X_ENABLE_PIN 27
#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 29
#define Z_STEP_PIN 37
#define Z_DIR_PIN 39
#define Z_ENABLE_PIN 35
#define E0_STEP_PIN 43
#define E0_DIR_PIN 45
#define E0_ENABLE_PIN 41
#define E1_STEP_PIN 49
#define E1_DIR_PIN 47
#define E1_ENABLE_PIN 48
//
// Temperature Sensors
//
#define TEMP_0_PIN 8 // Analog Input
#define TEMP_1_PIN 9 // Analog Input - Redundant temp sensor
#define TEMP_2_PIN 12 // Analog Input
#define TEMP_3_PIN 14 // Analog Input
#define TEMP_BED_PIN 10 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_BED_PIN 4
#define FAN_PIN 7 // material cooling fan
//
// SD Card
//
#define SDSS 53
#define SD_DETECT_PIN 38
//
// Misc. Functions
//
#define LED_PIN 13 // On PCB status led
#define PS_ON_PIN 12 // For stepper/heater/fan power. Active HIGH.
#define POWER_LOSS_PIN 34 // Power check - whether hotends/steppers/fans have power
#if ENABLED(BATTERY_STATUS_AVAILABLE)
#undef BATTERY_STATUS_PIN
#define BATTERY_STATUS_PIN 26 // Status of power loss battery, whether it is charged (low) or charging (high)
#endif
#if ENABLED(INPUT_VOLTAGE_AVAILABLE)
#undef VOLTAGE_DETECTION_PIN
#define VOLTAGE_DETECTION_PIN 11 // Analog Input - ADC Voltage level of main input
#endif
//
// LCD / Controller
//
#if HAS_GRAPHICAL_LCD
// OVERLORD OLED pins
#define LCD_PINS_RS 20
#define LCD_PINS_D5 21
#define LCD_PINS_ENABLE 15
#define LCD_PINS_D4 14
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
#ifndef LCD_RESET_PIN
#define LCD_RESET_PIN 5 // LCD_PINS_D6
#endif
#endif
#if ENABLED(NEWPANEL)
#define BTN_ENC 16 // Enter Pin
#define BTN_UP 19 // Button UP Pin
#define BTN_DWN 17 // Button DOWN Pin
#endif
// Additional connectors/pins on the Overlord V1.X board
#define PCB_VERSION_PIN 22
#define APPROACH_PIN 11 // JP7, Tpd
#define GATE_PIN 36 // Threshold, JP6, Tg

143
Marlin/src/pins/mega/pins_PICA.h Executable file
View File

@@ -0,0 +1,143 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
/**
* Arduino Mega with PICA pin assignments
*
* PICA is Power, Interface, and Control Adapter and is open source hardware.
* See https://github.com/mjrice/PICA for schematics etc.
*
* Applies to PICA, PICA_REVB
*/
#ifndef BOARD_NAME
#define BOARD_NAME "PICA"
#endif
/*
// Note that these are the "pins" that correspond to the analog inputs on the arduino mega.
// These are not the same as the physical pin numbers
AD0 = 54; AD1 = 55; AD2 = 56; AD3 = 57;
AD4 = 58; AD5 = 59; AD6 = 60; AD7 = 61;
AD8 = 62; AD9 = 63; AD10 = 64; AD11 = 65;
AD12 = 66; AD13 = 67; AD14 = 68; AD15 = 69;
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
#endif
//
// Limit Switches
//
#define X_MIN_PIN 14
#define X_MAX_PIN 15
#define Y_MIN_PIN 16
#define Y_MAX_PIN 17
#define Z_MIN_PIN 23
#define Z_MAX_PIN 22
//
// Steppers
//
#define X_STEP_PIN 55
#define X_DIR_PIN 54
#define X_ENABLE_PIN 60
#define Y_STEP_PIN 57
#define Y_DIR_PIN 56
#define Y_ENABLE_PIN 61
#define Z_STEP_PIN 59
#define Z_DIR_PIN 58
#define Z_ENABLE_PIN 62
#define E0_STEP_PIN 67
#define E0_DIR_PIN 24
#define E0_ENABLE_PIN 26
//
// Temperature Sensors
//
#define TEMP_0_PIN 9 // Analog Input
#define TEMP_1_PIN 10
#define TEMP_BED_PIN 10
#define TEMP_2_PIN 11
#define TEMP_3_PIN 12
//
// Heaters / Fans
//
#ifndef HEATER_0_PIN
#define HEATER_0_PIN 10 // E0
#endif
#ifndef HEATER_1_PIN
#define HEATER_1_PIN 2 // E1
#endif
#define HEATER_BED_PIN 8 // HEAT-BED
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
#ifndef FAN_2_PIN
#define FAN_2_PIN 7
#endif
#define SDPOWER_PIN -1
#define LED_PIN -1
#define PS_ON_PIN -1
#define KILL_PIN -1
#define SSR_PIN 6
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
#endif
//
// SD Support
//
#define SD_DETECT_PIN 49
#define SDSS 53
//
// LCD / Controller
//
#define BEEPER_PIN 29
#if HAS_SPI_LCD
#define LCD_PINS_RS 33
#define LCD_PINS_ENABLE 30
#define LCD_PINS_D4 35
#define LCD_PINS_D5 32
#define LCD_PINS_D6 37
#define LCD_PINS_D7 36
#define BTN_EN1 47
#define BTN_EN2 48
#define BTN_ENC 31
#define LCD_SDSS 53
#endif

View File

@@ -0,0 +1,28 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#define HEATER_0_PIN 9 // E0
#define HEATER_1_PIN 10 // E1
#define FAN_PIN 11
#define FAN2_PIN 12
#include "pins_PICA.h"

View File

@@ -0,0 +1,93 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if !defined(__AVR_ATmega1281__) && !defined(__AVR_ATmega2561__)
#error "Oops! Select 'Silvergate' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Silver Gate"
#define X_STEP_PIN 43
#define X_DIR_PIN 44
#define X_ENABLE_PIN 42
#define X_MIN_PIN 31
#define X_MAX_PIN 34
#define Y_STEP_PIN 40
#define Y_DIR_PIN 41
#define Y_ENABLE_PIN 39
#define Y_MIN_PIN 32
#define Y_MAX_PIN 35
#define Z_STEP_PIN 13
#define Z_DIR_PIN 38
#define Z_ENABLE_PIN 14
#define Z_MIN_PIN 33
#define Z_MAX_PIN 36
#define E0_STEP_PIN 27
#define E0_DIR_PIN 37
#define E0_ENABLE_PIN 45
#define SDSS 16
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 34 // X_MAX unless overridden
#endif
#ifndef FAN_PIN
#define FAN_PIN 5
#endif
#define HEATER_0_PIN 7
#define ORIG_E0_AUTO_FAN_PIN 3 // Use this by NOT overriding E0_AUTO_FAN_PIN
#define CONTROLLER_FAN_PIN 2
#define TEMP_0_PIN 7 // Analog Input
#define HEATER_BED_PIN 8
#define TEMP_BED_PIN 6
#if HAS_GRAPHICAL_LCD
#if ENABLED(U8GLIB_ST7920) // SPI GLCD 12864 ST7920
#define LCD_PINS_RS 30
#define LCD_PINS_ENABLE 20
#define LCD_PINS_D4 25
#define BEEPER_PIN 29
#define BTN_EN1 19
#define BTN_EN2 22
#define BTN_ENC 24
#define LCD_BACKLIGHT_PIN 6
#if ENABLED(SILVER_GATE_GLCD_CONTROLLER)
#define KILL_PIN 21
#define HOME_PIN 28
#endif
#endif
#endif
#define SD_DETECT_PIN 15
#define STAT_LED_RED_PIN 23
#define STAT_LED_BLUE_PIN 26
#define CASE_LIGHT_PIN 51

View File

@@ -0,0 +1,111 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Wanhao 0ne+ pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Wanhao i3 Mini 0ne+"
#define DEFAULT_MACHINE_NAME "i3 Mini"
#define BOARD_WEBSITE_URL "https://tinyurl.com/yyxw7se7"
//
// Limit Switches
//
#define X_STOP_PIN 19
#define Y_STOP_PIN 18
#define Z_STOP_PIN 38
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 38
#endif
//
// Steppers
//
#define X_STEP_PIN 22
#define X_DIR_PIN 23
#define X_ENABLE_PIN 57
#define Y_STEP_PIN 25
#define Y_DIR_PIN 26
#define Y_ENABLE_PIN 24
#define Z_STEP_PIN 29
#define Z_DIR_PIN 39
#define Z_ENABLE_PIN 28
#define E0_STEP_PIN 55
#define E0_DIR_PIN 56
#define E0_ENABLE_PIN 54
//
// Temperature Sensors
//
#define TEMP_0_PIN 13
#define TEMP_BED_PIN 14
//
// Heaters / Fans
//
#define HEATER_0_PIN 4
#define HEATER_BED_PIN 44
#define FAN_PIN 12 // IO pin. Buffer needed
//
// SD Card
//
#define SD_DETECT_PIN -1
#define SDSS 53
//
// Misc. Functions
//
#define BEEPER_PIN 37
#define KILL_PIN 64
//
// LCD / Controller (Integrated MINIPANEL)
//
#if ENABLED(MINIPANEL)
#define DOGLCD_A0 40
#define DOGLCD_CS 41
#define LCD_BACKLIGHT_PIN 65 // Backlight LED on A11/D65
#define LCD_RESET_PIN 27
#define BTN_EN1 2
#define BTN_EN2 3
#define BTN_ENC 5
// This display has adjustable contrast
#define LCD_CONTRAST_MIN 0
#define LCD_CONTRAST_MAX 255
#define LCD_CONTRAST_INIT LCD_CONTRAST_MAX
#endif

1610
Marlin/src/pins/pins.h Executable file

File diff suppressed because it is too large Load Diff

328
Marlin/src/pins/pinsDebug.h Executable file
View File

@@ -0,0 +1,328 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* 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/>.
*
*/
#include "../inc/MarlinConfig.h"
#define MAX_NAME_LENGTH 39 // one place to specify the format of all the sources of names
// "-" left justify, "39" minimum width of name, pad with blanks
/**
* This routine minimizes RAM usage by creating a FLASH resident array to
* store the pin names, pin numbers and analog/digital flag.
*
* Creating the array in FLASH is a two pass process. The first pass puts the
* name strings into FLASH. The second pass actually creates the array.
*
* Both passes use the same pin list. The list contains two macro names. The
* actual macro definitions are changed depending on which pass is being done.
*
*/
// first pass - put the name strings into FLASH
#define _ADD_PIN_2(PIN_NAME, ENTRY_NAME) static const char ENTRY_NAME[] PROGMEM = { PIN_NAME };
#define _ADD_PIN(PIN_NAME, COUNTER) _ADD_PIN_2(PIN_NAME, entry_NAME_##COUNTER)
#define REPORT_NAME_DIGITAL(COUNTER, NAME) _ADD_PIN(#NAME, COUNTER)
#define REPORT_NAME_ANALOG(COUNTER, NAME) _ADD_PIN(#NAME, COUNTER)
#include "pinsDebug_list.h"
#line 46
// manually add pins that have names that are macros which don't play well with these macros
#if (AVR_ATmega2560_FAMILY || AVR_ATmega1284_FAMILY || defined(ARDUINO_ARCH_SAM) || defined(TARGET_LPC1768))
#if SERIAL_PORT == 0
static const char RXD_NAME_0[] PROGMEM = { "RXD0" };
static const char TXD_NAME_0[] PROGMEM = { "TXD0" };
#elif SERIAL_PORT == 1
static const char RXD_NAME_1[] PROGMEM = { "RXD1" };
static const char TXD_NAME_1[] PROGMEM = { "TXD1" };
#elif SERIAL_PORT == 2
static const char RXD_NAME_2[] PROGMEM = { "RXD2" };
static const char TXD_NAME_2[] PROGMEM = { "TXD2" };
#elif SERIAL_PORT == 3
static const char RXD_NAME_3[] PROGMEM = { "RXD3" };
static const char TXD_NAME_3[] PROGMEM = { "TXD3" };
#endif
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == 0
static const char RXD_NAME_0[] PROGMEM = { "RXD0" };
static const char TXD_NAME_0[] PROGMEM = { "TXD0" };
#elif SERIAL_PORT_2 == 1
static const char RXD_NAME_1[] PROGMEM = { "RXD1" };
static const char TXD_NAME_1[] PROGMEM = { "TXD1" };
#elif SERIAL_PORT_2 == 2
static const char RXD_NAME_2[] PROGMEM = { "RXD2" };
static const char TXD_NAME_2[] PROGMEM = { "TXD2" };
#elif SERIAL_PORT_2 == 3
static const char RXD_NAME_3[] PROGMEM = { "RXD3" };
static const char TXD_NAME_3[] PROGMEM = { "TXD3" };
#endif
#endif
#endif
/////////////////////////////////////////////////////////////////////////////
// second pass - create the array
#undef _ADD_PIN_2
#undef _ADD_PIN
#undef REPORT_NAME_DIGITAL
#undef REPORT_NAME_ANALOG
#define _ADD_PIN_2(ENTRY_NAME, NAME, IS_DIGITAL) { ENTRY_NAME, NAME, IS_DIGITAL },
#define _ADD_PIN(NAME, COUNTER, IS_DIGITAL) _ADD_PIN_2(entry_NAME_##COUNTER, NAME, IS_DIGITAL)
#define REPORT_NAME_DIGITAL(COUNTER, NAME) _ADD_PIN(NAME, COUNTER, true)
#define REPORT_NAME_ANALOG(COUNTER, NAME) _ADD_PIN(analogInputToDigitalPin(NAME), COUNTER, false)
typedef struct {
PGM_P const name;
pin_t pin;
bool is_digital;
} PinInfo;
const PinInfo pin_array[] PROGMEM = {
/**
* [pin name] [pin number] [is digital or analog] 1 = digital, 0 = analog
* Each entry takes up 6 bytes in FLASH:
* 2 byte pointer to location of the name string
* 2 bytes containing the pin number
* analog pin numbers were convereted to digital when the array was created
* 2 bytes containing the digital/analog bool flag
*/
// manually add pins ...
#if SERIAL_PORT == 0
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_0, 0, true },
{ TXD_NAME_0, 1, true },
#elif AVR_ATmega1284_FAMILY
{ RXD_NAME_0, 8, true },
{ TXD_NAME_0, 9, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_0, 3, true },
{ TXD_NAME_0, 2, true },
#endif
#elif SERIAL_PORT == 1
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_1, 19, true },
{ TXD_NAME_1, 18, true },
#elif AVR_ATmega1284_FAMILY
{ RXD_NAME_1, 10, true },
{ TXD_NAME_1, 11, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_1, 16, true },
{ TXD_NAME_1, 15, true },
#endif
#elif SERIAL_PORT == 2
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_2, 17, true },
{ TXD_NAME_2, 16, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_2, 11, true },
{ TXD_NAME_2, 10, true },
#endif
#elif SERIAL_PORT == 3
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_3, 15, true },
{ TXD_NAME_3, 14, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_3, 1, true },
{ TXD_NAME_3, 0, true },
#endif
#endif
#ifdef SERIAL_PORT_2
#if SERIAL_PORT_2 == 0
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_0, 0, true },
{ TXD_NAME_0, 1, true },
#elif AVR_ATmega1284_FAMILY
{ RXD_NAME_0, 8, true },
{ TXD_NAME_0, 9, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_0, 3, true },
{ TXD_NAME_0, 2, true },
#endif
#elif SERIAL_PORT_2 == 1
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_1, 19, true },
{ TXD_NAME_1, 18, true },
#elif AVR_ATmega1284_FAMILY
{ RXD_NAME_1, 10, true },
{ TXD_NAME_1, 11, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_1, 16, true },
{ TXD_NAME_1, 15, true },
#endif
#elif SERIAL_PORT_2 == 2
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_2, 17, true },
{ TXD_NAME_2, 16, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_2, 11, true },
{ TXD_NAME_2, 10, true },
#endif
#elif SERIAL_PORT_2 == 3
#if (AVR_ATmega2560_FAMILY || defined(ARDUINO_ARCH_SAM))
{ RXD_NAME_3, 15, true },
{ TXD_NAME_3, 14, true },
#elif defined(TARGET_LPC1768)
{ RXD_NAME_3, 1, true },
{ TXD_NAME_3, 0, true },
#endif
#endif
#endif
#include "pinsDebug_list.h"
#line 172
};
#include HAL_PATH(../HAL, pinsDebug.h) // get the correct support file for this CPU
#ifndef M43_NEVER_TOUCH
#define M43_NEVER_TOUCH(Q) false
#endif
static void print_input_or_output(const bool isout) {
serialprintPGM(isout ? PSTR("Output = ") : PSTR("Input = "));
}
// pretty report with PWM info
inline void report_pin_state_extended(pin_t pin, const bool ignore, const bool extended=false, PGM_P const start_string=nullptr) {
char buffer[MAX_NAME_LENGTH + 1]; // for the sprintf statements
bool found = false, multi_name_pin = false;
auto alt_pin_echo = [](const pin_t &pin) {
#if AVR_AT90USB1286_FAMILY
// Use FastIO for pins Teensy doesn't expose
if (pin == 46) {
print_input_or_output(IS_OUTPUT(46));
SERIAL_CHAR('0' + READ(46));
return false;
}
else if (pin == 47) {
print_input_or_output(IS_OUTPUT(47));
SERIAL_CHAR('0' + READ(47));
return false;
}
#endif
return true;
};
LOOP_L_N(x, COUNT(pin_array)) { // scan entire array and report all instances of this pin
if (GET_ARRAY_PIN(x) == pin) {
if (!found) { // report digital and analog pin number only on the first time through
if (start_string) serialprintPGM(start_string);
serialprintPGM(PSTR("PIN: "));
PRINT_PIN(pin);
PRINT_PORT(pin);
if (int8_t(DIGITAL_PIN_TO_ANALOG_PIN(pin)) >= 0) {
sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); // analog pin number
SERIAL_ECHO(buffer);
}
else SERIAL_ECHO_SP(8); // add padding if not an analog pin
}
else {
SERIAL_CHAR('.');
SERIAL_ECHO_SP(MULTI_NAME_PAD + (start_string ? strlen_P(start_string) : 0)); // add padding if not the first instance found
}
PRINT_ARRAY_NAME(x);
if (extended) {
if (pin_is_protected(pin) && !ignore)
SERIAL_ECHOPGM("protected ");
else {
if (alt_pin_echo(pin)) {
if (!GET_ARRAY_IS_DIGITAL(x)) {
sprintf_P(buffer, PSTR("Analog in = %5ld"), (long)analogRead(DIGITAL_PIN_TO_ANALOG_PIN(pin)));
SERIAL_ECHO(buffer);
}
else {
if (!GET_PINMODE(pin)) {
//pinMode(pin, INPUT_PULLUP); // make sure input isn't floating - stopped doing this
// because this could interfere with inductive/capacitive
// sensors (high impedance voltage divider) and with Pt100 amplifier
print_input_or_output(false);
SERIAL_ECHO(digitalRead_mod(pin));
}
else if (pwm_status(pin)) {
// do nothing
}
else {
print_input_or_output(true);
SERIAL_ECHO(digitalRead_mod(pin));
}
}
if (!multi_name_pin && extended) pwm_details(pin); // report PWM capabilities only on the first pass & only if doing an extended report
}
}
}
SERIAL_EOL();
multi_name_pin = found;
found = true;
} // end of IF
} // end of for loop
if (!found) {
if (start_string) serialprintPGM(start_string);
serialprintPGM(PSTR("PIN: "));
PRINT_PIN(pin);
PRINT_PORT(pin);
if (int8_t(DIGITAL_PIN_TO_ANALOG_PIN(pin)) >= 0) {
sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); // analog pin number
SERIAL_ECHO(buffer);
}
else
SERIAL_ECHO_SP(8); // add padding if not an analog pin
SERIAL_ECHOPGM("<unused/unknown>");
if (extended) {
if (alt_pin_echo(pin)) {
if (pwm_status(pin)) {
// do nothing
}
else if (GET_PINMODE(pin)) {
SERIAL_ECHO_SP(MAX_NAME_LENGTH - 16);
print_input_or_output(true);
SERIAL_ECHO(digitalRead_mod(pin));
}
else {
if (IS_ANALOG(pin)) {
sprintf_P(buffer, PSTR(" Analog in = %5ld"), (long)analogRead(DIGITAL_PIN_TO_ANALOG_PIN(pin)));
SERIAL_ECHO(buffer);
SERIAL_ECHOPGM(" ");
}
else
SERIAL_ECHO_SP(MAX_NAME_LENGTH - 16); // add padding if not an analog pin
print_input_or_output(false);
SERIAL_ECHO(digitalRead_mod(pin));
}
//if (!pwm_status(pin)) SERIAL_CHAR(' '); // add padding if it's not a PWM pin
if (extended) {
SERIAL_ECHO_SP(MAX_NAME_LENGTH - 16);
pwm_details(pin); // report PWM capabilities only if doing an extended report
}
}
}
SERIAL_EOL();
}
}

1411
Marlin/src/pins/pinsDebug_list.h Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,180 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Einsy-Rambo pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino Mega 2560 or Rambo' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Einsy Rambo"
//
// TMC2130 Configuration_adv defaults for EinsyRambo
//
#if !AXIS_DRIVER_TYPE_X(TMC2130) || !AXIS_DRIVER_TYPE_Y(TMC2130) || !AXIS_DRIVER_TYPE_Z(TMC2130) || !AXIS_DRIVER_TYPE_E0(TMC2130)
#error "You must set ([XYZ]|E0)_DRIVER_TYPE to TMC2130 in Configuration.h for EinsyRambo."
#endif
// TMC2130 Diag Pins (currently just for reference)
#define X_DIAG_PIN 64
#define Y_DIAG_PIN 69
#define Z_DIAG_PIN 68
#define E0_DIAG_PIN 65
//
// Limit Switches
//
// Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
// Otherwise use a physical endstop based configuration.
//
// SERVO0_PIN and Z_MIN_PIN configuration for BLTOUCH sensor when combined with SENSORLESS_HOMING.
//
#if DISABLED(SENSORLESS_HOMING)
#define X_STOP_PIN 12
#define Y_STOP_PIN 11
#define Z_STOP_PIN 10
#else
#define X_STOP_PIN X_DIAG_PIN
#define Y_STOP_PIN Y_DIAG_PIN
#if ENABLED(BLTOUCH)
#define Z_STOP_PIN 11 // Y-MIN
#define SERVO0_PIN 10 // Z-MIN
#else
#define Z_STOP_PIN 10
#endif
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 10
#endif
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 49
#define X_ENABLE_PIN 29
#define X_CS_PIN 41
#define Y_STEP_PIN 36
#define Y_DIR_PIN 48
#define Y_ENABLE_PIN 28
#define Y_CS_PIN 39
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define Z_CS_PIN 67
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_CS_PIN 66
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 3
#define HEATER_BED_PIN 4
#ifndef FAN_PIN
#define FAN_PIN 8
#endif
#ifndef FAN1_PIN
#define FAN1_PIN 6
#endif
//
// Misc. Functions
//
#define SDSS 77
#define LED_PIN 13
#define CASE_LIGHT_PIN 9
//
// M3/M4/M5 - Spindle/Laser Control
//
// use P1 connector for spindle pins
#define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 18 // Pullup!
#define SPINDLE_DIR_PIN 19
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
//
// LCD / Controller
//
#if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL
#define KILL_PIN 32
#if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
#if ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS 85
#define LCD_PINS_ENABLE 71
#define LCD_PINS_D4 70
#define BTN_EN1 61
#define BTN_EN2 59
#else
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 61
#define LCD_PINS_D4 59
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
#define BTN_EN1 14
#define BTN_EN2 72
#endif
#define BTN_ENC 9 // AUX-2
#define BEEPER_PIN 84 // AUX-4
#define SD_DETECT_PIN 15
#endif // ULTIPANEL || TOUCH_UI_ULTIPANEL
#endif // HAS_SPI_LCD

View File

@@ -0,0 +1,195 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Einsy-Retro pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino Mega 2560 or Rambo' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Einsy Retro"
//
// TMC2130 Configuration_adv defaults for EinsyRetro
//
#if !AXIS_DRIVER_TYPE_X(TMC2130) || !AXIS_DRIVER_TYPE_Y(TMC2130) || !AXIS_DRIVER_TYPE_Z(TMC2130) || !AXIS_DRIVER_TYPE_E0(TMC2130)
#error "You must set ([XYZ]|E0)_DRIVER_TYPE to TMC2130 in Configuration.h for EinsyRetro."
#endif
// TMC2130 Diag Pins
#define X_DIAG_PIN 64
#define Y_DIAG_PIN 69
#define Z_DIAG_PIN 68
#define E0_DIAG_PIN 65
//
// Limit Switches
//
// Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
// Otherwise use a physical endstop based configuration.
//
// SERVO0_PIN and Z_MIN_PIN configuration for BLTOUCH sensor when combined with SENSORLESS_HOMING.
//
#if DISABLED(SENSORLESS_HOMING)
#define X_MIN_PIN 12 // X-
#define Y_MIN_PIN 11 // Y-
#define Z_MIN_PIN 10 // Z-
#define X_MAX_PIN 81 // X+
#define Y_MAX_PIN 57 // Y+
#else
#if X_HOME_DIR < 0
#define X_MIN_PIN X_DIAG_PIN
#define X_MAX_PIN 81 // X+
#else
#define X_MIN_PIN 12 // X-
#define X_MAX_PIN X_DIAG_PIN
#endif
#if Y_HOME_DIR < 0
#define Y_MIN_PIN Y_DIAG_PIN
#define Y_MAX_PIN 57 // Y+
#else
#define Y_MIN_PIN 11 // Y-
#define Y_MAX_PIN Y_DIAG_PIN
#endif
#if ENABLED(BLTOUCH)
#define Z_MIN_PIN 11 // Y-MIN
#define SERVO0_PIN 10 // Z-MIN
#else
#define Z_MIN_PIN 10
#endif
#endif
#define Z_MAX_PIN 7
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 10
#endif
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 49
#define X_ENABLE_PIN 29
#define X_CS_PIN 41
#define Y_STEP_PIN 36
#define Y_DIR_PIN 48
#define Y_ENABLE_PIN 28
#define Y_CS_PIN 39
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define Z_CS_PIN 67
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_CS_PIN 66
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 3
#define HEATER_BED_PIN 4
#ifndef FAN_PIN
#define FAN_PIN 8
#endif
#define FAN1_PIN 6
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define CASE_LIGHT_PIN 9
//
// M3/M4/M5 - Spindle/Laser Control
//
// use P1 connector for spindle pins
#define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 18 // Pullup!
#define SPINDLE_DIR_PIN 19
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
//
// LCD / Controller
//
#if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL || ENABLED(TOUCH_UI_FTDI_EVE)
#define KILL_PIN 32
#if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL || ENABLED(TOUCH_UI_FTDI_EVE)
#if ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS 85
#define LCD_PINS_ENABLE 71
#define LCD_PINS_D4 70
#define BTN_EN1 18
#define BTN_EN2 19
#else
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18 // On 0.6b, use 61
#define LCD_PINS_D4 19 // On 0.6b, use 59
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
#define BTN_EN1 14
#define BTN_EN2 72
#endif
#define BTN_ENC 9 // AUX-2
#define BEEPER_PIN 84 // AUX-4
#define SD_DETECT_PIN 15
#endif // ULTIPANEL || TOUCH_UI_ULTIPANEL
#endif // HAS_SPI_LCD

View File

@@ -0,0 +1,192 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Mini-RAMBo pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'RAMBo' in 'Tools > Board' or the Mega2560 environment in PlatformIO."
#endif
#if MB(MINIRAMBO_10A)
#define BOARD_INFO_NAME "Mini RAMBo 1.0a"
#else
#define BOARD_INFO_NAME "Mini RAMBo"
#endif
//
// Limit Switches
//
#define X_MIN_PIN 12
#define X_MAX_PIN 30
#define Y_MIN_PIN 11
#define Y_MAX_PIN 24
#define Z_MIN_PIN 10
#define Z_MAX_PIN 23
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 23
#endif
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_ENABLE_PIN 28
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define MOTOR_CURRENT_PWM_XY_PIN 46
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 44
// Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
#ifndef MOTOR_CURRENT_PWM_RANGE
#define MOTOR_CURRENT_PWM_RANGE 2000
#endif
#define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250}
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 3
#define HEATER_1_PIN 7
#if !MB(MINIRAMBO_10A)
#define HEATER_2_PIN 6
#endif
#define HEATER_BED_PIN 4
#ifndef FAN_PIN
#define FAN_PIN 8
#endif
#define FAN1_PIN 6
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#if !MB(MINIRAMBO_10A)
#define CASE_LIGHT_PIN 9
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
// use P1 connector for spindle pins
#define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 18 // Pullup!
#define SPINDLE_DIR_PIN 19
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#if !MB(MINIRAMBO_10A)
#define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
#endif
//
// LCD / Controller
//
#if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL
#if !MB(MINIRAMBO_10A)
#define KILL_PIN 32
#endif
#if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
#if MB(MINIRAMBO_10A)
#define BEEPER_PIN 78
#define BTN_EN1 80
#define BTN_EN2 73
#define BTN_ENC 21
#define LCD_PINS_RS 38
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 14
#define LCD_PINS_D5 15
#define LCD_PINS_D6 32
#define LCD_PINS_D7 31
#define SD_DETECT_PIN 72
#else // !MINIRAMBO_10A
// AUX-4
#define BEEPER_PIN 84
// AUX-2
#define BTN_EN1 14
#define BTN_EN2 72
#define BTN_ENC 9
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
#define SD_DETECT_PIN 15
#endif // !MINIRAMBO_10A
#endif // ULTIPANEL || TOUCH_UI_ULTIPANEL
#endif // HAS_SPI_LCD

View File

@@ -0,0 +1,249 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* IMPORTANT NOTE:
* Rambo users should be sure to compile Marlin using either the RAMBo
* board type if using the Arduino IDE - available via the link below - or
* the 'rambo' environment if using platformio, by specifying '-e rambo' on
* the command line or by changing the value of the 'env_default' variable to
* 'rambo' in the supplied platformio.ini.
*
* If you don't compile using the proper board type, the RAMBo's extended
* pins will likely be unavailable and accessories/addons may not work.
*
* Instructions for installing the Arduino RAMBo board type for the
* Arduino IDE are available at:
* http://reprap.org/wiki/Rambo_firmware
*/
/**
* Rambo pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Rambo"
//
// Servos
//
#define SERVO0_PIN 22 // Motor header MX1
#define SERVO1_PIN 23 // Motor header MX2
#define SERVO2_PIN 24 // Motor header MX3
#define SERVO3_PIN 5 // PWM header pin 5
//
// Limit Switches
//
#define X_MIN_PIN 12
#define X_MAX_PIN 24
#define Y_MIN_PIN 11
#define Y_MAX_PIN 23
#define Z_MIN_PIN 10
#define Z_MAX_PIN 30
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 30
#endif
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 5
#endif
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_ENABLE_PIN 28
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64
#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS { 4,5,3,0,1 } // X Y Z E0 E1 digipot channels to stepper driver mapping
#ifndef DIGIPOT_MOTOR_CURRENT
#define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 2 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 7
#define HEATER_2_PIN 6
#define HEATER_BED_PIN 3
#ifndef FAN_PIN
#define FAN_PIN 8
#endif
#define FAN1_PIN 6
#define FAN2_PIN 2
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 4
#define CASE_LIGHT_PIN 46
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 3 // Analog Input
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 45 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 31 // Pullup!
#define SPINDLE_DIR_PIN 32
//
// SPI for Max6675 or Max31855 Thermocouple
//
#ifndef MAX6675_SS_PIN
#define MAX6675_SS_PIN 32 // SPINDLE_DIR_PIN / STAT_LED_BLUE_PIN
#endif
//
// M7/M8/M9 - Coolant Control
//
#define COOLANT_MIST_PIN 22
#define COOLANT_FLOOD_PIN 44
//
// Průša i3 MK2 Multiplexer Support
//
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 84 // 84 in MK2 Firmware
//
// LCD / Controller
//
#if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL
#define KILL_PIN 80
#if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
#define LCD_PINS_RS 70
#define LCD_PINS_ENABLE 71
#define LCD_PINS_D4 72
#define LCD_PINS_D5 73
#define LCD_PINS_D6 74
#define LCD_PINS_D7 75
#if ANY(VIKI2, miniVIKI)
#define BEEPER_PIN 44
// NB: Panucatt's Viki 2.0 wiring diagram (v1.2) indicates that the
// beeper/buzzer is connected to pin 33; however, the pin used in the
// diagram is actually pin 44, so this is correct.
#define DOGLCD_A0 70
#define DOGLCD_CS 71
#define LCD_SCREEN_ROT_180
#define BTN_EN1 85
#define BTN_EN2 84
#define BTN_ENC 83
#define SD_DETECT_PIN -1 // Pin 72 if using easy adapter board
#define STAT_LED_RED_PIN 22
#define STAT_LED_BLUE_PIN 32
#else // !VIKI2 && !miniVIKI
#define BEEPER_PIN 79 // AUX-4
// AUX-2
#define BTN_EN1 76
#define BTN_EN2 77
#define BTN_ENC 78
#define SD_DETECT_PIN 81
#endif // !VIKI2 && !miniVIKI
#else // !NEWPANEL - old style panel with shift register
// No Beeper added
#define BEEPER_PIN 33
// 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
#define LCD_PINS_RS 75
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#endif // !NEWPANEL
#endif // HAS_SPI_LCD

View File

@@ -0,0 +1,159 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/************************************************
* Rambo pin assignments MODIFIED FOR Scoovo X9H
************************************************/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Scoovo X9H"
//
// Servos
//
#define SERVO0_PIN 22 // Motor header MX1
#define SERVO1_PIN 23 // Motor header MX2
#define SERVO2_PIN 24 // Motor header MX3
#define SERVO3_PIN 5 // PWM header pin 5
//
// Limit Switches
//
#define X_MIN_PIN 12
#define X_MAX_PIN 24
#define Y_MIN_PIN 11
#define Y_MAX_PIN 23
#define Z_MIN_PIN 10
#define Z_MAX_PIN 30
//
// Z Probe (when not Z_MIN_IN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 30
#endif
//
// Steppers
//
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_ENABLE_PIN 28
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
// Microstepping pins - Mapping not from fastio.h (?)
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64
#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
//
// Temperature Sensors
//
#define TEMP_0_PIN 0 // Analog Input
#define TEMP_BED_PIN 7 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 9
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 3
#ifndef FAN_PIN
#define FAN_PIN 8
#endif
#define FAN1_PIN 6
#define FAN2_PIN 2
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 4
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 3 // Analog Input
#endif
//
// LCD / Controller
//
#define LCD_PINS_RS 70 // Ext2_5
#define LCD_PINS_ENABLE 71 // Ext2_7
#define LCD_PINS_D4 72 // Ext2_9 ?
#define LCD_PINS_D5 73 // Ext2_11 ?
#define LCD_PINS_D6 74 // Ext2_13
#define LCD_PINS_D7 75 // Ext2_15 ?
#define BEEPER_PIN -1
#define BTN_HOME 80 // Ext_16
#define BTN_CENTER 81 // Ext_14
#define BTN_ENC BTN_CENTER
#define BTN_RIGHT 82 // Ext_12
#define BTN_LEFT 83 // Ext_10
#define BTN_UP 84 // Ext2_8
#define BTN_DOWN 85 // Ext2_6
#define HOME_PIN BTN_HOME
#if ANY(VIKI2, miniVIKI)
#define BEEPER_PIN 44
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 70
#define DOGLCD_CS 71
#define LCD_SCREEN_ROT_180
#define SD_DETECT_PIN -1 // Pin 72 if using easy adapter board
#define STAT_LED_RED_PIN 22
#define STAT_LED_BLUE_PIN 32
#endif // VIKI2/miniVIKI

View File

@@ -0,0 +1,162 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* 3DRAG (and K8200 / K8400) Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "3Drag"
#endif
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
#endif
#ifndef DEFAULT_SOURCE_CODE_URL
#define DEFAULT_SOURCE_CODE_URL "http://3dprint.elettronicain.it/"
#endif
//
// Heaters / Fans
//
#define RAMPS_D8_PIN 9
#define RAMPS_D9_PIN 8
#define MOSFET_D_PIN 12
#define CASE_LIGHT_PIN -1 // Hardware PWM but one is not available on expansion header
#include "pins_RAMPS.h"
//
// Limit Switches
//
#undef Z_MAX_PIN
//
// Steppers
//
#undef Z_ENABLE_PIN
#define Z_ENABLE_PIN 63
//
// Heaters / Fans
//
#define HEATER_2_PIN 6
//
// Misc. Functions
//
#undef SDSS
#define SDSS 25
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 53
//
// LCD / Controller
//
#if BOTH(ULTRA_LCD, NEWPANEL)
#undef BEEPER_PIN
#undef LCD_PINS_RS
#undef LCD_PINS_ENABLE
#undef LCD_PINS_D4
#undef LCD_PINS_D5
#undef LCD_PINS_D6
#undef LCD_PINS_D7
#define LCD_PINS_RS 27
#define LCD_PINS_ENABLE 29
#define LCD_PINS_D4 37
#define LCD_PINS_D5 35
#define LCD_PINS_D6 33
#define LCD_PINS_D7 31
// Buttons
#undef BTN_EN1
#undef BTN_EN2
#undef BTN_ENC
#define BTN_EN1 16
#define BTN_EN2 17
#define BTN_ENC 23
#else
#define BEEPER_PIN 33
#endif // HAS_SPI_LCD && NEWPANEL
/**
* M3/M4/M5 - Spindle/Laser Control
*
* If you want to control the speed of your spindle then you'll have
* have to sacrifce the Extruder and pull some signals off the Z stepper
* driver socket.
*
* The following assumes:
* - the Z stepper driver socket is empty
* - the extruder driver socket has a driver board plugged into it
* - the Z stepper wires are attached the the extruder connector
*
* If you want to keep the extruder AND don't have a LCD display then
* you can still control the power on/off and spindle direction.
*
* Where to get spindle signals
*
* stepper signal socket name socket name
* -------
* SPINDLE_LASER_ENA_PIN /ENABLE O| |O VMOT
* MS1 O| |O GND
* MS2 O| |O 2B
* MS3 O| |O 2A
* /RESET O| |O 1A
* /SLEEP O| |O 1B
* SPINDLE_LASER_PWM_PIN STEP O| |O VDD
* SPINDLE_DIR_PIN DIR O| |O GND
* -------
*
* Note: Socket names vary from vendor to vendor
*/
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not good with 3DRAG
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if HAS_CUTTER
#if !EXTRUDERS
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#undef E0_STEP_PIN
#undef Z_DIR_PIN
#undef Z_ENABLE_PIN
#undef Z_STEP_PIN
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 24
#define Z_STEP_PIN 26
#define SPINDLE_LASER_PWM_PIN 46 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 62 // Pullup!
#define SPINDLE_DIR_PIN 48
#elif !BOTH(ULTRA_LCD, NEWPANEL) // use expansion header if no LCD in use
#define SPINDLE_LASER_ENA_PIN 16 // Pullup or pulldown!
#define SPINDLE_DIR_PIN 17
#endif
#endif

View File

@@ -0,0 +1,96 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "Azteeg X3 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#define CASE_LIGHT_PIN 6 // Define before RAMPS pins include
#endif
#define BOARD_INFO_NAME "Azteeg X3"
//
// Servos
//
#define SERVO0_PIN 44 // SERVO1 port
#define SERVO1_PIN 55 // SERVO2 port
#include "pins_RAMPS_13.h"
//
// LCD / Controller
//
#undef STAT_LED_RED_PIN
#undef STAT_LED_BLUE_PIN
#if ANY(VIKI2, miniVIKI)
#undef DOGLCD_A0
#undef DOGLCD_CS
#undef BTN_ENC
#define DOGLCD_A0 31
#define DOGLCD_CS 32
#define BTN_ENC 12
#define STAT_LED_RED_PIN 64
#define STAT_LED_BLUE_PIN 63
#else
#define STAT_LED_RED_PIN 6
#define STAT_LED_BLUE_PIN 11
#endif
//
// Misc
//
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT, STAT_LED_RED) && STAT_LED_RED_PIN == CASE_LIGHT_PIN
#undef STAT_LED_RED_PIN
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3 board
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if HAS_CUTTER
#undef SDA // use EXP3 header
#undef SCL
#if SERVO0_PIN == 7
#undef SERVO0_PIN
#define SERVO0_PIN 11
#endif
#define SPINDLE_LASER_PWM_PIN 7 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 20 // Pullup!
#define SPINDLE_DIR_PIN 21
#endif

View File

@@ -0,0 +1,166 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZTEEG_X3_PRO (Arduino Mega) pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 5 || E_STEPPERS > 5
#error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Azteeg X3 Pro"
//
// RAMPS pins overrides
//
//
// Servos
//
// Tested this pin with bed leveling on a Delta with 1 servo.
// Physical wire attachment on EXT1: GND, 5V, D47.
//
#define SERVO0_PIN 47
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 14
#define Z_STOP_PIN 18
#ifndef FAN_PIN
#define FAN_PIN 6
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#define CASE_LIGHT_PIN 44
#endif
//
// Import RAMPS 1.4 pins
//
#include "pins_RAMPS.h"
// DIGIPOT slave addresses
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT 0x2C (0x58 <- 0x2C << 1)
#endif
#ifndef DIGIPOT_I2C_ADDRESS_B
#define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT 0x2E (0x5C <- 0x2E << 1)
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 18
#endif
//
// Steppers
//
#define E2_STEP_PIN 23
#define E2_DIR_PIN 25
#define E2_ENABLE_PIN 40
#define E3_STEP_PIN 27
#define E3_DIR_PIN 29
#define E3_ENABLE_PIN 41
#define E4_STEP_PIN 43
#define E4_DIR_PIN 37
#define E4_ENABLE_PIN 42
//
// Temperature Sensors
//
#define TEMP_2_PIN 12 // Analog Input
#define TEMP_3_PIN 11 // Analog Input
#define TEMP_4_PIN 10 // Analog Input
#define TC1 4 // Analog Input (Thermo couple on Azteeg X3Pro)
#define TC2 5 // Analog Input (Thermo couple on Azteeg X3Pro)
//
// Heaters / Fans
//
#define HEATER_2_PIN 16
#define HEATER_3_PIN 17
#define HEATER_4_PIN 4
#define HEATER_5_PIN 5
#define HEATER_6_PIN 6
#define HEATER_7_PIN 11
#ifndef CONTROLLER_FAN_PIN
#define CONTROLLER_FAN_PIN 4 // Pin used for the fan to cool motherboard (-1 to disable)
#endif
// Fans/Water Pump to cool the hotend cool side.
#define ORIG_E0_AUTO_FAN_PIN 5
#define ORIG_E1_AUTO_FAN_PIN 5
#define ORIG_E2_AUTO_FAN_PIN 5
#define ORIG_E3_AUTO_FAN_PIN 5
//
// LCD / Controller
//
#undef BEEPER_PIN
#define BEEPER_PIN 33
#if ANY(VIKI2, miniVIKI)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 49 // For easy adapter board
#undef BEEPER_PIN
#define BEEPER_PIN 12 // 33 isn't physically available to the LCD display
#else
#define STAT_LED_RED_PIN 32
#define STAT_LED_BLUE_PIN 35
#endif
//
// Misc. Functions
//
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && defined(DOGLCD_A0) && DOGLCD_A0 == CASE_LIGHT_PIN
#undef DOGLCD_A0 // Steal pin 44 for the case light; if you have a Viki2 and have connected it
#define DOGLCD_A0 57 // following the Panucatt wiring diagram, you may need to tweak these pin assignments
// as the wiring diagram uses pin 44 for DOGLCD_A0
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3pro board
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if HAS_CUTTER // EXP2 header
#if ANY(VIKI2, miniVIKI)
#define BTN_EN2 31 // Pin 7 needed for Spindle PWM
#endif
#define SPINDLE_LASER_PWM_PIN 7 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 20 // Pullup!
#define SPINDLE_DIR_PIN 21
#endif

View File

@@ -0,0 +1,49 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BAM&DICE Due (Arduino Mega) pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "2PrintBeta Due supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "2PrintBeta Due"
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENA_PIN 66 // Pullup or pulldown!
#define SPINDLE_DIR_PIN 67
#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
#include "pins_RAMPS.h"
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#undef TEMP_1_PIN
#define TEMP_0_PIN 9 // Analog Input
#define TEMP_1_PIN 11 // Analog Input

View File

@@ -0,0 +1,40 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* KFB 2.0 Arduino Mega2560 with RAMPS v1.4 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "KFB 2.0 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "KFB 2.0"
//
// Heaters / Fans
//
// Power outputs BEEF or BEFF
#define MOSFET_D_PIN 7
#include "pins_RAMPS.h"

View File

@@ -0,0 +1,116 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* bq ZUM Mega 3D board definition
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "ZUM Mega 3D"
//
// Heaters / Fans
//
#define RAMPS_D8_PIN 10
#define RAMPS_D9_PIN 12
#define RAMPS_D10_PIN 9
#define MOSFET_D_PIN 7
//
// Auto fans
//
#define ORIG_E0_AUTO_FAN_PIN 11
#define ORIG_E1_AUTO_FAN_PIN 6
#define ORIG_E2_AUTO_FAN_PIN 6
#define ORIG_E3_AUTO_FAN_PIN 6
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENA_PIN 40 // Pullup or pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
#define SPINDLE_DIR_PIN 42
//
// Limit Switches
//
#define X_MAX_PIN 79 // 2
//
// Import RAMPS 1.3 pins
//
#include "pins_RAMPS_13.h"
//
// Z Probe (when not Z_MIN_PIN)
//
#undef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19 // IND_S_5V
#undef Z_ENABLE_PIN
#define Z_ENABLE_PIN 77 // 62
//
// Steppers
//
#define DIGIPOTSS_PIN 22
#define DIGIPOT_CHANNELS { 4, 5, 3, 0, 1 }
//
// Temperature Sensors
//
#undef TEMP_1_PIN
#define TEMP_1_PIN 14 // Analog Input (15)
#undef TEMP_BED_PIN
#define TEMP_BED_PIN 15 // Analog Input (14)
//
// Misc. Functions
//
#undef PS_ON_PIN // 12
#define PS_ON_PIN 81 // External Power Supply
#define CASE_LIGHT_PIN 44 // Hardware PWM
// This board has headers for Z-min, Z-max and IND_S_5V *but* as the bq team
// decided to ship the printer only with the probe and no additional Z-min
// endstop and the instruction manual advises the user to connect the probe to
// IND_S_5V the option Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN will not work.
#ifdef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#undef Z_MIN_PIN
#undef Z_MAX_PIN
#define Z_MIN_PIN 19 // IND_S_5V
#define Z_MAX_PIN 18 // Z-MIN Label
#endif
//
// Used by the Hephestos 2 heated bed upgrade kit
//
#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
#undef HEATER_BED_PIN
#define HEATER_BED_PIN 8
#endif

View File

@@ -0,0 +1,34 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#define BOARD_INFO_NAME "Copymaster 3D RAMPS"
#define Z_STEP_PIN 47
#define Y_MAX_PIN 14
#define FIL_RUNOUT_PIN 15
#define SD_DETECT_PIN 66
//
// Import RAMPS 1.4 pins
//
#include "pins_RAMPS.h"

View File

@@ -0,0 +1,184 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Wanhao Duplicator i3 Plus pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "Duplicator i3 Plus"
//
// Limit Switches
//
#define X_STOP_PIN 54 // PF0 / A0
#define Y_STOP_PIN 24 // PA2 / AD2
#define Z_MIN_PIN 23 // PA1 / AD1
#define Z_MAX_PIN 25 // PA3 / AD3
#define SERVO0_PIN 40 // PG1 / !RD
//
// Steppers
//
#define X_STEP_PIN 61 // PF7 / A7
#define X_DIR_PIN 62 // PK0 / A8
#define X_ENABLE_PIN 60 // PF6 / A6
#define Y_STEP_PIN 64 // PK2 / A10
#define Y_DIR_PIN 65 // PK3 / A11
#define Y_ENABLE_PIN 63 // PK1 / A9
#define Z_STEP_PIN 67 // PK5 / A13
#define Z_DIR_PIN 69 // PK7 / A15
#define Z_ENABLE_PIN 66 // PK4 / A12
#define Z_MIN_PROBE_PIN 25 // PA3 / AD3
#define E0_STEP_PIN 58 // PF4 / A4
#define E0_DIR_PIN 59 // PF5 / A5
#define E0_ENABLE_PIN 57 // PF3 / A3
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // PF1 / A1 Analog
#define TEMP_BED_PIN 14 // PK6 / A14 Analog
//
// Heaters / Fans
//
#define HEATER_0_PIN 4 // PG5 / PWM4
#define HEATER_BED_PIN 3 // PE5 / PWM3
#define FAN_PIN 5 // PE3 / PWM5
//
// Misc. Functions
//
#define SDSS 53 // PB0 / SS
#define LED_PIN 13 // PB7 / PWM13
#define MISO_PIN 50 // PB3
#define MOSI_PIN 51 // PB2
#define SCK_PIN 52 // PB1
//
// LCDs and Controllers
//
#if HAS_SPI_LCD
#if ENABLED(ZONESTAR_LCD)
#define LCD_PINS_RS 2
#define LCD_PINS_ENABLE 36
#define LCD_PINS_D4 37
#define LCD_PINS_D5 34
#define LCD_PINS_D6 35
#define LCD_PINS_D7 32
#define ADC_KEYPAD_PIN 12 // Analog
#endif
#endif
/**
* == EXT connector ==
*
* 2 4 6 8 10
* #---------------#
* #2 | ° ° ° ° ° |
* #1 | ° ° ° ° ° |
* #---------------#
* 1 3 5 7 9
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 52 / PG1 (!RD) | 40 #
* # 2 | 95 / PF2 (A2) | 2 #
* # 3 | 54 / PC1 (A9) | 36 #
* # 4 | 53 / PC0 (A8) | 37 #
* # 5 | 56 / PC3 (A11) | 34 #
* # 6 | 55 / PC2 (A10) | 35 #
* # 7 | 58 / PC5 (A13) | 32 #
* # 8 | 57 / PC4 (A12) | 33 #
* # 9 | GND | - #
* # 10 | VCC | + #
* ##################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* == Z-probe connector ==
*
* 1 2 3
* #---------#
* | ° ° ° |
* #---------#
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 24V or 5V | + #
* # 2 | 75 / PA3 (AD3) | 25 #
* # 3 | GND | - #
* ##################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* == Y-endstop == == Z-endstop == == Bed temperature ==
*
* 1 2 1 2 1 2
* #------# #------# #------#
* | ° ° | | ° ° | | ° ° |
* #------# #------# #------#
*
* ############### Y ################ ############### Z ################ ############## BED ###############
* # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino #
* ################################## ################################## ##################################
* # 1 | GND | - # # 1 | GND | - # # 1 | GND | - #
* # 2 | 76 / PA2 (AD2) | 24 # # 2 | 77 / PA1 (AD1) | 23 # # 2 |83 / PK6 (ADC14)| 14 #
* ################################## ################################## ##################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* == SPI connector ==
*
* 5 3 1
* #---------#
* | ° ° ° |
* | ° ° ° |
* #---------#
* 6 4 2
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 22 / PB3 (MISO)| 50 #
* # 2 | VCC | + #
* # 3 | 20 / PB1 (SCK) | 52 #
* # 4 | 21 / PB2 (MOSI)| 51 #
* # 5 | 30 / !RESET | RESET #
* # 6 | GND | - #
* ##################################
*
* Pictogram by Ludy https://github.com/Ludy87
* See: https://sebastien.andrivet.com/en/posts/wanhao-duplicator-i3-plus-3d-printer/
*/

View File

@@ -0,0 +1,63 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* FELIXprinters v2.0/3.0 (RAMPS v1.4) pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Felix 2.0+ supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Felix 2.0+"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
#include "pins_RAMPS.h"
//
// Misc. Functions
//
#define SDPOWER_PIN 1
#define PS_ON_PIN 12
//
// LCD / Controller
//
#if BOTH(ULTRA_LCD, NEWPANEL)
#define SD_DETECT_PIN 6
#endif // NEWPANEL && ULTRA_LCD
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not valid with this board
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN

View File

@@ -0,0 +1,195 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot Raptor pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 3 || E_STEPPERS > 3
#error "Formbot supports up to 3 hotends / E-steppers. Comment out this line to continue."
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "Formbot Raptor"
#endif
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
#endif
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN 6
#define SERVO2_PIN 5
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// 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
#define Z_STEP_PIN 46
#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
#define E2_STEP_PIN 42
#define E2_DIR_PIN 43
#define E2_ENABLE_PIN 44
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 14 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Don't use 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
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 8
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 57
#endif
#if !HAS_FILAMENT_SENSOR
#define FAN1_PIN 4
#endif
//
// Misc. Functions
//
#ifndef SDSS
#define SDSS 53
#endif
#define LED_PIN 13
#define LED4_PIN 5
// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
#define FILWIDTH_PIN 5 // Analog Input
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#define CASE_LIGHT_PIN 5
//
// LCD / Controller
//
// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
//
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 37
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#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
#define LCD_PINS_D7 29
#endif

View File

@@ -0,0 +1,68 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot Raptor 2 pin assignments
*/
#define BOARD_INFO_NAME "Formbot Raptor2"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
#define FAN_PIN 6
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 22
#endif
#include "pins_FORMBOT_RAPTOR.h"
#define GREEDY_PANEL ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if !NUM_SERVOS // Try to use servo connector first
#define SPINDLE_LASER_ENA_PIN 6 // Pullup or pulldown!
#define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM
#define SPINDLE_DIR_PIN 5
#elif !GREEDY_PANEL // Try to use AUX2
#define SPINDLE_LASER_ENA_PIN 4 // Pullup or pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
#define SPINDLE_DIR_PIN 65
#endif
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#if NUM_SERVOS <= 1 // Try to use servo connector first
#define CASE_LIGHT_PIN 6 // Hardware PWM
#elif !GREEDY_PANEL // Try to use AUX2
#define CASE_LIGHT_PIN 44 // Hardware PWM
#endif
#endif
#undef GREEDY_PANEL
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && (CASE_LIGHT_PIN == SPINDLE_LASER_ENA_PIN || CASE_LIGHT_PIN == SPINDLE_LASER_PWM_PIN)
#error "CASE_LIGHT_PIN conflicts with a Spindle / Laser pin."
#endif

View File

@@ -0,0 +1,205 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Override default LCD timing for Formbot T-Rex 2+ machines.
* The long LCD cables and the routing near electrically noisy stepper motors
* requires a slightly longer setup and hold time on the signals.
*/
#define BOARD_ST7920_DELAY_1 DELAY_NS(200)
#define BOARD_ST7920_DELAY_2 DELAY_NS(200)
#define BOARD_ST7920_DELAY_3 DELAY_NS(200)
/**
* Formbot pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "Formbot supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Formbot"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN -1 // was 6
#define SERVO2_PIN -1 // was 5
#define SERVO3_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// 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
#define Z_STEP_PIN 46
#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
#define E2_STEP_PIN 42
#define E2_DIR_PIN 43
#define E2_ENABLE_PIN 44
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 3 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Don't use 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
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 58
#define FAN_PIN 9
#if HAS_FILAMENT_SENSOR
#define FIL_RUNOUT_PIN 4
//#define FIL_RUNOUT2_PIN -1
#else
// Though defined as a fan pin, it is utilized as a dedicated laser pin by Formbot.
#define FAN1_PIN 4
#endif
//
// Misc. Functions
//
#define SDSS 53
#ifndef LED_PIN
#define LED_PIN 13 // The Formbot v 1 board has almost no unassigned pins on it. The Board's LED
#endif // is a good place to get a signal to control the Max7219 LED Matrix.
// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
#define FILWIDTH_PIN 5 // Analog Input
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#define CASE_LIGHT_PIN 8
//
// LCD / Controller
//
// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
//
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#ifndef BEEPER_PIN
#define BEEPER_PIN 37
#endif
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
// Allow MAX7219 to steal the KILL pin
#if !defined(KILL_PIN) && MAX7219_CLK_PIN != 41 && MAX7219_DIN_PIN != 41 && MAX7219_LOAD_PIN != 41
#define KILL_PIN 41
#endif
#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
#define LCD_PINS_D7 29
#endif

View File

@@ -0,0 +1,171 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "Formbot supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Formbot"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN -1 // was 6
#define SERVO2_PIN -1
#define SERVO3_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// 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
#define Z_STEP_PIN 46
#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
#define E2_STEP_PIN 42
#define E2_DIR_PIN 43
#define E2_ENABLE_PIN 44
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 14 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 8
#define FAN_PIN 9
#define FAN1_PIN 12
#define NUM_RUNOUT_SENSORS 2
#define FIL_RUNOUT_PIN 22
#define FIL_RUNOUT2_PIN 21
//
// Misc. Functions
//
#define CASE_LIGHT_PIN 5
#define SDSS 53
#ifndef LED_PIN
#define LED_PIN 13
#endif
#define SPINDLE_LASER_PWM_PIN -1 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 4 // Pullup!
// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
#define FILWIDTH_PIN 5 // Analog Input
//
// LCD / Controller
//
// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
//
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#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
#define LCD_PINS_D7 29
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#ifndef KILL_PIN
#define KILL_PIN 41
#endif
#ifndef BEEPER_PIN
#define BEEPER_PIN 37
#endif
#endif

View File

@@ -0,0 +1,279 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
//
// FYSETC F6 1.3 (and 1.4) pin assignments
//
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'FYSETC F6' in 'Tools > Board.'"
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "FYSETC F6 1.3"
#endif
#define RESET_PIN 30
#define SPI_FLASH_CS 83
//
// Servos
//
#define SERVO0_PIN 13
#define SERVO1_PIN 11 // (PS_ON_PIN)
#define SERVO2_PIN 10 // (FIL_RUNOUT_PIN)
#define SERVO3_PIN 4 // (RGB_LED_G_PIN)
//
// Limit Switches
//
#define X_MIN_PIN 63
#define X_MAX_PIN 64
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 12
#ifndef Z_MAX_PIN
#define Z_MAX_PIN 9
#endif
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN SERVO2_PIN
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 9 // Servos pin
#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 70
#endif
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#ifndef Y_CS_PIN
#define Y_CS_PIN 39
#endif
#define Z_STEP_PIN 43
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 58
#ifndef Z_CS_PIN
#define Z_CS_PIN 74
#endif
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#ifndef E0_CS_PIN
#define E0_CS_PIN 47
#endif
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#ifndef E1_CS_PIN
#define E1_CS_PIN 32
#endif
#define E2_STEP_PIN 59
#define E2_DIR_PIN 57
#define E2_ENABLE_PIN 40
#ifndef E2_CS_PIN
#define E2_CS_PIN 42
#endif
//
// Sensorless homing DIAG pin is not directly connected to the MCU. Close
// the jumper next to the limit switch socket when using sensorless homing.
//
#if HAS_TMC_UART
/**
* TMC2208/TMC2209 stepper drivers
*
* Software serial communication pins.
* At the moment, F6 rx pins are not pc interrupt pins
*/
#ifndef X_SERIAL_RX_PIN
#define X_SERIAL_RX_PIN -1 // 71
#endif
#ifndef X_SERIAL_TX_PIN
#define X_SERIAL_TX_PIN 72
#endif
#ifndef Y_SERIAL_RX_PIN
#define Y_SERIAL_RX_PIN -1 // 73
#endif
#ifndef Y_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN 75
#endif
#ifndef Z_SERIAL_RX_PIN
#define Z_SERIAL_RX_PIN -1 // 78
#endif
#ifndef Z_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN 79
#endif
#ifndef E0_SERIAL_RX_PIN
#define E0_SERIAL_RX_PIN -1 // 76
#endif
#ifndef E0_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN 77
#endif
#ifndef E1_SERIAL_RX_PIN
#define E1_SERIAL_RX_PIN -1 // 80
#endif
#ifndef E1_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN 81
#endif
#ifndef E2_SERIAL_RX_PIN
#define E2_SERIAL_RX_PIN -1 // 22
#endif
#ifndef E2_SERIAL_TX_PIN
#define E2_SERIAL_TX_PIN 82
#endif
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 12 // Analog Input
#define TEMP_1_PIN 13 // Analog Input
#define TEMP_2_PIN 14 // Analog Input
#define TEMP_BED_PIN 15 // Analog Input
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 9 // Analog Input on X+ endstop
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 5
#define HEATER_1_PIN 6
#define HEATER_2_PIN 7
#define HEATER_BED_PIN 8
#define FAN_PIN 44
#define FAN1_PIN 45
#define FAN2_PIN 46
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define KILL_PIN 41
#ifndef PS_ON_PIN
#define PS_ON_PIN SERVO1_PIN
#endif
/**
* ----- -----
* 5V/D41 | · · | GND 5V | · · | GND
* RESET | · · | D49 (SD_DETECT) (LCD_D7) D29 | · · | D27 (LCD_D6)
* (MOSI) D51 | · · | D33 (BTN_EN2) (LCD_D5) D25 | · · | D23 (LCD_D4)
* (SD_SS) D53 | · · | D31 (BTN_EN1) (LCD_RS) D16 | · · | D17 (LCD_EN)
* (SCK) D52 | · · | D50 (MISO) (BTN_ENC) D35 | · · | D37 (BEEPER)
* ----- -----
* EXP2 EXP1
*/
//
// LCDs and Controllers
//
#define BEEPER_PIN 37
#define SD_DETECT_PIN 49
#if ENABLED(FYSETC_MINI_12864)
//
// See https://wiki.fysetc.com/Mini12864_Panel/?fbclid=IwAR1FyjuNdVOOy9_xzky3qqo_WeM5h-4gpRnnWhQr_O1Ef3h0AFnFXmCehK8
//
#define DOGLCD_A0 16
#define DOGLCD_CS 17
#if ENABLED(FYSETC_GENERIC_12864_1_1)
#define LCD_BACKLIGHT_PIN 27
#endif
#define KILL_PIN 41
#define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
// Seems to work best if left open.
#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
#elif HAS_GRAPHICAL_LCD
#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
#define LCD_PINS_D7 29
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS 25
#define DOGLCD_A0 27
#endif
#endif
#if ENABLED(NEWPANEL)
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#endif
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 3
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 4
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 9
#endif
#ifndef RGB_LED_W_PIN
#define RGB_LED_W_PIN -1
#endif

View File

@@ -0,0 +1,50 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
//
// FYSETC F6 v1.4 pin assignments
//
#define BOARD_NAME "FYSETC F6 1.4"
#define Z_MAX_PIN 2
#if HAS_TMC_UART
/**
* TMC2208/TMC2209 stepper drivers
*/
#define X_SERIAL_RX_PIN 72
#define X_SERIAL_TX_PIN 71
#define Y_SERIAL_RX_PIN 73
#define Y_SERIAL_TX_PIN 78
#define Z_SERIAL_RX_PIN 75
#define Z_SERIAL_TX_PIN 79
#define E0_SERIAL_RX_PIN 77
#define E0_SERIAL_TX_PIN 81
#define E1_SERIAL_RX_PIN 76
#define E1_SERIAL_TX_PIN 80
#define E2_SERIAL_RX_PIN 62
#define E2_SERIAL_TX_PIN 82
#endif
#include "pins_FYSETC_F6_13.h"

View File

@@ -0,0 +1,33 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* K8200 Arduino Mega with RAMPS v1.3 pin assignments
* Identical to 3DRAG
*/
#define BOARD_INFO_NAME "Velleman K8200"
#define DEFAULT_MACHINE_NAME "K8200"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/CONSULitAS/Marlin-K8200"
#include "pins_3DRAG.h"

View File

@@ -0,0 +1,73 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Velleman K8400 (Vertex)
* 3DRAG clone
*
* K8400 has some minor differences over a normal 3Drag:
* - No X/Y max endstops
* - Second extruder step pin has moved
* - No power supply control
* - Second heater has moved pin
*/
#define BOARD_INFO_NAME "K8400"
#define DEFAULT_MACHINE_NAME "Vertex"
#include "pins_3DRAG.h"
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 14
#undef X_MIN_PIN
#undef X_MAX_PIN
#undef Y_MIN_PIN
#undef Y_MAX_PIN
//
// Steppers
//
#undef E1_STEP_PIN
#define E1_STEP_PIN 32
//
// Heaters / Fans
//
#undef HEATER_1_PIN
#define HEATER_1_PIN 11
//
// Misc. Functions
//
#undef PS_ON_PIN
#undef KILL_PIN
#undef SD_DETECT_PIN
#if Z_STEP_PIN == 26
#undef Z_STEP_PIN
#define Z_STEP_PIN 32
#endif

View File

@@ -0,0 +1,109 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Velleman K8800 (Vertex)
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "K8800"
#define DEFAULT_MACHINE_NAME "Vertex Delta"
//#define LCD_SCREEN_ROT_180
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 14
#define Z_MIN_PIN 68 // Used for bed leveling
#define Z_MAX_PIN 66
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 63
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#define E1_STEP_PIN 32
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
//
// Temperature Sensors
//
#define TEMP_0_PIN 13
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define FAN_PIN 8
#define CONTROLLER_FAN_PIN 9
//
// Misc. Functions
//
#define SDSS 25
#define FIL_RUNOUT_PIN 69 // PK7
#define KILL_PIN 20 // PD1
//
// LCD / Controller
//
#define SD_DETECT_PIN 21 // PD0
#define LCD_SDSS 53
#define BEEPER_PIN 6
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define LCD_PINS_RS 27
#define LCD_PINS_ENABLE 29
#define LCD_PINS_D4 37
#define LCD_PINS_D5 35
#define LCD_PINS_D6 33
#define LCD_PINS_D7 31
#if ENABLED(NEWPANEL)
#define BTN_EN1 17
#define BTN_EN2 16
#define BTN_ENC 23
#endif

View File

@@ -0,0 +1,33 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#define BOARD_INFO_NAME "MAKEboard Mini"
//
// Only 3 Limit Switch plugs on Micromake C1
//
#define X_STOP_PIN 2
#define Y_STOP_PIN 15
#define Z_STOP_PIN 19
#include "pins_RAMPS.h"

View File

@@ -0,0 +1,37 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE 1.0 Arduino Mega2560 with RAMPS v1.4 pin assignments
*
* Rev B - Override pin definitions for CASE_LIGHT and M3/M4/M5 spindle control
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS BASE 1.0 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS BASE 1.0"
#define MKS_BASE_VERSION 10
#include "pins_MKS_BASE_common.h"

View File

@@ -0,0 +1,166 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE v1.4 with A4982 stepper drivers and digital micro-stepping
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS BASE 1.4 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS BASE 1.4"
#define MKS_BASE_VERSION 14
//
// Heaters / Fans
//
#define FAN_PIN 9 // PH6 ** Pin18 ** PWM9
// Other Mods
#define CASE_LIGHT_PIN 11 // PB5 ** Pin24 ** PWM11
#define SERVO3_PIN 12 // PB6 ** Pin25 ** D12
#define PS_ON_PIN 2 // X+ // PE4 ** Pin6 ** PWM2 **MUST BE HARDWARE PWM
#define FILWIDTH_PIN 15 // Y+ // PJ0 ** Pin63 ** USART3_RX **Pin should have a pullup!
#define FIL_RUNOUT_PIN 19 // Z+ // PD2 ** Pin45 ** USART1_RX
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 50
#endif
#ifndef RGB_LED_R_PIN
#define RGB_LED_G_PIN 51
#endif
#ifndef RGB_LED_R_PIN
#define RGB_LED_B_PIN 52
#endif
#include "pins_MKS_BASE_common.h"
/*
Available connectors on MKS BASE v1.4
=======
| GND |
|-----| E0
| 10 | (10) PB4 ** Pin23 ** PWM10
|-----|
| GND |
|-----| E1
| 7 | ( 7) PH4 ** Pin16 ** PWM7
|-----|
| GND |
|-----| FAN
| 9 | ( 9) PH6 ** Pin18 ** PWM9
=======
=======
| GND |
|-----| Heated Bed
| 8 | ( 8) PH5 ** Pin17 ** PWM8
=======
==========
| 12-24V |
|--------| Power
| GND |
==========
XS3 Connector
=================
| 65 | GND | 5V | (65) PK3 ** Pin86 ** A11
|----|-----|----|
| 66 | GND | 5V | (66) PK4 ** Pin85 ** A12
=================
Servos Connector
=================
| 11 | GND | 5V | (11) PB5 ** Pin24 ** PWM11
|----|-----|----|
| 12 | GND | 5V | (12) PB6 ** Pin25 ** PWM12
=================
ICSP
=================
| 5V | 51 | GND | (51) PB2 ** Pin21 ** SPI_MOSI
|----|----|-----|
| 50 | 52 | RST | (50) PB3 ** Pin22 ** SPI_MISO
================= (52) PB1 ** Pin20 ** SPI_SCK
XS6/AUX-1 Connector
======================
| 5V | GND | NC | 20 | (20) PD1 ** Pin44 ** I2C_SDA
|----|-----|----|----|
| 50 | 51 | 52 | 21 | (50) PB3 ** Pin22 ** SPI_MISO
====================== (51) PB2 ** Pin21 ** SPI_MOSI
(52) PB1 ** Pin20 ** SPI_SCK
(21) PD0 ** Pin43 ** I2C_SCL
Temperature
==================================
| GND | 69 | GND | 68 | GND | 67 |
==================================
(69) PK7 ** Pin82 ** A15
(68) PK6 ** Pin83 ** A14
(67) PK5 ** Pin84 ** A13
Limit Switches
============
| 2 | GND | X+ ( 2) PE4 ** Pin6 ** PWM2
|----|-----|
| 3 | GND | X- ( 3) PE5 ** Pin7 ** PWM3
|----|-----|
| 15 | GND | Y+ (15) PJ0 ** Pin63 ** USART3_RX
|----|-----|
| 14 | GND | Y- (14) PJ1 ** Pin64 ** USART3_TX
|----|-----|
| 19 | GND | Z+ (19) PD2 ** Pin45 ** USART1_RX
|----|-----|
| 18 | GND | Z- (18) PD3 ** Pin46 ** USART1_TX
============
EXP1
============
| 37 | 35 | (37) PC0 ** Pin53 ** D37
|-----|----| (35) PC2 ** Pin55 ** D35
| 17 | 16 | (17) PH0 ** Pin12 ** USART2_RX
|-----|----| (16) PH1 ** Pin13 ** USART2_TX
| 23 | 25 | (23) PA1 ** Pin77 ** D23
|-----|----| (25) PA3 ** Pin75 ** D25
| 27 | 29 | (27) PA5 ** Pin73 ** D27
|-----|----| (29) PA7 ** Pin71 ** D29
| GND | 5V |
============
EXP2
============
| 50 | 52 | (50) PB3 ** Pin22 ** SPI_MISO
|-----|----| (52) PB1 ** Pin20 ** SPI_SCK
| 31 | 53 | (31) PC6 ** Pin59 ** D31
|-----|----| (53) PB0 ** Pin19 ** SPI_SS
| 33 | 51 | (33) PC4 ** Pin57 ** D33
|-----|----| (51) PB2 ** Pin21 ** SPI_MOSI
| 49 | 41 | (49) PL0 ** Pin35 ** D49
|-----|----| (41) PG0 ** Pin51 ** D41
| GND | NC |
============
*/

View File

@@ -0,0 +1,35 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE v1.5 with A4982 stepper drivers and digital micro-stepping
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS BASE 1.5 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS BASE 1.5"
#define MKS_BASE_VERSION 15
#include "pins_MKS_BASE_common.h"

View File

@@ -0,0 +1,59 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE v1.6 with A4982 stepper drivers and digital micro-stepping
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS BASE 1.6 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS BASE 1.6"
#define MKS_BASE_VERSION 16
//
// Servos
//
#define SERVO1_PIN 12 // Digital 12 / Pin 25
//
// Omitted RAMPS pins
//
#ifndef SERVO2_PIN
#define SERVO2_PIN -1
#endif
#ifndef SERVO3_PIN
#define SERVO3_PIN -1
#endif
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN -1
#endif
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN -1
#endif
#ifndef PS_ON_PIN
#define PS_ON_PIN -1
#endif
#include "pins_MKS_BASE_common.h"

View File

@@ -0,0 +1,36 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE with Heroic HR4982 stepper drivers
*/
#include "pins_MKS_BASE_15.h"
/**
* Some new boards use HR4982 (Heroic) instead of the A4982 (Allegro) stepper drivers.
* Most the functionality is similar, the HR variant obviously doesn't work with diode
* smoothers (no fast decay). And the Heroic has a 128 µStepping mode where the A4982
* is doing quarter steps (MS1=0, MS2=1).
*/
#define HEROIC_STEPPER_DRIVERS

View File

@@ -0,0 +1,75 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE Arduino Mega2560 with RAMPS pin assignments
*/
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "MKS BASE"
#endif
#if MKS_BASE_VERSION >= 14
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER
#define SPINDLE_LASER_PWM_PIN 2 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 15 // Pullup!
#define SPINDLE_DIR_PIN 19
#endif
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 2
#endif
#endif
//
// Microstepping pins
//
#if MKS_BASE_VERSION >= 14 // |===== 1.4 =====|===== 1.5+ =====|
#define X_MS1_PIN 5 // PE3 | Pin 5 | PWM5 | | D3 | SERVO2_PIN
#define X_MS2_PIN 6 // PH3 | Pin 15 | PWM6 | Pin 14 | D6 | SERVO1_PIN
#define Y_MS1_PIN 59 // PF5 | Pin 92 | A5 | | |
#define Y_MS2_PIN 58 // PF4 | Pin 93 | A4 | | |
#define Z_MS1_PIN 22 // PA0 | Pin 78 | D22 | | |
#define Z_MS2_PIN 39 // PG2 | Pin 70 | D39 | | |
#if MKS_BASE_VERSION == 14
#define E0_MS1_PIN 64 // PK2 | Pin 87 | A10 | | |
#define E0_MS2_PIN 63 // PK1 | Pin 88 | A9 | | |
#else
#define E0_MS1_PIN 63 // PK1 | | | Pin 86 | A9 |
#define E0_MS2_PIN 64 // PK2 | | | Pin 87 | A10 |
#endif
#define E1_MS1_PIN 57 // PF3 | Pin 94 | A3 | Pin 93 | A3 |
#define E1_MS2_PIN 4 // PG5 | Pin 1 | PWM4 | | D4 | SERVO3_PIN
#endif
#include "pins_RAMPS.h"

View File

@@ -0,0 +1,147 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.4 adjusted pin assignments
*
* MKS GEN v1.3 (Extruder, Fan, Bed)
* MKS GEN v1.3 (Extruder, Extruder, Fan, Bed)
* MKS GEN v1.4 (Extruder, Fan, Bed)
* MKS GEN v1.4 (Extruder, Extruder, Fan, Bed)
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS GEN 1.3/1.4 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS GEN >= v1.3"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
//
// PSU / SERVO
//
// If PSU_CONTROL is specified, always hijack Servo 3
//
#if ENABLED(PSU_CONTROL)
#define SERVO3_PIN -1
#define PS_ON_PIN 4
#endif
#include "pins_RAMPS.h"
//
// LCD / Controller
//
#if ANY(VIKI2, miniVIKI)
/**
* VIKI2 Has two groups of wires with...
*
* +Vin + Input supply, requires 120ma for LCD and mSD card
* GND Ground Pin
* MOSI Data input for LCD and SD
* MISO Data output for SD
* SCK Clock for LCD and SD
* AO Reg. Sel for LCD
* LCS Chip Select for LCD
* SDCS Chip Select for SD
* SDCD Card Detect pin for SD
* ENCA Encoder output A
* ENCB Encoder output B
* ENCBTN Encoder button switch
*
* BTN Panel mounted button switch
* BUZZER Piezo buzzer
* BLUE-LED Blue LED ring pin (3 to 5v, mosfet buffered)
* RED-LED Red LED ring pin (3 to 5v, mosfet buffered)
*
* This configuration uses the following arrangement:
*
* EXP1 D37 = EN2 D35 = EN1 EXP2 D50 = MISO D52 = SCK
* D17 = BLUE D16 = RED D31 = ENC D53 = SDCS
* D23 = KILL D25 = BUZZ D33 = --- D51 = MOSI
* D27 = A0 D29 = LCS D49 = SDCD RST = ---
* GND = GND 5V = 5V GND = --- D41 = ---
*/
#undef BTN_EN1
#undef BTN_EN2
#undef BTN_ENC
#undef DOGLCD_A0
#undef DOGLCD_CS
#undef SD_DETECT_PIN
#undef BEEPER_PIN
#undef KILL_PIN
#undef STAT_LED_RED_PIN
#undef STAT_LED_BLUE_PIN
//
// VIKI2 12-wire lead
//
// orange/white SDCD
#define SD_DETECT_PIN 49
// white ENCA
#define BTN_EN1 35
// green ENCB
#define BTN_EN2 37
// purple ENCBTN
#define BTN_ENC 31
// brown A0
#define DOGLCD_A0 27
// green/white LCS
#define DOGLCD_CS 29
// 50 gray MISO
// 51 yellow MOSI
// 52 orange SCK
// blue SDCS
//#define SDSS 53
//
// VIKI2 4-wire lead
//
// blue BTN
#define KILL_PIN 23
// green BUZZER
#define BEEPER_PIN 25
// yellow RED-LED
#define STAT_LED_RED_PIN 16
// white BLUE-LED
#define STAT_LED_BLUE_PIN 17
#endif

View File

@@ -0,0 +1,53 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS GEN L Arduino Mega2560 with RAMPS v1.4 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS GEN L supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS GEN L"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
//
// CS Pins wired to avoid conflict with the LCD
// See https://www.thingiverse.com/asset:66604
//
#ifndef X_CS_PIN
#define X_CS_PIN 59
#endif
#ifndef Y_CS_PIN
#define Y_CS_PIN 63
#endif
#include "pins_RAMPS.h"

View File

@@ -0,0 +1,89 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS GEN L V2 Arduino Mega2560 with RAMPS v1.4 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS GEN L V2 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS GEN L V2"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
//
// CS Pins wired to avoid conflict with the LCD
// See https://www.thingiverse.com/asset:66604
//
#ifndef X_CS_PIN
#define X_CS_PIN 63
#endif
#ifndef Y_CS_PIN
#define Y_CS_PIN 64
#endif
#ifndef Z_CS_PIN
#define Z_CS_PIN 65
#endif
#ifndef E0_CS_PIN
#define E0_CS_PIN 66
#endif
#ifndef E1_CS_PIN
#define E1_CS_PIN 21
#endif
// TMC2130 Diag Pins (currently just for reference)
#define X_DIAG_PIN 3
#define Y_DIAG_PIN 14
#define Z_DIAG_PIN 18
#define E0_DIAG_PIN 2
#define E1_DIAG_PIN 15
#ifndef SERVO1_PIN
#define SERVO1_PIN 12
#endif
#ifndef SERVO2_PIN
#define SERVO2_PIN 39
#endif
#ifndef SERVO3_PIN
#define SERVO3_PIN 32
#endif
#ifndef E1_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN 20
#endif
#ifndef E1_SERIAL_RX_PIN
#define E1_SERIAL_RX_PIN 21
#endif
#include "pins_RAMPS.h"

View File

@@ -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 <http://www.gnu.org/licenses/>.
*
*/
#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 14
#endif
#ifndef Y_MAX_PIN
#define Y_MAX_PIN 15
#endif
#endif
#ifndef Z_STOP_PIN
#ifndef Z_MIN_PIN
#define Z_MIN_PIN 18
#endif
#ifndef Z_MAX_PIN
#define Z_MAX_PIN 19
#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 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

View File

@@ -0,0 +1,42 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.3 pin assignments
*
* Applies to the following boards:
*
* RAMPS_13_EFB (Extruder, Fan, Bed)
* RAMPS_13_EEB (Extruder, Extruder, Bed)
* RAMPS_13_EFF (Extruder, Fan, Fan)
* RAMPS_13_EEF (Extruder, Extruder, Fan)
* RAMPS_13_SF (Spindle, Controller Fan)
*
*/
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "RAMPS 1.3"
#endif
#define IS_RAMPS_13
#include "pins_RAMPS.h"

View File

@@ -0,0 +1,62 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Creality3D RAMPS supports only 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Creality3D RAMPS"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
#define FIL_RUNOUT_PIN 2
#if NUM_RUNOUT_SENSORS > 1
#define FIL_RUNOUT2_PIN 15 // Creality CR-X can use dual runout sensors
#endif
#define SD_DETECT_PIN 49 // Always define onboard SD detect
#define PS_ON_PIN 40 // Used by CR2020 Industrial series
#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN)
#define CASE_LIGHT_PIN 65
#endif
#include "pins_RAMPS.h"
#ifndef BEEPER_PIN
#define BEEPER_PIN 37 // Always define beeper pin so Play Tone works with ExtUI
#endif
#define EXP1_PIN 65 // A11 - Used by CR2020 Industrial series for case
#define EXP2_PIN 66 // A12
#define EXP3_PIN 11 // SERVO0_PIN
#define EXP4_PIN 12 // PS_ON_PIN
#define SUICIDE_PIN 12 // Used by CR2020 Industrial series
#define SUICIDE_PIN_INVERTING true // Used by CR2020 Industrial series

View File

@@ -0,0 +1,40 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Dagoma3D F5 RAMPS supports only 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Dagoma3D F5 RAMPS"
#define X_STOP_PIN 2
#define Y_STOP_PIN 3
#define Z_STOP_PIN 15
#define FIL_RUNOUT_PIN 39
#define ORIG_E0_AUTO_FAN_PIN 7
//
// Import RAMPS 1.4 pins
//
#include "pins_RAMPS.h"

View File

@@ -0,0 +1,41 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if HOTENDS > 1 || E_STEPPERS > 1
#error "Ender-4 supports only 1 hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Ender-4"
#include "pins_RAMPS.h"
// The board only has one PWM fan connector. The others are 12V always-on.
// The default config uses this pin to control the brightness of the LED
// band (case light). Thus the hotend and controller fans are always-on.
#if ENABLED(CASE_LIGHT_ENABLE)
#undef FAN_PIN
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN RAMPS_D9_PIN
#endif
#endif

View File

@@ -0,0 +1,116 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.0, v1.1, v1.2 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "RAMPS <1.2"
// Uncomment the following line for RAMPS v1.0
//#define RAMPS_V_1_0
//
// Limit Switches
//
#define X_MIN_PIN 3
#define X_MAX_PIN 2
#define Y_MIN_PIN 16
#define Y_MAX_PIN 17
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 28
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 38
#define Y_DIR_PIN 40
#define Y_ENABLE_PIN 36
#define Z_STEP_PIN 44
#define Z_DIR_PIN 46
#define Z_ENABLE_PIN 42
#define E0_STEP_PIN 32
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
//
// Temperature Sensors
//
#define TEMP_0_PIN 2 // Analog Input
#define TEMP_BED_PIN 1 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
#endif
//
// Heaters / Fans
//
#if ENABLED(RAMPS_V_1_0)
#define HEATER_0_PIN 12
#define HEATER_BED_PIN -1
#ifndef FAN_PIN
#define FAN_PIN 11
#endif
#else // RAMPS_V_1_1 or RAMPS_V_1_2
#define HEATER_0_PIN 10
#define HEATER_BED_PIN 8
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
#endif
//
// Misc. Functions
//
#define SDPOWER_PIN 48
#define SDSS 53
#define LED_PIN 13
#define CASE_LIGHT_PIN 45 // Hardware PWM
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENA_PIN 41 // Pullup or pulldown!
#define SPINDLE_LASER_PWM_PIN 45 // Hardware PWM
#define SPINDLE_DIR_PIN 43

View File

@@ -0,0 +1,86 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.4Plus, also known as 3DYMY version, pin assignments
* The differences to the RAMPS v1.4 are:
* - Swap heater E0 with E1
* - Swap pins 8 and 10. Bed/Fan/Hotend as labeled on the board are on pins 8/9/10.
* - Change pins 16->42, 17->44 and 29->53 used for display.
*
* Applies to the following boards:
*
* RAMPS_PLUS_EFB (Extruder, Fan, Bed)
* RAMPS_PLUS_EEB (Extruder, Extruder, Bed)
* RAMPS_PLUS_EFF (Extruder, Fan, Fan)
* RAMPS_PLUS_EEF (Extruder, Extruder, Fan)
* RAMPS_PLUS_SF (Spindle, Controller Fan)
*
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_INFO_NAME "RAMPS 1.4 Plus"
#define RAMPS_D8_PIN 10
#define RAMPS_D10_PIN 8
#include "pins_RAMPS.h"
//
// Steppers - Swap E0 / E1 on 3DYMY
//
#undef E0_STEP_PIN
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#undef E1_STEP_PIN
#undef E1_DIR_PIN
#undef E1_ENABLE_PIN
#define E0_STEP_PIN 36
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
#define E1_STEP_PIN 26
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 24
#undef X_CS_PIN
#undef Y_CS_PIN
#undef Z_CS_PIN
#undef E0_CS_PIN
#undef E1_CS_PIN
#if ENABLED(ULTRA_LCD, REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(NEWPANEL, PANEL_ONE)
#if DISABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
#undef LCD_PINS_RS
#define LCD_PINS_RS 42 // 3DYMY boards pin 16 -> 42
#undef LCD_PINS_ENABLE
#define LCD_PINS_ENABLE 44 // 3DYMY boards pin 17 -> 44
#endif
#undef LCD_PINS_D7
#define LCD_PINS_D7 53 // 3DYMY boards pin 29 -> 53
#endif

View File

@@ -0,0 +1,138 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* RIGIDBOARD Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "RigidBoard"
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19 // Z-MAX pin J14 End Stops
#endif
//
// MOSFET changes
//
#define RAMPS_D9_PIN 8 // FAN (by default)
#define RAMPS_D10_PIN 9 // EXTRUDER 1
#define MOSFET_D_PIN 12 // EXTRUDER 2 or FAN
#include "pins_RAMPS.h"
//
// Steppers
//
// RigidBot swaps E0 / E1 plugs vs RAMPS 1.3
#undef E0_STEP_PIN
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#define E0_STEP_PIN 36
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
#undef E1_STEP_PIN
#undef E1_DIR_PIN
#undef E1_ENABLE_PIN
#define E1_STEP_PIN 26
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 24
#define STEPPER_RESET_PIN 41 // Stepper drivers have a reset on RigidBot
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#undef TEMP_1_PIN
#undef TEMP_BED_PIN
#define TEMP_0_PIN 14 // Analog Input
#define TEMP_1_PIN 13 // Analog Input
#define TEMP_BED_PIN 15 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#undef MAX6675_SS_PIN
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 53 // Don't use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 49 // Don't use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// Heaters / Fans
//
#undef HEATER_BED_PIN
#define HEATER_BED_PIN 10
#ifndef FAN_PIN
#define FAN_PIN 8 // Same as RAMPS_13_EEF
#endif
//
// Misc. Functions
//
#undef PS_ON_PIN
#define PS_ON_PIN -1
//
// LCD / Controller
//
// LCD Panel options for the RigidBoard
#if ENABLED(RIGIDBOT_PANEL)
#undef BEEPER_PIN
#define BEEPER_PIN -1
// Direction buttons
#define BTN_UP 37
#define BTN_DWN 35
#define BTN_LFT 33
#define BTN_RT 32
// 'R' button
#undef BTN_ENC
#define BTN_ENC 31
// Disable encoder
#undef BTN_EN1
#define BTN_EN1 -1
#undef BTN_EN2
#define BTN_EN2 -1
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 22
#elif ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 22
#undef KILL_PIN
#define KILL_PIN 32
#endif

View File

@@ -0,0 +1,52 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* RIGIDBOARD V2 Arduino Mega with RAMPS v1.4 pin assignments
*/
#define BOARD_INFO_NAME "RigidBoard V2"
#include "pins_RIGIDBOARD.h"
//
// Steppers
//
// I2C based DAC like on the Printrboard REVF
#define DAC_STEPPER_CURRENT
// Channels available for DAC, For Rigidboard there are 4
#define DAC_STEPPER_ORDER { 0, 1, 2, 3 }
#define DAC_STEPPER_SENSE 0.05 // sense resistors on rigidboard stepper chips are .05 value
#define DAC_STEPPER_ADDRESS 0
#define DAC_STEPPER_MAX 4096 // was 5000 but max allowable value is actually 4096
#define DAC_STEPPER_VREF 1 // internal Vref, gain 2x = 4.096V
#define DAC_STEPPER_GAIN 1 // value of 1 here sets gain of 2
#define DAC_DISABLE_PIN 42 // set low to enable DAC
#define DAC_OR_ADDRESS 0x01
#ifndef DAC_MOTOR_CURRENT_DEFAULT
#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis
#endif

View File

@@ -0,0 +1,52 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Rapide Lite 200 v1 (RUMBA clone) pin assignments. Has slightly different assignment for
* extruder motors due to dual Z motors. Pinout therefore based on pins_RUMBA.h.
*/
#define BOARD_INFO_NAME "RL200"
#define DEFAULT_MACHINE_NAME "Rapide Lite 200"
#if HOTENDS > 2 || E_STEPPERS > 2
#error "RL200v1 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#elif NUM_Z_STEPPER_DRIVERS != 2
#error "RL200 uses dual Z stepper motors. Set NUM_Z_STEPPER_DRIVERS to 2 or comment out this line to continue."
#elif !(AXIS_DRIVER_TYPE_X(DRV8825) && AXIS_DRIVER_TYPE_Y(DRV8825) && AXIS_DRIVER_TYPE_Z(DRV8825) && AXIS_DRIVER_TYPE_Z2(DRV8825) && AXIS_DRIVER_TYPE_E0(DRV8825))
#error "You must set ([XYZ]|Z2|E0)_DRIVER_TYPE to DRV8825 in Configuration.h for RL200."
#endif
#define E0_STEP_PIN 26 // (RUMBA E1 pins)
#define E0_DIR_PIN 25
#define E0_ENABLE_PIN 27
#define E1_STEP_PIN 29 // (RUMBA E2 pins)
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 39
#define Z2_STEP_PIN 23 // (RUMBA E0 pins)
#define Z2_DIR_PIN 22
#define Z2_ENABLE_PIN 24
#include "pins_RUMBA.h"

View File

@@ -0,0 +1,231 @@
/**
* 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 <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* RUMBA pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 3 || E_STEPPERS > 3
#error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue."
#endif
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "Rumba"
#endif
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
#endif
//
// Servos
//
#define SERVO0_PIN 5
//
// Limit Switches
//
#define X_MIN_PIN 37
#define X_MAX_PIN 36
#define Y_MIN_PIN 35
#define Y_MAX_PIN 34
#define Z_MIN_PIN 33
#define Z_MAX_PIN 32
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 17
#define X_DIR_PIN 16
#define X_ENABLE_PIN 48
#define Y_STEP_PIN 54
#define Y_DIR_PIN 47
#define Y_ENABLE_PIN 55
#define Z_STEP_PIN 57
#define Z_DIR_PIN 56
#define Z_ENABLE_PIN 62
#ifndef E0_STEP_PIN
#define E0_STEP_PIN 23
#define E0_DIR_PIN 22
#define E0_ENABLE_PIN 24
#endif
#ifndef E1_STEP_PIN
#define E1_STEP_PIN 26
#define E1_DIR_PIN 25
#define E1_ENABLE_PIN 27
#endif
#if E1_STEP_PIN != 29
#define E2_STEP_PIN 29
#define E2_DIR_PIN 28
#define E2_ENABLE_PIN 39
#endif
//
// Temperature Sensors
//
#ifndef TEMP_0_PIN
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 6 // Analog Input (connector *K1* on RUMBA thermocouple ADD ON is used)
#else
#define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
#endif
#endif
#ifndef TEMP_1_PIN
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 5 // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
#else
#define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
#endif
#endif
#if TEMP_SENSOR_2 == -1
#define TEMP_2_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_BED is defined as thermocouple)
#else
#define TEMP_2_PIN 13 // Analog Input (default connector for thermistor *T2* on rumba board is used)
#endif
// Optional for extruder 4 or chamber:
//#define TEMP_X_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
#ifndef TEMP_CHAMBER_PIN
//#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
#endif
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_2 is defined as thermocouple)
#else
#define TEMP_BED_PIN 11 // Analog Input (default connector for thermistor *THB* on rumba board is used)
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_2_PIN 6
#define HEATER_3_PIN 8
#define HEATER_BED_PIN 9
#ifndef FAN_PIN
#define FAN_PIN 7
#endif
#ifndef FAN1_PIN
#define FAN1_PIN 8
#endif
//
// Misc. Functions
//
#define LED_PIN 13
#define PS_ON_PIN 45
#define KILL_PIN 46
#define CASE_LIGHT_PIN 45
//
// M3/M4/M5 - Spindle/Laser Control
//
#ifndef SPINDLE_LASER_PWM_PIN
#define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM. Pin 4 interrupts OC0* and OC1* always in use?
#endif
#ifndef SPINDLE_LASER_ENA_PIN
#define SPINDLE_LASER_ENA_PIN 14 // Pullup!
#endif
#ifndef SPINDLE_DIR_PIN
#define SPINDLE_DIR_PIN 15
#endif
//
// LCD / Controller
//
#if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
#define LCD_PINS_DC 38 // Set as output on init
#define LCD_PINS_RS 41 // Pull low for 1s to init
// DOGM SPI LCD Support
#define DOGLCD_CS 19
#define DOGLCD_MOSI 42
#define DOGLCD_SCK 18
#define DOGLCD_A0 LCD_PINS_DC
#elif ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS 42
#define DOGLCD_A0 19
#define DOGLCD_MOSI 51
#define DOGLCD_SCK 52
//#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 18 // 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 41
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 38
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 40
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN 25
#endif
#else
#define LCD_PINS_RS 19
#define LCD_PINS_ENABLE 42
#define LCD_PINS_D4 18
#define LCD_PINS_D5 38
#define LCD_PINS_D6 41
#endif
#define LCD_PINS_D7 40
//
// Beeper, SD Card, Encoder
//
#define BEEPER_PIN 44
#if ENABLED(SDSUPPORT)
#define SDSS 53
#define SD_DETECT_PIN 49
#endif
#if ENABLED(NEWPANEL)
#define BTN_EN1 11
#define BTN_EN2 12
#define BTN_ENC 43
#endif

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