src folder

This commit is contained in:
Malte Reents 2024-05-19 11:44:44 +02:00
parent 8f1bc2d1a7
commit 77e8b3166f
398 changed files with 82963 additions and 0 deletions

1668
src/MarlinCore.cpp Normal file

File diff suppressed because it is too large Load Diff

86
src/MarlinCore.h Normal file
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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#include "inc/MarlinConfig.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
void stop();
// Pass true to keep steppers from timing out
void idle(bool no_stepper_sleep=false);
inline void idle_no_sleep() { idle(true); }
#if ENABLED(G38_PROBE_TARGET)
extern uint8_t G38_move; // Flag to tell the ISR that G38 is in progress, and the type
extern bool G38_did_trigger; // Flag from the ISR to indicate the endstop changed
#endif
void kill(FSTR_P const lcd_error=nullptr, FSTR_P const lcd_component=nullptr, const bool steppers_off=false);
void minkill(const bool steppers_off=false);
// Global State of the firmware
enum MarlinState : uint8_t {
MF_INITIALIZING = 0,
MF_STOPPED,
MF_KILLED,
MF_RUNNING,
MF_SD_COMPLETE,
MF_PAUSED,
MF_WAITING,
};
extern MarlinState marlin_state;
inline bool IsRunning() { return marlin_state >= MF_RUNNING; }
inline bool IsStopped() { return marlin_state == MF_STOPPED; }
bool printingIsActive();
bool printJobOngoing();
bool printingIsPaused();
void startOrResumeJob();
bool printer_busy();
extern bool wait_for_heatup;
#if HAS_RESUME_CONTINUE
extern bool wait_for_user;
void wait_for_user_response(millis_t ms=0, const bool no_sleep=false);
#endif
bool pin_is_protected(const pin_t pin);
#if HAS_SUICIDE
inline void suicide() { OUT_WRITE(SUICIDE_PIN, SUICIDE_PIN_STATE); }
#endif
#if HAS_KILL
#ifndef KILL_PIN_STATE
#define KILL_PIN_STATE LOW
#endif
inline bool kill_state() { return READ(KILL_PIN) == KILL_PIN_STATE; }
#endif
extern const char M112_KILL_STR[];

View File

@ -0,0 +1,26 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if NOT_TARGET(ARDUINO_ARCH_ESP32)
#error "Oops! Select an ESP32 board in 'Tools > Board.'"
#endif

103
src/pins/esp32/pins_E4D.h Normal file
View File

@ -0,0 +1,103 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* E4d@box pin assignments
*
* Small factor 3D printer control board based on the ESP32 microcontroller for Laser, CNC and 3D printers.
* More info at https://atbox.tech/ and the E4d@box Facebook page.
*/
#include "env_validate.h"
#if EXTRUDERS > 1 || E_STEPPERS > 1
#error "E4d@box only supports 1 E stepper."
#elif HAS_MULTI_HOTEND
#error "E4d@box only supports 1 hotend / E stepper."
#endif
#define BOARD_INFO_NAME "E4d@box"
#define BOARD_WEBSITE_URL "github.com/Exilaus/E4d@box"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Redefine I2S for ESP32
//
#undef I2S_WS
#undef I2S_BCK
#undef I2S_DATA
#define I2S_WS 23
#define I2S_BCK 22
#define I2S_DATA 21
//
// Limit Switches
//
#define X_STOP_PIN 34
#define Y_STOP_PIN 35
#define Z_STOP_PIN 16
//
// Steppers
//
#define X_STEP_PIN 12
#define X_DIR_PIN 13
#define X_ENABLE_PIN 17
//#define X_CS_PIN 0
#define Y_STEP_PIN 32
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN X_ENABLE_PIN
//#define Y_CS_PIN 13
#define Z_STEP_PIN 25
#define Z_DIR_PIN 26
#define Z_ENABLE_PIN X_ENABLE_PIN
//#define Z_CS_PIN 5 // SS_PIN
#define E0_STEP_PIN 27
#define E0_DIR_PIN 14
#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 0
#define HEATER_BED_PIN 15
//
// MicroSD card on SPI
//
#define SD_MOSI_PIN 23
#define SD_MISO_PIN 19
#define SD_SCK_PIN 18
#define SDSS 5
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers

View File

@ -0,0 +1,118 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2022 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Espressif ESP32 (Tensilica Xtensa LX6) on ESPNP by enwi
* Website https://github.com/enwi/ESPNP
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "ESPNP"
#define DEFAULT_MACHINE_NAME "ESP Pick and Place"
//
// I2S (steppers & other output-only pins)
//
#define I2S_STEPPER_STREAM
#if ENABLED(I2S_STEPPER_STREAM)
#define I2S_WS 17
#define I2S_BCK 22
#define I2S_DATA 21
#endif
//
// Servos
//
#define SERVO0_PIN 26
#define SERVO1_PIN 25
//
// Limit Switches
//
#define X_STOP_PIN 36
#define Y_STOP_PIN 39
#define Z_STOP_PIN 34
#define I_STOP_PIN 35
#define J_STOP_PIN 05
#define K_STOP_PIN 16
//
// Steppers
//
#define X_ENABLE_PIN 136
#define X_DIR_PIN 137
#define X_STEP_PIN 138
#define X_CS_PIN 139
#define Y_ENABLE_PIN 140
#define Y_DIR_PIN 141
#define Y_STEP_PIN 142
#define Y_CS_PIN 143
#define Z_ENABLE_PIN 144
#define Z_DIR_PIN 145
#define Z_STEP_PIN 146
#define Z_CS_PIN 147
#define I_ENABLE_PIN 148
#define I_DIR_PIN 149
#define I_STEP_PIN 150
#define I_CS_PIN 151
#define J_ENABLE_PIN 152
#define J_DIR_PIN 153
#define J_STEP_PIN 154
#define J_CS_PIN 155
#define K_ENABLE_PIN 156
#define K_DIR_PIN 157
#define K_STEP_PIN 158
#define K_CS_PIN 159
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
//
// Temperature Sensors
//
//#define TEMP_0_PIN 36 // Analog Input
//#define TEMP_BED_PIN 39 // Analog Input
// General use mosfets, useful for things like pumps and solenoids
// Shift register pins 128, 129, 130 and 131 are broken out and can be used
#define FAN_PIN 132
#define FAN1_PIN 134
#define FAN2_PIN 135
#define FAN3_PIN 136
// #define FAN_SOFT_PWM_REQUIRED // check if needed
// Neopixel Rings
#define NEOPIXEL_PIN 14
#define NEOPIXEL2_PIN 27
// SPI
#define MISO_PIN 19
#define MOSI_PIN 23
#define SCK_PIN 18

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Espressif ESP32 (Tensilica Xtensa LX6) pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Espressif ESP32"
//
// I2S (steppers & other output-only pins)
//
#define I2S_STEPPER_STREAM
#if ENABLED(I2S_STEPPER_STREAM)
#define I2S_WS 25
#define I2S_BCK 26
#define I2S_DATA 27
#endif
//
// 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,81 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* ESPA-like pin assignments
* Supports 4 stepper drivers, heated bed, single hotend.
*/
#include "env_validate.h"
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
#endif
//
// 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 Y_STEP_PIN 33
#define Y_DIR_PIN 32
#define Y_ENABLE_PIN X_ENABLE_PIN
#define Z_STEP_PIN 14
#define Z_DIR_PIN 12
#define Z_ENABLE_PIN X_ENABLE_PIN
#define E0_STEP_PIN 16
#define E0_DIR_PIN 17
#define E0_ENABLE_PIN X_ENABLE_PIN
//
// 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 SD_MOSI_PIN 23
#define SD_MISO_PIN 19
#define SD_SCK_PIN 18
#define SDSS 5
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers

View File

@ -0,0 +1,72 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* FYSETC E4 pin assignments
*
* 3D printer control board based on the ESP32 microcontroller.
* Supports 4 stepper drivers, heated bed, single hotend.
*/
#include "env_validate.h"
#if EXTRUDERS > 1 || E_STEPPERS > 1
#error "FYSETC E4 only supports 1 E stepper."
#elif HAS_MULTI_HOTEND
#error "FYSETC E4 only supports 1 hotend / E stepper."
#endif
#define BOARD_INFO_NAME "FYSETC_E4"
#include "pins_ESPA_common.h"
#if HAS_TMC_UART
//
// TMC2209 stepper drivers
//
//
// Hardware serial 1
//
#define X_HARDWARE_SERIAL Serial1
#define Y_HARDWARE_SERIAL Serial1
#define Z_HARDWARE_SERIAL Serial1
#define E0_HARDWARE_SERIAL Serial1
#define TMC_BAUD_RATE 115200
#endif
/**
* Hardware serial pins
*
* Override these pins in Configuration.h or Configuration_adv.h if needed.
*
* 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.
*/
#ifndef HARDWARE_SERIAL1_RX
#define HARDWARE_SERIAL1_RX 21
#endif
#ifndef HARDWARE_SERIAL1_TX
#define HARDWARE_SERIAL1_TX 22
#endif

View File

@ -0,0 +1,193 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://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.
*/
#include "env_validate.h"
#if EXTRUDERS > 2 || E_STEPPERS > 2
#error "MKS TinyBee supports up to 2 E steppers."
#elif HOTENDS > 2
#error "MKS TinyBee supports up to 2 hotends / E steppers."
#endif
#define BOARD_INFO_NAME "MKS TinyBee"
#define BOARD_WEBSITE_URL "https://github.com/makerbase-mks"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
// MAX_EXPANDER_BITS is defined for MKS TinyBee in HAL/ESP32/inc/Conditionals_adv.h
//
// Servos
//
#define SERVO0_PIN 2
//
// Limit Switches
//
#define X_STOP_PIN 33
#define Y_STOP_PIN 32
#define Z_STOP_PIN 22
//#define FIL_RUNOUT_PIN 35
//
// Enable I2S stepper stream
//
#define I2S_STEPPER_STREAM
#if ENABLED(I2S_STEPPER_STREAM)
#define I2S_WS 26
#define I2S_BCK 25
#define I2S_DATA 27
#endif
//
// Steppers
//
#define X_STEP_PIN 129
#define X_DIR_PIN 130
#define X_ENABLE_PIN 128
#define Y_STEP_PIN 132
#define Y_DIR_PIN 133
#define Y_ENABLE_PIN 131
#define Z_STEP_PIN 135
#define Z_DIR_PIN 136
#define Z_ENABLE_PIN 134
#define E0_STEP_PIN 138
#define E0_DIR_PIN 139
#define E0_ENABLE_PIN 137
#define E1_STEP_PIN 141
#define E1_DIR_PIN 142
#define E1_ENABLE_PIN 140
#define Z2_STEP_PIN 141
#define Z2_DIR_PIN 142
#define Z2_ENABLE_PIN 140
//
// Temperature Sensors
//
#define TEMP_0_PIN 36 // Analog Input
#define TEMP_1_PIN 34 // Analog Input, you need set R6=0Ω and R7=NC
#define TEMP_BED_PIN 39 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 145
#define HEATER_1_PIN 146
#define FAN_PIN 147
#define FAN1_PIN 148
#define HEATER_BED_PIN 144
//#define CONTROLLER_FAN_PIN 148
//#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
//
// ADC Reference Voltage
//
#define ADC_REFERENCE_VOLTAGE 2.565 // 2.5V reference VDDA
/**
* ------ ------
* (BEEPER) 149 | 1 2 | 13 (BTN_ENC) (SPI MISO) 19 | 1 2 | 18 (SPI SCK)
* (LCD_EN) 21 | 3 4 | 4 (LCD_RS) (BTN_EN1) 14 | 3 4 | 5 (SPI CS)
* (LCD_D4) 0 5 6 | 16 (LCD_D5) (BTN_EN2) 12 5 6 | 23 (SPI MOSI)
* (LCD_D6) 15 | 7 8 | 17 (LCD_D7) (SPI_DET) 34 | 7 8 | RESET
* GND | 9 10 | 5V GND | 9 10 | 3.3V
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN 149
#define EXP1_02_PIN 13
#define EXP1_03_PIN 21
#define EXP1_04_PIN 4
#define EXP1_05_PIN 0
#define EXP1_06_PIN 16
#define EXP1_07_PIN 15
#define EXP1_08_PIN 17
#define EXP2_01_PIN 19
#define EXP2_02_PIN 18
#define EXP2_03_PIN 14
#define EXP2_04_PIN 5
#define EXP2_05_PIN 12
#define EXP2_06_PIN 23
#define EXP2_07_PIN 34
#define EXP2_08_PIN -1 // RESET
//
// MicroSD card
//
//#define SD_MOSI_PIN EXP2_06_PIN // uses esp32 default 23
//#define SD_MISO_PIN EXP2_01_PIN // uses esp32 default 19
//#define SD_SCK_PIN EXP2_02_PIN // uses esp32 default 18
#define SDSS EXP2_04_PIN
#define SD_DETECT_PIN EXP2_07_PIN // IO34 default is SD_DET signal (Jump to SDDET)
#define USES_SHARED_SPI // SPI is shared by SD card with TMC SPI drivers
#if HAS_WIRED_LCD
#define BEEPER_PIN EXP1_01_PIN
#define LCD_PINS_ENABLE EXP1_03_PIN
#define LCD_PINS_RS EXP1_04_PIN
#define BTN_ENC EXP1_02_PIN
#define BTN_EN1 EXP2_03_PIN
#define BTN_EN2 EXP2_05_PIN
#define LCD_BACKLIGHT_PIN -1
#if ENABLED(MKS_MINI_12864)
// MKS MINI12864 and MKS LCD12864B; If using MKS LCD12864A (Need to remove RPK2 resistor)
#define DOGLCD_CS EXP1_06_PIN
#define DOGLCD_A0 EXP1_07_PIN
#define LCD_RESET_PIN -1
#elif ENABLED(FYSETC_MINI_12864_2_1)
// MKS_MINI_12864_V3, BTT_MINI_12864_V1, FYSETC_MINI_12864_2_1
#define DOGLCD_CS EXP1_03_PIN
#define DOGLCD_A0 EXP1_04_PIN
#define LCD_RESET_PIN EXP1_05_PIN
#define NEOPIXEL_PIN EXP1_06_PIN
#if SD_CONNECTION_IS(ONBOARD)
#define FORCE_SOFT_SPI
#endif
#else
#define LCD_PINS_D4 EXP1_05_PIN
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define LCD_PINS_D5 EXP1_06_PIN
#define LCD_PINS_D6 EXP1_07_PIN
#define LCD_PINS_D7 EXP1_08_PIN
#endif
#define BOARD_ST7920_DELAY_1 96
#define BOARD_ST7920_DELAY_2 48
#define BOARD_ST7920_DELAY_3 600
#endif
#endif // HAS_WIRED_LCD

View File

@ -0,0 +1,58 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MRR ESPA pin assignments
*
* 3D printer control board based on the ESP32 microcontroller.
* Supports 4 stepper drivers, heated bed, single hotend.
*/
#include "env_validate.h"
#if EXTRUDERS > 1 || E_STEPPERS > 1
#error "MRR ESPA only supports 1 E stepper."
#elif HAS_MULTI_HOTEND
#error "MRR ESPA only supports 1 hotend / E stepper."
#endif
#define BOARD_INFO_NAME "MRR ESPA"
#define BOARD_WEBSITE_URL "github.com/maplerainresearch/MRR_ESPA"
#include "pins_ESPA_common.h"
//
// Steppers
//
//#define X_CS_PIN 21
//#define Y_CS_PIN 22
//#define Z_CS_PIN 5 // SS_PIN
//#define E0_CS_PIN 21
// 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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MRR ESPE pin assignments
*
* 3D printer control board based on the ESP32 microcontroller.
* Supports 5 stepper drivers (using I2S stepper stream), heated bed,
* single hotend, and LCD controller.
*/
#include "env_validate.h"
#if EXTRUDERS > 2 || E_STEPPERS > 2
#error "MRR ESPE supports up to 2 E steppers."
#elif HAS_MULTI_HOTEND
#error "MRR ESPE only supports 1 hotend / E stepper."
#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
//
#define I2S_STEPPER_STREAM
#if ENABLED(I2S_STEPPER_STREAM)
#define I2S_WS 26
#define I2S_BCK 25
#define I2S_DATA 27
#endif
//
// 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 SD_MOSI_PIN 23
#define SD_MISO_PIN 19
#define SD_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_WIRED_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 IS_RRD_FG_SC
#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_MARLINUI_U8GLIB
// 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,38 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Panda M4 pin assignments
*/
#define BOARD_INFO_NAME "Panda_M4"
#include "pins_PANDA_common.h"
//
// Steppers
//
#define X_ENABLE_PIN 115
#define Y_ENABLE_PIN 114
#define Z_ENABLE_PIN 113
#define E0_ENABLE_PIN 112

View File

@ -0,0 +1,61 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Panda ZHU pin assignments
*/
#define BOARD_INFO_NAME "Panda_ZHU"
#include "pins_PANDA_common.h"
//
// Steppers
//
#define X_ENABLE_PIN 128 // Shared with all steppers
#define Y_ENABLE_PIN X_ENABLE_PIN
#define Z_ENABLE_PIN X_ENABLE_PIN
#define E0_ENABLE_PIN X_ENABLE_PIN
//#define X_CS_PIN 0
//#define Y_CS_PIN 13
//#define Z_CS_PIN 5 // SS_PIN
//#define E0_CS_PIN 21
#define E1_STEP_PIN 115
#define E1_DIR_PIN 114
#define E1_ENABLE_PIN X_ENABLE_PIN
#define E2_STEP_PIN 112
#define E2_DIR_PIN 113
#define E2_ENABLE_PIN X_ENABLE_PIN
#define E3_STEP_PIN 110
#define E3_DIR_PIN 111
#define E3_ENABLE_PIN X_ENABLE_PIN
#define E4_STEP_PIN 121
#define E4_DIR_PIN 122
#define E4_ENABLE_PIN X_ENABLE_PIN
#define HEATER_1_PIN 123

View File

@ -0,0 +1,128 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Panda common pin assignments
*/
#include "env_validate.h"
#define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
//
// Servos
//
#define SERVO0_PIN 0
//
// Limit Switches
//
#define X_STOP_PIN 4
#define Y_STOP_PIN 35
#define Z_STOP_PIN 21
//
// Steppers
//
#define X_STEP_PIN 101
#define X_DIR_PIN 100
#define Y_STEP_PIN 103
#define Y_DIR_PIN 102
#define Z_STEP_PIN 105
#define Z_DIR_PIN 104
#define E0_STEP_PIN 107
#define E0_DIR_PIN 106
//
// Temperature Sensors
//
#define TEMP_0_PIN 39 // Analog Input
#define TEMP_BED_PIN 36 // Analog Input
#if ENABLED(MAX31856_PANDAPI)
#define MAX31856_CLK_PIN 29
#define MAX31856_MISO_PIN 24
#define MAX31856_MOSI_PIN 28
#define MAX31856_CS_PIN 27
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 108
#define HEATER_BED_PIN 109
#define FAN_PIN 118 // FAN0
#define FAN1_PIN 119 // FAN1
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN 120 // FAN2
#endif
/** ------ ------
* (MISO 19?) | 1 2 | (18 SCK?) (BEEPER) 129 | 1 2 | 12 (^ENC)
* (EN1) 33 | 3 4 | (5 SDSS?) (EN) 26 | 3 4 | 27 (RS)
* (EN2) 32 5 6 | (23 MOSI?) (D4) 14 | 5 6 --
* (SDDET 2?) | 7 8 | (RESET) -- | 7 8 | --
* -- | 9 10 | -- (GND) | 9 10 | (5V)
* ------ ------
* EXP2 EXP1
*/
#define EXP1_01_PIN 129
#define EXP1_02_PIN 12
#define EXP1_03_PIN 26
#define EXP1_04_PIN 27
#define EXP1_05_PIN 14
#define EXP2_01_PIN 19 // ?
#define EXP2_02_PIN 18 // ?
#define EXP2_03_PIN 33
#define EXP2_04_PIN 5 // ?
#define EXP2_05_PIN 32
#define EXP2_06_PIN 23 // ?
#define EXP2_07_PIN 2 // ?
//
// SD Card
//
#if ENABLED(SDSUPPORT)
#define SD_MOSI_PIN EXP2_06_PIN
#define SD_MISO_PIN EXP2_01_PIN
#define SD_SCK_PIN EXP2_02_PIN
#define SDSS EXP2_04_PIN
#define SD_DETECT_PIN EXP2_07_PIN
#endif
#if HAS_WIRED_LCD
#define BEEPER_PIN EXP1_01_PIN
#define BTN_ENC EXP1_02_PIN
#define BTN_EN1 EXP2_03_PIN
#define BTN_EN2 EXP2_05_PIN
#define LCD_PINS_RS EXP1_04_PIN
#define LCD_PINS_ENABLE EXP1_03_PIN
#define LCD_PINS_D4 EXP1_05_PIN
#endif

View File

@ -0,0 +1,37 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Rutilea ESP32 (Tensilica Xtensa LX6) pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Rutilea ESP32"
#include "pins_ESPA_common.h"
//
// I2S (steppers & other output-only pins)
//
#define I2S_STEPPER_STREAM

View File

@ -0,0 +1,698 @@
/**
* 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 <https://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
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME "SimRap 1.4"
#endif
#ifndef MARLIN_EEPROM_SIZE
#define MARLIN_EEPROM_SIZE 0x1000 // 4K
#endif
//
// 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 MAX Thermocouple
#if DISABLED(SDSUPPORT)
#define TEMP_0_CS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define TEMP_0_CS_PIN 66 // Don't use 49 (SD_DETECT_PIN)
#endif
//
// Heaters / Fans
//
#ifndef MOSFET_A_PIN
#define MOSFET_A_PIN 10
#endif
#ifndef MOSFET_B_PIN
#define MOSFET_B_PIN 9
#endif
#ifndef MOSFET_C_PIN
#define MOSFET_C_PIN 8
#endif
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif
#define HEATER_0_PIN MOSFET_A_PIN
#if FET_ORDER_EFB // Hotend, Fan, Bed
#define FAN_PIN MOSFET_B_PIN
#define HEATER_BED_PIN MOSFET_C_PIN
#elif FET_ORDER_EEF // Hotend, Hotend, Fan
#define HEATER_1_PIN MOSFET_B_PIN
#define FAN_PIN MOSFET_C_PIN
#elif FET_ORDER_EEB // Hotend, Hotend, Bed
#define HEATER_1_PIN MOSFET_B_PIN
#define HEATER_BED_PIN MOSFET_C_PIN
#elif FET_ORDER_EFF // Hotend, Fan, Fan
#define FAN_PIN MOSFET_B_PIN
#define FAN1_PIN MOSFET_C_PIN
#elif FET_ORDER_SF // Spindle, Fan
#define FAN_PIN MOSFET_C_PIN
#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
#define FAN_PIN MOSFET_B_PIN
#define HEATER_BED_PIN MOSFET_C_PIN
#if HOTENDS == 1 && DISABLED(HEATERS_PARALLEL)
#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
#define NEOPIXEL_PIN 71
#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 21
#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
//
#if HAS_PRUSA_MMU1
#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
#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 ANY(TFT_COLOR_UI, TFT_CLASSIC_UI, TFT_LVGL_UI)
#define TFT_A0_PIN 43
#define TFT_CS_PIN 49
#define TFT_DC_PIN 43
#define TFT_SCK_PIN SD_SCK_PIN
#define TFT_MOSI_PIN SD_MOSI_PIN
#define TFT_MISO_PIN SD_MISO_PIN
#define LCD_USE_DMA_SPI
#define BTN_EN1 40
#define BTN_EN2 63
#define BTN_ENC 59
#define BEEPER_PIN 42
#define TOUCH_CS_PIN 33
#define SD_DETECT_PIN 41
#define HAS_SPI_FLASH 1
#if HAS_SPI_FLASH
#define SPI_DEVICE 1
#define SPI_FLASH_SIZE 0x1000000 // 16MB
#define SPI_FLASH_CS_PIN 31
#define SPI_FLASH_MOSI_PIN SD_MOSI_PIN
#define SPI_FLASH_MISO_PIN SD_MISO_PIN
#define SPI_FLASH_SCK_PIN SD_SCK_PIN
#endif
#define TFT_BUFFER_SIZE 0xFFFF
#ifndef TFT_DRIVER
#define TFT_DRIVER ST7796
#endif
#ifndef TOUCH_SCREEN_CALIBRATION
#if ENABLED(TFT_RES_320x240)
#ifndef TOUCH_CALIBRATION_X
#define TOUCH_CALIBRATION_X 20525
#endif
#ifndef TOUCH_CALIBRATION_Y
#define TOUCH_CALIBRATION_Y 15335
#endif
#ifndef TOUCH_OFFSET_X
#define TOUCH_OFFSET_X -1
#endif
#ifndef TOUCH_OFFSET_Y
#define TOUCH_OFFSET_Y 0
#endif
#elif ENABLED(TFT_RES_480x272)
#ifndef TOUCH_CALIBRATION_X
#define TOUCH_CALIBRATION_X 30715
#endif
#ifndef TOUCH_CALIBRATION_Y
#define TOUCH_CALIBRATION_Y 17415
#endif
#ifndef TOUCH_OFFSET_X
#define TOUCH_OFFSET_X 0
#endif
#ifndef TOUCH_OFFSET_Y
#define TOUCH_OFFSET_Y -1
#endif
#elif ENABLED(TFT_RES_480x320)
#ifndef TOUCH_CALIBRATION_X
#define TOUCH_CALIBRATION_X 30595
#endif
#ifndef TOUCH_CALIBRATION_Y
#define TOUCH_CALIBRATION_Y 20415
#endif
#ifndef TOUCH_OFFSET_X
#define TOUCH_OFFSET_X 2
#endif
#ifndef TOUCH_OFFSET_Y
#define TOUCH_OFFSET_Y 1
#endif
#endif
#endif
#define BTN_BACK 70
#elif HAS_WIRED_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(IS_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 !IS_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 !IS_NEWPANEL
#define BEEPER_PIN 33
#endif
#endif
#if !IS_NEWPANEL
// Buttons attached to a shift register
// Not wired yet
//#define SHIFT_CLK_PIN 38
//#define SHIFT_LD_PIN 42
//#define SHIFT_OUT_PIN 40
//#define SHIFT_EN_PIN 17
#endif
#endif
//
// LCD Display input pins
//
#if IS_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 // https://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 EITHER(VIKI2, miniVIKI)
#define DOGLCD_CS 45
#define DOGLCD_A0 44
#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
#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#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
#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
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#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
#define BTN_EN1 40
#define BTN_EN2 63
#define BTN_ENC 59
#define SD_DETECT_PIN 49
#define KILL_PIN 64
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#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 IS_RRW_KEYPAD
#define SHIFT_OUT_PIN 40
#define SHIFT_CLK_PIN 44
#define SHIFT_LD_PIN 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
#define SD_DETECT_PIN 41
#endif
#if ENABLED(G3D_PANEL)
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#endif
#endif
// CUSTOM SIMULATOR INPUTS
#define BTN_BACK 70
#endif // IS_NEWPANEL
#endif // HAS_WIRED_LCD

View File

@ -0,0 +1,30 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if ENABLED(REQUIRE_LPC1769) && NOT_TARGET(MCU_LPC1769)
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#elif DISABLED(REQUIRE_LPC1769) && NOT_TARGET(MCU_LPC1768)
#error "Oops! Make sure you have the LPC1768 environment selected in your IDE."
#endif
#undef REQUIRE_LPC1769

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZSMZ MINI pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "AZSMZ Mini"
//
// Servos
//
#define SERVO0_PIN P1_23
//
// Limit Switches
//
#define X_STOP_PIN P1_24
#define Y_STOP_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
#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 SD_SCK_PIN P0_15
#define SD_MISO_PIN P0_17
#define SD_MOSI_PIN P0_18
#define SD_SS_PIN LCD_SDSS
#define SD_DETECT_PIN P3_25
#elif SD_CONNECTION_IS(ONBOARD)
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_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 REF_CLK P1_15
#define ENET_MDIO P1_17
#define ENET_MOC P1_16
#define ENET_CRS P1_08
#define ENET_RX_ER P1_14
#define ENET_TX_EN P1_04
#define ENET_RXD0 P1_09
#define ENET_RXD1 P1_10
#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 MOSFET_B_PIN
* PWM1.6 DIO14 Y_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.6 DIO10 MOSFET_A_PIN
*/
/**
* Special pins
* D37 - not 5V tolerant
* D49 - not 5V tolerant
* D57 - open collector
* D58 - open collector
*/

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BIQU BQ111-A4
*
* Applies to the following boards:
*
* BOARD_BIQU_BQ111_A4 (Hotend, Fan, Bed)
*/
#include "env_validate.h"
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "BIQU Thunder B300 V1.0"
#endif
//
// 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_WIRED_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 BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC)
#error "REPRAP_DISCOUNT_SMART_CONTROLLER displays aren't 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_WIRED_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 SD_SCK_PIN P0_15 // EXP1-5
#define SD_MISO_PIN P0_16 // EXP1-4
#define SD_MOSI_PIN P0_18 // EXP1-3
#define SD_SS_PIN P1_30 // EXP1-2
#define SDSS SD_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,149 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BIQU BQ111-A4 pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "BIQU BQ111-A4"
//
// 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
#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
//
// 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_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_WIRED_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 BOTH(HAS_MARLINUI_HD44780, IS_RRD_SC)
#error "REPRAP_DISCOUNT_SMART_CONTROLLER displays aren't 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_WIRED_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 SD_SCK_PIN P0_15 // EXP1-5
#define SD_MISO_PIN P0_16 // EXP1-4
#define SD_MOSI_PIN P0_18 // EXP1-3
#define SD_SS_PIN P1_30 // EXP1-2
#define SDSS SD_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,255 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BigTreeTech SKR 1.1 pin assignments
*/
#define BOARD_INFO_NAME "BTT SKR V1.1"
//
// 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
/** ------ ------
* 1.30 | 1 2 | 2.11 0.17 | 1 2 | 0.15
* 0.18 | 3 4 | 0.16 3.26 | 3 4 | 1.23
* 0.15 5 6 | -- 3.25 5 6 | 0.18
* -- | 7 8 | -- 1.31 | 7 8 | RESET
* GND | 9 10 | 5V GND | 9 10 | --
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN P1_30
#define EXP1_02_PIN P2_11
#define EXP1_03_PIN P0_18
#define EXP1_04_PIN P0_16
#define EXP1_05_PIN P0_15
#define EXP1_06_PIN -1 // NC
#define EXP1_07_PIN -1 // NC
#define EXP1_08_PIN -1 // NC
#define EXP2_01_PIN P0_17
#define EXP2_02_PIN P0_15
#define EXP2_03_PIN P3_26
#define EXP2_04_PIN P1_23
#define EXP2_05_PIN P3_25
#define EXP2_06_PIN P0_18
#define EXP2_07_PIN P1_31
#define EXP2_08_PIN -1 // RESET
/**
* 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 IS_TFTGLCD_PANEL
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS EXP2_03_PIN
#endif
#elif HAS_WIRED_LCD
#define BTN_EN1 EXP2_03_PIN
#define BTN_EN2 EXP2_05_PIN
#define BTN_ENC EXP1_02_PIN
#define LCD_SDSS EXP2_04_PIN
#define LCD_PINS_RS EXP1_04_PIN
#define LCD_PINS_ENABLE EXP2_06_PIN
#define LCD_PINS_D4 EXP2_02_PIN
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS P2_06
#define DOGLCD_A0 EXP1_04_PIN
#endif
#endif // HAS_WIRED_LCD
//
// 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 ANY(MKS_MINI_12864, ENDER2_STOCKDISPLAY, IS_TFTGLCD_PANEL)
#define SDCARD_CONNECTION LCD
#else
#define SDCARD_CONNECTION ONBOARD
#endif
#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 driver (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 EXP2_06_PIN
#define TMC_SW_MISO EXP2_01_PIN
// To minimize pin usage use the same clock pin as the display/SD card reader. (May generate LCD noise.)
#define TMC_SW_SCK EXP2_02_PIN
// 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
#endif
#if AXIS_DRIVER_TYPE_Y(TMC2130)
#define Y_CS_PIN P2_00
#undef Y_ENABLE_PIN
#endif
#if AXIS_DRIVER_TYPE_Z(TMC2130)
#define Z_CS_PIN P0_19
#undef Z_ENABLE_PIN
#endif
#if AXIS_DRIVER_TYPE_E0(TMC2130)
#define E0_CS_PIN P2_12
#undef E0_ENABLE_PIN
#endif
#if AXIS_DRIVER_TYPE_E1(TMC2130)
#define E1_CS_PIN P0_10
#undef E1_ENABLE_PIN
#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)
#define X_CS_PIN EXP2_04_PIN
#define Y_CS_PIN EXP2_03_PIN
#define Z_CS_PIN EXP1_02_PIN
#define E0_CS_PIN EXP2_05_PIN
#define E1_CS_PIN EXP2_07_PIN
#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)
#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 EXP2_07_PIN
// We use LCD_SDSS pin for E1
#undef LCD_SDSS
#define LCD_SDSS -1
#define E1_CS_PIN EXP2_04_PIN
#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,486 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BigTreeTech SKR 1.3 pin assignments
*/
#define BOARD_INFO_NAME "BTT SKR V1.3"
#define LPC1768_IS_SKRV1_3
#define USES_DIAG_JUMPERS
//
// 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
//
#ifdef X_STALL_SENSITIVITY
#define X_STOP_PIN X_DIAG_PIN
#if X_HOME_TO_MIN
#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
#ifdef Y_STALL_SENSITIVITY
#define Y_STOP_PIN Y_DIAG_PIN
#if Y_HOME_TO_MIN
#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
#ifdef Z_STALL_SENSITIVITY
#define Z_STOP_PIN Z_DIAG_PIN
#if Z_HOME_TO_MIN
#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 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
#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
/**
* ------ ------
* (BEEPER) 1.30 | 1 2 | 0.28 (BTN_ENC) (MISO) 0.17 | 1 2 | 0.15 (SCK)
* (LCD_EN) 1.18 | 3 4 | 1.19 (LCD_RS) (BTN_EN1) 3.26 | 3 4 | 0.16 (SD_SS)
* (LCD_D4) 1.20 5 6 | 1.21 (LCD_D5) (BTN_EN2) 3.25 5 6 | 0.18 (MOSI)
* (LCD_D6) 1.22 | 7 8 | 1.23 (LCD_D7) (SD_DETECT) 1.31 | 7 8 | RESET
* GND | 9 10 | 5V GND | 9 10 | --
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN P1_30
#define EXP1_02_PIN P0_28
#define EXP1_03_PIN P1_18
#define EXP1_04_PIN P1_19
#define EXP1_05_PIN P1_20
#define EXP1_06_PIN P1_21
#define EXP1_07_PIN P1_22
#define EXP1_08_PIN P1_23
#define EXP2_01_PIN P0_17
#define EXP2_02_PIN P0_15
#define EXP2_03_PIN P3_26
#define EXP2_04_PIN P0_16
#define EXP2_05_PIN P3_25
#define EXP2_06_PIN P0_18
#define EXP2_07_PIN P1_31
#define EXP2_08_PIN -1
#if HAS_WIRED_LCD
#if ENABLED(ANET_FULL_GRAPHICS_LCD_ALT_WIRING)
#error "ANET_FULL_GRAPHICS_LCD_ALT_WIRING only applies to the ANET 1.0 board."
#elif ENABLED(ANET_FULL_GRAPHICS_LCD)
#ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
#error "CAUTION! ANET_FULL_GRAPHICS_LCD requires wiring modifications. See 'pins_BTT_SKR_V1_3.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
#endif
/**
* 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 it 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
* ------ ------
* (CLK) | 1 2 | (BEEPER) (BEEPER) |10 9 | --
* -- | 3 4 | (BTN_ENC) (BTN_ENC) | 8 7 | (CLK)
* (SID) 5 6 | (BTN_EN1) (BTN_EN1) 6 5 | (SID)
* (CS) | 7 8 | (BTN_EN2) (BTN_EN2) | 4 3 | (CS)
* GND | 9 10 | 5V GND | 2 1 | 5V
* ------ ------
* LCD LCD
*/
#define LCD_PINS_RS EXP1_08_PIN
#define BTN_EN1 EXP1_05_PIN
#define BTN_EN2 EXP1_07_PIN
#define BTN_ENC EXP1_03_PIN
#define LCD_PINS_ENABLE EXP1_06_PIN
#define LCD_PINS_D4 EXP1_04_PIN
#elif ENABLED(WYH_L12864)
#ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
#error "CAUTION! WYH_L12864 requires wiring modifications. See 'pins_BTT_SKR_V1_3.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
#endif
/**
* 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. Swap the LCD's MOSI (Pin9) and empty (Pin10) wires because Pin9 is open drain.
*
* !!! If you are unsure, ask for help! Your motherboard may be damaged in some circumstances !!!
*
* The WYH_L12864 connector plug:
*
* BEFORE AFTER
* ______ ______
* | 1 2 | (MOSI) (MOSI) |10 9 | --
* (BTN_ENC) | 3 4 | (SCK) (BTN_ENC) | 8 7 | (SCK)
* (BTN_EN1) 5 6 | (SID) (BTN_EN1) 6 5 | (SID)
* (BTN_EN2) | 7 8 | (CS) (BTN_EN2) | 4 3 | (CS)
* 5V | 9 10 | GND GND | 2 1 | 5V
* ------ ------
* LCD LCD
*/
#define BTN_EN1 EXP1_05_PIN
#define BTN_EN2 EXP1_07_PIN
#define BTN_ENC EXP1_03_PIN
#define DOGLCD_CS EXP1_08_PIN
#define DOGLCD_A0 EXP1_06_PIN
#define DOGLCD_SCK EXP1_04_PIN
#define DOGLCD_MOSI EXP1_01_PIN
#define LCD_BACKLIGHT_PIN -1
#elif ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS EXP1_07_PIN
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define BTN_ENC EXP1_02_PIN // (58) open-drain
#define LCD_PINS_ENABLE EXP1_08_PIN
#define LCD_PINS_D4 EXP1_06_PIN
#elif HAS_ADC_BUTTONS
#error "ADC BUTTONS do not work unmodified on SKR 1.3, The ADC ports cannot take more than 3.3v."
#elif HAS_SPI_TFT // Config for Classic UI (emulated DOGM) and Color UI
#define TFT_A0_PIN EXP1_08_PIN
#define TFT_DC_PIN EXP1_08_PIN
#define TFT_CS_PIN EXP1_07_PIN
#define TFT_RESET_PIN EXP1_04_PIN
#define TFT_BACKLIGHT_PIN EXP1_03_PIN
//#define TFT_RST_PIN EXP2_07_PIN
#define TFT_MOSI_PIN EXP2_06_PIN
#define TFT_SCK_PIN EXP2_02_PIN
#define TFT_MISO_PIN EXP2_01_PIN
#define BTN_EN2 EXP2_05_PIN
#define BTN_EN1 EXP2_03_PIN
#define BTN_ENC EXP1_02_PIN
#define TOUCH_BUTTONS_HW_SPI
#define TOUCH_BUTTONS_HW_SPI_DEVICE 1
#define TFT_BUFFER_SIZE 2400
#ifndef TFT_WIDTH
#define TFT_WIDTH 480
#endif
#ifndef TFT_HEIGHT
#define TFT_HEIGHT 320
#endif
#define LCD_READ_ID 0xD3
#define LCD_USE_DMA_SPI
#if ENABLED(TFT_CLASSIC_UI)
#ifndef TOUCH_CALIBRATION_X
#define TOUCH_CALIBRATION_X -11386
#endif
#ifndef TOUCH_CALIBRATION_Y
#define TOUCH_CALIBRATION_Y 8684
#endif
#ifndef TOUCH_OFFSET_X
#define TOUCH_OFFSET_X 689
#endif
#ifndef TOUCH_OFFSET_Y
#define TOUCH_OFFSET_Y -273
#endif
#elif ENABLED(TFT_COLOR_UI)
#ifndef TOUCH_CALIBRATION_X
#define TOUCH_CALIBRATION_X -16741
#endif
#ifndef TOUCH_CALIBRATION_Y
#define TOUCH_CALIBRATION_Y 11258
#endif
#ifndef TOUCH_OFFSET_X
#define TOUCH_OFFSET_X 1024
#endif
#ifndef TOUCH_OFFSET_Y
#define TOUCH_OFFSET_Y -367
#endif
#define TFT_BUFFER_SIZE 2400
#endif
#elif IS_TFTGLCD_PANEL
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS EXP2_03_PIN
#endif
#define SD_DETECT_PIN EXP2_07_PIN
#else // !CR10_STOCKDISPLAY
#define LCD_PINS_RS EXP1_04_PIN
#define BTN_EN1 EXP2_03_PIN // (31) J3-2 & AUX-4
#define BTN_EN2 EXP2_05_PIN // (33) J3-4 & AUX-4
#define BTN_ENC EXP1_02_PIN // (58) open-drain
#define LCD_PINS_ENABLE EXP1_03_PIN
#define LCD_PINS_D4 EXP1_05_PIN
#define LCD_SDSS EXP2_04_PIN // (16) J3-7 & AUX-4
#define SD_DETECT_PIN EXP2_07_PIN // (49) (NOT 5V tolerant)
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS EXP1_03_PIN
#define DOGLCD_A0 EXP1_04_PIN
#define DOGLCD_SCK EXP2_02_PIN
#define DOGLCD_MOSI EXP2_06_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 EXP1_05_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 EXP1_06_PIN
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN EXP1_07_PIN
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN EXP1_08_PIN
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN EXP1_06_PIN
#endif
#else // !FYSETC_MINI_12864
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS EXP1_06_PIN
#define DOGLCD_A0 EXP1_07_PIN
#define DOGLCD_SCK EXP2_02_PIN
#define DOGLCD_MOSI EXP2_06_PIN
#elif ENABLED(ENDER2_STOCKDISPLAY)
/**
* Creality Ender-2 display pinout
* ------
* (SCK) P1_30 | 1 2 | P0_28 (BTN_ENC)
* (BTN_EN1) P1_18 | 3 4 | P1_19 (RESET)
* (BTN_EN2) P1_20 5 6 | P1_21 (LCD_A0)
* (LCD_CS) P1_22 | 7 8 | P1_23 (MOSI)
* GND | 9 10 | 5V
* ------
* EXP1
*/
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define BTN_ENC EXP1_02_PIN
#define DOGLCD_CS EXP1_07_PIN
#define DOGLCD_A0 EXP1_06_PIN
#define DOGLCD_SCK EXP1_01_PIN
#define DOGLCD_MOSI EXP1_08_PIN
#define FORCE_SOFT_SPI
#define LCD_BACKLIGHT_PIN -1
#endif
#if IS_ULTIPANEL
#define LCD_PINS_D5 EXP1_06_PIN
#define LCD_PINS_D6 EXP1_07_PIN
#define LCD_PINS_D7 EXP1_08_PIN
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif
#endif // !FYSETC_MINI_12864
#endif // !CR10_STOCKDISPLAY
#endif // HAS_WIRED_LCD
#if NEED_TOUCH_PINS
#define TOUCH_CS_PIN EXP1_05_PIN
#define TOUCH_SCK_PIN EXP2_02_PIN
#define TOUCH_MOSI_PIN EXP2_06_PIN
#define TOUCH_MISO_PIN EXP2_01_PIN
#define TOUCH_INT_PIN EXP1_06_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,512 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BigTreeTech SKR 1.4 pin assignments
*/
#include "env_validate.h"
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "BTT SKR V1.4"
#endif
#ifndef BOARD_CUSTOM_BUILD_FLAGS
#define BOARD_CUSTOM_BUILD_FLAGS -DLPC_PINCFG_UART3_P4_28
#endif
#define USES_DIAG_PINS
//
// EEPROM
//
#if NO_EEPROM_SELECTED
//#define I2C_EEPROM // EEPROM on I2C-0
//#define SDCARD_EEPROM_EMULATION
#endif
#if ENABLED(I2C_EEPROM)
#define MARLIN_EEPROM_SIZE 0x8000 // 32K
#elif ENABLED(SDCARD_EEPROM_EMULATION)
#define MARLIN_EEPROM_SIZE 0x800 // 2K
#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
//
#ifdef X_STALL_SENSITIVITY
#define X_STOP_PIN X_DIAG_PIN
#if X_HOME_TO_MIN
#define X_MAX_PIN P1_26 // E0DET
#else
#define X_MIN_PIN P1_26 // E0DET
#endif
#elif ENABLED(X_DUAL_ENDSTOPS)
#ifndef X_MIN_PIN
#define X_MIN_PIN P1_29 // X-STOP
#endif
#ifndef X_MAX_PIN
#define X_MAX_PIN P1_26 // E0DET
#endif
#else
#define X_STOP_PIN P1_29 // X-STOP
#endif
#ifdef Y_STALL_SENSITIVITY
#define Y_STOP_PIN Y_DIAG_PIN
#if Y_HOME_TO_MIN
#define Y_MAX_PIN P1_25 // E1DET
#else
#define Y_MIN_PIN P1_25 // E1DET
#endif
#elif ENABLED(Y_DUAL_ENDSTOPS)
#ifndef Y_MIN_PIN
#define Y_MIN_PIN P1_28 // Y-STOP
#endif
#ifndef Y_MAX_PIN
#define Y_MAX_PIN P1_25 // E1DET
#endif
#else
#define Y_STOP_PIN P1_28 // Y-STOP
#endif
#ifdef Z_STALL_SENSITIVITY
#define Z_STOP_PIN Z_DIAG_PIN
#if Z_HOME_TO_MIN
#define Z_MAX_PIN P1_00 // PWRDET
#else
#define Z_MIN_PIN P1_00 // PWRDET
#endif
#elif ENABLED(Z_MULTI_ENDSTOPS)
#ifndef Z_MIN_PIN
#define Z_MIN_PIN P1_27 // Z-STOP
#endif
#ifndef Z_MAX_PIN
#define Z_MAX_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 // A0 (T0) - (67) - TEMP_1_PIN
#define TEMP_BED_PIN P0_25_A2 // A2 (T2) - (69) - 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 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
#define X_SERIAL_TX_PIN P1_10
#define X_SERIAL_RX_PIN X_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P1_09
#define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P1_08
#define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P1_04
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN P1_01
#define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
/** ------ ------
* 1.30 | 1 2 | 0.28 0.17 | 1 2 | 0.15
* 1.18 | 3 4 | 1.19 3.26 | 3 4 | 0.16
* 1.20 5 6 | 1.21 3.25 5 6 | 0.18
* 1.22 | 7 8 | 1.23 1.31 | 7 8 | RESET
* GND | 9 10 | 5V GND | 9 10 | --
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN P1_30
#define EXP1_02_PIN P0_28
#define EXP1_03_PIN P1_18
#define EXP1_04_PIN P1_19
#define EXP1_05_PIN P1_20
#define EXP1_06_PIN P1_21
#define EXP1_07_PIN P1_22
#define EXP1_08_PIN P1_23
#define EXP2_01_PIN P0_17
#define EXP2_02_PIN P0_15
#define EXP2_03_PIN P3_26
#define EXP2_04_PIN P0_16
#define EXP2_05_PIN P3_25
#define EXP2_06_PIN P0_18
#define EXP2_07_PIN P1_31
#define EXP2_08_PIN -1 // RESET
#if HAS_DWIN_E3V2 || IS_DWIN_MARLINUI
// RET6 DWIN ENCODER LCD
#define BTN_ENC EXP1_05_PIN
#define BTN_EN1 EXP1_08_PIN
#define BTN_EN2 EXP1_07_PIN
#ifndef BEEPER_PIN
#define BEEPER_PIN EXP1_06_PIN
#endif
#elif HAS_WIRED_LCD
#if ENABLED(ANET_FULL_GRAPHICS_LCD_ALT_WIRING)
#ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
#error "CAUTION! ANET_FULL_GRAPHICS_LCD_ALT_WIRING requires wiring modifications. See 'pins_BTT_SKR_V1_4.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
#endif
/**
* 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!)
*
* !!! If you are unsure, ask for help! Your motherboard may be damaged in some circumstances !!!
*
* The ANET_FULL_GRAPHICS_LCD_ALT_WIRING connector plug:
*
* BEFORE AFTER
* ------ ------
* (BEEPER) | 1 2 | (CLK) (BEEPER) |10 9 | (CLK)
* (BTN_ENC) | 3 4 | -- (BTN_ENC) | 8 7 | --
* (BTN_EN1) 5 6 | (SID) (BTN_EN1) 6 5 | (SID)
* (BTN_EN2) | 7 8 | (CS) (BTN_EN2) | 4 3 | (CS)
* 5V | 9 10 | GND GND | 2 1 | 5V
* ------ ------
* LCD LCD
*/
#define LCD_PINS_RS EXP1_04_PIN
#define BTN_EN1 EXP1_06_PIN
#define BTN_EN2 EXP1_07_PIN
#define BTN_ENC EXP1_01_PIN
#define LCD_PINS_ENABLE EXP1_03_PIN
#define LCD_PINS_D4 EXP1_05_PIN
#define BEEPER_PIN EXP1_08_PIN
#elif ENABLED(ANET_FULL_GRAPHICS_LCD)
#ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
#error "CAUTION! ANET_FULL_GRAPHICS_LCD requires wiring modifications. See 'pins_BTT_SKR_V1_4.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
#endif
/**
* 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 it 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
* ------ ------
* (BEEPER) | 1 2 | (CLK) (BEEPER) |10 9 | --
* (BTN_ENC) | 3 4 | -- (BTN_ENC) | 8 7 | (CLK)
* (BTN_EN1) 5 6 | (SID) (BTN_EN1) 6 5 | (SID)
* (BTN_EN2) | 7 8 | (CS) (BTN_EN2) | 4 3 | (CS)
* 5V | 9 10 | GND GND | 2 1 | 5V
* ------ ------
* LCD LCD
*/
#define LCD_PINS_RS EXP1_08_PIN
#define BTN_EN1 EXP1_05_PIN
#define BTN_EN2 EXP1_07_PIN
#define BTN_ENC EXP1_03_PIN
#define LCD_PINS_ENABLE EXP1_06_PIN
#define LCD_PINS_D4 EXP1_04_PIN
#define BEEPER_PIN EXP1_01_PIN
#elif ENABLED(CR10_STOCKDISPLAY)
#define BTN_ENC EXP1_02_PIN // (58) open-drain
#define LCD_PINS_RS EXP1_07_PIN
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define LCD_PINS_ENABLE EXP1_08_PIN
#define LCD_PINS_D4 EXP1_06_PIN
#elif ENABLED(ENDER2_STOCKDISPLAY)
/** Creality Ender-2 display pinout
* ------
* (SCK) 1.30 | 1 2 | 0.28 (BTN_ENC)
* (BTN_EN1) 1.18 | 3 4 | 1.19 (RESET)
* (BTN_EN2) 1.20 5 6 | 1.21 (LCD_A0)
* (LCD_RS) 1.22 | 7 8 | 1.23 (MOSI)
* GND | 9 10 | 5V
* ------
* EXP1
*/
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define BTN_ENC EXP1_02_PIN
#define DOGLCD_CS EXP1_07_PIN
#define DOGLCD_A0 EXP1_06_PIN
#define DOGLCD_SCK EXP1_01_PIN
#define DOGLCD_MOSI EXP1_08_PIN
#define FORCE_SOFT_SPI
#define LCD_BACKLIGHT_PIN -1
#elif HAS_SPI_TFT // Config for Classic UI (emulated DOGM) and Color UI
#define TFT_CS_PIN EXP1_07_PIN
#define TFT_A0_PIN EXP1_08_PIN
#define TFT_DC_PIN EXP1_08_PIN
#define TFT_MISO_PIN EXP2_01_PIN
#define TFT_BACKLIGHT_PIN EXP1_03_PIN
#define TFT_RESET_PIN EXP1_04_PIN
#define LCD_USE_DMA_SPI
#define TOUCH_INT_PIN EXP1_06_PIN
#define TOUCH_CS_PIN EXP1_05_PIN
#define TOUCH_BUTTONS_HW_SPI
#define TOUCH_BUTTONS_HW_SPI_DEVICE 1
// SPI 1
#define SD_SCK_PIN EXP2_02_PIN
#define SD_MISO_PIN EXP2_01_PIN
#define SD_MOSI_PIN EXP2_06_PIN
#define TFT_BUFFER_SIZE 2400
#elif IS_TFTGLCD_PANEL
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS EXP2_03_PIN
#endif
#define SD_DETECT_PIN EXP2_07_PIN
#else
#define BTN_ENC EXP1_02_PIN // (58) open-drain
#define LCD_PINS_RS EXP1_04_PIN
#define BTN_EN1 EXP2_03_PIN // (31) J3-2 & AUX-4
#define BTN_EN2 EXP2_05_PIN // (33) J3-4 & AUX-4
#define LCD_PINS_ENABLE EXP1_03_PIN
#define LCD_PINS_D4 EXP1_05_PIN
#define LCD_SDSS EXP2_04_PIN // (16) J3-7 & AUX-4
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS EXP1_03_PIN
#define DOGLCD_A0 EXP1_04_PIN
#define DOGLCD_SCK EXP2_02_PIN
#define DOGLCD_MOSI EXP2_06_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 EXP1_05_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 EXP1_06_PIN
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN EXP1_07_PIN
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN EXP1_08_PIN
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN EXP1_06_PIN
#endif
#else // !FYSETC_MINI_12864
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS EXP1_06_PIN
#define DOGLCD_A0 EXP1_07_PIN
#define DOGLCD_SCK EXP2_02_PIN
#define DOGLCD_MOSI EXP2_06_PIN
#define FORCE_SOFT_SPI
#endif
#if IS_ULTIPANEL
#define LCD_PINS_D5 EXP1_06_PIN
#define LCD_PINS_D6 EXP1_07_PIN
#define LCD_PINS_D7 EXP1_08_PIN
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN EXP1_08_PIN // Detect the presence of the encoder
#endif
#endif
#endif // !FYSETC_MINI_12864
#endif // HAS_MARLINUI_U8GLIB
#endif // HAS_WIRED_LCD
#if HAS_ADC_BUTTONS
#error "ADC BUTTONS do not work unmodified on SKR 1.4, The ADC ports cannot take more than 3.3v."
#endif
//
// 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,209 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#include "env_validate.h"
// If you have the BigTreeTech driver expansion module, enable BTT_MOTOR_EXPANSION
// https://github.com/bigtreetech/BTT-Expansion-module/tree/master/BTT%20EXP-MOT
//#define BTT_MOTOR_EXPANSION
#if BOTH(HAS_WIRED_LCD, BTT_MOTOR_EXPANSION)
#if EITHER(CR10_STOCKDISPLAY, ENDER2_STOCKDISPLAY)
#define EXP_MOT_USE_EXP2_ONLY 1
#else
#error "You can't use both an LCD and a Motor Expansion Module on EXP1/EXP2 at the same time."
#endif
#endif
// Ignore temp readings during development.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
//
// 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 && !REDUNDANT_TEMP_MATCH(SOURCE, E1)
#if TEMP_SENSOR_PROBE
#define TEMP_PROBE_PIN TEMP_1_PIN
#elif TEMP_SENSOR_CHAMBER
#define TEMP_CHAMBER_PIN TEMP_1_PIN
#endif
#endif
// CS, MISO, MOSI, and SCK for MAX Thermocouple SPI
#if HAS_MAX_TC
//#define TEMP_0_CS_PIN P...
//#define TEMP_0_MISO_PIN P...
//#define TEMP_0_MOSI_PIN P...
//#define TEMP_0_SCK_PIN P...
//#define TEMP_1_CS_PIN P...
//#define TEMP_1_MISO_PIN P...
//#define TEMP_1_MOSI_PIN P...
//#define TEMP_1_SCK_PIN P...
#endif
//
// Heaters / Fans
//
#ifndef HEATER_0_PIN
#define HEATER_0_PIN P2_07
#endif
#if HOTENDS == 1 && DISABLED(HEATERS_PARALLEL)
#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 !defined(BEEPER_PIN) && HAS_WIRED_LCD && DISABLED(LCD_USE_I2C_BUZZER)
#define BEEPER_PIN P1_30 // (37) not 5V tolerant
#endif
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#if HAS_WIRED_LCD
#define SDCARD_CONNECTION LCD
#else
#define SDCARD_CONNECTION ONBOARD
#endif
#endif
#if SD_CONNECTION_IS(LCD) && ENABLED(SKR_USE_LCD_SD_CARD_PINS_FOR_CS)
#error "SDCARD_CONNECTION must not be 'LCD' with SKR_USE_LCD_SD_CARD_PINS_FOR_CS."
#endif
#if SD_CONNECTION_IS(LCD)
#define SD_SCK_PIN P0_15
#define SD_MISO_PIN P0_17
#define SD_MOSI_PIN P0_18
#define SD_SS_PIN EXP2_04_PIN
#define SD_DETECT_PIN EXP2_07_PIN
#elif SD_CONNECTION_IS(ONBOARD)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN P0_27
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_SS_PIN ONBOARD_SD_CS_PIN
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif
#if ENABLED(BTT_MOTOR_EXPANSION)
/**
* ------ ------
* (M3STP) | 1 2 | (M3DIR) (M3DIAG) | 1 2 | (M3RX)
* (M2STP) | 3 4 | (M2DIR) (M2DIAG) | 3 4 | (M2RX)
* (M1DIR) 5 6 | (M1STP) (M1DIAG) 5 6 | (M1RX)
* (M1EN) | 7 8 | -- (M3EN) | 7 8 | (M2EN)
* GND | 9 10 | -- GND | 9 10 | --
* ------ ------
* EXP2 EXP1
*
* NB In EXP_MOT_USE_EXP2_ONLY mode EXP1 is not used and M2EN and M3EN need to be jumpered to M1EN
*/
// M1 on Driver Expansion Module
#define E2_STEP_PIN EXP2_06_PIN
#define E2_DIR_PIN EXP2_05_PIN
#define E2_ENABLE_PIN EXP2_07_PIN
#if !EXP_MOT_USE_EXP2_ONLY
#define E2_DIAG_PIN EXP1_05_PIN
#define E2_CS_PIN EXP1_06_PIN
#if HAS_TMC_UART
#define E2_SERIAL_TX_PIN EXP1_06_PIN
#define E2_SERIAL_RX_PIN E2_SERIAL_TX_PIN
#endif
#endif
// M2 on Driver Expansion Module
#define E3_STEP_PIN EXP2_03_PIN
#define E3_DIR_PIN EXP2_04_PIN
#if !EXP_MOT_USE_EXP2_ONLY
#define E3_ENABLE_PIN EXP1_08_PIN
#define E3_DIAG_PIN EXP1_03_PIN
#define E3_CS_PIN EXP1_04_PIN
#if HAS_TMC_UART
#define E3_SERIAL_TX_PIN EXP1_04_PIN
#define E3_SERIAL_RX_PIN E3_SERIAL_TX_PIN
#endif
#else
#define E3_ENABLE_PIN EXP2_07_PIN
#endif
// M3 on Driver Expansion Module
#define E4_STEP_PIN EXP2_01_PIN
#define E4_DIR_PIN EXP2_02_PIN
#if !EXP_MOT_USE_EXP2_ONLY
#define E4_ENABLE_PIN EXP1_07_PIN
#define E4_DIAG_PIN EXP1_01_PIN
#define E4_CS_PIN EXP1_02_PIN
#if HAS_TMC_UART
#define E4_SERIAL_TX_PIN EXP1_02_PIN
#define E4_SERIAL_RX_PIN E4_SERIAL_TX_PIN
#endif
#else
#define E4_ENABLE_PIN EXP2_07_PIN
#endif
#endif // BTT_MOTOR_EXPANSION

View File

@ -0,0 +1,149 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2022 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* eMotion-Tech eMotronic pin assignments
*
* Board pins<->features assignments are based on the
* Micro-Delta Rework printer default connections.
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "eMotronic"
#define BOARD_WEBSITE_URL "www.reprap-france.com/article/lemotronic-quesaco"
//
// Limit Switches
//
#define X_STOP_PIN P1_22 // S0
#define Y_STOP_PIN P1_23 // S1
#define Z_STOP_PIN P1_24 // S2
#define I_STOP_PIN P1_25 // S3
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN P0_26 // S4 (opto)
#endif
//
// Steppers
//
#define X_STEP_PIN P2_02 // M3
#define X_DIR_PIN P4_28
#define X_ENABLE_PIN P4_29
#define Y_STEP_PIN P2_01 // M2
#define Y_DIR_PIN P0_22
#define Y_ENABLE_PIN P0_21
#define Z_STEP_PIN P2_00 // M1
#define Z_DIR_PIN P3_26
#define Z_ENABLE_PIN P3_25
#define E0_STEP_PIN P2_03 // M4
#define E0_DIR_PIN P0_04
#define E0_ENABLE_PIN P0_05 // Correct!
#define E1_STEP_PIN P2_08 // M5
#define E1_DIR_PIN P0_20
#define E1_ENABLE_PIN P0_19
//
// Temperature Sensors
// 3.3V max when defined as an analog input
//
#define TEMP_0_PIN P0_24_A1 // A1 (TH1)
#define TEMP_1_PIN P0_23_A0 // A0 (TH0)
#define TEMP_BED_PIN P0_25_A2 // A2 (TH2)
//
// Heaters / Fans
//
#define _H0_PIN P2_04 // (H0: 15A)
#define HEATER_BED_PIN P2_05 // (H1: 10A shared)
#define HEATER_0_PIN P2_06 // (H2: 10A shared)
#define HEATER_1_PIN P2_07 // (H3: 10A shared)
#define FAN_PIN P2_11 // (FAN0: 1A)
#define FAN1_PIN P2_13 // (FAN1: 1A)
//
// Extension ports
//
#define EXP1_01_PIN P0_03 // RX0
#define EXP1_02_PIN P0_02 // TX0
#define EXP1_03_PIN P1_30
#define EXP1_04_PIN P1_31
#define EXP1_05_PIN P0_17 // MISO0
#define EXP1_06_PIN P0_18 // MOSI0
#define EXP1_07_PIN P0_15 // SCK0
#define EXP1_08_PIN P0_16 // SSEL0
#define EXP1_09_PIN P0_27 // SDA0
#define EXP1_10_PIN P0_28 // SCL0
#define EXP2_01_PIN P0_10
#define EXP2_02_PIN P0_11
#define EXP2_03_PIN P0_00 // SDA1
#define EXP2_04_PIN P0_01 // SCL1
#define EXP2_05_PIN P1_28
#define EXP2_06_PIN P1_29
#define EXP2_07_PIN P1_26
#define EXP2_08_PIN P1_27
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#if SD_CONNECTION_IS(ONBOARD)
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define SD_SS_PIN P0_06
#elif SD_CONNECTION_IS(LCD)
#define SD_SCK_PIN EXP1_07_PIN
#define SD_MISO_PIN EXP1_05_PIN
#define SD_MOSI_PIN EXP1_06_PIN
#define SD_SS_PIN EXP1_08_PIN
#define SD_DETECT_PIN EXP1_04_PIN
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif
//
// LCD / Controller
//
#if ENABLED(EMOTION_TECH_LCD)
#define BEEPER_PIN EXP2_01_PIN
#define DOGLCD_A0 EXP2_06_PIN
#define DOGLCD_CS EXP2_04_PIN
#define DOGLCD_SCK EXP1_07_PIN
#define DOGLCD_MOSI EXP1_06_PIN
#define BTN_EN1 EXP2_07_PIN
#define BTN_EN2 EXP2_05_PIN
#define BTN_ENC EXP2_02_PIN
#endif

View File

@ -0,0 +1,174 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* GMARSH X6 Rev.1 pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "GMARSH X6 REV1"
// Ignore temp readings during development.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
//
// 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 X_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P1_09
#define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P1_16
#define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P0_04
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN P2_02
#define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN
#define E2_SERIAL_TX_PIN P2_06
#define E2_SERIAL_RX_PIN E2_SERIAL_TX_PIN
// 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
#define POWER_MONITOR_VOLTAGE_PIN P0_25_A2
//
// LCD
//
#if IS_RRD_SC
#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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION LCD
#endif
#if SD_CONNECTION_IS(LCD)
#define SD_SCK_PIN P0_15
#define SD_MISO_PIN P0_17
#define SD_MOSI_PIN P0_18
#define SD_SS_PIN P0_16
#define SD_DETECT_PIN P1_22
#elif SD_CONNECTION_IS(ONBOARD)
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Makerbase MKS SBASE pin assignments
*/
#include "env_validate.h"
#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
#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 MMU1 (Multi Material Multiplexer) Support
//
#if HAS_PRUSA_MMU1
#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
//
// Power Supply Control
//
#if ENABLED(MKS_PWC)
#define PS_ON_PIN P0_25 // SERVO
#define KILL_PIN P1_29 // Z+
#define KILL_PIN_STATE HIGH
#endif
//
// Ethernet pins
//
#if !IS_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
#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 SD_SCK_PIN P1_22 // J8-2 (moved from EXP2 P0.7)
#define SD_MISO_PIN P1_23 // J8-3 (moved from EXP2 P0.8)
#define SD_MOSI_PIN P2_12 // J8-4 (moved from EXP2 P0.9)
#define SD_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) || SD_CONNECTION_IS(ONBOARD)
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#if SD_CONNECTION_IS(LCD)
// Use standard cable and header, SPI and SD detect are shared with onboard SD card.
// Hardware SPI is used for both SD cards. The detect pin is shared between the
// LCD and onboard SD readers so we disable it.
#define SD_SS_PIN P0_28
#else
#define SD_DETECT_PIN P0_27
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_SS_PIN ONBOARD_SD_CS_PIN
#endif
#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.
*/
//
// LCD / Controller
//
#if IS_TFTGLCD_PANEL
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS P3_25 // EXP2.3
#endif
#if SD_CONNECTION_IS(LCD)
#define SD_DETECT_PIN P0_28 // EXP2.4
#endif
#elif HAS_WIRED_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 EITHER(VIKI2, miniVIKI)
#define DOGLCD_SCK SD_SCK_PIN
#define DOGLCD_MOSI SD_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)
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#endif
#endif // HAS_WIRED_LCD
/**
* 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_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 MOSFET_B_PIN
* PWM1.6 P1_26 Y_MIN_PIN 10K PULLUP TO 3.3v, 1K SERIES
* PWM1.6 P2_05 MOSFET_A_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,416 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Makerbase MKS SGEN-L pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "MKS SGen-L"
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SGEN_L"
#define USES_DIAG_JUMPERS
//
// 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
//
#ifdef X_STALL_SENSITIVITY
#define X_STOP_PIN X_DIAG_PIN
#if X_HOME_TO_MIN
#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
#ifdef Y_STALL_SENSITIVITY
#define Y_STOP_PIN Y_DIAG_PIN
#if Y_HOME_TO_MIN
#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
#ifdef Z_STALL_SENSITIVITY
#define Z_STOP_PIN Z_DIAG_PIN
#if Z_HOME_TO_MIN
#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 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
#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 // HAS_TMC_UART
//
// 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 && DISABLED(HEATERS_PARALLEL)
#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
//
// Power Supply Control
//
#if ENABLED(MKS_PWC)
#define PS_ON_PIN P2_00 // SERVO1
#define KILL_PIN P1_24 // Z+
#define KILL_PIN_STATE HIGH
#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 2 | 1.30 (BTN_ENC) (MISO) 0.8 | 1 2 | 0.7 (SD_SCK)
* (LCD_EN) 0.18 | 3 4 | 0.16 (LCD_RS) (BTN_EN1) 3.25 | 3 4 | 0.28 (SD_CS2)
* (LCD_D4) 0.15 5 6 | 0.17 (LCD_D5) (BTN_EN2) 3.26 5 6 | 0.9 (SD_MOSI)
* (LCD_D6) 1.0 | 7 8 | 1.22 (LCD_D7) (SD_DETECT) 0.27 | 7 8 | RESET
* GND | 9 10 | 5V GND | 9 10 | --
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN P1_31
#define EXP1_02_PIN P1_30
#define EXP1_03_PIN P0_18
#define EXP1_04_PIN P0_16
#define EXP1_05_PIN P0_15
#define EXP1_06_PIN P0_17
#define EXP1_07_PIN P1_00
#define EXP1_08_PIN P1_22
#define EXP2_01_PIN P0_08
#define EXP2_02_PIN P0_07
#define EXP2_03_PIN P3_25
#define EXP2_04_PIN P0_28
#define EXP2_05_PIN P3_26
#define EXP2_06_PIN P0_09
#define EXP2_07_PIN P0_27
#define EXP2_08_PIN -1 // RESET
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#if SD_CONNECTION_IS(LCD) || SD_CONNECTION_IS(ONBOARD)
#define SD_DETECT_PIN EXP2_07_PIN
#define SD_SCK_PIN EXP2_02_PIN
#define SD_MISO_PIN EXP2_01_PIN
#define SD_MOSI_PIN EXP2_06_PIN
#if SD_CONNECTION_IS(ONBOARD)
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_SS_PIN ONBOARD_SD_CS_PIN
#else
#define SD_SS_PIN EXP2_04_PIN
#endif
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "No custom SD drive cable defined for this board."
#endif
#if HAS_WIRED_LCD
#define BEEPER_PIN EXP1_01_PIN
#define BTN_ENC EXP1_02_PIN
#if ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS EXP1_07_PIN
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define LCD_PINS_ENABLE EXP1_08_PIN
#define LCD_PINS_D4 EXP1_06_PIN
#elif HAS_SPI_TFT // Config for Classic UI (emulated DOGM) and Color UI
#define TFT_CS_PIN EXP1_07_PIN
#define TFT_A0_PIN EXP1_08_PIN
#define TFT_DC_PIN EXP1_08_PIN
#define TFT_MISO_PIN EXP2_01_PIN
#define TFT_BACKLIGHT_PIN EXP1_03_PIN
#define TFT_RESET_PIN EXP1_04_PIN
#define LCD_USE_DMA_SPI
#define TOUCH_INT_PIN EXP1_06_PIN
#define TOUCH_CS_PIN EXP1_05_PIN
#define TOUCH_BUTTONS_HW_SPI
#define TOUCH_BUTTONS_HW_SPI_DEVICE 2
// Disable any LCD related PINs config
#define LCD_PINS_ENABLE -1
#define LCD_PINS_RS -1
#ifndef TFT_BUFFER_SIZE
#define TFT_BUFFER_SIZE 1200
#endif
#ifndef TFT_QUEUE_SIZE
#define TFT_QUEUE_SIZE 6144
#endif
#define BTN_EN1 EXP2_03_PIN
#define BTN_EN2 EXP2_05_PIN
#elif IS_TFTGLCD_PANEL
#undef BEEPER_PIN
#undef BTN_ENC
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS EXP2_03_PIN
#endif
#else
#define BTN_EN1 EXP2_03_PIN
#define BTN_EN2 EXP2_05_PIN
#define LCD_SDSS EXP2_04_PIN
#if ENABLED(MKS_12864OLED_SSD1306)
#define LCD_PINS_DC EXP1_06_PIN
#define DOGLCD_CS EXP1_04_PIN
#define DOGLCD_A0 LCD_PINS_DC
#define DOGLCD_SCK EXP1_05_PIN
#define DOGLCD_MOSI EXP1_03_PIN
#define LCD_PINS_RS EXP1_07_PIN
#define LCD_PINS_D7 EXP1_08_PIN
#define KILL_PIN -1 // NC
#else // !MKS_12864OLED_SSD1306
#define LCD_PINS_RS EXP1_04_PIN
#define LCD_PINS_ENABLE EXP1_03_PIN
#define LCD_PINS_D4 EXP1_05_PIN
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS EXP1_03_PIN
#define DOGLCD_A0 EXP1_04_PIN
#define DOGLCD_SCK EXP2_02_PIN
#define DOGLCD_MOSI EXP2_06_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 EXP1_05_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 EXP1_06_PIN
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN EXP1_07_PIN
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN EXP1_08_PIN
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN EXP1_06_PIN
#endif
#else // !FYSETC_MINI_12864
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS EXP1_06_PIN
#define DOGLCD_A0 EXP1_07_PIN
#endif
#if IS_ULTIPANEL
#define LCD_PINS_D5 EXP1_06_PIN
#define LCD_PINS_D6 EXP1_07_PIN
#define LCD_PINS_D7 EXP1_08_PIN
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif
#endif // !FYSETC_MINI_12864
#endif // !MKS_12864OLED_SSD1306
#endif // !CR10_STOCKDISPLAY
#endif // HAS_WIRED_LCD
//
// 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 // SERVO0 P1.23

View File

@ -0,0 +1,495 @@
/**
* 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 <https://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
#include "env_validate.h"
#define BOARD_INFO_NAME "Re-ARM RAMPS 1.4"
//
// 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
*/
// 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 X_SERIAL_TX_PIN
#endif
#ifndef Y_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P0_00
#endif
#ifndef Y_SERIAL_RX_PIN
#define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
#endif
#ifndef Z_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P2_13
#endif
#ifndef Z_SERIAL_RX_PIN
#define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
#endif
#ifndef E0_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P2_08
#endif
#ifndef E0_SERIAL_RX_PIN
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
#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
//
// Heaters / Fans
//
#ifndef MOSFET_A_PIN
#define MOSFET_A_PIN P2_05
#endif
#ifndef MOSFET_B_PIN
#define MOSFET_B_PIN P2_04
#endif
#ifndef MOSFET_C_PIN
#define MOSFET_C_PIN P2_07
#endif
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif
#define HEATER_0_PIN MOSFET_A_PIN
#if FET_ORDER_EFB // Hotend, Fan, Bed
#define HEATER_BED_PIN MOSFET_C_PIN
#elif FET_ORDER_EEF // Hotend, Hotend, Fan
#define HEATER_1_PIN MOSFET_B_PIN
#elif FET_ORDER_EEB // Hotend, Hotend, Bed
#define HEATER_1_PIN MOSFET_B_PIN
#define HEATER_BED_PIN MOSFET_C_PIN
#elif FET_ORDER_EFF // Hotend, Fan, Fan
#define FAN1_PIN MOSFET_C_PIN
#elif DISABLED(FET_ORDER_SF) // Not Spindle, Fan (i.e., "EFBF" or "EFBE")
#define HEATER_BED_PIN MOSFET_C_PIN
#if HOTENDS == 1 && DISABLED(HEATERS_PARALLEL)
#define FAN1_PIN MOSFET_D_PIN
#else
#define HEATER_1_PIN MOSFET_D_PIN
#endif
#endif
#ifndef FAN_PIN
#if EITHER(FET_ORDER_EFB, FET_ORDER_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan
#define FAN_PIN MOSFET_B_PIN
#elif EITHER(FET_ORDER_EEF, FET_ORDER_SF) // Hotend, Hotend, Fan or Spindle, Fan
#define FAN_PIN MOSFET_C_PIN
#elif FET_ORDER_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 MOSFET_B_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(TEMP_0_CS_PIN) && !(HAS_Z_AXIS && Z_HOME_DIR)
#define TEMP_0_CS_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 HAS_PRUSA_MMU1
#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
#endif
/**
* 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
* - https://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 ENABLED(ZONESTAR_LCD)
#ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
#error "CAUTION! ZONESTAR_LCD on REARM requires wiring modifications. NB. ADCs are not 5V tolerant. See 'pins_RAMPS_RE_ARM.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
#endif
#elif IS_TFTGLCD_PANEL
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS P3_26 // (31) J3-2 & AUX-4
#endif
#define SD_DETECT_PIN P1_31 // (49) J3-1 & AUX-3 (NOT 5V tolerant)
#define KILL_PIN P1_22 // (41) J5-4 & AUX-4
#elif HAS_WIRED_LCD
#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 P1_23 // (53) J3-5 & AUX-3
#if IS_NEWPANEL
#if IS_RRW_KEYPAD
#define SHIFT_OUT_PIN P0_18 // (51) (MOSI) J3-10 & AUX-3
#define SHIFT_CLK_PIN P0_15 // (52) (SCK) J3-9 & AUX-3
#define SHIFT_LD_PIN P1_31 // (49) J3-1 & AUX-3 (NOT 5V tolerant)
#endif
#else
//#define SHIFT_CLK_PIN P3_26 // (31) J3-2 & AUX-4
//#define SHIFT_LD_PIN P3_25 // (33) J3-4 & AUX-4
//#define SHIFT_OUT_PIN P2_11 // (35) J3-3 & AUX-4
//#define SHIFT_EN_PIN P1_22 // (41) J5-4 & AUX-4
#endif
#if EITHER(VIKI2, miniVIKI)
#define DOGLCD_CS P0_16 // (16)
#define DOGLCD_A0 P2_06 // (59) J3-8 & AUX-2
#define DOGLCD_SCK SD_SCK_PIN
#define DOGLCD_MOSI SD_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
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#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 IS_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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif
#endif
#if ENABLED(MINIPANEL)
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#endif
#endif // HAS_WIRED_LCD
//
// Ethernet pins
//
#if !IS_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
#if SD_CONNECTION_IS(LCD)
#define SD_SCK_PIN P0_15 // (52) system defined J3-9 & AUX-3
#define SD_MISO_PIN P0_17 // (50) system defined J3-10 & AUX-3
#define SD_MOSI_PIN P0_18 // (51) system defined J3-10 & AUX-3
#define SD_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 SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_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 MOSFET_C_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) MOSFET_B_PIN
* *P2_05 (10) MOSFET_A_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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Selena Compact pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Selena Compact"
#define BOARD_WEBSITE_URL "github.com/Ales2-k/Selena"
//
// Servos
//
#define SERVO0_PIN P1_23
//
// Limit Switches
//
#define X_MIN_PIN P1_28
#define X_MAX_PIN P1_25
#define Y_STOP_PIN P2_11
#define Z_STOP_PIN P1_27
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN P1_22
#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)
//
// 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 IS_RRD_FG_SC
#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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif // IS_RRD_FG_SC

View File

@ -0,0 +1,26 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if NOT_TARGET(MCU_LPC1769)
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif

View File

@ -0,0 +1,124 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Azteeg X5 GT pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Azteeg X5 GT"
#define BOARD_WEBSITE_URL "tinyurl.com/yx8tdqa3"
//
// 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 EITHER(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,211 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Azteeg X5 MINI pin assignments
*/
#include "env_validate.h"
#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
#define LED2_PIN P1_20
#define LED3_PIN P1_19
#define LED4_PIN P1_21
//
// 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 (7-bit unshifted)
//
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x2C
#endif
#ifndef DIGIPOT_I2C_ADDRESS_B
#define DIGIPOT_I2C_ADDRESS_B 0x2E
#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_WIRED_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 IS_RRW_KEYPAD
#define SHIFT_OUT_PIN P0_18 // (51) (MOSI) J3-10 & AUX-3
#define SHIFT_CLK_PIN P0_15 // (52) (SCK) J3-9 & AUX-3
#define SHIFT_LD_PIN P1_31 // (49) not 5V tolerant J3-1 & AUX-3
#elif !IS_NEWPANEL
//#define SHIFT_OUT_PIN P2_11 // (35) J3-3 & AUX-4
//#define SHIFT_CLK_PIN P3_26 // (31) J3-2 & AUX-4
//#define SHIFT_LD_PIN P3_25 // (33) J3-4 & AUX-4
//#define SHIFT_EN_PIN P1_22 // (41) J5-4 & AUX-4
#endif
#if EITHER(VIKI2, miniVIKI)
#define BEEPER_PIN P1_30 // (37) may change if cable changes
#define DOGLCD_CS P0_26 // (63) J5-3 & AUX-2
#define DOGLCD_SCK SD_SCK_PIN
#define DOGLCD_MOSI SD_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
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#else
#if IS_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)
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif
#if ENABLED(MINIPANEL)
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#endif
#endif
#endif // HAS_WIRED_LCD
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#if SD_CONNECTION_IS(LCD)
#define SD_SCK_PIN P0_15
#define SD_MISO_PIN P0_17
#define SD_MOSI_PIN P0_18
#define SD_SS_PIN P1_23
#elif SD_CONNECTION_IS(ONBOARD)
#undef SD_DETECT_PIN
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Azteeg X5 MINI WIFI pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Azteeg X5 MINI WIFI"
//
// 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,291 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BigTreeTech SKR E3 Turbo pin assignments
*/
#include "env_validate.h"
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "BTT SKR E3 Turbo"
#endif
#define USES_DIAG_JUMPERS
// Onboard I2C EEPROM
#define I2C_EEPROM
#define MARLIN_EEPROM_SIZE 0x1000 // 4K (AT24C32)
//
// Servos
//
#define SERVO0_PIN P1_23
//
// 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
#define X_STOP_PIN X_DIAG_PIN
#define Y_STOP_PIN Y_DIAG_PIN
#define Z_STOP_PIN Z_DIAG_PIN
//
// Z Probe
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN P1_22
#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_21
#endif
// LED driving pin
#ifndef NEOPIXEL_PIN
#define NEOPIXEL_PIN P1_24
#endif
//
// Power Loss Detection
//
#ifndef POWER_LOSS_PIN
#define POWER_LOSS_PIN P1_20 // PWRDET
#endif
//
// Steppers
//
#define X_STEP_PIN P1_04
#define X_DIR_PIN P1_08
#define X_ENABLE_PIN P1_00
#ifndef X_CS_PIN
#define X_CS_PIN P1_01
#endif
#define Y_STEP_PIN P1_14
#define Y_DIR_PIN P1_15
#define Y_ENABLE_PIN P1_09
#ifndef Y_CS_PIN
#define Y_CS_PIN P1_10
#endif
#define Z_STEP_PIN P4_29
#define Z_DIR_PIN P4_28
#define Z_ENABLE_PIN P1_16
#ifndef Z_CS_PIN
#define Z_CS_PIN P1_17
#endif
#define E0_STEP_PIN P2_06
#define E0_DIR_PIN P2_07
#define E0_ENABLE_PIN P0_04
#ifndef E0_CS_PIN
#define E0_CS_PIN P0_05
#endif
#define E1_STEP_PIN P2_11
#define E1_DIR_PIN P2_12
#define E1_ENABLE_PIN P0_21
#ifndef E1_CS_PIN
#define E1_CS_PIN P0_22
#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_SERIAL_TX_PIN P1_01
#define X_SERIAL_RX_PIN X_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P1_10
#define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P1_17
#define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P0_05
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN P0_22
#define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
//
// TMC Low Power Standby pins
//
#define X_STDBY_PIN P3_26
#define Y_STDBY_PIN P3_25
#define Z_STDBY_PIN P1_18
#define E0_STDBY_PIN P1_19
#define E1_STDBY_PIN P2_13
//
// Temperature Sensors
//
#define TEMP_0_PIN P0_24
#define TEMP_1_PIN P0_23
#define TEMP_BED_PIN P0_25
#define TEMP_BOARD_PIN P1_30 // Onboard thermistor, NTC100K
//
// Heaters / Fans
//
#define HEATER_0_PIN P2_03 // EXTRUDER 0
#define HEATER_1_PIN P2_04 // EXTRUDER 1
#define HEATER_BED_PIN P2_05 // BED
#define FAN_PIN P2_01
#define FAN1_PIN P2_02
#ifndef CONTROLLER_FAN_PIN
#define CONTROLLER_FAN_PIN FAN1_PIN
#endif
/**
* ------
* (BEEPER) P2_08 | 1 2 | P0_16 (BTN_ENC)
* (BTN_EN1) P0_19 | 3 4 | RESET
* (BTN_EN2) P0_20 5 6 | P0_15 (LCD_D4)
* (LCD_RS) P0_17 | 7 8 | P0_18 (LCD_EN)
* GND | 9 10 | 5V
* ------
* EXP
*/
#define EXP1_01_PIN P2_08
#define EXP1_02_PIN P0_16
#define EXP1_03_PIN P0_19
#define EXP1_04_PIN -1
#define EXP1_05_PIN P0_20
#define EXP1_06_PIN P0_15
#define EXP1_07_PIN P0_17
#define EXP1_08_PIN P0_18
#if HAS_DWIN_E3V2 || IS_DWIN_MARLINUI
#ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
#error "CAUTION! Ender-3 V2 display requires a custom cable with TX = P0_15, RX = P0_16. See 'pins_BTT_SKR_E3_TURBO.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
#endif
/**
* Ender 3 V2 display SKR E3 Turbo (EXP1) Ender 3 V2 display --> SKR E3 Turbo
* ------ ------ RX 3 --> 5 P0_15
* -- | 1 2 | -- (BEEPER) P2_08 |10 9 | P0_16 (BTN_ENC) TX 4 --> 9 P0_16
* (SKR_TX1) RX | 3 4 | TX (SKR_RX1) (BTN_EN1) P0_19 | 8 7 | RESET BEEPER 6 --> 10 P2_08
* (BTN_ENC) ENT 5 6 | BEEPER (BTN_EN2) P0_20 6 5 | P0_15 (LCD_D4)
* (BTN_E2) B | 7 8 | A (BTN_E1) (LCD_RS) P0_17 | 4 3 | P0_18 (LCD_EN)
* GND | 9 10 | 5V GND | 2 1 | 5V
* ------ ------
*/
#define BEEPER_PIN EXP1_01_PIN
#define BTN_EN1 EXP1_08_PIN
#define BTN_EN2 EXP1_07_PIN
#define BTN_ENC EXP1_05_PIN
#elif HAS_WIRED_LCD
#if ENABLED(CR10_STOCKDISPLAY)
#define BEEPER_PIN EXP1_01_PIN
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define BTN_ENC EXP1_02_PIN
#define LCD_PINS_RS EXP1_07_PIN
#define LCD_PINS_ENABLE EXP1_08_PIN
#define LCD_PINS_D4 EXP1_06_PIN
#elif ENABLED(ZONESTAR_LCD) // ANET A8 LCD Controller - Must convert to 3.3V - CONNECTING TO 5V WILL DAMAGE THE BOARD!
#ifndef NO_CONTROLLER_CUSTOM_WIRING_WARNING
#error "CAUTION! ZONESTAR_LCD requires wiring modifications. See 'pins_BTT_SKR_E3_TURBO.h' for details. (Define NO_CONTROLLER_CUSTOM_WIRING_WARNING to suppress this warning.)"
#endif
#define LCD_PINS_RS EXP1_06_PIN
#define LCD_PINS_ENABLE EXP1_02_PIN
#define LCD_PINS_D4 EXP1_07_PIN
#define LCD_PINS_D5 EXP1_05_PIN
#define LCD_PINS_D6 EXP1_03_PIN
#define LCD_PINS_D7 EXP1_01_PIN
#define ADC_KEYPAD_PIN P1_23 // Repurpose servo pin for ADC - CONNECTING TO 5V WILL DAMAGE THE BOARD!
#elif EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY)
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define BTN_ENC EXP1_02_PIN
#define DOGLCD_CS EXP1_07_PIN
#define DOGLCD_A0 EXP1_06_PIN
#define DOGLCD_SCK EXP1_01_PIN
#define DOGLCD_MOSI EXP1_08_PIN
#define FORCE_SOFT_SPI
#define LCD_BACKLIGHT_PIN -1
#else
#error "Only ZONESTAR_LCD, MKS_MINI_12864, ENDER2_STOCKDISPLAY, and CR10_STOCKDISPLAY are currently supported on the BTT_SKR_E3_TURBO."
#endif
#endif // HAS_WIRED_LCD
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#if SD_CONNECTION_IS(ONBOARD)
#define SD_DETECT_PIN P2_00
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define SD_SS_PIN P0_06
#elif SD_CONNECTION_IS(CUSTOM_CABLE)
#error "SD CUSTOM_CABLE is not compatible with SKR E3 Turbo."
#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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BigTreeTech SKR 1.4 Turbo pin assignments
*/
#define BOARD_INFO_NAME "BTT SKR V1.4 TURBO"
//
// Include SKR 1.4 pins
//
#define REQUIRE_LPC1769
#include "../lpc1768/pins_BTT_SKR_V1_4.h" // ... BTT_SKR_common

View File

@ -0,0 +1,175 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cohesion3D Mini pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Cohesion3D Mini"
//
// 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
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
//
// 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_WIRED_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_WIRED_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,286 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cohesion3D ReMix pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Cohesion3D ReMix"
//
// 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
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
//
// 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_WIRED_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_WIRED_LCD
//
// SD Support
//
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#if SD_CONNECTION_IS(LCD) || SD_CONNECTION_IS(ONBOARD)
#define SD_SCK_PIN P0_07 // (52) system defined J3-9 & AUX-3
#define SD_MISO_PIN P0_08 // (50) system defined J3-10 & AUX-3
#define SD_MOSI_PIN P0_09 // (51) system defined J3-10 & AUX-3
#if SD_CONNECTION_IS(LCD)
#define SD_SS_PIN P1_23 // (53) system defined J3-5 & AUX-3 (Sometimes called SDSS) - CS used by Marlin
#else
#undef SD_DETECT_PIN
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_SS_PIN ONBOARD_SD_CS_PIN
#endif
#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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* FLYmaker FLY-CDY pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "FLY-CDY"
#define BOARD_WEBSITE_URL "github.com/FLYmaker/FLY-CDY"
//
// Servos
//
#define SERVO0_PIN P1_26
//
// Limit Switches
//
#define X_MIN_PIN P1_29 // X-
#define X_MAX_PIN P1_28 // X+
#define Y_MIN_PIN P1_27 // Y-
#define Y_MAX_PIN P1_25 // Y+
#define Z_MIN_PIN P1_22 // Z-
#define Z_MAX_PIN P0_27 // Z+
//
// Steppers
//
#define X_STEP_PIN P2_00
#define X_DIR_PIN P1_01
#define X_ENABLE_PIN P1_00
#ifndef X_CS_PIN
#define X_CS_PIN P1_04
#endif
#define Y_STEP_PIN P2_01
#define Y_DIR_PIN P1_09
#define Y_ENABLE_PIN P1_08
#ifndef Y_CS_PIN
#define Y_CS_PIN P1_10
#endif
#define Z_STEP_PIN P2_02
#define Z_DIR_PIN P1_15
#define Z_ENABLE_PIN P1_14
#ifndef Z_CS_PIN
#define Z_CS_PIN P1_16
#endif
#define E0_STEP_PIN P2_03
#define E0_DIR_PIN P4_29
#define E0_ENABLE_PIN P1_17
#ifndef E0_CS_PIN
#define E0_CS_PIN P4_28
#endif
#define E1_STEP_PIN P2_04
#define E1_DIR_PIN P2_11
#define E1_ENABLE_PIN P0_04
#ifndef E1_CS_PIN
#define E1_CS_PIN P2_12
#endif
#define E2_STEP_PIN P2_05
#define E2_DIR_PIN P0_11
#define E2_ENABLE_PIN P2_13
#ifndef E2_CS_PIN
#define E2_CS_PIN P0_10
#endif
//
// Software SPI pins for TMC2130 stepper drivers
//
#if ENABLED(TMC_USE_SW_SPI)
#ifndef TMC_SW_MOSI
#define TMC_SW_MOSI P0_20
#endif
#ifndef TMC_SW_MISO
#define TMC_SW_MISO P0_19
#endif
#ifndef TMC_SW_SCK
#define TMC_SW_SCK P0_21
#endif
#endif
#if HAS_TMC_UART
#define X_SERIAL_TX_PIN P1_04
#define X_SERIAL_RX_PIN X_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P1_10
#define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P1_16
#define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P4_28
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN P2_12
#define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN
#define E2_SERIAL_TX_PIN P0_10
#define E2_SERIAL_RX_PIN E2_SERIAL_TX_PIN
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN P0_26_A3 // (T4)
#define TEMP_1_PIN P0_25_A2 // (T3)
#define TEMP_2_PIN P0_24_A1 // (T2)
#define TEMP_BED_PIN P0_23_A0 // (T1)
//
// Heaters / Fans
//
#define HEATER_BED_PIN P3_26
#define HEATER_0_PIN P3_25
#define HEATER_1_PIN P1_20
#define HEATER_2_PIN P1_23
#ifndef FAN_PIN
#define FAN_PIN P1_18
#endif
#define FAN1_PIN P1_21
#define FAN2_PIN P1_24
//
// LCD / Controller
//
#define BEEPER_PIN P2_07
#define LCD_PINS_RS P2_10
#define LCD_PINS_ENABLE P0_22
#define LCD_PINS_D4 P1_19
#define LCD_PINS_D5 P2_08
#define LCD_PINS_D6 P1_30
#define LCD_PINS_D7 P1_31
#define BTN_EN1 P0_00
#define BTN_EN2 P0_01
#define BTN_ENC P0_28
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#if SD_CONNECTION_IS(ONBOARD)
#define SD_SS_PIN P0_06
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define SD_DETECT_PIN P0_05
#elif SD_CONNECTION_IS(LCD)
#define SD_SCK_PIN P0_15
#define SD_MISO_PIN P0_17
#define SD_MOSI_PIN P0_18
#define SD_SS_PIN P0_16
#define SD_DETECT_PIN P2_06
#endif

View File

@ -0,0 +1,58 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS SGen pin assignments
*
* Pins diagram:
* https://github.com/makerbase-mks/MKS-SGen/blob/master/Hardware/MKS%20SGEN%20V1.0_001/MKS%20SGEN%20V1.0_001%20PIN.pdf
*/
#define BOARD_INFO_NAME "MKS SGen"
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SGEN"
#define REQUIRE_LPC1769
#include "../lpc1768/pins_MKS_SBASE.h"
#if HAS_TMC_UART
/**
* TMC2208/TMC2209 stepper drivers
*/
#define X_SERIAL_TX_PIN P1_22 // J8-2
#define X_SERIAL_RX_PIN X_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P1_23 // J8-3
#define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P2_12 // J8-4
#define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P2_11 // J8-5
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN P4_28 // J8-6
#define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif

View File

@ -0,0 +1,453 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS SGen-L V2 pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "MKS SGEN_L V2"
#define BOARD_WEBSITE_URL "github.com/makerbase-mks"
#define USES_DIAG_JUMPERS
//
// EEPROM, MKS SGEN_L V2.0 hardware has 4K EEPROM on the board
//
#if NO_EEPROM_SELECTED
#define I2C_EEPROM // AT24C32
#define MARLIN_EEPROM_SIZE 0x1000 // 4K
#endif
//
// Servos
//
#define SERVO0_PIN P1_23 // SERVO P1.23
#define SERVO1_PIN P2_00 // SERVO P2.0
//
// Trinamic Stallguard pins, can connect or disconnect by jumpers cap on the board
//
#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_TO_MIN
#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_TO_MIN
#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_TO_MIN
#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
//
// Filament Runout Sensor
//
#define FIL_RUNOUT_PIN P1_28 // X+
#define FIL_RUNOUT2_PIN P1_26 // Y+
//
// 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 P1_09
#define E1_DIR_PIN P1_14
#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 P1_16
#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 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
#define X_SERIAL_TX_PIN P1_01
#define X_SERIAL_RX_PIN X_SERIAL_TX_PIN
#define Y_SERIAL_TX_PIN P1_08
#define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
#define Z_SERIAL_TX_PIN P1_10
#define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
#define E0_SERIAL_TX_PIN P1_15
#define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
#define E1_SERIAL_TX_PIN P1_17
#define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif // HAS_TMC_UART
//
// 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)
#define TEMP_2_PIN P0_26_A3 // Analog Input A3 (P0.26, No pull up)
#if HOTENDS == 1 && !REDUNDANT_TEMP_MATCH(SOURCE, E1)
#if TEMP_SENSOR_PROBE
#define TEMP_PROBE_PIN TEMP_1_PIN
#elif TEMP_SENSOR_CHAMBER
#define TEMP_CHAMBER_PIN TEMP_1_PIN
#endif
#endif
//
// Heaters / Fans
//
#define HEATER_BED_PIN P2_05
#define HEATER_0_PIN P2_07
#if HAS_MULTI_HOTEND
#ifndef HEATER_1_PIN
#define HEATER_1_PIN P2_06
#endif
#else
#ifndef FAN2_PIN
#define FAN2_PIN P2_06 // HE1 for FAN3
#endif
#endif
#ifndef FAN_PIN
#define FAN_PIN P2_04 // FAN1
#endif
#ifndef FAN1_PIN
#define FAN1_PIN P1_04 // FAN2
#endif
//
// Misc. Functions
//
#define LED_PIN P1_18 // Used as a status indicator
//
// Power Supply Control
//
#if ENABLED(MKS_PWC)
#define PS_ON_PIN P2_00 // SERVO1
#define KILL_PIN P1_24 // Z+
#define KILL_PIN_STATE HIGH
#endif
//
// RGB LED
//
#if ENABLED(RGB_LED)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN P1_19
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN P1_20
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN P1_21
#endif
#else
#define LED2_PIN P1_19 // Initialized by HAL/LPC1768/main.cpp
#define LED3_PIN P1_20
#define LED4_PIN P1_21
#endif
/** ------ ------
* (BEEPER) 1.31 | 1 2 | 1.30 (BTN_ENC) (MISO) 0.8 | 1 2 | 0.7 (SD_SCK)
* (LCD_EN) 0.18 | 3 4 | 0.16 (LCD_RS) (BTN_EN1) 3.25 | 3 4 | 0.28 (SD_CS2)
* (LCD_D4) 0.15 5 6 | 0.17 (LCD_D5) (BTN_EN2) 3.26 5 6 | 0.9 (SD_MOSI)
* (LCD_D6) 1.0 | 7 8 | 1.22 (LCD_D7) (SD_DETECT) 0.27 | 7 8 | RST
* GND | 9 10 | 5V GND | 9 10 | --
* ------ ------
* EXP1 EXP2
*/
#define EXP1_01_PIN P1_31
#define EXP1_02_PIN P1_30
#define EXP1_03_PIN P0_18
#define EXP1_04_PIN P0_16
#define EXP1_05_PIN P0_15
#define EXP1_06_PIN P0_17
#define EXP1_07_PIN P1_00
#define EXP1_08_PIN P1_22
#define EXP2_01_PIN P0_08
#define EXP2_02_PIN P0_07
#define EXP2_03_PIN P3_25
#define EXP2_04_PIN P0_28
#define EXP2_05_PIN P3_26
#define EXP2_06_PIN P0_09
#define EXP2_07_PIN P0_27
#define EXP2_08_PIN -1 // RESET
#if IS_TFTGLCD_PANEL
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS EXP2_03_PIN
#endif
#define SD_DETECT_PIN EXP2_07_PIN
#elif HAS_WIRED_LCD
#define BEEPER_PIN EXP1_01_PIN
#define BTN_ENC EXP1_02_PIN
#if ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS EXP1_07_PIN
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define LCD_PINS_ENABLE EXP1_08_PIN
#define LCD_PINS_D4 EXP1_06_PIN
#else
#define BTN_EN1 EXP2_03_PIN
#define BTN_EN2 EXP2_05_PIN
#define LCD_SDSS EXP2_04_PIN
#if ENABLED(MKS_12864OLED_SSD1306)
#define LCD_PINS_DC EXP1_06_PIN
#define DOGLCD_CS EXP1_04_PIN
#define DOGLCD_A0 LCD_PINS_DC
#define DOGLCD_SCK EXP1_05_PIN
#define DOGLCD_MOSI EXP1_03_PIN
#define LCD_PINS_RS EXP1_07_PIN
#define LCD_PINS_D7 EXP1_08_PIN
#define KILL_PIN -1 // NC
#elif HAS_SPI_TFT // Config for Classic UI (emulated DOGM) and Color UI
#define TFT_CS_PIN EXP1_07_PIN
#define TFT_DC_PIN EXP1_08_PIN
#define TFT_A0_PIN TFT_DC_PIN
#define TFT_MISO_PIN EXP2_01_PIN
#define TFT_BACKLIGHT_PIN EXP1_03_PIN
#define TFT_RESET_PIN EXP1_04_PIN
#define LCD_USE_DMA_SPI
#define TOUCH_INT_PIN EXP1_06_PIN
#define TOUCH_CS_PIN EXP1_05_PIN
#define TOUCH_BUTTONS_HW_SPI
#define TOUCH_BUTTONS_HW_SPI_DEVICE 2
// Disable any LCD related PINs config
#define LCD_PINS_ENABLE -1
#define LCD_PINS_RS -1
#ifndef TFT_BUFFER_SIZE
#define TFT_BUFFER_SIZE 1200
#endif
#ifndef TFT_QUEUE_SIZE
#define TFT_QUEUE_SIZE 6144
#endif
#else // !MKS_12864OLED_SSD1306
#define LCD_PINS_RS EXP1_04_PIN
#define LCD_PINS_ENABLE EXP1_03_PIN
#define LCD_PINS_D4 EXP1_05_PIN
#if ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS EXP1_03_PIN
#define DOGLCD_A0 EXP1_04_PIN
#define DOGLCD_SCK EXP2_02_PIN
#define DOGLCD_MOSI EXP2_06_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 EXP1_05_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 EXP1_06_PIN
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN EXP1_07_PIN
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN EXP1_08_PIN
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN EXP1_06_PIN
#endif
#else // !FYSETC_MINI_12864
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS EXP1_06_PIN
#define DOGLCD_A0 EXP1_07_PIN
#endif
#if IS_ULTIPANEL
#define LCD_PINS_D5 EXP1_06_PIN
#define LCD_PINS_D6 EXP1_07_PIN
#define LCD_PINS_D7 EXP1_08_PIN
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif
#endif // !FYSETC_MINI_12864
#endif // !MKS_12864OLED_SSD1306
#endif // !CR10_STOCKDISPLAY
#endif // HAS_WIRED_LCD
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
#if SD_CONNECTION_IS(LCD) || SD_CONNECTION_IS(ONBOARD)
#define SD_DETECT_PIN EXP2_07_PIN
#define SD_SCK_PIN EXP2_02_PIN
#define SD_MISO_PIN EXP2_01_PIN
#define SD_MOSI_PIN EXP2_06_PIN
#if SD_CONNECTION_IS(ONBOARD)
#define ONBOARD_SD_CS_PIN P0_06 // Chip select for "System" SD card
#define SD_SS_PIN ONBOARD_SD_CS_PIN
#else
#define SD_SS_PIN EXP2_04_PIN
#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 // SERVO0 P1.23

View File

@ -0,0 +1,179 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Smoothieware Smoothieboard pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Smoothieboard"
#define BOARD_WEBSITE_URL "smoothieware.org/smoothieboard"
//
// 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 EITHER(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_WIRED_LCD
/**
* SD Support
*
* For the RRD GLCD it CANNOT share the same SPI as the LCD so it must be
* hooked up to the onboard SDCard SPI and use a spare pin for the SDCS.
* Also note that an external SDCard sharing the SPI port with the
* onboard/internal SDCard must be ejected before rebooting as the bootloader
* does not like the external card. NOTE Smoothie will not boot if the external
* sdcard is inserted in the RRD LCD sdcard slot at boot time, it must be
* inserted after it has booted.
*/
#define SD_DETECT_PIN P0_27 // EXP2 Pin 7 (SD_CD, SD_DET)
#define SD_MISO_PIN P0_08 // EXP2 Pin 1 (PB3, SD_MISO)
#define SD_SCK_PIN P0_07 // EXP2 Pin 2 (SD_SCK)
#define SD_SS_PIN P0_28 // EXP2 Pin 4 (SD_CSEL, SD_CS)
#define SD_MOSI_PIN P0_09 // EXP2 Pin 6 (PB2, SD_MOSI)
/**
* The Smoothieboard supports the REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER with either
* a custom cable with breakouts to the pins indicated below or the RRD GLCD Adapter board
* found at http://smoothieware.org/rrdglcdadapter
*
* Other links to information about setting up a display panel with Smoothieboard
* http://chibidibidiwah.wdfiles.com/local--files/panel/smoothieboard2sd.jpg
* http://smoothieware.org/panel
*/
#if IS_RRD_FG_SC
// EXP1 Pins
#define BEEPER_PIN P1_31 // EXP1 Pin 1
#define BTN_ENC P1_30 // EXP1 Pin 2
#define LCD_PINS_ENABLE P0_18 // EXP1 Pin 3 (MOSI)
#define LCD_PINS_RS P0_16 // EXP1 Pin 4 (CS)
#define LCD_PINS_D4 P0_15 // EXP1 Pin 5 (SCK)
// EXP2 Pins
#define BTN_EN2 P3_26 // EXP2 Pin 3
#define BTN_EN1 P3_25 // EXP2 Pin 5
#elif IS_TFTGLCD_PANEL
#define SD_DETECT_PIN P0_27 // EXP2 Pin 7 (SD_CD, SD_DET)
#if ENABLED(TFTGLCD_PANEL_SPI)
#define TFTGLCD_CS P3_26 // EXP2 Pin 3
#endif
#else
#error "Marlin's Smoothieboard support cannot drive your LCD."
#endif
#endif
/**
* I2C Digipots - MCP4451
* Address 58 (2C << 1)
* Set from 0 - 127 with stop bit.
* (Ex. 3F << 1 | 1)
*/
#define DIGIPOTS_I2C_SCL P0_00
#define DIGIPOTS_I2C_SDA_X P0_04
#define DIGIPOTS_I2C_SDA_Y P0_10
#define DIGIPOTS_I2C_SDA_Z P0_19
#define DIGIPOTS_I2C_SDA_E0 P0_21
#define DIGIPOTS_I2C_SDA_E1 P4_29
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address (58 <- 2C << 1)
#endif

View File

@ -0,0 +1,227 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* TH3D EZBoard pin assignments
*/
#include "env_validate.h"
//#define V3_EZABL_ON_SERVO // As in TH3D Firmware Config
#define BOARD_INFO_NAME "TH3D EZBoard"
#define BOARD_WEBSITE_URL "th3dstudio.com"
//
// Servos
//
#if ENABLED(V3_EZABL_ON_SERVO)
#define SERVO0_PIN -1
#else
#define SERVO0_PIN P2_04
#endif
//
// Limit Switches
//
#define X_STOP_PIN P1_24
#define Y_STOP_PIN P1_25
#if ENABLED(V3_EZABL_ON_SERVO)
#define Z_STOP_PIN P2_04
#else
#define Z_STOP_PIN P1_26
#endif
//
// 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
//
#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
//
// 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
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
//
// SD Card
//
#define SDCARD_CONNECTION ONBOARD
//#define SD_DETECT_PIN P0_25 // SD_CD
#define SD_SCK_PIN P0_07
#define SD_MISO_PIN P0_08
#define SD_MOSI_PIN P0_09
#define ONBOARD_SD_CS_PIN P0_06
#define SD_SS_PIN ONBOARD_SD_CS_PIN
//
// LCD / Controller
//
/**
* ------
* P1_31 | 1 2 | P1_30
* P3_26 | 3 4 | P2_11
* P3_25 5 6 | P0_15
* P0_16 | 7 8 | P0_18
* GND | 9 10 | 5V
* ------
* 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.
*/
#define EXP1_01_PIN P1_31
#define EXP1_02_PIN P1_30
#define EXP1_03_PIN P3_26
#define EXP1_04_PIN P2_11
#define EXP1_05_PIN P3_25
#define EXP1_06_PIN P0_15
#define EXP1_07_PIN P0_16
#define EXP1_08_PIN P0_18
#if ENABLED(CR10_STOCKDISPLAY)
/** ------
* BEEPER | 1 2 | ENC
* EN1 | 3 4 | KILL
* EN2 5 6 | LCD_D4
* LCD_RS | 7 8 | LCD_EN
* GND | 9 10 | 5V
* ------
*/
#define BEEPER_PIN EXP1_01_PIN
#define LCD_PINS_RS EXP1_07_PIN
#define LCD_PINS_ENABLE EXP1_08_PIN
#define LCD_PINS_D4 EXP1_06_PIN
#define KILL_PIN EXP1_04_PIN
#elif ENABLED(MKS_MINI_12864)
/** ------
* SCK | 1 2 | ENC
* EN1 | 3 4 | --
* EN2 5 6 | A0
* CS | 7 8 | MOSI
* GND | 9 10 | 5V
* ------
*/
#define DOGLCD_CS EXP1_07_PIN
#define DOGLCD_A0 EXP1_06_PIN
#define DOGLCD_SCK EXP1_01_PIN
#define DOGLCD_MOSI EXP1_08_PIN
#define LCD_CONTRAST_INIT 160
#define LCD_CONTRAST_MIN 120
#define LCD_CONTRAST_MAX 180
#define FORCE_SOFT_SPI
#define LCD_BACKLIGHT_PIN -1
#elif HAS_WIRED_LCD
#error "Only CR10_STOCKDISPLAY or MKS_MINI_12864 are supported with TH3D EZBoard."
#endif
#if EITHER(CR10_STOCKDISPLAY, MKS_MINI_12864)
#define BTN_EN1 EXP1_03_PIN
#define BTN_EN2 EXP1_05_PIN
#define BTN_ENC EXP1_02_PIN
#endif

View File

@ -0,0 +1,32 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if NOT_TARGET(__AVR_ATmega2560__)
#if DISABLED(ALLOW_MEGA1280)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif NOT_TARGET(__AVR_ATmega1280__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560 or 1280' in 'Tools > Board.'"
#endif
#endif
#undef ALLOW_MEGA1280

View File

@ -0,0 +1,78 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cheaptronic v1.0 pin assignments
*/
#include "env_validate.h"
#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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Cheaptronic v2.0 pin assignments
* Built and sold by Michal Dyntar - RRO
* www.reprapobchod.cz
*/
#include "env_validate.h"
#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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
//
// Beeper, SD Card, Encoder
//
#define BEEPER_PIN 44
#if ENABLED(SDSUPPORT)
#define SDSS 53
#define SD_DETECT_PIN 49
#endif
#if IS_NEWPANEL
#define BTN_EN1 11
#define BTN_EN2 12
#define BTN_ENC 43
#endif

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* CartesioV11 pin assignments
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#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
//
// Auto fans
//
#define AUTO_FAN_PIN 7
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E3_AUTO_FAN_PIN
#define E3_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
//
// 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
//
#if HAS_WIRED_LCD
#define BEEPER_PIN 6
#define BTN_EN1 23
#define BTN_EN2 25
#define BTN_ENC 27
#if HAS_MARLINUI_U8GLIB
#define DOGLCD_A0 26
#define DOGLCD_CS 24
#define DOGLCD_MOSI -1 // Prevent auto-define by Conditionals_post.h
#define DOGLCD_SCK -1
#endif
#endif
// Hardware buttons for manual movement of XYZ
#define SHIFT_OUT_PIN 19
#define SHIFT_LD_PIN 18
#define SHIFT_CLK_PIN 17
//#define UI1 31
//#define UI2 22
#define STAT_LED_BLUE_PIN -1
#define STAT_LED_RED_PIN 31

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* CartesioV12 pin assignments
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#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
//
// Auto fans
//
#define AUTO_FAN_PIN 7
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E3_AUTO_FAN_PIN
#define E3_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
//
// 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
//
#if HAS_WIRED_LCD
#define BEEPER_PIN 16
#define BTN_EN1 36
#define BTN_EN2 34
#define BTN_ENC 38
#if HAS_MARLINUI_U8GLIB
#define DOGLCD_A0 39
#define DOGLCD_CS 35
#define DOGLCD_MOSI 48
#define DOGLCD_SCK 49
#endif
#endif
// Hardware buttons for manual movement of XYZ
#define SHIFT_OUT_PIN 42
#define SHIFT_LD_PIN 41
#define SHIFT_CLK_PIN 40
//#define UI1 43
//#define UI2 37
#define STAT_LED_BLUE_PIN -1
#define STAT_LED_RED_PIN 10 // TOOL_0_PWM_PIN
#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270

View File

@ -0,0 +1,126 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* CNControls V15 for HMS434 pin assignments
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#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
//
// Auto fans
//
#define AUTO_FAN_PIN 30
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E3_AUTO_FAN_PIN
#define E3_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef CHAMBER_AUTO_FAN_PIN
//#define CHAMBER_AUTO_FAN_PIN 10
#endif
//
// 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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Einstart-S pin assignments
* PCB Silkscreen: 3DPrinterCon_v3.5
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#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,150 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Elefu RA Board Pin Assignments
*/
#include "env_validate.h"
#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,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 <https://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>
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#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
#if ENABLED(BLTOUCH)
#if MB(GT2560_REV_A_PLUS)
#define SERVO0_PIN 11
#define Z_MAX_PIN 32
#else
#define SERVO0_PIN 32
#define Z_MAX_PIN -1
#endif
#else
#define Z_MAX_PIN 32
#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
#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_WIRED_LCD
#define BEEPER_PIN 18
#if IS_NEWPANEL
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_A0 5
#define DOGLCD_CS 21
#define BTN_EN1 40
#define BTN_EN2 42
#elif ENABLED(FYSETC_MINI_12864)
// Disconnect EXP2-1 and EXP2-2, otherwise future firmware upload won't work.
#define DOGLCD_A0 20
#define DOGLCD_CS 17
#define NEOPIXEL_PIN 21
#define BTN_EN1 42
#define BTN_EN2 40
#define LCD_RESET_PIN 16
#define LCD_CONTRAST_INIT 220
#define LCD_BACKLIGHT_PIN -1
#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 // !IS_NEWPANEL
#define SHIFT_CLK_PIN 38
#define SHIFT_LD_PIN 42
#define SHIFT_OUT_PIN 40
#define SHIFT_EN_PIN 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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#define SD_DETECT_PIN -1
#endif // !IS_NEWPANEL
#endif // HAS_WIRED_LCD

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 <https://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 DISABLED(BLTOUCH)
#define SERVO0_PIN 32
#endif

View File

@ -0,0 +1,30 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech GT2560 Rev B Pins
*/
#define BOARD_INFO_NAME "GT2560 Rev B"
#include "pins_GT2560_V3.h"

View File

@ -0,0 +1,217 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech GT2560 3.0/3.1 pin assignments
*
* Also GT2560 RevB and GT2560 4.0/4.1
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "GT2560 3.x"
#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
#ifndef FIL_RUNOUT3_PIN
#define FIL_RUNOUT3_PIN 54
#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 8 // 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 2
#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 13 // Use 6 (case light) for external LED. 13 is internal (yellow) LED.
#define PS_ON_PIN 12
#if NUM_RUNOUT_SENSORS < 3
#define SUICIDE_PIN 54 // This pin must be enabled at boot to keep power flowing
#endif
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 6 // 21
#endif
//
// LCD Controller
//
#define BEEPER_PIN 18
#if ENABLED(YHCB2004)
#ifndef YHCB2004_CLK
#define YHCB2004_CLK 5
#define DIO52 YHCB2004_CLK
#endif
#ifndef YHCB2004_MOSI
#define YHCB2004_MOSI 21
#define DIO50 YHCB2004_MOSI
#endif
#ifndef YHCB2004_MISO
#define YHCB2004_MISO 36
#define DIO51 YHCB2004_MISO
#endif
#elif HAS_WIRED_LCD
#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
#endif
#if ENABLED(YHCB2004)
#ifndef BTN_EN1
#define BTN_EN1 16
#endif
#ifndef BTN_EN2
#define BTN_EN2 17
#endif
#ifndef BTN_ENC
#define BTN_ENC 19
#endif
#elif IS_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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech A20M board pin assignments
*/
#define LCD_PINS_RS 5
#define LCD_PINS_ENABLE 36
#define LCD_PINS_D4 21
#define LCD_PINS_D7 6
#define SPEAKER // The speaker can produce tones
#if IS_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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech GT2560 V 3.0 board pin assignments (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,30 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech GT2560 V4.X Pins
*/
#define BOARD_INFO_NAME "GT2560 4.x"
#include "pins_GT2560_V3.h"

View File

@ -0,0 +1,43 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech A20 GT2560 V4.x board pin assignments
*/
#define BOARD_INFO_NAME "GT2560 4.x"
#define LCD_PINS_RS 5
#define LCD_PINS_ENABLE 36
#define LCD_PINS_D4 21
#define LCD_PINS_D7 6
#define SPEAKER // The speaker can produce tones
#if IS_NEWPANEL
#define BTN_EN1 16
#define BTN_EN2 17
#define BTN_ENC 19
#endif
#include "pins_GT2560_V3.h"

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Geeetech HJC2560-C Rev 2.x board pin assignments
*/
#include "env_validate.h"
#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
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 8 // 8 默认挤出机风扇作为Case LED如果需要PWM FAN,则需要将FAN_PIN置为7LED_PIN置为8
#endif
//#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 HAS_CUTTER
#define SPINDLE_DIR_PIN 16
#define SPINDLE_LASER_ENA_PIN 17 // Pin should have a pullup!
#define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
#endif
//
// LCD / Controller
//
#if HAS_WIRED_LCD
#define BEEPER_PIN 18
#if IS_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_PIN 38
#define SHIFT_LD_PIN 42
#define SHIFT_OUT_PIN 40
#define SHIFT_EN_PIN 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 // !IS_NEWPANEL
#endif // HAS_WIRED_LCD

View File

@ -0,0 +1,149 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Intamsys Funmat HT V4.0 Mainboard
* 4988 Drivers Tested
* 2208 version exists and may or may not work
*/
#include "env_validate.h"
#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_WIRED_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,91 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Leapfrog Driver board pin assignments
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#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,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 <https://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.
*/
#include "env_validate.h"
#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 Sensor
//
#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,100 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Malyan M180 pin assignments
* Contributed by Timo Birnschein (timo.birnschein@microforge.de)
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Malyan M180 v.2"
//
// Limit Switches
//
#define X_STOP_PIN 48
#define Y_STOP_PIN 46
#define Z_STOP_PIN 42
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN -1
#endif
//
// Steppers
//
#define X_STEP_PIN 55
#define X_DIR_PIN 54
#define X_ENABLE_PIN 56
#define Y_STEP_PIN 59
#define Y_DIR_PIN 58
#define Y_ENABLE_PIN 60
#define Z_STEP_PIN 63
#define Z_DIR_PIN 62
#define Z_ENABLE_PIN 64
#define E0_STEP_PIN 25
#define E0_DIR_PIN 24
#define E0_ENABLE_PIN 26
#define E1_STEP_PIN 29
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 39
//
// Temperature Sensors
//
#define TEMP_BED_PIN 15 // Analog Input
// Extruder thermocouples 0 and 1 are read out by two separate ICs using
// SPI for MAX Thermocouple
// Uses a separate SPI bus
#define TEMP_0_CS_PIN 5 // E3 - CS0
#define TEMP_0_SCK_PIN 78 // E2 - SCK
#define TEMP_0_MISO_PIN 3 // E5 - MISO
//#define TEMP_0_MOSI_PIN ... // For MAX31865
#define TEMP_1_CS_PIN 2 // E4 - CS1
#define TEMP_1_SCK_PIN TEMP_0_SCK_PIN
#define TEMP_1_MISO_PIN TEMP_0_MISO_PIN
//#define TEMP_1_MOSI_PIN TEMP_0_MOSI_PIN
//
// Heaters / Fans
//
#define HEATER_0_PIN 6
#define HEATER_1_PIN 11
#define HEATER_BED_PIN 45
#ifndef FAN_PIN
#define FAN_PIN 7 // M106 Sxxx command supported and tested. M107 as well.
#endif
#ifndef FAN_PIN1
#define FAN_PIN1 12 // Currently Unsupported by Marlin
#endif

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Mega controller pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Mega Controller supports up to 2 hotends / E steppers."
#endif
#include "env_validate.h"
#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_REQUIRED
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 2
#endif
//
// LCD / Controller
//
#if ENABLED(MINIPANEL)
#define BEEPER_PIN 46
#define DOGLCD_A0 47
#define DOGLCD_CS 45
#define LCD_BACKLIGHT_PIN 44 // backlight LED on PA3
#define KILL_PIN 12
#define BTN_EN1 48
#define BTN_EN2 11
#define BTN_ENC 10
#define SD_DETECT_PIN 49
//#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MegaTronics pin assignments
*/
#include "env_validate.h"
#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
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 2
#endif
//
// LCD / Controller
//
#define BEEPER_PIN 33
#if HAS_WIRED_LCD && IS_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_WIRED_LCD && IS_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,153 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MegaTronics v2.0 pin assignments
*/
#include "env_validate.h"
#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
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 2
#endif
//
// 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_WIRED_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 IS_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_PIN 63
#define SHIFT_LD_PIN 42
#define SHIFT_OUT_PIN 17
#define SHIFT_EN_PIN 17
#endif
#endif // HAS_WIRED_LCD

View File

@ -0,0 +1,193 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MegaTronics v3.0 / v3.1 / v3.2 pin assignments
*/
#include "env_validate.h"
#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
#if ENABLED(REPRAPWORLD_KEYPAD) && EXTRUDERS <= 2
#define Y_ENABLE_PIN 23
#define Y_STEP_PIN 22
#define Y_DIR_PIN 60
#else
#define Y_STEP_PIN 5
#define Y_DIR_PIN 17
#define Y_ENABLE_PIN 4
#define E2_STEP_PIN 22
#define E2_DIR_PIN 60
#define E2_ENABLE_PIN 23
#endif
#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
//
// 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
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 45 // Try the keypad connector
#endif
//
// 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_PIN 43
#define SHIFT_LD_PIN 35
#define SHIFT_OUT_PIN 34
#define SHIFT_EN_PIN 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
#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,278 @@
/**
* 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 <https://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.
*/
#define ALLOW_MEGA1280
#include "env_validate.h"
#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 Sensor
//
#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
#define DIGIPOT_ENABLE_I2C_PULLUPS // MightyBoard doesn't have hardware I2C pin pull-ups.
//
// Temperature Sensors
//
// K7 - 69 / ADC15 - 15
#define TEMP_BED_PIN 15
// SPI for MAX Thermocouple
// Uses a separate SPI bus
//
// 3 E5 DO (SO)
// 5 E3 CS1
// 2 E4 CS2
// 78 E2 SCK
//
#define TEMP_0_CS_PIN 5 // E3
#define TEMP_0_SCK_PIN 78 // E2
#define TEMP_0_MISO_PIN 3 // E5
//#define TEMP_0_MOSI_PIN ... // For MAX31865
#define TEMP_1_CS_PIN 2 // E4
#define TEMP_1_SCK_PIN TEMP_0_SCK_PIN
#define TEMP_1_MISO_PIN TEMP_0_MISO_PIN
//#define TEMP_1_MOSI_PIN TEMP_0_MOSI_PIN
//
// FET Pin Mapping - FET 1 is closest to the input power connector
//
#define MOSFET_1_PIN 6 // Plug EX1 Pin 1-2 -> PH3 #15 -> Logical 06
#define MOSFET_2_PIN 7 // Plug EX1 Pin 3-4 -> PH4 #16 -> Logical 07
#define MOSFET_3_PIN 11 // Plug EX2 1-2 -> PB5 #24 -> Logical 11
#define MOSFET_4_PIN 12 // Plug EX2 3-4 -> PB6 #25 -> Logical 12
#define MOSFET_5_PIN 45 // Plug HBD 1-2 -> PL4 #39 -> Logical 45
#define MOSFET_6_PIN 44 // Plug Extra 1-2 -> PL5 #40 -> Logical 44 (FET not soldered in all boards)
//
// Heaters / Fans (24V)
//
#define HEATER_0_PIN MOSFET_1_PIN // EX1
#define HEATER_1_PIN MOSFET_3_PIN // EX2
#define HEATER_BED_PIN MOSFET_5_PIN // HBP
// EX1 FAN (Automatic Fans are disabled by default in Configuration_adv.h - comment that out for auto fans)
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN MOSFET_2_PIN
#else
#ifndef FAN_PIN
#define FAN_PIN MOSFET_2_PIN
#endif
#endif
// EX2 FAN (Automatic Fans are disabled by default in Configuration_adv.h - comment that out for auto fans)
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN MOSFET_4_PIN
#else
#ifndef FAN1_PIN
#define FAN1_PIN MOSFET_4_PIN
#endif
#endif
//
// Misc. Functions
//
#define LED_PIN 13 // B7
#define CUTOFF_RESET_PIN 16 // H1
#define CUTOFF_TEST_PIN 17 // H0
#define CUTOFF_SR_CHECK_PIN 70 // G4 (TOSC1)
//
// LCD / Controller
//
#if HAS_WIRED_LCD
#if IS_RRD_FG_SC
#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_WIRED_LCD
//
// SD Card
//
#define SDSS 53 // B0
#define SD_DETECT_PIN 9 // H6
#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,142 @@
/**
* 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 <https://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
*/
#if NOT_TARGET(__AVR_ATmega1281__)
#error "Oops! Select 'Minitronics' in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "Minitronics supports up to 2 hotends / E steppers."
#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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Dreammaker Overlord v1.1 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Overlord supports up to 2 hotends / E steppers."
#endif
#include "env_validate.h"
#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
#ifndef FIL_RUNOUT_PIN
#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_WIRED_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 IS_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

153
src/pins/mega/pins_PICA.h Normal file
View File

@ -0,0 +1,153 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* 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
*/
#include "env_validate.h"
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_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;
*/
//
// Servos
//
#define SERVO0_PIN 3
#define SERVO1_PIN 4
#define SERVO2_PIN 5
//
// 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
#define E1_STEP_PIN 68
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 27
//
// 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 MAX Thermocouple
#if DISABLED(SDSUPPORT)
#define TEMP_0_CS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define TEMP_0_CS_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_WIRED_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,29 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#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,77 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Protoneer v3.00 pin assignments
*
* This CNC shield has an UNO pinout and fits all Arduino-compatibles.
*
* Referenced docs:
* - https://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/
* - https://blog.protoneer.co.nz/arduino-cnc-shield/
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Protoneer CNC Shield v3.00"
//
// Limit Switches
//
#define X_STOP_PIN 9
#define Y_STOP_PIN 10
#define Z_STOP_PIN 11
//
// Steppers
//
#define X_STEP_PIN 2
#define X_DIR_PIN 5
#define X_ENABLE_PIN 8 // Shared enable pin
#define Y_STEP_PIN 3
#define Y_DIR_PIN 6
#define Y_ENABLE_PIN X_ENABLE_PIN
#define Z_STEP_PIN 4
#define Z_DIR_PIN 7
#define Z_ENABLE_PIN X_ENABLE_PIN
// Designated with letter "A" on BOARD
#define E0_STEP_PIN 12
#define E0_DIR_PIN 13
#define E0_ENABLE_PIN X_ENABLE_PIN
//
// Temperature sensors - These could be any analog output not hidden by board
//
#define TEMP_0_PIN 8 // Analog Input
//#define TEMP_1_PIN 9 // Analog Input
//#define TEMP_BED_PIN 10 // Analog Input
//
// Heaters / Fans - These could be any digital input not hidden by board
//
//#define HEATER_0_PIN 22 // EXTRUDER 1
//#define HEATER_1_PIN 23 // EXTRUDER 2
//#define HEATER_BED_PIN 24

View File

@ -0,0 +1,102 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if NOT_TARGET(__AVR_ATmega1281__, __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
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN 3
#endif
#define CONTROLLER_FAN_PIN 2
#define TEMP_0_PIN 7 // Analog Input
#define HEATER_BED_PIN 8
#define TEMP_BED_PIN 6
#if HAS_WIRED_LCD
#if IS_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
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 250
#define BOARD_ST7920_DELAY_3 0
#endif
#endif
#define SD_DETECT_PIN 15
#define STAT_LED_RED_PIN 23
#define STAT_LED_BLUE_PIN 26
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 51
#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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Wanhao 0ne+ pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Wanhao i3 Mini 0ne+"
#define DEFAULT_MACHINE_NAME "i3 Mini"
#define BOARD_WEBSITE_URL "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 83
#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

View File

@ -0,0 +1,106 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2022 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 <https://www.gnu.org/licenses/>.
*
*/
/**
* Based on WEEDO 62A pin configuration
* Copyright (c) 2019 WEEDO3D Perron
*/
#pragma once
#include "env_validate.h"
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "WEEDO 62A"
#endif
//
// Limit Switches
//
#define X_MIN_PIN 3
#define X_MAX_PIN 2
#define Y_MIN_PIN 40
#define Y_MAX_PIN 41
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 28
#define X_ENABLE_PIN 24
#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 62
#define E0_STEP_PIN 54
#define E0_DIR_PIN 55
#define E0_ENABLE_PIN 38
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // ANALOG NUMBERING
#define TEMP_BED_PIN 14 // ANALOG NUMBERING
//
// Heaters / Fans
//
#define HEATER_0_PIN 10 // EXTRUDER 1
#define HEATER_BED_PIN 8 // BED
#define FAN_PIN 4 // IO pin. Buffer needed
//
// Misc. Functions
//
#define PS_ON_PIN 12
#define LED_PIN 13
//
// SD Support
//
#if ENABLED(SDSUPPORT)
#define SDSS 53
#define SD_DETECT_PIN 49
#endif
//
// LCD / Controller
//
#if HAS_WIRED_LCD
#define BEEPER_PIN 37
#define DOGLCD_A0 27
#define DOGLCD_CS 29
#define LCD_RESET_PIN 25
#define LCD_CONTRAST_INIT 255
#define BTN_EN1 33
#define BTN_EN2 31
#define BTN_ENC 35
#endif

903
src/pins/pins.h Normal file
View File

@ -0,0 +1,903 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* File: pins/pins.h
*
* Include pins definitions
*
* Pins numbering schemes:
*
* - Digital I/O pin number if used by READ/WRITE macros. (e.g., X_STEP_DIR)
* The FastIO headers map digital pins to their ports and functions.
*
* - Analog Input number if used by analogRead or DAC. (e.g., TEMP_n_PIN)
* These numbers are the same in any pin mapping.
*/
#define MAX_E_STEPPERS 8
#if NONE(FET_ORDER_EEF, FET_ORDER_EEB, FET_ORDER_EFF, FET_ORDER_EFB, FET_ORDER_SF)
#if MB(RAMPS_13_EFB, RAMPS_14_EFB, RAMPS_PLUS_EFB, RAMPS_14_RE_ARM_EFB, RAMPS_SMART_EFB, RAMPS_DUO_EFB, RAMPS4DUE_EFB)
#define FET_ORDER_EFB 1
#elif MB(RAMPS_13_EEB, RAMPS_14_EEB, RAMPS_PLUS_EEB, RAMPS_14_RE_ARM_EEB, RAMPS_SMART_EEB, RAMPS_DUO_EEB, RAMPS4DUE_EEB)
#define FET_ORDER_EEB 1
#elif MB(RAMPS_13_EFF, RAMPS_14_EFF, RAMPS_PLUS_EFF, RAMPS_14_RE_ARM_EFF, RAMPS_SMART_EFF, RAMPS_DUO_EFF, RAMPS4DUE_EFF)
#define FET_ORDER_EFF 1
#elif MB(RAMPS_13_EEF, RAMPS_14_EEF, RAMPS_PLUS_EEF, RAMPS_14_RE_ARM_EEF, RAMPS_SMART_EEF, RAMPS_DUO_EEF, RAMPS4DUE_EEF)
#define FET_ORDER_EEF 1
#elif MB(RAMPS_13_SF, RAMPS_14_SF, RAMPS_PLUS_SF, RAMPS_14_RE_ARM_SF, RAMPS_SMART_SF, RAMPS_DUO_SF, RAMPS4DUE_SF)
#define FET_ORDER_SF 1
#elif HAS_MULTI_HOTEND || (HAS_EXTRUDERS && HAS_CUTTER)
#if TEMP_SENSOR_BED
#define FET_ORDER_EEB 1
#else
#define FET_ORDER_EEF 1
#endif
#elif TEMP_SENSOR_BED
#define FET_ORDER_EFB 1
#else
#define FET_ORDER_EFF 1
#endif
#endif
#if !(BOTH(HAS_WIRED_LCD, IS_NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, WYH_L12864, MINIPANEL, REPRAPWORLD_KEYPAD))
#define HAS_FREE_AUX2_PINS 1
#endif
// Test the target within the included pins file
#ifdef __MARLIN_DEPS__
#define NOT_TARGET(V...) 0
#else
#define NOT_TARGET(V...) NONE(V)
#endif
//
// RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560
//
#if MB(RAMPS_OLD)
#include "ramps/pins_RAMPS_OLD.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(RAMPS_13_EFB, RAMPS_13_EEB, RAMPS_13_EFF, RAMPS_13_EEF, RAMPS_13_SF)
#include "ramps/pins_RAMPS_13.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(RAMPS_14_EFB, RAMPS_14_EEB, RAMPS_14_EFF, RAMPS_14_EEF, RAMPS_14_SF)
#include "ramps/pins_RAMPS.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(RAMPS_PLUS_EFB, RAMPS_PLUS_EEB, RAMPS_PLUS_EFF, RAMPS_PLUS_EEF, RAMPS_PLUS_SF)
#include "ramps/pins_RAMPS_PLUS.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
//
// RAMPS Derivatives - ATmega1280, ATmega2560
//
#elif MB(3DRAG)
#include "ramps/pins_3DRAG.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(K8200)
#include "ramps/pins_K8200.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(K8400)
#include "ramps/pins_K8400.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(K8600)
#include "ramps/pins_K8600.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(K8800)
#include "ramps/pins_K8800.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(BAM_DICE)
#include "ramps/pins_RAMPS.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(BAM_DICE_DUE)
#include "ramps/pins_BAM_DICE_DUE.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(MKS_BASE)
#include "ramps/pins_MKS_BASE_10.h" // ATmega2560 env:mega2560
#elif MB(MKS_BASE_14)
#include "ramps/pins_MKS_BASE_14.h" // ATmega2560 env:mega2560
#elif MB(MKS_BASE_15)
#include "ramps/pins_MKS_BASE_15.h" // ATmega2560 env:mega2560
#elif MB(MKS_BASE_16)
#include "ramps/pins_MKS_BASE_16.h" // ATmega2560 env:mega2560
#elif MB(MKS_BASE_HEROIC)
#include "ramps/pins_MKS_BASE_HEROIC.h" // ATmega2560 env:mega2560
#elif MB(MKS_GEN_13)
#include "ramps/pins_MKS_GEN_13.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(MKS_GEN_L)
#include "ramps/pins_MKS_GEN_L.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(KFB_2)
#include "ramps/pins_BIQU_KFB_2.h" // ATmega2560 env:mega2560
#elif MB(ZRIB_V20)
#include "ramps/pins_ZRIB_V20.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(ZRIB_V52)
#include "ramps/pins_ZRIB_V52.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(ZRIB_V53)
#include "ramps/pins_ZRIB_V53.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(FELIX2)
#include "ramps/pins_FELIX2.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(RIGIDBOARD)
#include "ramps/pins_RIGIDBOARD.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(RIGIDBOARD_V2)
#include "ramps/pins_RIGIDBOARD_V2.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(SAINSMART_2IN1)
#include "ramps/pins_SAINSMART_2IN1.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(ULTIMAKER)
#include "ramps/pins_ULTIMAKER.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(ULTIMAKER_OLD)
#include "ramps/pins_ULTIMAKER_OLD.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(AZTEEG_X3)
#include "ramps/pins_AZTEEG_X3.h" // ATmega2560 env:mega2560
#elif MB(AZTEEG_X3_PRO)
#include "ramps/pins_AZTEEG_X3_PRO.h" // ATmega2560 env:mega2560
#elif MB(ULTIMAIN_2)
#include "ramps/pins_ULTIMAIN_2.h" // ATmega2560 env:mega2560ext
#elif MB(FORMBOT_RAPTOR)
#include "ramps/pins_FORMBOT_RAPTOR.h" // ATmega2560 env:mega2560
#elif MB(FORMBOT_RAPTOR2)
#include "ramps/pins_FORMBOT_RAPTOR2.h" // ATmega2560 env:mega2560
#elif MB(FORMBOT_TREX2PLUS)
#include "ramps/pins_FORMBOT_TREX2PLUS.h" // ATmega2560 env:mega2560
#elif MB(FORMBOT_TREX3)
#include "ramps/pins_FORMBOT_TREX3.h" // ATmega2560 env:mega2560
#elif MB(RUMBA)
#include "ramps/pins_RUMBA.h" // ATmega2560 env:mega2560
#elif MB(RUMBA_RAISE3D)
#include "ramps/pins_RUMBA_RAISE3D.h" // ATmega2560 env:mega2560
#elif MB(RL200)
#include "ramps/pins_RL200.h" // ATmega2560 env:mega2560
#elif MB(BQ_ZUM_MEGA_3D)
#include "ramps/pins_BQ_ZUM_MEGA_3D.h" // ATmega2560 env:mega2560ext
#elif MB(MAKEBOARD_MINI)
#include "ramps/pins_MAKEBOARD_MINI.h" // ATmega2560 env:mega2560
#elif MB(TRIGORILLA_13)
#include "ramps/pins_TRIGORILLA_13.h" // ATmega2560 env:mega2560
#elif MB(TRIGORILLA_14, TRIGORILLA_14_11)
#include "ramps/pins_TRIGORILLA_14.h" // ATmega2560 env:mega2560
#elif MB(RAMPS_ENDER_4)
#include "ramps/pins_RAMPS_ENDER_4.h" // ATmega2560 env:mega2560
#elif MB(RAMPS_CREALITY)
#include "ramps/pins_RAMPS_CREALITY.h" // ATmega2560 env:mega2560
#elif MB(DAGOMA_F5)
#include "ramps/pins_DAGOMA_F5.h" // ATmega2560 env:mega2560
#elif MB(FYSETC_F6_13)
#include "ramps/pins_FYSETC_F6_13.h" // ATmega2560 env:FYSETC_F6
#elif MB(FYSETC_F6_14)
#include "ramps/pins_FYSETC_F6_14.h" // ATmega2560 env:FYSETC_F6
#elif MB(DUPLICATOR_I3_PLUS)
#include "ramps/pins_DUPLICATOR_I3_PLUS.h" // ATmega2560 env:mega2560
#elif MB(VORON)
#include "ramps/pins_VORON.h" // ATmega2560 env:mega2560
#elif MB(TRONXY_V3_1_0)
#include "ramps/pins_TRONXY_V3_1_0.h" // ATmega2560 env:mega2560
#elif MB(Z_BOLT_X_SERIES)
#include "ramps/pins_Z_BOLT_X_SERIES.h" // ATmega2560 env:mega2560
#elif MB(TT_OSCAR)
#include "ramps/pins_TT_OSCAR.h" // ATmega2560 env:mega2560
#elif MB(TANGO)
#include "ramps/pins_TANGO.h" // ATmega2560 env:mega2560
#elif MB(MKS_GEN_L_V2)
#include "ramps/pins_MKS_GEN_L_V2.h" // ATmega2560 env:mega2560
#elif MB(COPYMASTER_3D)
#include "ramps/pins_COPYMASTER_3D.h" // ATmega2560 env:mega2560
#elif MB(ORTUR_4)
#include "ramps/pins_ORTUR_4.h" // ATmega2560 env:mega2560
#elif MB(TENLOG_D3_HERO)
#include "ramps/pins_TENLOG_D3_HERO.h" // ATmega2560 env:mega2560
#elif MB(MKS_GEN_L_V21)
#include "ramps/pins_MKS_GEN_L_V21.h" // ATmega2560 env:mega2560
#elif MB(RAMPS_S_12_EEFB, RAMPS_S_12_EEEB, RAMPS_S_12_EFFB)
#include "ramps/pins_RAMPS_S_12.h" // ATmega2560 env:mega2560
#elif MB(LONGER3D_LK1_PRO, LONGER3D_LKx_PRO)
#include "ramps/pins_LONGER3D_LKx_PRO.h" // ATmega2560 env:mega2560
#elif MB(PXMALION_CORE_I3)
#include "ramps/pins_PXMALION_CORE_I3.h" // ATmega2560 env:mega2560
//
// RAMBo and derivatives
//
#elif MB(RAMBO)
#include "rambo/pins_RAMBO.h" // ATmega2560 env:rambo
#elif MB(MINIRAMBO, MINIRAMBO_10A)
#include "rambo/pins_MINIRAMBO.h" // ATmega2560 env:rambo
#elif MB(EINSY_RAMBO)
#include "rambo/pins_EINSY_RAMBO.h" // ATmega2560 env:rambo
#elif MB(EINSY_RETRO)
#include "rambo/pins_EINSY_RETRO.h" // ATmega2560 env:rambo
#elif MB(SCOOVO_X9H)
#include "rambo/pins_SCOOVO_X9H.h" // ATmega2560 env:rambo
#elif MB(RAMBO_THINKERV2)
#include "rambo/pins_RAMBO_THINKERV2.h" // ATmega2560 env:rambo
//
// Other ATmega1280, ATmega2560
//
#elif MB(CNCONTROLS_11)
#include "mega/pins_CNCONTROLS_11.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(CNCONTROLS_12)
#include "mega/pins_CNCONTROLS_12.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(CNCONTROLS_15)
#include "mega/pins_CNCONTROLS_15.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(MIGHTYBOARD_REVE)
#include "mega/pins_MIGHTYBOARD_REVE.h" // ATmega2560, ATmega1280 env:mega2560ext env:mega1280 env:MightyBoard1280 env:MightyBoard2560
#elif MB(CHEAPTRONIC)
#include "mega/pins_CHEAPTRONIC.h" // ATmega2560 env:mega2560
#elif MB(CHEAPTRONIC_V2)
#include "mega/pins_CHEAPTRONICv2.h" // ATmega2560 env:mega2560
#elif MB(MEGATRONICS)
#include "mega/pins_MEGATRONICS.h" // ATmega2560 env:mega2560
#elif MB(MEGATRONICS_2)
#include "mega/pins_MEGATRONICS_2.h" // ATmega2560 env:mega2560
#elif MB(MEGATRONICS_3, MEGATRONICS_31, MEGATRONICS_32)
#include "mega/pins_MEGATRONICS_3.h" // ATmega2560 env:mega2560
#elif MB(ELEFU_3)
#include "mega/pins_ELEFU_3.h" // ATmega2560 env:mega2560
#elif MB(LEAPFROG)
#include "mega/pins_LEAPFROG.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(MEGACONTROLLER)
#include "mega/pins_MEGACONTROLLER.h" // ATmega2560 env:mega2560
#elif MB(GT2560_REV_A)
#include "mega/pins_GT2560_REV_A.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(GT2560_REV_A_PLUS)
#include "mega/pins_GT2560_REV_A_PLUS.h" // ATmega2560, ATmega1280 env:mega2560 env:mega1280
#elif MB(GT2560_V3)
#include "mega/pins_GT2560_V3.h" // ATmega2560 env:mega2560
#elif MB(GT2560_REV_B)
#include "mega/pins_GT2560_REV_B.h" // ATmega2560 env:mega2560
#elif MB(GT2560_V4)
#include "mega/pins_GT2560_V4.h" // ATmega2560 env:mega2560
#elif MB(GT2560_V4_A20)
#include "mega/pins_GT2560_V4_A20.h" // ATmega2560 env:mega2560
#elif MB(GT2560_V3_MC2)
#include "mega/pins_GT2560_V3_MC2.h" // ATmega2560 env:mega2560
#elif MB(GT2560_V3_A20)
#include "mega/pins_GT2560_V3_A20.h" // ATmega2560 env:mega2560
#elif MB(EINSTART_S)
#include "mega/pins_EINSTART-S.h" // ATmega2560, ATmega1280 env:mega2560ext env:mega1280
#elif MB(WANHAO_ONEPLUS)
#include "mega/pins_WANHAO_ONEPLUS.h" // ATmega2560 env:mega2560
#elif MB(OVERLORD)
#include "mega/pins_OVERLORD.h" // ATmega2560 env:mega2560
#elif MB(HJC2560C_REV1)
#include "mega/pins_HJC2560C_REV2.h" // ATmega2560 env:mega2560
#elif MB(HJC2560C_REV2)
#include "mega/pins_HJC2560C_REV2.h" // ATmega2560 env:mega2560
#elif MB(LEAPFROG_XEED2015)
#include "mega/pins_LEAPFROG_XEED2015.h" // ATmega2560 env:mega2560
#elif MB(PICA)
#include "mega/pins_PICA.h" // ATmega2560 env:mega2560
#elif MB(PICA_REVB)
#include "mega/pins_PICAOLD.h" // ATmega2560 env:mega2560
#elif MB(INTAMSYS40)
#include "mega/pins_INTAMSYS40.h" // ATmega2560 env:mega2560
#elif MB(MALYAN_M180)
#include "mega/pins_MALYAN_M180.h" // ATmega2560 env:mega2560
#elif MB(PROTONEER_CNC_SHIELD_V3)
#include "mega/pins_PROTONEER_CNC_SHIELD_V3.h"// ATmega2560 env:mega2560
#elif MB(WEEDO_62A)
#include "mega/pins_WEEDO_62A.h" // ATmega2560 env:mega2560
//
// ATmega1281, ATmega2561
//
#elif MB(MINITRONICS)
#include "mega/pins_MINITRONICS.h" // ATmega1281 env:mega1280
#elif MB(SILVER_GATE)
#include "mega/pins_SILVER_GATE.h" // ATmega2561 env:mega2560
//
// Sanguinololu and Derivatives - ATmega644P, ATmega1284P
//
#elif MB(SANGUINOLOLU_11)
#include "sanguino/pins_SANGUINOLOLU_11.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(SANGUINOLOLU_12)
#include "sanguino/pins_SANGUINOLOLU_12.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(MELZI)
#include "sanguino/pins_MELZI.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(MELZI_V2)
#include "sanguino/pins_MELZI_V2.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(MELZI_MAKR3D)
#include "sanguino/pins_MELZI_MAKR3D.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(MELZI_CREALITY)
#include "sanguino/pins_MELZI_CREALITY.h" // ATmega1284P env:melzi_optiboot_optimized env:melzi_optiboot env:melzi_optimized env:melzi
#elif MB(MELZI_MALYAN)
#include "sanguino/pins_MELZI_MALYAN.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(MELZI_TRONXY)
#include "sanguino/pins_MELZI_TRONXY.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(STB_11)
#include "sanguino/pins_STB_11.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(AZTEEG_X1)
#include "sanguino/pins_AZTEEG_X1.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(ZMIB_V2)
#include "sanguino/pins_ZMIB_V2.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
//
// Other ATmega644P, ATmega644, ATmega1284P
//
#elif MB(GEN3_MONOLITHIC)
#include "sanguino/pins_GEN3_MONOLITHIC.h" // ATmega644P env:sanguino644p
#elif MB(GEN3_PLUS)
#include "sanguino/pins_GEN3_PLUS.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(GEN6)
#include "sanguino/pins_GEN6.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(GEN6_DELUXE)
#include "sanguino/pins_GEN6_DELUXE.h" // ATmega644P, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(GEN7_CUSTOM)
#include "sanguino/pins_GEN7_CUSTOM.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(GEN7_12)
#include "sanguino/pins_GEN7_12.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(GEN7_13)
#include "sanguino/pins_GEN7_13.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(GEN7_14)
#include "sanguino/pins_GEN7_14.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
#elif MB(OMCA_A)
#include "sanguino/pins_OMCA_A.h" // ATmega644 env:sanguino644p
#elif MB(OMCA)
#include "sanguino/pins_OMCA.h" // ATmega644P, ATmega644 env:sanguino644p
#elif MB(ANET_10)
#include "sanguino/pins_ANET_10.h" // ATmega1284P env:sanguino1284p env:sanguino1284p_optimized env:melzi_optiboot
#elif MB(SETHI)
#include "sanguino/pins_SETHI.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino1284p_optimized env:sanguino1284p env:sanguino644p
//
// Teensyduino - AT90USB1286, AT90USB1286P
//
#elif MB(TEENSYLU)
#include "teensy2/pins_TEENSYLU.h" // AT90USB1286, AT90USB1286P env:at90usb1286_cdc
#elif MB(PRINTRBOARD)
#include "teensy2/pins_PRINTRBOARD.h" // AT90USB1286 env:at90usb1286_dfu
#elif MB(PRINTRBOARD_REVF)
#include "teensy2/pins_PRINTRBOARD_REVF.h" // AT90USB1286 env:at90usb1286_dfu
#elif MB(BRAINWAVE)
#include "teensy2/pins_BRAINWAVE.h" // AT90USB646 env:at90usb1286_cdc
#elif MB(BRAINWAVE_PRO)
#include "teensy2/pins_BRAINWAVE_PRO.h" // AT90USB1286 env:at90usb1286_cdc
#elif MB(SAV_MKI)
#include "teensy2/pins_SAV_MKI.h" // AT90USB1286 env:at90usb1286_cdc
#elif MB(TEENSY2)
#include "teensy2/pins_TEENSY2.h" // AT90USB1286 env:teensy20
#elif MB(5DPRINT)
#include "teensy2/pins_5DPRINT.h" // AT90USB1286 env:at90usb1286_dfu
//
// LPC1768 ARM Cortex M3
//
#elif MB(RAMPS_14_RE_ARM_EFB, RAMPS_14_RE_ARM_EEB, RAMPS_14_RE_ARM_EFF, RAMPS_14_RE_ARM_EEF, RAMPS_14_RE_ARM_SF)
#include "lpc1768/pins_RAMPS_RE_ARM.h" // LPC1768 env:LPC1768
#elif MB(MKS_SBASE)
#include "lpc1768/pins_MKS_SBASE.h" // LPC1768 env:LPC1768
#elif MB(MKS_SGEN_L)
#include "lpc1768/pins_MKS_SGEN_L.h" // LPC1768 env:LPC1768
#elif MB(AZSMZ_MINI)
#include "lpc1768/pins_AZSMZ_MINI.h" // LPC1768 env:LPC1768
#elif MB(BIQU_BQ111_A4)
#include "lpc1768/pins_BIQU_BQ111_A4.h" // LPC1768 env:LPC1768
#elif MB(SELENA_COMPACT)
#include "lpc1768/pins_SELENA_COMPACT.h" // LPC1768 env:LPC1768
#elif MB(BIQU_B300_V1_0)
#include "lpc1768/pins_BIQU_B300_V1.0.h" // LPC1768 env:LPC1768
#elif MB(GMARSH_X6_REV1)
#include "lpc1768/pins_GMARSH_X6_REV1.h" // LPC1768 env:LPC1768
#elif MB(BTT_SKR_V1_1)
#include "lpc1768/pins_BTT_SKR_V1_1.h" // LPC1768 env:LPC1768
#elif MB(BTT_SKR_V1_3)
#include "lpc1768/pins_BTT_SKR_V1_3.h" // LPC1768 env:LPC1768
#elif MB(BTT_SKR_V1_4)
#include "lpc1768/pins_BTT_SKR_V1_4.h" // LPC1768 env:LPC1768
#elif MB(EMOTRONIC)
#include "lpc1768/pins_EMOTRONIC.h" // LPC1768 env:LPC1768
//
// LPC1769 ARM Cortex M3
//
#elif MB(MKS_SGEN)
#include "lpc1769/pins_MKS_SGEN.h" // LPC1769 env:LPC1769
#elif MB(AZTEEG_X5_GT)
#include "lpc1769/pins_AZTEEG_X5_GT.h" // LPC1769 env:LPC1769
#elif MB(AZTEEG_X5_MINI)
#include "lpc1769/pins_AZTEEG_X5_MINI.h" // LPC1769 env:LPC1769
#elif MB(AZTEEG_X5_MINI_WIFI)
#include "lpc1769/pins_AZTEEG_X5_MINI_WIFI.h" // LPC1769 env:LPC1769
#elif MB(COHESION3D_REMIX)
#include "lpc1769/pins_COHESION3D_REMIX.h" // LPC1769 env:LPC1769
#elif MB(COHESION3D_MINI)
#include "lpc1769/pins_COHESION3D_MINI.h" // LPC1769 env:LPC1769
#elif MB(SMOOTHIEBOARD)
#include "lpc1769/pins_SMOOTHIEBOARD.h" // LPC1769 env:LPC1769
#elif MB(TH3D_EZBOARD)
#include "lpc1769/pins_TH3D_EZBOARD.h" // LPC1769 env:LPC1769
#elif MB(BTT_SKR_V1_4_TURBO)
#include "lpc1769/pins_BTT_SKR_V1_4_TURBO.h" // LPC1769 env:LPC1769
#elif MB(MKS_SGEN_L_V2)
#include "lpc1769/pins_MKS_SGEN_L_V2.h" // LPC1769 env:LPC1769
#elif MB(BTT_SKR_E3_TURBO)
#include "lpc1769/pins_BTT_SKR_E3_TURBO.h" // LPC1769 env:LPC1769
#elif MB(FLY_CDY)
#include "lpc1769/pins_FLY_CDY.h" // LPC1769 env:LPC1769
//
// Due (ATSAM) boards
//
#elif MB(DUE3DOM)
#include "sam/pins_DUE3DOM.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(DUE3DOM_MINI)
#include "sam/pins_DUE3DOM_MINI.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RADDS)
#include "sam/pins_RADDS.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RURAMPS4D_11)
#include "sam/pins_RURAMPS4D_11.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RURAMPS4D_13)
#include "sam/pins_RURAMPS4D_13.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RAMPS_FD_V1)
#include "sam/pins_RAMPS_FD_V1.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RAMPS_FD_V2)
#include "sam/pins_RAMPS_FD_V2.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RAMPS_SMART_EFB, RAMPS_SMART_EEB, RAMPS_SMART_EFF, RAMPS_SMART_EEF, RAMPS_SMART_SF)
#include "sam/pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RAMPS_DUO_EFB, RAMPS_DUO_EEB, RAMPS_DUO_EFF, RAMPS_DUO_EEF, RAMPS_DUO_SF)
#include "sam/pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(RAMPS4DUE_EFB, RAMPS4DUE_EEB, RAMPS4DUE_EFF, RAMPS4DUE_EEF, RAMPS4DUE_SF)
#include "sam/pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
#elif MB(ULTRATRONICS_PRO)
#include "sam/pins_ULTRATRONICS_PRO.h" // SAM3X8E env:DUE env:DUE_debug
#elif MB(ARCHIM1)
#include "sam/pins_ARCHIM1.h" // SAM3X8E env:DUE_archim env:DUE_archim_debug
#elif MB(ARCHIM2)
#include "sam/pins_ARCHIM2.h" // SAM3X8E env:DUE_archim env:DUE_archim_debug
#elif MB(ALLIGATOR)
#include "sam/pins_ALLIGATOR_R2.h" // SAM3X8E env:DUE env:DUE_debug
#elif MB(CNCONTROLS_15D)
#include "sam/pins_CNCONTROLS_15D.h" // SAM3X8E env:DUE env:DUE_USB
#elif MB(KRATOS32)
#include "sam/pins_KRATOS32.h" // SAM3X8E env:DUE env:DUE_USB
#elif MB(PRINTRBOARD_G2)
#include "sam/pins_PRINTRBOARD_G2.h" // SAM3X8C env:DUE_USB
#elif MB(ADSK)
#include "sam/pins_ADSK.h" // SAM3X8C env:DUE env:DUE_debug
//
// STM32 ARM Cortex-M0
//
#elif MB(MALYAN_M200_V2)
#include "stm32f0/pins_MALYAN_M200_V2.h" // STM32F0 env:STM32F070RB_malyan env:STM32F070CB_malyan
#elif MB(MALYAN_M300)
#include "stm32f0/pins_MALYAN_M300.h" // STM32F070 env:malyan_M300
//
// STM32 ARM Cortex-M3
//
#elif MB(STM32F103RE)
#include "stm32f1/pins_STM32F1R.h" // STM32F103RE env:STM32F103RE env:STM32F103RE_maple
#elif MB(MALYAN_M200)
#include "stm32f1/pins_MALYAN_M200.h" // STM32F103CB env:STM32F103CB_malyan env:STM32F103CB_malyan_maple
#elif MB(STM3R_MINI)
#include "stm32f1/pins_STM3R_MINI.h" // STM32F103VE? env:STM32F103VE env:STM32F103RE_maple
#elif MB(GTM32_PRO_VB)
#include "stm32f1/pins_GTM32_PRO_VB.h" // STM32F103VE env:STM32F103VE env:STM32F103VE_GTM32_maple
#elif MB(GTM32_PRO_VD)
#include "stm32f1/pins_GTM32_PRO_VD.h" // STM32F103VE env:STM32F103VE env:STM32F103VE_GTM32_maple
#elif MB(GTM32_MINI)
#include "stm32f1/pins_GTM32_MINI.h" // STM32F103VE env:STM32F103VE env:STM32F103VE_GTM32_maple
#elif MB(GTM32_MINI_A30)
#include "stm32f1/pins_GTM32_MINI_A30.h" // STM32F103VE env:STM32F103VE env:STM32F103VE_GTM32_maple
#elif MB(GTM32_REV_B)
#include "stm32f1/pins_GTM32_REV_B.h" // STM32F103VE env:STM32F103VE env:STM32F103VE_GTM32_maple
#elif MB(MORPHEUS)
#include "stm32f1/pins_MORPHEUS.h" // STM32F103RE env:STM32F103RE env:STM32F103RE_maple
#elif MB(CHITU3D)
#include "stm32f1/pins_CHITU3D.h" // STM32F103ZE env:STM32F103ZE env:STM32F103RE_maple
#elif MB(MKS_ROBIN)
#include "stm32f1/pins_MKS_ROBIN.h" // STM32F1 env:mks_robin env:mks_robin_maple
#elif MB(MKS_ROBIN_MINI)
#include "stm32f1/pins_MKS_ROBIN_MINI.h" // STM32F1 env:mks_robin_mini env:mks_robin_mini_maple
#elif MB(MKS_ROBIN_NANO)
#include "stm32f1/pins_MKS_ROBIN_NANO.h" // STM32F1 env:mks_robin_nano35 env:mks_robin_nano35_maple
#elif MB(MKS_ROBIN_NANO_V2)
#include "stm32f1/pins_MKS_ROBIN_NANO_V2.h" // STM32F1 env:mks_robin_nano35 env:mks_robin_nano35_maple
#elif MB(MKS_ROBIN_LITE)
#include "stm32f1/pins_MKS_ROBIN_LITE.h" // STM32F1 env:mks_robin_lite env:mks_robin_lite_maple
#elif MB(MKS_ROBIN_LITE3)
#include "stm32f1/pins_MKS_ROBIN_LITE3.h" // STM32F1 env:mks_robin_lite3 env:mks_robin_lite3_maple
#elif MB(MKS_ROBIN_PRO)
#include "stm32f1/pins_MKS_ROBIN_PRO.h" // STM32F1 env:mks_robin_pro env:mks_robin_pro_maple
#elif MB(MKS_ROBIN_E3)
#include "stm32f1/pins_MKS_ROBIN_E3.h" // STM32F1 env:mks_robin_e3 env:mks_robin_e3_maple
#elif MB(MKS_ROBIN_E3_V1_1)
#include "stm32f1/pins_MKS_ROBIN_E3_V1_1.h" // STM32F1 env:mks_robin_e3
#elif MB(MKS_ROBIN_E3D)
#include "stm32f1/pins_MKS_ROBIN_E3D.h" // STM32F1 env:mks_robin_e3
#elif MB(MKS_ROBIN_E3D_V1_1)
#include "stm32f1/pins_MKS_ROBIN_E3D_V1_1.h" // STM32F1 env:mks_robin_e3
#elif MB(MKS_ROBIN_E3P)
#include "stm32f1/pins_MKS_ROBIN_E3P.h" // STM32F1 env:mks_robin_e3p env:mks_robin_e3p_maple
#elif MB(BTT_SKR_MINI_V1_1)
#include "stm32f1/pins_BTT_SKR_MINI_V1_1.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple
#elif MB(BTT_SKR_MINI_E3_V1_0)
#include "stm32f1/pins_BTT_SKR_MINI_E3_V1_0.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple
#elif MB(BTT_SKR_MINI_E3_V1_2)
#include "stm32f1/pins_BTT_SKR_MINI_E3_V1_2.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple
#elif MB(BTT_SKR_MINI_E3_V2_0)
#include "stm32f1/pins_BTT_SKR_MINI_E3_V2_0.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RE_btt env:STM32F103RE_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple env:STM32F103RE_btt_maple env:STM32F103RE_btt_USB_maple
#elif MB(BTT_SKR_MINI_E3_V3_0)
#include "stm32g0/pins_BTT_SKR_MINI_E3_V3_0.h" // STM32G0 env:STM32G0B1RE_btt env:STM32G0B1RE_btt_xfer
#elif MB(BTT_SKR_MINI_MZ_V1_0)
#include "stm32f1/pins_BTT_SKR_MINI_MZ_V1_0.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple
#elif MB(BTT_SKR_E3_DIP)
#include "stm32f1/pins_BTT_SKR_E3_DIP.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RE_btt env:STM32F103RE_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple env:STM32F103RE_btt_maple env:STM32F103RE_btt_USB_maple
#elif MB(BTT_SKR_CR6)
#include "stm32f1/pins_BTT_SKR_CR6.h" // STM32F1 env:STM32F103RE_btt env:STM32F103RE_btt_USB env:STM32F103RE_btt_maple env:STM32F103RE_btt_USB_maple
#elif MB(JGAURORA_A5S_A1)
#include "stm32f1/pins_JGAURORA_A5S_A1.h" // STM32F1 env:jgaurora_a5s_a1 env:jgaurora_a5s_a1_maple
#elif MB(FYSETC_AIO_II)
#include "stm32f1/pins_FYSETC_AIO_II.h" // STM32F1 env:STM32F103RC_fysetc env:STM32F103RC_fysetc_maple
#elif MB(FYSETC_CHEETAH)
#include "stm32f1/pins_FYSETC_CHEETAH.h" // STM32F1 env:STM32F103RC_fysetc env:STM32F103RC_fysetc_maple
#elif MB(FYSETC_CHEETAH_V12)
#include "stm32f1/pins_FYSETC_CHEETAH_V12.h" // STM32F1 env:STM32F103RC_fysetc env:STM32F103RC_fysetc_maple
#elif MB(LONGER3D_LK)
#include "stm32f1/pins_LONGER3D_LK.h" // STM32F1 env:STM32F103VE_longer env:STM32F103VE_longer_maple
#elif MB(CCROBOT_MEEB_3DP)
#include "stm32f1/pins_CCROBOT_MEEB_3DP.h" // STM32F1 env:STM32F103RC_meeb_maple
#elif MB(CHITU3D_V5)
#include "stm32f1/pins_CHITU3D_V5.h" // STM32F1 env:chitu_f103 env:chitu_f103_maple env:chitu_v5_gpio_init env:chitu_v5_gpio_init_maple
#elif MB(CHITU3D_V6)
#include "stm32f1/pins_CHITU3D_V6.h" // STM32F1 env:chitu_f103 env:chitu_f103_maple
#elif MB(CHITU3D_V9)
#include "stm32f1/pins_CHITU3D_V9.h" // STM32F1 env:chitu_f103 env:chitu_f103_maple
#elif MB(CREALITY_V4)
#include "stm32f1/pins_CREALITY_V4.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V4210)
#include "stm32f1/pins_CREALITY_V4210.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V425)
#include "stm32f1/pins_CREALITY_V425.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V422)
#include "stm32f1/pins_CREALITY_V422.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V423)
#include "stm32f1/pins_CREALITY_V423.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer
#elif MB(CREALITY_V427)
#include "stm32f1/pins_CREALITY_V427.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V431, CREALITY_V431_A, CREALITY_V431_B, CREALITY_V431_C, CREALITY_V431_D)
#include "stm32f1/pins_CREALITY_V431.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V452)
#include "stm32f1/pins_CREALITY_V452.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V453)
#include "stm32f1/pins_CREALITY_V453.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V24S1)
#include "stm32f1/pins_CREALITY_V24S1.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V24S1_301)
#include "stm32f1/pins_CREALITY_V24S1_301.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V25S1)
#include "stm32f1/pins_CREALITY_V25S1.h" // STM32F1 env:STM32F103RE_creality_smartPro env:STM32F103RE_creality_smartPro_maple
#elif MB(TRIGORILLA_PRO)
#include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro env:trigorilla_pro_maple
#elif MB(FLY_MINI)
#include "stm32f1/pins_FLY_MINI.h" // STM32F1 env:FLY_MINI env:FLY_MINI_maple
#elif MB(FLSUN_HISPEED)
#include "stm32f1/pins_FLSUN_HISPEED.h" // STM32F1 env:flsun_hispeedv1
#elif MB(BEAST)
#include "stm32f1/pins_BEAST.h" // STM32F103VE? env:STM32F103VE env:STM32F103RE_maple
#elif MB(MINGDA_MPX_ARM_MINI)
#include "stm32f1/pins_MINGDA_MPX_ARM_MINI.h" // STM32F1 env:mingda_mpx_arm_mini
#elif MB(ZONESTAR_ZM3E2)
#include "stm32f1/pins_ZM3E2_V1_0.h" // STM32F1 env:STM32F103RC_ZM3E2_USB env:STM32F103RC_ZM3E2_USB_maple
#elif MB(ZONESTAR_ZM3E4)
#include "stm32f1/pins_ZM3E4_V1_0.h" // STM32F1 env:STM32F103VC_ZM3E4_USB env:STM32F103VC_ZM3E4_USB_maple
#elif MB(ZONESTAR_ZM3E4V2)
#include "stm32f1/pins_ZM3E4_V2_0.h" // STM32F1 env:STM32F103VE_ZM3E4V2_USB env:STM32F103VE_ZM3E4V2_USB_maple
#elif MB(ERYONE_ERY32_MINI)
#include "stm32f1/pins_ERYONE_ERY32_MINI.h" // STM32F103VET6 env:ERYONE_ERY32_MINI_maple
#elif MB(PANDA_PI_V29)
#include "stm32f1/pins_PANDA_PI_V29.h" // STM32F103RCT6 env:PANDA_PI_V29
//
// ARM Cortex-M4F
//
#elif MB(TEENSY31_32)
#include "teensy3/pins_TEENSY31_32.h" // TEENSY31_32 env:teensy31
#elif MB(TEENSY35_36)
#include "teensy3/pins_TEENSY35_36.h" // TEENSY35_36 env:teensy35 env:teensy36
//
// STM32 ARM Cortex-M4F
//
#elif MB(ARMED)
#include "stm32f4/pins_ARMED.h" // STM32F4 env:ARMED
#elif MB(RUMBA32_V1_0, RUMBA32_V1_1)
#include "stm32f4/pins_RUMBA32_AUS3D.h" // STM32F4 env:rumba32
#elif MB(RUMBA32_MKS)
#include "stm32f4/pins_RUMBA32_MKS.h" // STM32F4 env:rumba32
#elif MB(RUMBA32_BTT)
#include "stm32f4/pins_RUMBA32_BTT.h" // STM32F4 env:rumba32
#elif MB(BLACK_STM32F407VE)
#include "stm32f4/pins_BLACK_STM32F407VE.h" // STM32F4 env:STM32F407VE_black
#elif MB(STEVAL_3DP001V1)
#include "stm32f4/pins_STEVAL_3DP001V1.h" // STM32F4 env:STM32F401VE_STEVAL
#elif MB(BTT_SKR_PRO_V1_1)
#include "stm32f4/pins_BTT_SKR_PRO_V1_1.h" // STM32F4 env:BIGTREE_SKR_PRO env:BIGTREE_SKR_PRO_usb_flash_drive
#elif MB(BTT_SKR_PRO_V1_2)
#include "stm32f4/pins_BTT_SKR_PRO_V1_2.h" // STM32F4 env:BIGTREE_SKR_PRO env:BIGTREE_SKR_PRO_usb_flash_drive
#elif MB(BTT_GTR_V1_0)
#include "stm32f4/pins_BTT_GTR_V1_0.h" // STM32F4 env:BIGTREE_GTR_V1_0 env:BIGTREE_GTR_V1_0_usb_flash_drive
#elif MB(BTT_BTT002_V1_0)
#include "stm32f4/pins_BTT_BTT002_V1_0.h" // STM32F4 env:BIGTREE_BTT002 env:BIGTREE_BTT002_VET6
#elif MB(BTT_E3_RRF)
#include "stm32f4/pins_BTT_E3_RRF.h" // STM32F4 env:BIGTREE_E3_RRF
#elif MB(BTT_SKR_V2_0_REV_A)
#include "stm32f4/pins_BTT_SKR_V2_0_REV_A.h" // STM32F4 env:BIGTREE_SKR_2 env:BIGTREE_SKR_2_USB env:BIGTREE_SKR_2_USB_debug
#elif MB(BTT_SKR_V2_0_REV_B)
#include "stm32f4/pins_BTT_SKR_V2_0_REV_B.h" // STM32F4 env:BIGTREE_SKR_2 env:BIGTREE_SKR_2_USB env:BIGTREE_SKR_2_USB_debug env:BIGTREE_SKR_2_F429 env:BIGTREE_SKR_2_F429_USB env:BIGTREE_SKR_2_F429_USB_debug
#elif MB(BTT_OCTOPUS_V1_0)
#include "stm32f4/pins_BTT_OCTOPUS_V1_0.h" // STM32F4 env:BIGTREE_OCTOPUS_V1 env:BIGTREE_OCTOPUS_V1_USB
#elif MB(BTT_OCTOPUS_V1_1)
#include "stm32f4/pins_BTT_OCTOPUS_V1_1.h" // STM32F4 env:BIGTREE_OCTOPUS_V1 env:BIGTREE_OCTOPUS_V1_USB
#elif MB(BTT_OCTOPUS_PRO_V1_0)
#include "stm32f4/pins_BTT_OCTOPUS_PRO_V1_0.h" // STM32F4 env:BIGTREE_OCTOPUS_V1 env:BIGTREE_OCTOPUS_V1_USB env:BIGTREE_OCTOPUS_PRO_V1_F429 env:BIGTREE_OCTOPUS_PRO_V1_F429_USB
#elif MB(LERDGE_K)
#include "stm32f4/pins_LERDGE_K.h" // STM32F4 env:LERDGEK env:LERDGEK_usb_flash_drive
#elif MB(LERDGE_S)
#include "stm32f4/pins_LERDGE_S.h" // STM32F4 env:LERDGES env:LERDGES_usb_flash_drive
#elif MB(LERDGE_X)
#include "stm32f4/pins_LERDGE_X.h" // STM32F4 env:LERDGEX env:LERDGEX_usb_flash_drive
#elif MB(VAKE403D)
#include "stm32f4/pins_VAKE403D.h" // STM32F4
#elif MB(FYSETC_S6)
#include "stm32f4/pins_FYSETC_S6.h" // STM32F4 env:FYSETC_S6 env:FYSETC_S6_8000
#elif MB(FYSETC_S6_V2_0)
#include "stm32f4/pins_FYSETC_S6_V2_0.h" // STM32F4 env:FYSETC_S6 env:FYSETC_S6_8000
#elif MB(FYSETC_SPIDER)
#include "stm32f4/pins_FYSETC_SPIDER.h" // STM32F4 env:FYSETC_S6 env:FYSETC_S6_8000
#elif MB(FYSETC_SPIDER_V2_2)
#include "stm32f4/pins_FYSETC_SPIDER_V2_2.h" // STM32F4 env:FYSETC_S6 env:FYSETC_S6_8000
#elif MB(FLYF407ZG)
#include "stm32f4/pins_FLYF407ZG.h" // STM32F4 env:FLYF407ZG
#elif MB(MKS_ROBIN2)
#include "stm32f4/pins_MKS_ROBIN2.h" // STM32F4 env:MKS_ROBIN2
#elif MB(MKS_ROBIN_PRO_V2)
#include "stm32f4/pins_MKS_ROBIN_PRO_V2.h" // STM32F4 env:mks_robin_pro2
#elif MB(MKS_ROBIN_NANO_V3)
#include "stm32f4/pins_MKS_ROBIN_NANO_V3.h" // STM32F4 env:mks_robin_nano_v3 env:mks_robin_nano_v3_usb_flash_drive env:mks_robin_nano_v3_usb_flash_drive_msc
#elif MB(MKS_ROBIN_NANO_V3_1)
#include "stm32f4/pins_MKS_ROBIN_NANO_V3.h" // STM32F4 env:mks_robin_nano_v3_1 env:mks_robin_nano_v3_1_usb_flash_drive env:mks_robin_nano_v3_1_usb_flash_drive_msc
#elif MB(ANET_ET4)
#include "stm32f4/pins_ANET_ET4.h" // STM32F4 env:Anet_ET4_no_bootloader env:Anet_ET4_OpenBLT
#elif MB(ANET_ET4P)
#include "stm32f4/pins_ANET_ET4P.h" // STM32F4 env:Anet_ET4_no_bootloader env:Anet_ET4_OpenBLT
#elif MB(FYSETC_CHEETAH_V20)
#include "stm32f4/pins_FYSETC_CHEETAH_V20.h" // STM32F4 env:FYSETC_CHEETAH_V20
#elif MB(MKS_MONSTER8_V1)
#include "stm32f4/pins_MKS_MONSTER8_V1.h" // STM32F4 env:mks_monster8 env:mks_monster8_usb_flash_drive env:mks_monster8_usb_flash_drive_msc
#elif MB(MKS_MONSTER8_V2)
#include "stm32f4/pins_MKS_MONSTER8_V2.h" // STM32F4 env:mks_monster8 env:mks_monster8_usb_flash_drive env:mks_monster8_usb_flash_drive_msc
#elif MB(TH3D_EZBOARD_V2)
#include "stm32f4/pins_TH3D_EZBOARD_V2.h" // STM32F4 env:TH3D_EZBoard_V2_no_bootloader env:TH3D_EZBoard_V2_OpenBLT
#elif MB(OPULO_LUMEN_REV3)
#include "stm32f4/pins_OPULO_LUMEN_REV3.h" // STM32F4 env:Opulo_Lumen_REV3
#elif MB(MKS_ROBIN_NANO_V1_3_F4)
#include "stm32f4/pins_MKS_ROBIN_NANO_V1_3_F4.h" // STM32F4 env:mks_robin_nano_v1_3_f4
#elif MB(MKS_EAGLE)
#include "stm32f4/pins_MKS_EAGLE.h" // STM32F4 env:mks_eagle
#elif MB(ARTILLERY_RUBY)
#include "stm32f4/pins_ARTILLERY_RUBY.h" // STM32F4 env:Artillery_Ruby
#elif MB(CREALITY_V24S1_301F4)
#include "stm32f4/pins_CREALITY_V24S1_301F4.h" // STM32F4 env:STM32F401RC_creality env:STM32F401RC_creality_jlink env:STM32F401RC_creality_stlink
//
// ARM Cortex M7
//
#elif MB(REMRAM_V1)
#include "stm32f7/pins_REMRAM_V1.h" // STM32F7 env:REMRAM_V1
#elif MB(NUCLEO_F767ZI)
#include "stm32f7/pins_NUCLEO_F767ZI.h" // STM32F7 env:NUCLEO_F767ZI
#elif MB(BTT_SKR_SE_BX_V2)
#include "stm32h7/pins_BTT_SKR_SE_BX_V2.h" // STM32H7 env:BTT_SKR_SE_BX
#elif MB(BTT_SKR_SE_BX_V3)
#include "stm32h7/pins_BTT_SKR_SE_BX_V3.h" // STM32H7 env:BTT_SKR_SE_BX
#elif MB(BTT_SKR_V3_0)
#include "stm32h7/pins_BTT_SKR_V3_0.h" // STM32H7 env:STM32H743Vx_btt
#elif MB(BTT_SKR_V3_0_EZ)
#include "stm32h7/pins_BTT_SKR_V3_0_EZ.h" // STM32H7 env:STM32H743Vx_btt
#elif MB(TEENSY41)
#include "teensy4/pins_TEENSY41.h" // Teensy-4.x env:teensy41
#elif MB(T41U5XBB)
#include "teensy4/pins_T41U5XBB.h" // Teensy-4.x env:teensy41
//
// Espressif ESP32
//
#elif MB(ESPRESSIF_ESP32)
#include "esp32/pins_ESP32.h" // ESP32 env:esp32
#elif MB(MRR_ESPA)
#include "esp32/pins_MRR_ESPA.h" // ESP32 env:esp32
#elif MB(MRR_ESPE)
#include "esp32/pins_MRR_ESPE.h" // ESP32 env:esp32
#elif MB(E4D_BOX)
#include "esp32/pins_E4D.h" // ESP32 env:esp32
#elif MB(RESP32_CUSTOM)
#include "esp32/pins_RESP32_CUSTOM.h" // ESP32 env:esp32
#elif MB(FYSETC_E4)
#include "esp32/pins_FYSETC_E4.h" // ESP32 env:FYSETC_E4
#elif MB(PANDA_ZHU)
#include "esp32/pins_PANDA_ZHU.h" // ESP32 env:PANDA
#elif MB(PANDA_M4)
#include "esp32/pins_PANDA_M4.h" // ESP32 env:PANDA
#elif MB(MKS_TINYBEE)
#include "esp32/pins_MKS_TINYBEE.h" // ESP32 env:mks_tinybee
#elif MB(ENWI_ESPNP)
#include "esp32/pins_ENWI_ESPNP.h" // ESP32 env:esp32
//
// Adafruit Grand Central M4 (SAMD51 ARM Cortex-M4)
//
#elif MB(AGCM4_RAMPS_144)
#include "samd/pins_RAMPS_144.h" // SAMD51 env:SAMD51_grandcentral_m4
#elif MB(BRICOLEMON_V1_0)
#include "samd/pins_BRICOLEMON_V1_0.h" // SAMD51 env:SAMD51_grandcentral_m4
#elif MB(BRICOLEMON_LITE_V1_0)
#include "samd/pins_BRICOLEMON_LITE_V1_0.h" // SAMD51 env:SAMD51_grandcentral_m4
//
// Custom board (with custom PIO env)
//
#elif MB(CUSTOM)
#include "pins_custom.h" // env:custom
//
// Linux Native Debug board
//
#elif MB(LINUX_RAMPS)
#include "linux/pins_RAMPS_LINUX.h" // Native or Simulation lin:linux_native mac:simulator_macos_debug mac:simulator_macos_release win:simulator_windows lin:simulator_linux_debug lin:simulator_linux_release
#else
//
// Obsolete or unknown board
//
#define BOARD_MKS_13 99900
#define BOARD_TRIGORILLA 99901
#define BOARD_RURAMPS4D 99902
#define BOARD_FORMBOT_TREX2 99903
#define BOARD_BIQU_SKR_V1_1 99904
#define BOARD_STM32F1R 99905
#define BOARD_STM32F103R 99906
#define BOARD_ESP32 99907
#define BOARD_STEVAL 99908
#define BOARD_BIGTREE_SKR_V1_1 99909
#define BOARD_BIGTREE_SKR_V1_3 99910
#define BOARD_BIGTREE_SKR_V1_4 99911
#define BOARD_BIGTREE_SKR_V1_4_TURBO 99912
#define BOARD_BIGTREE_BTT002_V1_0 99913
#define BOARD_BIGTREE_SKR_PRO_V1_1 99914
#define BOARD_BIGTREE_SKR_MINI_V1_1 99915
#define BOARD_BIGTREE_SKR_MINI_E3 99916
#define BOARD_BIGTREE_SKR_E3_DIP 99917
#define BOARD_RUMBA32 99918
#define BOARD_RUMBA32_AUS3D 99919
#define BOARD_RAMPS_DAGOMA 99920
#define BOARD_RAMPS_LONGER3D_LK4PRO 99921
#define BOARD_BTT_SKR_V2_0 99922
#define BOARD_TH3D_EZBOARD_LITE_V2 99923
#define BOARD_BTT_SKR_SE_BX 99924
#define BOARD_MKS_MONSTER8 99925
#if MB(MKS_13)
#error "BOARD_MKS_13 has been renamed BOARD_MKS_GEN_13. Please update your configuration."
#elif MB(TRIGORILLA)
#error "BOARD_TRIGORILLA has been renamed BOARD_TRIGORILLA_13. Please update your configuration."
#elif MB(RURAMPS4D)
#error "BOARD_RURAMPS4D has been renamed BOARD_RURAMPS4D_11. Please update your configuration."
#elif MB(FORMBOT_TREX2)
#error "FORMBOT_TREX2 has been renamed BOARD_FORMBOT_TREX2PLUS. Please update your configuration."
#elif MB(BIQU_SKR_V1_1)
#error "BOARD_BIQU_SKR_V1_1 has been renamed BOARD_BTT_SKR_V1_1. Please update your configuration."
#elif MB(BIGTREE_SKR_V1_1)
#error "BOARD_BIGTREE_SKR_V1_1 has been renamed BOARD_BTT_SKR_V1_1. Please update your configuration."
#elif MB(BIGTREE_SKR_V1_2)
#error "BOARD_BIGTREE_SKR_V1_2 has been renamed BOARD_BTT_SKR_V1_2. Please update your configuration."
#elif MB(BIGTREE_SKR_V1_3)
#error "BOARD_BIGTREE_SKR_V1_3 has been renamed BOARD_BTT_SKR_V1_3. Please update your configuration."
#elif MB(BIGTREE_SKR_V1_4)
#error "BOARD_BIGTREE_SKR_V1_4 has been renamed BOARD_BTT_SKR_V1_4. Please update your configuration."
#elif MB(BIGTREE_SKR_V1_4_TURBO)
#error "BOARD_BIGTREE_SKR_V1_4_TURBO has been renamed BOARD_BTT_SKR_V1_4_TURBO. Please update your configuration."
#elif MB(BIGTREE_BTT002_V1_0)
#error "BOARD_BIGTREE_BTT002_V1_0 has been renamed BOARD_BTT_BTT002_V1_0. Please update your configuration."
#elif MB(BIGTREE_SKR_PRO_V1_1)
#error "BOARD_BIGTREE_SKR_PRO_V1_1 has been renamed BOARD_BTT_SKR_PRO_V1_1. Please update your configuration."
#elif MB(BIGTREE_SKR_MINI_V1_1)
#error "BOARD_BIGTREE_SKR_MINI_V1_1 has been renamed BOARD_BTT_SKR_MINI_V1_1. Please update your configuration."
#elif MB(BIGTREE_SKR_MINI_E3)
#error "BOARD_BIGTREE_SKR_MINI_E3 has been renamed BOARD_BTT_SKR_MINI_E3_V1_0. Please update your configuration."
#elif MB(BIGTREE_SKR_E3_DIP)
#error "BOARD_BIGTREE_SKR_E3_DIP has been renamed BOARD_BTT_SKR_E3_DIP. Please update your configuration."
#elif MB(STM32F1R)
#error "BOARD_STM32F1R has been renamed BOARD_STM32F103RE. Please update your configuration."
#elif MB(STM32F103R)
#error "BOARD_STM32F103R has been renamed BOARD_STM32F103RE. Please update your configuration."
#elif MOTHERBOARD == BOARD_ESP32
#error "BOARD_ESP32 has been renamed BOARD_ESPRESSIF_ESP32. Please update your configuration."
#elif MB(STEVAL)
#error "BOARD_STEVAL has been renamed BOARD_STEVAL_3DP001V1. Please update your configuration."
#elif MB(RUMBA32)
#error "BOARD_RUMBA32 is now BOARD_RUMBA32_MKS or BOARD_RUMBA32_V1_0. Please update your configuration."
#elif MB(RUMBA32_AUS3D)
#error "BOARD_RUMBA32_AUS3D is now BOARD_RUMBA32_V1_0. Please update your configuration."
#elif MB(RAMPS_DAGOMA)
#error "BOARD_RAMPS_DAGOMA is now BOARD_DAGOMA_F5. Please update your configuration."
#elif MB(RAMPS_LONGER3D_LK4PRO)
#error "BOARD_RAMPS_LONGER3D_LK4PRO is now BOARD_LONGER3D_LKx_PRO. Please update your configuration."
#elif MB(BTT_SKR_V2_0)
#error "BOARD_BTT_SKR_V2_0 is now BOARD_BTT_SKR_V2_0_REV_A or BOARD_BTT_SKR_V2_0_REV_B. See https://bit.ly/3t5d9JQ for more information. Please update your configuration."
#elif MB(TH3D_EZBOARD_LITE_V2)
#error "BOARD_TH3D_EZBOARD_LITE_V2 is now BOARD_TH3D_EZBOARD_V2. Please update your configuration."
#elif MB(BTT_SKR_SE_BX)
#error "BOARD_BTT_SKR_SE_BX is now BOARD_BTT_SKR_SE_BX_V2 or BOARD_BTT_SKR_SE_BX_V3. Please update your configuration."
#elif MB(MKS_MONSTER8)
#error "BOARD_MKS_MONSTER8 is now BOARD_MKS_MONSTER8_V1 or BOARD_MKS_MONSTER8_V2. Please update your configuration."
#elif defined(MOTHERBOARD)
#error "Unknown MOTHERBOARD value set in Configuration.h."
#else
#error "MOTHERBOARD not defined! Use '#define MOTHERBOARD BOARD_...' in Configuration.h."
#endif
#undef BOARD_MKS_13
#undef BOARD_TRIGORILLA
#undef BOARD_RURAMPS4D
#undef BOARD_FORMBOT_TREX2
#undef BOARD_BIQU_SKR_V1_1
#undef BOARD_STM32F1R
#undef BOARD_STM32F103R
#undef BOARD_ESP32
#undef BOARD_STEVAL
#undef BOARD_BIGTREE_SKR_V1_1
#undef BOARD_BIGTREE_SKR_V1_3
#undef BOARD_BIGTREE_SKR_V1_4
#undef BOARD_BIGTREE_SKR_V1_4_TURBO
#undef BOARD_BIGTREE_BTT002_V1_0
#undef BOARD_BIGTREE_SKR_PRO_V1_1
#undef BOARD_BIGTREE_SKR_MINI_V1_1
#undef BOARD_BIGTREE_SKR_MINI_E3
#undef BOARD_BIGTREE_SKR_E3_DIP
#undef BOARD_RUMBA32
#undef BOARD_RUMBA32_AUS3D
#undef BOARD_RAMPS_DAGOMA
#undef BOARD_RAMPS_LONGER3D_LK4PRO
#undef BOARD_BTT_SKR_V2_0
#undef BOARD_TH3D_EZBOARD_LITE_V2
#undef BOARD_BTT_SKR_SE_BX
#undef BOARD_MKS_MONSTER8
#endif
//
// Post-process pins according to configured settings
//
#include "pins_postprocess.h"

293
src/pins/pinsDebug.h Normal file
View File

@ -0,0 +1,293 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#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 48
// manually add pins that have names that are macros which don't play well with these macros
#if ANY(AVR_ATmega2560_FAMILY, AVR_ATmega1284_FAMILY, ARDUINO_ARCH_SAM, TARGET_LPC1768)
#if CONF_SERIAL_IS(0)
static const char RXD_NAME_0[] PROGMEM = { "RXD0" };
static const char TXD_NAME_0[] PROGMEM = { "TXD0" };
#endif
#if CONF_SERIAL_IS(1)
static const char RXD_NAME_1[] PROGMEM = { "RXD1" };
static const char TXD_NAME_1[] PROGMEM = { "TXD1" };
#endif
#if CONF_SERIAL_IS(2)
static const char RXD_NAME_2[] PROGMEM = { "RXD2" };
static const char TXD_NAME_2[] PROGMEM = { "TXD2" };
#endif
#if CONF_SERIAL_IS(3)
static const char RXD_NAME_3[] PROGMEM = { "RXD3" };
static const char TXD_NAME_3[] PROGMEM = { "TXD3" };
#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 converted to digital when the array was created
* 2 bytes containing the digital/analog bool flag
*/
#if CONF_SERIAL_IS(0)
#if EITHER(AVR_ATmega2560_FAMILY, 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) // TX P0_02 RX P0_03
{ RXD_NAME_0, 3, true },
{ TXD_NAME_0, 2, true },
#endif
#endif
#if CONF_SERIAL_IS(1)
#if EITHER(AVR_ATmega2560_FAMILY, 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)
#ifdef LPC_PINCFG_UART1_P2_00 // TX P2_00 RX P2_01
{ RXD_NAME_1, 0x41, true },
{ TXD_NAME_1, 0x40, true },
#else // TX P0_15 RX P0_16
{ RXD_NAME_1, 16, true },
{ TXD_NAME_1, 15, true },
#endif
#endif
#endif
#if CONF_SERIAL_IS(2)
#if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM)
{ RXD_NAME_2, 17, true },
{ TXD_NAME_2, 16, true },
#elif defined(TARGET_LPC1768)
#ifdef LPC_PINCFG_UART2_P2_08 // TX P2_08 RX P2_09
{ RXD_NAME_2, 0x49, true },
{ TXD_NAME_2, 0x48, true },
#else // TX P0_10 RX P0_11
{ RXD_NAME_2, 11, true },
{ TXD_NAME_2, 10, true },
#endif
#endif
#endif
#if CONF_SERIAL_IS(3)
#if EITHER(AVR_ATmega2560_FAMILY, ARDUINO_ARCH_SAM)
{ RXD_NAME_3, 15, true },
{ TXD_NAME_3, 14, true },
#elif defined(TARGET_LPC1768)
#ifdef LPC_PINCFG_UART3_P0_25 // TX P0_25 RX P0_26
{ RXD_NAME_3, 0x1A, true },
{ TXD_NAME_3, 0x19, true },
#elif defined(LPC_PINCFG_UART3_P4_28) // TX P4_28 RX P4_29
{ RXD_NAME_3, 0x9D, true },
{ TXD_NAME_3, 0x9C, true },
#else // TX P0_00 RX P0_01
{ RXD_NAME_3, 1, true },
{ TXD_NAME_3, 0, true },
#endif
#endif
#endif
#include "pinsDebug_list.h"
#line 167
};
#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) {
SERIAL_ECHOPGM_P(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, FSTR_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) SERIAL_ECHOF(start_string);
SERIAL_ECHOPGM("PIN: ");
PRINT_PIN(pin);
PRINT_PORT(pin);
if (int8_t(DIGITAL_PIN_TO_ANALOG_PIN(pin)) >= 0) PRINT_PIN_ANALOG(pin); // analog pin number
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(FTOP(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) SERIAL_ECHOF(start_string);
SERIAL_ECHOPGM("PIN: ");
PRINT_PIN(pin);
PRINT_PORT(pin);
if (int8_t(DIGITAL_PIN_TO_ANALOG_PIN(pin)) >= 0) PRINT_PIN_ANALOG(pin); // analog pin number
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();
}
}

1796
src/pins/pinsDebug_list.h Normal file

File diff suppressed because it is too large Load Diff

1435
src/pins/pins_postprocess.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if NOT_TARGET(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino Mega 2560 or Rambo' in 'Tools > Board.'"
#endif

View File

@ -0,0 +1,216 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Einsy-Rambo pin assignments
*/
#include "env_validate.h"
#define BOARD_INFO_NAME "Einsy Rambo"
#define DEFAULT_MACHINE_NAME "Prusa MK3"
//#define MK3_FAN_PINS
//
// 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
//
// Filament Runout Sensor
//
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 62
#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, Header J2
#define TEMP_1_PIN 1 // Analog Input, Header J3
#define TEMP_BOARD_PIN 91 // Onboard thermistor, 100k TDK NTCG104LH104JT1
#define TEMP_BED_PIN 2 // Analog Input, Header J6
#define TEMP_PROBE_PIN 3 // Analog Input, Header J15
//
// Heaters / Fans
//
#define HEATER_0_PIN 3
#define HEATER_BED_PIN 4
#ifndef FAN_PIN
#ifdef MK3_FAN_PINS
#define FAN_PIN 6
#else
#define FAN_PIN 8
#endif
#endif
#ifndef FAN1_PIN
#ifdef MK3_FAN_PINS
#define FAN1_PIN -1
#else
#define FAN1_PIN 6
#endif
#endif
//
// Misc. Functions
//
#define SDSS 77
#define LED_PIN 13
#ifndef CASE_LIGHT_PIN
#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
//
#if HAS_PRUSA_MMU1
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
#endif
//
// LCD / Controller
//
#if HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL
#define KILL_PIN 32
#if IS_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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif
#define BTN_ENC 9 // AUX-2
#define BEEPER_PIN 84 // AUX-4
#define SD_DETECT_PIN 15
#endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
#endif // HAS_WIRED_LCD
#if IS_U8GLIB_ST7920
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 250
#define BOARD_ST7920_DELAY_3 0
#endif
#undef MK3_FAN_PINS

View File

@ -0,0 +1,210 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Einsy-Retro pin assignments
*/
#include "env_validate.h"
#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 X_MAX_PIN 81 // X+
#define Y_MAX_PIN 57 // Y+
#else
#if X_HOME_TO_MIN
#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_TO_MIN
#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-
#define SERVO0_PIN 10 // Z-
#endif
#endif
#define Z_MAX_PIN 7
#ifndef Z_MIN_PIN
#define Z_MIN_PIN 10 // Z-
#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
#define FAN1_PIN 6
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#ifndef CASE_LIGHT_PIN
#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
//
#if HAS_PRUSA_MMU1
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
#endif
//
// LCD / Controller
//
#if ANY(HAS_WIRED_LCD, TOUCH_UI_ULTIPANEL, TOUCH_UI_FTDI_EVE)
#define KILL_PIN 32
#if ANY(IS_ULTIPANEL, TOUCH_UI_ULTIPANEL, 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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE
#endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL || TOUCH_UI_FTDI_EVE
// Alter timing for graphical display
#if IS_U8GLIB_ST7920
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 250
#define BOARD_ST7920_DELAY_3 0
#endif

View File

@ -0,0 +1,202 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Mini-RAMBo pin assignments
*/
#include "env_validate.h"
#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
#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
//
#if HAS_PRUSA_MMU1
#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
#endif
//
// LCD / Controller
//
#if HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL
#if !MB(MINIRAMBO_10A)
#define KILL_PIN 32
#endif
#if IS_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
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#endif // IS_ULTIPANEL || TOUCH_UI_ULTIPANEL
#endif // HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL
#if IS_U8GLIB_ST7920
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 250
#define BOARD_ST7920_DELAY_3 0
#endif

280
src/pins/rambo/pins_RAMBO.h Normal file
View File

@ -0,0 +1,280 @@
/**
* 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 <https://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:
* https://reprap.org/wiki/Rambo_firmware
*/
/**
* Rambo pin assignments
*/
#include "env_validate.h"
#ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "Rambo"
#endif
//
// Servos
//
#ifndef SERVO0_PIN
#define SERVO0_PIN 22 // Motor header MX1
#endif
#define SERVO1_PIN 23 // Motor header MX2
#ifndef SERVO2_PIN
#define SERVO2_PIN 24 // Motor header MX3
#endif
#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
#ifndef Z_MIN_PIN
#define Z_MIN_PIN 10
#endif
#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
#ifndef FAN1_PIN
#define FAN1_PIN 6
#endif
#ifndef FAN2_PIN
#define FAN2_PIN 2
#endif
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 4
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 46
#endif
#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 MAX Thermocouple
//
#ifndef TEMP_0_CS_PIN
#define TEMP_0_CS_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
//
#if HAS_PRUSA_MMU1
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#define E_MUX2_PIN 84 // 84 in MK2 Firmware
#endif
//
// LCD / Controller
//
#if HAS_WIRED_LCD || TOUCH_UI_ULTIPANEL
#define KILL_PIN 80
#if IS_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 EITHER(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 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
#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#else // !VIKI2 && !miniVIKI
#define BEEPER_PIN 79 // AUX-4
// AUX-2
#ifndef BTN_EN1
#define BTN_EN1 76
#endif
#ifndef BTN_EN2
#define BTN_EN2 77
#endif
#define BTN_ENC 78
#define SD_DETECT_PIN 81
#endif // !VIKI2 && !miniVIKI
#if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
#define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
#endif
#else // !IS_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_PIN 38
//#define SHIFT_LD_PIN 42
//#define SHIFT_OUT_PIN 40
//#define SHIFT_EN_PIN 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 // !IS_NEWPANEL
#endif // HAS_WIRED_LCD
// Alter timing for graphical display
#if IS_U8GLIB_ST7920
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 0
#define BOARD_ST7920_DELAY_3 0
#endif

View File

@ -0,0 +1,60 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Rambo ThinkerV2 pin assignments
*/
#define BOARD_INFO_NAME "Rambo ThinkerV2"
#define SERVO0_PIN 4 // Motor header MX1
#define SERVO2_PIN -1 // Motor header MX3
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 10
#endif
// Support BLTouch and fixed probes
#if ENABLED(BLTOUCH)
#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
#define Z_MIN_PIN 22
#elif !defined(Z_MIN_PROBE_PIN)
#define Z_MIN_PROBE_PIN 22
#endif
#elif ENABLED(FIX_MOUNTED_PROBE)
#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
#define Z_MIN_PIN 4
#elif !defined(Z_MIN_PROBE_PIN)
#define Z_MIN_PROBE_PIN 4
#endif
#endif
// Eryone has the fan pins reversed
#define FAN1_PIN 2
#define FAN2_PIN 6
// Encoder
#define BTN_EN1 64
#define BTN_EN2 63
#include "pins_RAMBO.h"

View File

@ -0,0 +1,158 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/************************************************
* Rambo pin assignments MODIFIED FOR Scoovo X9H
************************************************/
#include "env_target.h"
#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 EITHER(VIKI2, miniVIKI)
#define BEEPER_PIN 44
// Pins for DOGM SPI LCD Support
#define DOGLCD_A0 70
#define DOGLCD_CS 71
#define SD_DETECT_PIN -1 // Pin 72 if using easy adapter board
#define STAT_LED_RED_PIN 22
#define STAT_LED_BLUE_PIN 32
#define LCD_SCREEN_ROTATE 180 // 0, 90, 180, 270
#endif

View File

@ -0,0 +1,35 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2021 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if ENABLED(ALLOW_SAM3X8E)
#if NOT_TARGET(__SAM3X8E__, __AVR_ATmega2560__)
#error "Oops! Select 'Arduino Due' or 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#elif ENABLED(REQUIRE_MEGA2560) && NOT_TARGET(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif DISABLED(REQUIRE_MEGA2560) && NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560 or 1280' in 'Tools > Board.'"
#endif
#undef ALLOW_SAM3X8E
#undef REQUIRE_MEGA2560

173
src/pins/ramps/pins_3DRAG.h Normal file
View File

@ -0,0 +1,173 @@
/**
* 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 <https://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 "3dprint.elettronicain.it"
#endif
//
// Limit Switches
//
#define Z_STOP_PIN 18
//
// Steppers
//
#if HAS_CUTTER
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 24
#define Z_STEP_PIN 26
#else
#define Z_ENABLE_PIN 63
#endif
#if HAS_CUTTER && !HAS_EXTRUDERS
#define E0_DIR_PIN -1
#define E0_ENABLE_PIN -1
#define E0_STEP_PIN -1
#endif
//
// Heaters / Fans
//
#define MOSFET_B_PIN 8
#define MOSFET_C_PIN 9
#define MOSFET_D_PIN 12
//
// Misc. Functions
//
#define SDSS 25
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN -1 // Hardware PWM but one is not available on expansion header
#endif
/**
* 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
*/
#if HAS_CUTTER
#if !HAS_EXTRUDERS
#define SPINDLE_LASER_PWM_PIN 46 // Hardware PWM
#define SPINDLE_LASER_ENA_PIN 62 // Pullup!
#define SPINDLE_DIR_PIN 48
#elif !BOTH(HAS_WIRED_LCD, IS_NEWPANEL) // Use expansion header if no LCD in use
#define SPINDLE_LASER_ENA_PIN 16 // Pullup or pulldown!
#define SPINDLE_DIR_PIN 17
#if !NUM_SERVOS // Use servo connector if possible
#define SPINDLE_LASER_PWM_PIN 6 // Hardware PWM
#elif HAS_FREE_AUX2_PINS
#define SPINDLE_LASER_PWM_PIN 44 // Hardware PWM
#endif
#endif
#endif
#include "pins_RAMPS.h"
//
// Heaters / Fans
//
#define HEATER_2_PIN 6
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 53
//
// LCD / Controller
//
#if HAS_WIRED_LCD && IS_NEWPANEL
#undef BEEPER_PIN
// TODO: Remap EXP1/2 based on adapter
#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_WIRED_LCD && IS_NEWPANEL
#if IS_U8GLIB_ST7920
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 188
#define BOARD_ST7920_DELAY_3 0
#endif

View File

@ -0,0 +1,97 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments
*/
#define REQUIRE_MEGA2560
#include "env_validate.h"
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Azteeg X3 supports up to 2 hotends / E steppers."
#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" // ... RAMPS
//
// LCD / Controller
//
#undef STAT_LED_RED_PIN
#undef STAT_LED_BLUE_PIN
#if EITHER(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) && PINS_EXIST(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,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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZTEEG_X3_PRO (Arduino Mega) pin assignments
*/
#define REQUIRE_MEGA2560
#include "env_validate.h"
#if HOTENDS > 5 || E_STEPPERS > 5
#error "Azteeg X3 Pro supports up to 5 hotends / E steppers."
#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
//
// Auto fans
//
#define AUTO_FAN_PIN 5
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
#ifndef E3_AUTO_FAN_PIN
#define E3_AUTO_FAN_PIN AUTO_FAN_PIN
#endif
//
// LCD / Controller
//
#undef BEEPER_PIN
#define BEEPER_PIN 33
#if EITHER(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 EITHER(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,47 @@
/**
* 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 <https://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."
#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
//
// Temperature Sensors
//
#define TEMP_0_PIN 9 // Analog Input
#define TEMP_1_PIN 11 // Analog Input
#include "pins_RAMPS.h"

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 <https://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."
#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,126 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* bq ZUM Mega 3D board definition
*/
#define REQUIRE_MEGA2560
#include "env_validate.h"
#define BOARD_INFO_NAME "ZUM Mega 3D"
//
// Limit Switches
//
#define X_MAX_PIN 79
// 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.
#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)
#define Z_MIN_PIN 19 // IND_S_5V
#define Z_MAX_PIN 18 // Z-MIN Label
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19 // IND_S_5V
#endif
//
// Steppers
//
#define Z_ENABLE_PIN 77
#define DIGIPOTSS_PIN 22
#define DIGIPOT_CHANNELS { 4, 5, 3, 0, 1 }
//
// Temperature Sensors
//
#define TEMP_1_PIN 14 // Analog Input
#define TEMP_BED_PIN 15 // Analog Input
//
// Heaters / Fans
//
#define MOSFET_A_PIN 9
#define MOSFET_B_PIN 12
#define MOSFET_C_PIN 10
#define MOSFET_D_PIN 7
//
// Auto fans
//
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN 11
#endif
#ifndef E1_AUTO_FAN_PIN
#define E1_AUTO_FAN_PIN 6
#endif
#ifndef E2_AUTO_FAN_PIN
#define E2_AUTO_FAN_PIN 6
#endif
#ifndef E3_AUTO_FAN_PIN
#define E3_AUTO_FAN_PIN 6
#endif
//
// 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
//
// Misc. Functions
//
#define PS_ON_PIN 81 // External Power Supply
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 44 // Hardware PWM
#endif
// Alter timing for graphical display
#if IS_U8GLIB_ST7920
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 0
#define BOARD_ST7920_DELAY_3 189
#endif
//
// Import RAMPS 1.3 pins
//
#include "pins_RAMPS_13.h" // ... RAMPS
//
// 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 <https://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,66 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Dagoma3D F5 supports up to 2 hotends / E steppers."
#endif
#define BOARD_INFO_NAME "Dagoma3D F5"
//
// Endstops
//
#define X_STOP_PIN 2
#define Y_STOP_PIN 3
#define Z_STOP_PIN 15
#define FIL_RUNOUT_PIN 39
#if EXTRUDERS > 1
#define FIL_RUNOUT2_PIN 14
#endif
// Alter timing for graphical display
#if IS_U8GLIB_ST7920
#define BOARD_ST7920_DELAY_1 0
#define BOARD_ST7920_DELAY_2 250
#define BOARD_ST7920_DELAY_3 250
#endif
//
// DAC steppers
//
#define HAS_MOTOR_CURRENT_DAC 1
#define DAC_STEPPER_ORDER { 0, 1, 2, 3 }
#define DAC_STEPPER_SENSE 0.11
#define DAC_STEPPER_ADDRESS 0
#define DAC_STEPPER_MAX 4096
#define DAC_STEPPER_VREF 1
#define DAC_STEPPER_GAIN 0
#define DAC_OR_ADDRESS 0x00
//
// Import default RAMPS 1.4 pins
//
#include "pins_RAMPS.h"

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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Wanhao Duplicator i3 Plus pin assignments
*/
#define REQUIRE_MEGA2560
#include "env_validate.h"
#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 SD_MISO_PIN 50 // PB3
#define SD_MOSI_PIN 51 // PB2
#define SD_SCK_PIN 52 // PB1
//
// LCDs and Controllers
//
#if HAS_WIRED_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) | 56 #
* # 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 <https://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."
#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 HAS_WIRED_LCD && IS_NEWPANEL
#define SD_DETECT_PIN 6
#endif
//
// 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,181 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot Raptor pin assignments
*/
#define REQUIRE_MEGA2560
#include "env_validate.h"
#if HOTENDS > 3 || E_STEPPERS > 3
#error "Formbot supports up to 3 hotends / E steppers."
#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 MAX Thermocouple
#if DISABLED(SDSUPPORT)
#define TEMP_0_CS_PIN 66 // Don't use 53 if using Display/SD card
#else
#define TEMP_0_CS_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
#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
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 5
#endif
//
// LCD / Controller
//
// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
//
#if IS_RRD_SC
#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

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