Move pins files to subfolders #14573

This commit is contained in:
Scott Lahteine
2019-07-11 02:32:24 -05:00
committed by GitHub
parent e5a5273edb
commit 7de605c5c3
169 changed files with 443 additions and 400 deletions

View File

@ -0,0 +1,162 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* 3DRAG (and K8200 / K8400) Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef BOARD_NAME
#define BOARD_NAME "3Drag"
#endif
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME BOARD_NAME
#endif
#ifndef DEFAULT_SOURCE_CODE_URL
#define DEFAULT_SOURCE_CODE_URL "http://3dprint.elettronicain.it/"
#endif
//
// Heaters / Fans
//
#define RAMPS_D8_PIN 9
#define RAMPS_D9_PIN 8
#define MOSFET_D_PIN 12
#define CASE_LIGHT_PIN -1 // MUST BE HARDWARE PWM but one is not available on expansion header
#include "pins_RAMPS.h"
//
// Limit Switches
//
#undef Z_MAX_PIN
//
// Steppers
//
#undef Z_ENABLE_PIN
#define Z_ENABLE_PIN 63
//
// Heaters / Fans
//
#define HEATER_2_PIN 6
//
// Misc. Functions
//
#undef SDSS
#define SDSS 25
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 53
//
// LCD / Controller
//
#if BOTH(ULTRA_LCD, NEWPANEL)
#undef BEEPER_PIN
#undef LCD_PINS_RS
#undef LCD_PINS_ENABLE
#undef LCD_PINS_D4
#undef LCD_PINS_D5
#undef LCD_PINS_D6
#undef LCD_PINS_D7
#define LCD_PINS_RS 27
#define LCD_PINS_ENABLE 29
#define LCD_PINS_D4 37
#define LCD_PINS_D5 35
#define LCD_PINS_D6 33
#define LCD_PINS_D7 31
// Buttons
#undef BTN_EN1
#undef BTN_EN2
#undef BTN_ENC
#define BTN_EN1 16
#define BTN_EN2 17
#define BTN_ENC 23
#else
#define BEEPER_PIN 33
#endif // HAS_SPI_LCD && NEWPANEL
/**
* M3/M4/M5 - Spindle/Laser Control
*
* If you want to control the speed of your spindle then you'll have
* have to sacrifce the Extruder and pull some signals off the Z stepper
* driver socket.
*
* The following assumes:
* - the Z stepper driver socket is empty
* - the extruder driver socket has a driver board plugged into it
* - the Z stepper wires are attached the the extruder connector
*
* If you want to keep the extruder AND don't have a LCD display then
* you can still control the power on/off and spindle direction.
*
* Where to get spindle signals
*
* stepper signal socket name socket name
* -------
* SPINDLE_LASER_ENA_PIN /ENABLE O| |O VMOT
* MS1 O| |O GND
* MS2 O| |O 2B
* MS3 O| |O 2A
* /RESET O| |O 1A
* /SLEEP O| |O 1B
* SPINDLE_LASER_PWM_PIN STEP O| |O VDD
* SPINDLE_DIR_PIN DIR O| |O GND
* -------
*
* Note: Socket names vary from vendor to vendor
*/
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not good with 3DRAG
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if HAS_CUTTER
#if !EXTRUDERS
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#undef E0_STEP_PIN
#undef Z_DIR_PIN
#undef Z_ENABLE_PIN
#undef Z_STEP_PIN
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 24
#define Z_STEP_PIN 26
#define SPINDLE_LASER_PWM_PIN 46 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 62 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 48
#elif !BOTH(ULTRA_LCD, NEWPANEL) // use expansion header if no LCD in use
#define SPINDLE_LASER_ENA_PIN 16 // Pin should have a pullup/pulldown!
#define SPINDLE_DIR_PIN 17
#endif
#endif

View File

@ -0,0 +1,98 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Azteeg X3 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#define CASE_LIGHT_PIN 6 // Define before RAMPS pins include
#endif
#define BOARD_NAME "Azteeg X3"
//
// Servos
//
#define SERVO0_PIN 44 // SERVO1 port
#define SERVO1_PIN 55 // SERVO2 port
#include "pins_RAMPS_13.h"
//
// LCD / Controller
//
#undef STAT_LED_RED_PIN
#undef STAT_LED_BLUE_PIN
#if ANY(VIKI2, miniVIKI)
#undef DOGLCD_A0
#undef DOGLCD_CS
#undef BTN_ENC
#define DOGLCD_A0 31
#define DOGLCD_CS 32
#define BTN_ENC 12
#define STAT_LED_RED_PIN 64
#define STAT_LED_BLUE_PIN 63
#else
#define STAT_LED_RED_PIN 6
#define STAT_LED_BLUE_PIN 11
#endif
//
// Misc
//
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT, STAT_LED_RED) && STAT_LED_RED_PIN == CASE_LIGHT_PIN
#undef STAT_LED_RED_PIN
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3 board
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if HAS_CUTTER
#undef SDA // use EXP3 header
#undef SCL
#if SERVO0_PIN == 7
#undef SERVO0_PIN
#define SERVO0_PIN 11
#endif
#define SPINDLE_LASER_PWM_PIN 7 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 20 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 21
#endif

View File

@ -0,0 +1,169 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* AZTEEG_X3_PRO (Arduino Mega) pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if HOTENDS > 5 || E_STEPPERS > 5
#error "Azteeg X3 Pro supports up to 5 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Azteeg X3 Pro"
//
// RAMPS pins overrides
//
//
// Servos
//
// Tested this pin with bed leveling on a Delta with 1 servo.
// Physical wire attachment on EXT1: GND, 5V, D47.
//
#define SERVO0_PIN 47
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 14
#define Z_STOP_PIN 18
#ifndef FAN_PIN
#define FAN_PIN 6
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#define CASE_LIGHT_PIN 44
#endif
//
// Import RAMPS 1.4 pins
//
#include "pins_RAMPS.h"
// DIGIPOT slave addresses
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT 0x2C (0x58 <- 0x2C << 1)
#endif
#ifndef DIGIPOT_I2C_ADDRESS_B
#define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT 0x2E (0x5C <- 0x2E << 1)
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 18
#endif
//
// Steppers
//
#define E2_STEP_PIN 23
#define E2_DIR_PIN 25
#define E2_ENABLE_PIN 40
#define E3_STEP_PIN 27
#define E3_DIR_PIN 29
#define E3_ENABLE_PIN 41
#define E4_STEP_PIN 43
#define E4_DIR_PIN 37
#define E4_ENABLE_PIN 42
//
// Temperature Sensors
//
#define TEMP_2_PIN 12 // Analog Input
#define TEMP_3_PIN 11 // Analog Input
#define TEMP_4_PIN 10 // Analog Input
#define TC1 4 // Analog Input (Thermo couple on Azteeg X3Pro)
#define TC2 5 // Analog Input (Thermo couple on Azteeg X3Pro)
//
// Heaters / Fans
//
#define HEATER_2_PIN 16
#define HEATER_3_PIN 17
#define HEATER_4_PIN 4
#define HEATER_5_PIN 5
#define HEATER_6_PIN 6
#define HEATER_7_PIN 11
#ifndef CONTROLLER_FAN_PIN
#define CONTROLLER_FAN_PIN 4 // Pin used for the fan to cool motherboard (-1 to disable)
#endif
// Fans/Water Pump to cool the hotend cool side.
#define ORIG_E0_AUTO_FAN_PIN 5
#define ORIG_E1_AUTO_FAN_PIN 5
#define ORIG_E2_AUTO_FAN_PIN 5
#define ORIG_E3_AUTO_FAN_PIN 5
//
// LCD / Controller
//
#undef BEEPER_PIN
#define BEEPER_PIN 33
#if ANY(VIKI2, miniVIKI)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 49 // For easy adapter board
#undef BEEPER_PIN
#define BEEPER_PIN 12 // 33 isn't physically available to the LCD display
#else
#define STAT_LED_RED_PIN 32
#define STAT_LED_BLUE_PIN 35
#endif
//
// Misc. Functions
//
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && defined(DOGLCD_A0) && DOGLCD_A0 == CASE_LIGHT_PIN
#undef DOGLCD_A0 // Steal pin 44 for the case light; if you have a Viki2 and have connected it
#define DOGLCD_A0 57 // following the Panucatt wiring diagram, you may need to tweak these pin assignments
// as the wiring diagram uses pin 44 for DOGLCD_A0
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are no good with the AzteegX3pro board
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN
#if HAS_CUTTER // EXP2 header
#if ANY(VIKI2, miniVIKI)
#undef BTN_EN2
#define BTN_EN2 31 // need 7 for the spindle speed PWM
#endif
#define SPINDLE_LASER_PWM_PIN 7 // must have a hardware PWM
#define SPINDLE_LASER_ENA_PIN 20 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 21
#endif

View File

@ -0,0 +1,49 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* BAM&DICE Due (Arduino Mega) pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "2PrintBeta Due supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "2PrintBeta Due"
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENA_PIN 66 // Pin should have a pullup/pulldown!
#define SPINDLE_DIR_PIN 67
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#include "pins_RAMPS.h"
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#undef TEMP_1_PIN
#define TEMP_0_PIN 9 // Analog Input
#define TEMP_1_PIN 11 // Analog Input

View File

@ -0,0 +1,40 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* KFB 2.0 Arduino Mega2560 with RAMPS v1.4 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "KFB 2.0 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_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,117 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* bq ZUM Mega 3D board definition
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "ZUM Mega 3D"
//
// Heaters / Fans
//
#define RAMPS_D8_PIN 10
#define RAMPS_D9_PIN 12
#define RAMPS_D10_PIN 9
#define MOSFET_D_PIN 7
//
// Auto fans
//
#define ORIG_E0_AUTO_FAN_PIN 11
#define ORIG_E1_AUTO_FAN_PIN 6
#define ORIG_E2_AUTO_FAN_PIN 6
#define ORIG_E3_AUTO_FAN_PIN 6
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENA_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 42
//
// Limit Switches
//
#define X_MAX_PIN 79 // 2
//
// Import RAMPS 1.3 pins
//
#include "pins_RAMPS_13.h"
//
// Z Probe (when not Z_MIN_PIN)
//
#undef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19 // IND_S_5V
#undef Z_ENABLE_PIN
#define Z_ENABLE_PIN 77 // 62
//
// Steppers
//
#define DIGIPOTSS_PIN 22
#define DIGIPOT_CHANNELS { 4, 5, 3, 0, 1 }
//
// Temperature Sensors
//
#undef TEMP_1_PIN
#define TEMP_1_PIN 14 // Analog Input (15)
#undef TEMP_BED_PIN
#define TEMP_BED_PIN 15 // Analog Input (14)
//
// Misc. Functions
//
#undef PS_ON_PIN // 12
#define PS_ON_PIN 81 // External Power Supply
#define CASE_LIGHT_PIN 44 // MUST BE HARDWARE PWM
// This board has headers for Z-min, Z-max and IND_S_5V *but* as the bq team
// decided to ship the printer only with the probe and no additional Z-min
// endstop and the instruction manual advises the user to connect the probe to
// IND_S_5V the option Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN will not work.
#ifdef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#undef Z_MIN_PIN
#undef Z_MAX_PIN
#define Z_MIN_PIN 19 // IND_S_5V
#define Z_MAX_PIN 18 // Z-MIN Label
#endif
//
// Used by the Hephestos 2 heated bed upgrade kit
//
#if ENABLED(HEPHESTOS2_HEATED_BED_KIT)
#undef HEATER_BED_PIN
#define HEATER_BED_PIN 8
#endif

View File

@ -0,0 +1,184 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Wanhao Duplicator i3 Plus pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "Duplicator i3 Plus"
//
// Limit Switches
//
#define X_STOP_PIN 54 // PF0 / A0
#define Y_STOP_PIN 24 // PA2 / AD2
#define Z_MIN_PIN 23 // PA1 / AD1
#define Z_MAX_PIN 25 // PA3 / AD3
#define SERVO0_PIN 40 // PG1 / !RD
//
// Steppers
//
#define X_STEP_PIN 61 // PF7 / A7
#define X_DIR_PIN 62 // PK0 / A8
#define X_ENABLE_PIN 60 // PF6 / A6
#define Y_STEP_PIN 64 // PK2 / A10
#define Y_DIR_PIN 65 // PK3 / A11
#define Y_ENABLE_PIN 63 // PK1 / A9
#define Z_STEP_PIN 67 // PK5 / A13
#define Z_DIR_PIN 69 // PK7 / A15
#define Z_ENABLE_PIN 66 // PK4 / A12
#define Z_MIN_PROBE_PIN 25 // PA3 / AD3
#define E0_STEP_PIN 58 // PF4 / A4
#define E0_DIR_PIN 59 // PF5 / A5
#define E0_ENABLE_PIN 57 // PF3 / A3
//
// Temperature Sensors
//
#define TEMP_0_PIN 1 // PF1 / A1 Analog
#define TEMP_BED_PIN 14 // PK6 / A14 Analog
//
// Heaters / Fans
//
#define HEATER_0_PIN 4 // PG5 / PWM4
#define HEATER_BED_PIN 3 // PE5 / PWM3
#define FAN_PIN 5 // PE3 / PWM5
//
// Misc. Functions
//
#define SDSS 53 // PB0 / SS
#define LED_PIN 13 // PB7 / PWM13
#define MISO_PIN 50 // PB3
#define MOSI_PIN 51 // PB2
#define SCK_PIN 52 // PB1
//
// LCDs and Controllers
//
#if HAS_SPI_LCD
#if ENABLED(ZONESTAR_LCD)
#define LCD_PINS_RS 2
#define LCD_PINS_ENABLE 36
#define LCD_PINS_D4 37
#define LCD_PINS_D5 34
#define LCD_PINS_D6 35
#define LCD_PINS_D7 32
#define ADC_KEYPAD_PIN 12 // Analog
#endif
#endif
/**
* == EXT connector ==
*
* 2 4 6 8 10
* #---------------#
* #2 | ° ° ° ° ° |
* #1 | ° ° ° ° ° |
* #---------------#
* 1 3 5 7 9
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 52 / PG1 (!RD) | 40 #
* # 2 | 95 / PF2 (A2) | 2 #
* # 3 | 54 / PC1 (A9) | 36 #
* # 4 | 53 / PC0 (A8) | 37 #
* # 5 | 56 / PC3 (A11) | 34 #
* # 6 | 55 / PC2 (A10) | 35 #
* # 7 | 58 / PC5 (A13) | 32 #
* # 8 | 57 / PC4 (A12) | 33 #
* # 9 | GND | - #
* # 10 | VCC | + #
* ##################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* == Z-probe connector ==
*
* 1 2 3
* #---------#
* | ° ° ° |
* #---------#
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 24V or 5V | + #
* # 2 | 75 / PA3 (AD3) | 25 #
* # 3 | GND | - #
* ##################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* == Y-endstop == == Z-endstop == == Bed temperature ==
*
* 1 2 1 2 1 2
* #------# #------# #------#
* | ° ° | | ° ° | | ° ° |
* #------# #------# #------#
*
* ############### Y ################ ############### Z ################ ############## BED ###############
* # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino # # Pin | ATMEGA2560 Pin | Arduino #
* ################################## ################################## ##################################
* # 1 | GND | - # # 1 | GND | - # # 1 | GND | - #
* # 2 | 76 / PA2 (AD2) | 24 # # 2 | 77 / PA1 (AD1) | 23 # # 2 |83 / PK6 (ADC14)| 14 #
* ################################## ################################## ##################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* == SPI connector ==
*
* 5 3 1
* #---------#
* | ° ° ° |
* | ° ° ° |
* #---------#
* 6 4 2
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 22 / PB3 (MISO)| 50 #
* # 2 | VCC | + #
* # 3 | 20 / PB1 (SCK) | 52 #
* # 4 | 21 / PB2 (MOSI)| 51 #
* # 5 | 30 / !RESET | RESET #
* # 6 | GND | - #
* ##################################
*
* Pictogram by Ludy https://github.com/Ludy87
* See: https://sebastien.andrivet.com/en/posts/wanhao-duplicator-i3-plus-3d-printer/
*/

View File

@ -0,0 +1,64 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* FELIXprinters v2.0/3.0 (RAMPS v1.4) pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Felix 2.0+ supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Felix 2.0+"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
#include "pins_RAMPS.h"
//
// Misc. Functions
//
#undef SDPOWER
#define SDPOWER 1
#define PS_ON_PIN 12
//
// LCD / Controller
//
#if BOTH(ULTRA_LCD, NEWPANEL)
#define SD_DETECT_PIN 6
#endif // NEWPANEL && ULTRA_LCD
//
// M3/M4/M5 - Spindle/Laser Control
//
#undef SPINDLE_LASER_PWM_PIN // Definitions in pins_RAMPS.h are not valid with this board
#undef SPINDLE_LASER_ENA_PIN
#undef SPINDLE_DIR_PIN

View File

@ -0,0 +1,193 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot Raptor pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if HOTENDS > 3 || E_STEPPERS > 3
#error "Formbot supports up to 3 hotends / E-steppers. Comment this line to keep going."
#endif
#define BOARD_NAME "Formbot Raptor"
#define DEFAULT_MACHINE_NAME BOARD_NAME
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN 6
#define SERVO2_PIN 5
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#ifndef X_CS_PIN
#define X_CS_PIN 53
#endif
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#ifndef Y_CS_PIN
#define Y_CS_PIN 49
#endif
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#ifndef Z_CS_PIN
#define Z_CS_PIN 40
#endif
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#ifndef E0_CS_PIN
#define E0_CS_PIN 42
#endif
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#ifndef E1_CS_PIN
#define E1_CS_PIN 44
#endif
#define E2_STEP_PIN 42
#define E2_DIR_PIN 43
#define E2_ENABLE_PIN 44
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 14 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// Augmentation for auto-assigning RAMPS plugs
//
#if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
#if HOTENDS > 1
#if TEMP_SENSOR_BED
#define IS_RAMPS_EEB
#else
#define IS_RAMPS_EEF
#endif
#elif TEMP_SENSOR_BED
#define IS_RAMPS_EFB
#else
#define IS_RAMPS_EFF
#endif
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 8
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 57
#endif
#if !HAS_FILAMENT_SENSOR
#define FAN1_PIN 4
#endif
//
// Misc. Functions
//
#ifndef SDSS
#define SDSS 53
#endif
#define LED_PIN 13
#define LED4_PIN 5
// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
#define FILWIDTH_PIN 5 // Analog Input
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#define CASE_LIGHT_PIN 5
//
// LCD / Controller
//
// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
//
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 37
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#endif

View File

@ -0,0 +1,68 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot Raptor 2 pin assignments
*/
#define BOARD_NAME "Formbot Raptor2"
#define DEFAULT_MACHINE_NAME BOARD_NAME
#define FAN_PIN 6
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 22
#endif
#include "pins_FORMBOT_RAPTOR.h"
#define GREEDY_PANEL ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD)
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER && !PIN_EXISTS(SPINDLE_LASER_ENA)
#if !NUM_SERVOS // Try to use servo connector first
#define SPINDLE_LASER_ENA_PIN 6 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
#elif !GREEDY_PANEL // Try to use AUX2
#define SPINDLE_LASER_ENA_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 65
#endif
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT)
#if NUM_SERVOS <= 1 // Try to use servo connector first
#define CASE_LIGHT_PIN 6 // MUST BE HARDWARE PWM
#elif !GREEDY_PANEL // Try to use AUX2
#define CASE_LIGHT_PIN 44 // MUST BE HARDWARE PWM
#endif
#endif
#undef GREEDY_PANEL
#if ENABLED(CASE_LIGHT_ENABLE) && PIN_EXISTS(CASE_LIGHT) && (CASE_LIGHT_PIN == SPINDLE_LASER_ENA_PIN || CASE_LIGHT_PIN == SPINDLE_LASER_PWM_PIN)
#error "CASE_LIGHT_PIN conflicts with a Spindle / Laser pin."
#endif

View File

@ -0,0 +1,195 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Formbot supports up to 2 hotends / E-steppers. Comment this line to keep going."
#endif
#define BOARD_NAME "Formbot"
#define DEFAULT_MACHINE_NAME BOARD_NAME
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN -1 // was 6
#define SERVO2_PIN -1 // was 5
#define SERVO3_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#ifndef X_CS_PIN
#define X_CS_PIN 53
#endif
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#ifndef Y_CS_PIN
#define Y_CS_PIN 49
#endif
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#ifndef Z_CS_PIN
#define Z_CS_PIN 40
#endif
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#ifndef E0_CS_PIN
#define E0_CS_PIN 42
#endif
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#ifndef E1_CS_PIN
#define E1_CS_PIN 44
#endif
#define E2_STEP_PIN 42
#define E2_DIR_PIN 43
#define E2_ENABLE_PIN 44
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 3 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// Augmentation for auto-assigning RAMPS plugs
//
#if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
#if HOTENDS > 1
#if TEMP_SENSOR_BED
#define IS_RAMPS_EEB
#else
#define IS_RAMPS_EEF
#endif
#elif TEMP_SENSOR_BED
#define IS_RAMPS_EFB
#else
#define IS_RAMPS_EFF
#endif
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 58
#define FAN_PIN 9
#if HAS_FILAMENT_SENSOR
#define FIL_RUNOUT_PIN 4
//#define FIL_RUNOUT2_PIN -1
#else
// Though defined as a fan pin, it is utilized as a dedicated laser pin by Formbot.
#define FAN1_PIN 4
#endif
//
// Misc. Functions
//
#define SDSS 53
#ifndef LED_PIN
#define LED_PIN 13 // The Formbot v 1 board has almost no unassigned pins on it. The Board's LED
#endif // is a good place to get a signal to control the Max7219 LED Matrix.
// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
#define FILWIDTH_PIN 5 // Analog Input
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#define CASE_LIGHT_PIN 8
//
// LCD / Controller
//
// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
//
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#ifndef BEEPER_PIN
#define BEEPER_PIN 37
#endif
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#ifndef KILL_PIN
#define KILL_PIN 41
#endif
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#endif

View File

@ -0,0 +1,175 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Formbot pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Formbot supports up to 2 hotends / E-steppers. Comment this line to keep going."
#endif
#define BOARD_NAME "Formbot"
#define DEFAULT_MACHINE_NAME BOARD_NAME
//
// Servos
//
#define SERVO0_PIN 11
#define SERVO1_PIN -1 // was 6
#define SERVO2_PIN -1
#define SERVO3_PIN -1
//
// Limit Switches
//
#define X_MIN_PIN 3
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#ifndef X_CS_PIN
#define X_CS_PIN 53
#endif
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#ifndef Y_CS_PIN
#define Y_CS_PIN 49
#endif
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#ifndef Z_CS_PIN
#define Z_CS_PIN 40
#endif
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#ifndef E0_CS_PIN
#define E0_CS_PIN 42
#endif
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#ifndef E1_CS_PIN
#define E1_CS_PIN 44
#endif
#define E2_STEP_PIN 42
#define E2_DIR_PIN 43
#define E2_ENABLE_PIN 44
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_BED_PIN 14 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 7
#define HEATER_BED_PIN 8
#define FAN_PIN 9
#define FAN1_PIN 12
#define NUM_RUNOUT_SENSORS 2
#define FIL_RUNOUT_PIN 22
#define FIL_RUNOUT2_PIN 21
//
// Misc. Functions
//
#define CASE_LIGHT_PIN 5
#define SDSS 53
#ifndef LED_PIN
#define LED_PIN 13
#endif
#define SPINDLE_LASER_PWM_PIN -1 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 4 // Pin should have a pullup!
// Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
#define FILWIDTH_PIN 5 // Analog Input
//
// LCD / Controller
//
// Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
//
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#ifndef KILL_PIN
#define KILL_PIN 41
#endif
#ifndef BEEPER_PIN
#define BEEPER_PIN 37
#endif
#endif

View File

@ -0,0 +1,249 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
//
// Fysetc F6 pin assignments
//
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'FYSETC F6' in 'Tools > Board.'"
#endif
#if ENABLED(SD_DETECT_INVERTED)
//#error "SD_DETECT_INVERTED must be disabled for the FYSETC_F6_13 board."
#endif
#define BOARD_NAME "FYSETC F6 1.3"
#define RESET_PIN 30
#define SPI_FLASH_CS 83
//
// Servos
//
#define SERVO0_PIN 13
#define SERVO1_PIN 11 // (PS_ON_PIN)
#define SERVO2_PIN 10 // (FIL_RUNOUT_PIN)
#define SERVO3_PIN 4 // (RGB_LED_G_PIN)
//
// Limit Switches
//
#define X_MIN_PIN 63
#define X_MAX_PIN 64
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Z_MIN_PIN 12
#define Z_MAX_PIN 9
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN SERVO2_PIN
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 9 // Servos pin
#endif
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#ifndef X_CS_PIN
#define X_CS_PIN 70
#endif
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#ifndef Y_CS_PIN
#define Y_CS_PIN 39
#endif
#define Z_STEP_PIN 43
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 58
#ifndef Z_CS_PIN
#define Z_CS_PIN 74
#endif
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#ifndef E0_CS_PIN
#define E0_CS_PIN 47
#endif
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#ifndef E1_CS_PIN
#define E1_CS_PIN 32
#endif
#define E2_STEP_PIN 59
#define E2_DIR_PIN 57
#define E2_ENABLE_PIN 40
#ifndef E2_CS_PIN
#define E2_CS_PIN 42
#endif
//
// Sensorless homing DIAG pin is not directly connected to the MCU. Close
// the jumper next to the limit switch socket when using sensorless homing.
//
#if HAS_TMC220x
// Software serial
// At the moment, F6 rx pins are not pc interrupt pins
#define X_SERIAL_RX_PIN -1 // 71
#define X_SERIAL_TX_PIN 72
#define Y_SERIAL_RX_PIN -1 // 73
#define Y_SERIAL_TX_PIN 75
#define Z_SERIAL_RX_PIN -1 // 78
#define Z_SERIAL_TX_PIN 79
#define E0_SERIAL_RX_PIN -1 // 76
#define E0_SERIAL_TX_PIN 77
#define E1_SERIAL_RX_PIN -1 // 80
#define E1_SERIAL_TX_PIN 81
#define E2_SERIAL_RX_PIN -1 // 22
#define E2_SERIAL_TX_PIN 82
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 12 // Analog Input
#define TEMP_1_PIN 13 // Analog Input
#define TEMP_2_PIN 14 // Analog Input
#define TEMP_BED_PIN 15 // Analog Input
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 9 // Analog Input on X+ endstop
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 5
#define HEATER_1_PIN 6
#define HEATER_2_PIN 7
#define HEATER_BED_PIN 8
#define FAN_PIN 44
#define FAN1_PIN 45
#define FAN2_PIN 46
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define KILL_PIN 41
#ifndef PS_ON_PIN
#define PS_ON_PIN SERVO1_PIN
#endif
/**
* ----- -----
* 5V/D41 | · · | GND 5V | · · | GND
* RESET | · · | D49 (SD_DETECT) (LCD_D7) D29 | · · | D27 (LCD_D6)
* (MOSI) D51 | · · | D33 (BTN_EN2) (LCD_D5) D25 | · · | D23 (LCD_D4)
* (SD_SS) D53 | · · | D31 (BTN_EN1) (LCD_RS) D16 | · · | D17 (LCD_EN)
* (SCK) D52 | · · | D50 (MISO) (BTN_ENC) D35 | · · | D37 (BEEPER)
* ----- -----
* EXP2 EXP1
*/
//
// LCDs and Controllers
//
#define BEEPER_PIN 37
#define SD_DETECT_PIN 49
#if ENABLED(FYSETC_MINI_12864)
//
// See https://wiki.fysetc.com/Mini12864_Panel/?fbclid=IwAR1FyjuNdVOOy9_xzky3qqo_WeM5h-4gpRnnWhQr_O1Ef3h0AFnFXmCehK8
//
#define DOGLCD_A0 16
#define DOGLCD_CS 17
#define LCD_BACKLIGHT_PIN -1
#define KILL_PIN 41
#define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
// Seems to work best if left open.
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 25
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 27
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 29
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN 25
#endif
#elif HAS_GRAPHICAL_LCD
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
#if ENABLED(MKS_MINI_12864)
#define DOGLCD_CS 25
#define DOGLCD_A0 27
#endif
#endif
#if ENABLED(NEWPANEL)
#define BTN_EN1 31
#define BTN_EN2 33
#define BTN_ENC 35
#endif
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 3
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 4
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 9
#endif
#ifndef RGB_LED_W_PIN
#define RGB_LED_W_PIN -1
#endif

View File

@ -0,0 +1,33 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* K8200 Arduino Mega with RAMPS v1.3 pin assignments
* Identical to 3DRAG
*/
#define BOARD_NAME "Velleman K8200"
#define DEFAULT_MACHINE_NAME "K8200"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/CONSULitAS/Marlin-K8200"
#include "pins_3DRAG.h"

View File

@ -0,0 +1,73 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Velleman K8400 (Vertex)
* 3DRAG clone
*
* K8400 has some minor differences over a normal 3Drag:
* - No X/Y max endstops
* - Second extruder step pin has moved
* - No power supply control
* - Second heater has moved pin
*/
#define BOARD_NAME "K8400"
#define DEFAULT_MACHINE_NAME "Vertex"
#include "pins_3DRAG.h"
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 14
#undef X_MIN_PIN
#undef X_MAX_PIN
#undef Y_MIN_PIN
#undef Y_MAX_PIN
//
// Steppers
//
#undef E1_STEP_PIN
#define E1_STEP_PIN 32
//
// Heaters / Fans
//
#undef HEATER_1_PIN
#define HEATER_1_PIN 11
//
// Misc. Functions
//
#undef PS_ON_PIN
#undef KILL_PIN
#undef SD_DETECT_PIN
#if Z_STEP_PIN == 26
#undef Z_STEP_PIN
#define Z_STEP_PIN 32
#endif

View File

@ -0,0 +1,109 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Velleman K8800 (Vertex)
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "K8800"
#define DEFAULT_MACHINE_NAME "Vertex Delta"
//#define LCD_SCREEN_ROT_180
//
// Limit Switches
//
#define X_STOP_PIN 3
#define Y_STOP_PIN 14
#define Z_MIN_PIN 68 // Used for bed leveling
#define Z_MAX_PIN 66
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 63
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#define E1_STEP_PIN 32
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
//
// Temperature Sensors
//
#define TEMP_0_PIN 13
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define FAN_PIN 8
#define CONTROLLER_FAN_PIN 9
//
// Misc. Functions
//
#define SDSS 25
#define FIL_RUNOUT_PIN 69 // PK7
#define KILL_PIN 20 // PD1
//
// LCD / Controller
//
#define SD_DETECT_PIN 21 // PD0
#define LCD_SDSS 53
#define BEEPER_PIN 6
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define LCD_PINS_RS 27
#define LCD_PINS_ENABLE 29
#define LCD_PINS_D4 37
#define LCD_PINS_D5 35
#define LCD_PINS_D6 33
#define LCD_PINS_D7 31
#if ENABLED(NEWPANEL)
#define BTN_EN1 17
#define BTN_EN2 16
#define BTN_ENC 23
#endif

View File

@ -0,0 +1,33 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#define BOARD_NAME "MAKEboard Mini"
//
// Only 3 Limit Switch plugs on Micromake C1
//
#define X_STOP_PIN 2
#define Y_STOP_PIN 15
#define Z_STOP_PIN 19
#include "pins_RAMPS.h"

View File

@ -0,0 +1,51 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE 1.0 Arduino Mega2560 with RAMPS v1.4 pin assignments
*
* Rev B - Override pin definitions for CASE_LIGHT and M3/M4/M5 spindle control
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS BASE 1.0 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "MKS BASE 1.0"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
#define CASE_LIGHT_PIN 2
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 2 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 15 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 19
#include "pins_RAMPS.h"

View File

@ -0,0 +1,187 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE v1.4
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS BASE 1.4 only supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "MKS BASE 1.4"
//
// Heaters / Fans
//
#define MOSFET_D_PIN 7 // PH4 ** Pin16 ** PWM7 //E1
#define FAN_PIN 9 // PH6 ** Pin18 ** PWM9
// Other Mods
#define CASE_LIGHT_PIN 11 // PB5 ** Pin24 ** PWM11
#define SERVO3_PIN 12 // PB6 ** Pin25 ** D12
#define PS_ON_PIN 2 // X+ // PE4 ** Pin6 ** PWM2 **MUST BE HARDWARE PWM
#define FILWIDTH_PIN 15 // Y+ // PJ0 ** Pin63 ** USART3_RX **Pin should have a pullup!
#define FIL_RUNOUT_PIN 19 // Z+ // PD2 ** Pin45 ** USART1_RX
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 2 // X+ // PE4 ** Pin6 ** PWM2 **MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 15 // Y+ // PJ0 ** Pin63 ** USART3_RX **Pin should have a pullup!
#define SPINDLE_DIR_PIN 19 // Z+ // PD2 ** Pin45 ** USART1_RX
//
// Microstepping pins
//
#define X_MS1_PIN 5 // PE3 ** Pin5 ** PWM5
#define X_MS2_PIN 6 // PH3 ** Pin15 ** PWM6
#define Y_MS1_PIN 59 // PF5 ** Pin92 ** A5
#define Y_MS2_PIN 58 // PF4 ** Pin93 ** A4
#define Z_MS1_PIN 22 // PA0 ** Pin78 ** D22
#define Z_MS2_PIN 39 // PG2 ** Pin70 ** D39
#define E0_MS1_PIN 64 // PK2 ** Pin87 ** A10
#define E0_MS2_PIN 63 // PK1 ** Pin88 ** A9
#define E1_MS1_PIN 57 // PF3 ** Pin94 ** A3
#define E1_MS2_PIN 4 // PG5 ** Pin1 ** PWM4
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 50
#endif
#ifndef RGB_LED_R_PIN
#define RGB_LED_G_PIN 51
#endif
#ifndef RGB_LED_R_PIN
#define RGB_LED_B_PIN 52
#endif
#include "pins_RAMPS.h"
/*
Available connectors on MKS BASE v1.4
=======
| GND |
|-----| E0
| 10 | (10) PB4 ** Pin23 ** PWM10
|-----|
| GND |
|-----| E1
| 7 | ( 7) PH4 ** Pin16 ** PWM7
|-----|
| GND |
|-----| FAN
| 9 | ( 9) PH6 ** Pin18 ** PWM9
=======
=======
| GND |
|-----| Heated Bed
| 8 | ( 8) PH5 ** Pin17 ** PWM8
=======
==========
| 12-24V |
|--------| Power
| GND |
==========
XS3 Connector
=================
| 65 | GND | 5V | (65) PK3 ** Pin86 ** A11
|----|-----|----|
| 66 | GND | 5V | (66) PK4 ** Pin85 ** A12
=================
Servos Connector
=================
| 11 | GND | 5V | (11) PB5 ** Pin24 ** PWM11
|----|-----|----|
| 12 | GND | 5V | (12) PB6 ** Pin25 ** PWM12
=================
ICSP
=================
| 5V | 51 | GND | (51) PB2 ** Pin21 ** SPI_MOSI
|----|----|-----|
| 50 | 52 | RST | (50) PB3 ** Pin22 ** SPI_MISO
================= (52) PB1 ** Pin20 ** SPI_SCK
XS6/AUX-1 Connector
======================
| 5V | GND | NC | 20 | (20) PD1 ** Pin44 ** I2C_SDA
|----|-----|----|----|
| 50 | 51 | 52 | 21 | (50) PB3 ** Pin22 ** SPI_MISO
====================== (51) PB2 ** Pin21 ** SPI_MOSI
(52) PB1 ** Pin20 ** SPI_SCK
(21) PD0 ** Pin43 ** I2C_SCL
Temperature
==================================
| GND | 69 | GND | 68 | GND | 67 |
==================================
(69) PK7 ** Pin82 ** A15
(68) PK6 ** Pin83 ** A14
(67) PK5 ** Pin84 ** A13
Limit Switches
============
| 2 | GND | X+ ( 2) PE4 ** Pin6 ** PWM2
|----|-----|
| 3 | GND | X- ( 3) PE5 ** Pin7 ** PWM3
|----|-----|
| 15 | GND | Y+ (15) PJ0 ** Pin63 ** USART3_RX
|----|-----|
| 14 | GND | Y- (14) PJ1 ** Pin64 ** USART3_TX
|----|-----|
| 19 | GND | Z+ (19) PD2 ** Pin45 ** USART1_RX
|----|-----|
| 18 | GND | Z- (18) PD3 ** Pin46 ** USART1_TX
============
EXP1
============
| 37 | 35 | (37) PC0 ** Pin53 ** D37
|-----|----| (35) PC2 ** Pin55 ** D35
| 17 | 16 | (17) PH0 ** Pin12 ** USART2_RX
|-----|----| (16) PH1 ** Pin13 ** USART2_TX
| 23 | 25 | (23) PA1 ** Pin77 ** D23
|-----|----| (25) PA3 ** Pin75 ** D25
| 27 | 29 | (27) PA5 ** Pin73 ** D27
|-----|----| (29) PA7 ** Pin71 ** D29
| GND | 5V |
============
EXP2
============
| 50 | 52 | (50) PB3 ** Pin22 ** SPI_MISO
|-----|----| (52) PB1 ** Pin20 ** SPI_SCK
| 31 | 53 | (31) PC6 ** Pin59 ** D31
|-----|----| (53) PB0 ** Pin19 ** SPI_SS
| 33 | 51 | (33) PC4 ** Pin57 ** D33
|-----|----| (51) PB2 ** Pin21 ** SPI_MOSI
| 49 | 41 | (49) PL0 ** Pin35 ** D49
|-----|----| (41) PG0 ** Pin51 ** D41
| GND | NC |
============
*/

View File

@ -0,0 +1,42 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE v1.5 with A4982 stepper drivers and digital micro-stepping
*/
#include "pins_MKS_BASE.h"
/**
* Microstepping pins
*/
#define X_MS1_PIN 5 // Digital 3 / Pin 5 / PE3 / SERVO2_PIN
#define X_MS2_PIN 6 // Digital 6 / Pin 14 / PH3 / SERVO1_PIN
#define Y_MS1_PIN 59 // Analog 5 / Pin 92 / PF5
#define Y_MS2_PIN 58 // Analog 4 / Pin 93 / PF4
#define Z_MS1_PIN 22 // Digital 22 / Pin 78 / PA0
#define Z_MS2_PIN 39 // Digital 39 / Pin 70 / PG2
#define E0_MS1_PIN 63 // Analog 9 / Pin 86 / PK1
#define E0_MS2_PIN 64 // Analog 10 / Pin 87 / PK2
#define E1_MS1_PIN 57 // Analog 3 / Pin 93 / PF3
#define E1_MS2_PIN 4 // Digital 4 / Pin 1 / PG5 / SERVO3_PIN

View File

@ -0,0 +1,36 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS BASE with Heroic HR4982 stepper drivers
*/
#include "pins_MKS_BASE_15.h"
/**
* Some new boards use HR4982 (Heroic) instead of the A4982 (Allegro) stepper drivers.
* Most the functionality is similar, the HR variant obviously doesn't work with diode
* smoothers (no fast decay). And the Heroic has a 128 µStepping mode where the A4982
* is doing quarter steps (MS1=0, MS2=1).
*/
#define HEROIC_STEPPER_DRIVERS

View File

@ -0,0 +1,145 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.4 adjusted pin assignments
*
* MKS GEN v1.3 (Extruder, Fan, Bed)
* MKS GEN v1.3 (Extruder, Extruder, Fan, Bed)
* MKS GEN v1.4 (Extruder, Fan, Bed)
* MKS GEN v1.4 (Extruder, Extruder, Fan, Bed)
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS GEN 1.3/1.4 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "MKS GEN >= v1.3"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
//
// PSU / SERVO
//
// If PSU_CONTROL is specified, always hijack Servo 3
//
#if ENABLED(PSU_CONTROL)
#define SERVO3_PIN -1
#define PS_ON_PIN 4
#endif
#include "pins_RAMPS.h"
//
// LCD / Controller
//
#if ANY(VIKI2, miniVIKI)
/**
* VIKI2 Has two groups of wires with...
*
* +Vin + Input supply, requires 120ma for LCD and mSD card
* GND Ground Pin
* MOSI Data input for LCD and SD
* MISO Data output for SD
* SCK Clock for LCD and SD
* AO Reg. Sel for LCD
* LCS Chip Select for LCD
* SDCS Chip Select for SD
* SDCD Card Detect pin for SD
* ENCA Encoder output A
* ENCB Encoder output B
* ENCBTN Encoder button switch
*
* BTN Panel mounted button switch
* BUZZER Piezo buzzer
* BLUE-LED Blue LED ring pin (3 to 5v, mosfet buffered)
* RED-LED Red LED ring pin (3 to 5v, mosfet buffered)
*
* This configuration uses the following arrangement:
*
* EXP1 D37 = EN2 D35 = EN1 EXP2 D50 = MISO D52 = SCK
* D17 = BLUE D16 = RED D31 = ENC D53 = SDCS
* D23 = KILL D25 = BUZZ D33 = --- D51 = MOSI
* D27 = A0 D29 = LCS D49 = SDCD RST = ---
* GND = GND 5V = 5V GND = --- D41 = ---
*/
#undef BTN_EN1
#undef BTN_EN2
#undef BTN_ENC
#undef DOGLCD_A0
#undef DOGLCD_CS
#undef SD_DETECT_PIN
#undef BEEPER_PIN
#undef KILL_PIN
//
// VIKI2 12-wire lead
//
// orange/white SDCD
#define SD_DETECT_PIN 49
// white ENCA
#define BTN_EN1 35
// green ENCB
#define BTN_EN2 37
// purple ENCBTN
#define BTN_ENC 31
// brown A0
#define DOGLCD_A0 27
// green/white LCS
#define DOGLCD_CS 29
// 50 gray MISO
// 51 yellow MOSI
// 52 orange SCK
// blue SDCS
//#define SDSS 53
//
// VIKI2 4-wire lead
//
// blue BTN
#define KILL_PIN 23
// green BUZZER
#define BEEPER_PIN 25
// yellow RED-LED
#define STAT_LED_RED_PIN 16
// white BLUE-LED
#define STAT_LED_BLUE_PIN 17
#endif

View File

@ -0,0 +1,53 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* MKS GEN L Arduino Mega2560 with RAMPS v1.4 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "MKS GEN L supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "MKS GEN L"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
//
// CS Pins wired to avoid conflict with the LCD
// See https://www.thingiverse.com/asset:66604
//
#ifndef X_CS_PIN
#define X_CS_PIN 59
#endif
#ifndef Y_CS_PIN
#define Y_CS_PIN 63
#endif
#include "pins_RAMPS.h"

View File

@ -0,0 +1,650 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* 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
*/
#if ENABLED(TARGET_LPC1768)
#error "Oops! Set MOTHERBOARD to an LPC1768-based board when building for LPC1768."
#elif defined(__STM32F1__)
#error "Oops! Set MOTHERBOARD to an STM32F1-based board when building for STM32F1."
#endif
#if NONE(IS_RAMPS_SMART, IS_RAMPS_DUO, IS_RAMPS4DUE, TARGET_LPC1768)
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS 1.4"
#endif
//
// Servos
//
#ifndef SERVO0_PIN
#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
#endif
#ifndef SERVO1_PIN
#define SERVO1_PIN 6
#endif
#ifndef SERVO2_PIN
#define SERVO2_PIN 5
#endif
#ifndef SERVO3_PIN
#define SERVO3_PIN 4
#endif
//
// Limit Switches
//
#ifndef X_STOP_PIN
#ifndef X_MIN_PIN
#define X_MIN_PIN 3
#endif
#ifndef X_MAX_PIN
#define X_MAX_PIN 2
#endif
#endif
#ifndef Y_STOP_PIN
#ifndef Y_MIN_PIN
#define Y_MIN_PIN 14
#endif
#ifndef Y_MAX_PIN
#define Y_MAX_PIN 15
#endif
#endif
#ifndef Z_STOP_PIN
#ifndef Z_MIN_PIN
#define Z_MIN_PIN 18
#endif
#ifndef Z_MAX_PIN
#define Z_MAX_PIN 19
#endif
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#ifndef X_CS_PIN
#define X_CS_PIN 53
#endif
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#ifndef Y_CS_PIN
#define Y_CS_PIN 49
#endif
#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
//
#ifndef TEMP_0_PIN
#define TEMP_0_PIN 13 // Analog Input
#endif
#ifndef TEMP_1_PIN
#define TEMP_1_PIN 15 // Analog Input
#endif
#ifndef TEMP_BED_PIN
#define TEMP_BED_PIN 14 // Analog Input
#endif
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// Augmentation for auto-assigning RAMPS plugs
//
#if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
#if HOTENDS > 1
#if TEMP_SENSOR_BED
#define IS_RAMPS_EEB
#else
#define IS_RAMPS_EEF
#endif
#elif TEMP_SENSOR_BED
#define IS_RAMPS_EFB
#else
#define IS_RAMPS_EFF
#endif
#endif
//
// Heaters / Fans
//
#ifndef MOSFET_D_PIN
#define MOSFET_D_PIN -1
#endif
#ifndef RAMPS_D8_PIN
#define RAMPS_D8_PIN 8
#endif
#ifndef RAMPS_D9_PIN
#define RAMPS_D9_PIN 9
#endif
#ifndef RAMPS_D10_PIN
#define RAMPS_D10_PIN 10
#endif
#define HEATER_0_PIN RAMPS_D10_PIN
#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan
#define HEATER_1_PIN RAMPS_D9_PIN
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
#define HEATER_1_PIN RAMPS_D9_PIN
#define HEATER_BED_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan
#define FAN1_PIN RAMPS_D8_PIN
#elif DISABLED(IS_RAMPS_SF) // Not Spindle, Fan (i.e., "EFBF" or "EFBE")
#define HEATER_BED_PIN RAMPS_D8_PIN
#if HOTENDS == 1
#define FAN1_PIN MOSFET_D_PIN
#else
#define HEATER_1_PIN MOSFET_D_PIN
#endif
#endif
#ifndef FAN_PIN
#if EITHER(IS_RAMPS_EFB, IS_RAMPS_EFF) // Hotend, Fan, Bed or Hotend, Fan, Fan
#define FAN_PIN RAMPS_D9_PIN
#elif EITHER(IS_RAMPS_EEF, IS_RAMPS_SF) // Hotend, Hotend, Fan or Spindle, Fan
#define FAN_PIN RAMPS_D8_PIN
#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed
#define FAN_PIN 4 // IO pin. Buffer needed
#else // Non-specific are "EFB" (i.e., "EFBF" or "EFBE")
#define FAN_PIN RAMPS_D9_PIN
#endif
#endif
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 5 // Analog Input on AUX2
#endif
// RAMPS 1.4 DIO 4 on the servos connector
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 4
#endif
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#define AUX2_PINS_FREE !( BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD) )
#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENA_PIN)
#if NUM_SERVOS <= 1 // try to use servo connector first
#define CASE_LIGHT_PIN 6 // MUST BE HARDWARE PWM
#elif AUX2_PINS_FREE
#define CASE_LIGHT_PIN 44 // MUST BE HARDWARE PWM
#endif
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER && !defined(SPINDLE_LASER_ENA_PIN)
#if !NUM_SERVOS // Use servo connector if possible
#define SPINDLE_LASER_ENA_PIN 4 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
#elif AUX2_PINS_FREE
#define SPINDLE_LASER_ENA_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 65
#else
#error "No auto-assignable Spindle/Laser pins available."
#endif
#endif
#undef AUX2_PINS_FREE
//
// 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_TMC220x
/**
* 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
//
#define X_SERIAL_TX_PIN 40
#define X_SERIAL_RX_PIN 63
#define X2_SERIAL_TX_PIN -1
#define X2_SERIAL_RX_PIN -1
#define Y_SERIAL_TX_PIN 59
#define Y_SERIAL_RX_PIN 64
#define Y2_SERIAL_TX_PIN -1
#define Y2_SERIAL_RX_PIN -1
#define Z_SERIAL_TX_PIN 42
#define Z_SERIAL_RX_PIN 65
#define Z2_SERIAL_TX_PIN -1
#define Z2_SERIAL_RX_PIN -1
#define E0_SERIAL_TX_PIN 44
#define E0_SERIAL_RX_PIN 66
#define E1_SERIAL_TX_PIN -1
#define E1_SERIAL_RX_PIN -1
#define E2_SERIAL_TX_PIN -1
#define E2_SERIAL_RX_PIN -1
#define E3_SERIAL_TX_PIN -1
#define E3_SERIAL_RX_PIN -1
#define E4_SERIAL_TX_PIN -1
#define E4_SERIAL_RX_PIN -1
#endif
//
// Průša i3 MK2 Multiplexer Support
//
#ifndef E_MUX0_PIN
#define E_MUX0_PIN 40 // Z_CS_PIN
#endif
#ifndef E_MUX1_PIN
#define E_MUX1_PIN 42 // E0_CS_PIN
#endif
#ifndef E_MUX2_PIN
#define E_MUX2_PIN 44 // E1_CS_PIN
#endif
//////////////////////////
// LCDs and Controllers //
//////////////////////////
#if HAS_SPI_LCD
//
// LCD Display output pins
//
#if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define LCD_PINS_RS 49 // CS chip select /SS chip slave select
#define LCD_PINS_ENABLE 51 // SID (MOSI)
#define LCD_PINS_D4 52 // SCK (CLK) clock
#elif BOTH(NEWPANEL, PANEL_ONE)
#define LCD_PINS_RS 40
#define LCD_PINS_ENABLE 42
#define LCD_PINS_D4 65
#define LCD_PINS_D5 66
#define LCD_PINS_D6 44
#define LCD_PINS_D7 64
#else
#if ENABLED(CR10_STOCKDISPLAY)
#define LCD_PINS_RS 27
#define LCD_PINS_ENABLE 29
#define LCD_PINS_D4 25
#if DISABLED(NEWPANEL)
#define BEEPER_PIN 37
#endif
#elif ENABLED(ZONESTAR_LCD)
#define LCD_PINS_RS 64
#define LCD_PINS_ENABLE 44
#define LCD_PINS_D4 63
#define LCD_PINS_D5 40
#define LCD_PINS_D6 42
#define LCD_PINS_D7 65
#else
#if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
#define LCD_PINS_DC 25 // Set as output on init
#define LCD_PINS_RS 27 // Pull low for 1s to init
// DOGM SPI LCD Support
#define DOGLCD_CS 16
#define DOGLCD_MOSI 17
#define DOGLCD_SCK 23
#define DOGLCD_A0 LCD_PINS_DC
#else
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#endif
#define LCD_PINS_D7 29
#if DISABLED(NEWPANEL)
#define BEEPER_PIN 33
#endif
#endif
#if DISABLED(NEWPANEL)
// Buttons are attached to a shift register
// Not wired yet
//#define SHIFT_CLK 38
//#define SHIFT_LD 42
//#define SHIFT_OUT 40
//#define SHIFT_EN 17
#endif
#endif
//
// LCD Display input pins
//
#if ENABLED(NEWPANEL)
#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#define BEEPER_PIN 37
#if ENABLED(CR10_STOCKDISPLAY)
#define BTN_EN1 17
#define BTN_EN2 23
#else
#define BTN_EN1 31
#define BTN_EN2 33
#endif
#define BTN_ENC 35
#ifndef SD_DETECT_PIN
#define SD_DETECT_PIN 49
#endif
#define KILL_PIN 41
#if ENABLED(BQ_LCD_SMART_CONTROLLER)
#define LCD_BACKLIGHT_PIN 39
#endif
#elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
#define BTN_EN1 64
#define BTN_EN2 59
#define BTN_ENC 63
#define SD_DETECT_PIN 42
#elif ENABLED(LCD_I2C_PANELOLU2)
#define BTN_EN1 47
#define BTN_EN2 43
#define BTN_ENC 32
#define LCD_SDSS SDSS
#define KILL_PIN 41
#elif ENABLED(LCD_I2C_VIKI)
#define BTN_EN1 22 // http://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42.
#define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13.
#define BTN_ENC -1
#define LCD_SDSS SDSS
#define SD_DETECT_PIN 49
#elif ANY(VIKI2, miniVIKI)
#define DOGLCD_CS 45
#define DOGLCD_A0 44
#define LCD_SCREEN_ROT_180
#define BEEPER_PIN 33
#define STAT_LED_RED_PIN 32
#define STAT_LED_BLUE_PIN 35
#define BTN_EN1 22
#define BTN_EN2 7
#define BTN_ENC 39
#define SD_DETECT_PIN -1 // Pin 49 for display sd interface, 72 for easy adapter board
#define KILL_PIN 31
#elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
#define DOGLCD_CS 29
#define DOGLCD_A0 27
#define BEEPER_PIN 23
#define LCD_BACKLIGHT_PIN 33
#define BTN_EN1 35
#define BTN_EN2 37
#define BTN_ENC 31
#define LCD_SDSS SDSS
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#elif EITHER(MKS_MINI_12864, FYSETC_MINI_12864)
#define BEEPER_PIN 37
#define BTN_ENC 35
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#if ENABLED(MKS_MINI_12864) // Added in Marlin 1.1.6
#define DOGLCD_A0 27
#define DOGLCD_CS 25
// GLCD features
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
// not connected to a pin
#define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
#define BTN_EN1 31
#define BTN_EN2 33
#elif ENABLED(FYSETC_MINI_12864)
// From https://wiki.fysetc.com/Mini12864_Panel/?fbclid=IwAR1FyjuNdVOOy9_xzky3qqo_WeM5h-4gpRnnWhQr_O1Ef3h0AFnFXmCehK8
#define DOGLCD_A0 16
#define DOGLCD_CS 17
#define BTN_EN1 33
#define BTN_EN2 31
//#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
// results in LCD soft SPI mode 3, SD soft SPI mode 0
#define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 25
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 27
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 29
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN 25
#endif
#endif
#elif ENABLED(MINIPANEL)
#define BEEPER_PIN 42
// not connected to a pin
#define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65
#define DOGLCD_A0 44
#define DOGLCD_CS 66
// GLCD features
// Uncomment screen orientation
//#define LCD_SCREEN_ROT_90
//#define LCD_SCREEN_ROT_180
//#define LCD_SCREEN_ROT_270
#define BTN_EN1 40
#define BTN_EN2 63
#define BTN_ENC 59
#define SD_DETECT_PIN 49
#define KILL_PIN 64
#elif ENABLED(ZONESTAR_LCD)
#define ADC_KEYPAD_PIN 12
#elif ENABLED(AZSMZ_12864)
// Pins only defined for RAMPS_SMART currently
#else
// Beeper on AUX-4
#define BEEPER_PIN 33
// Buttons are directly attached using AUX-2
#if ENABLED(REPRAPWORLD_KEYPAD)
#define SHIFT_OUT 40
#define SHIFT_CLK 44
#define SHIFT_LD 42
#define BTN_EN1 64
#define BTN_EN2 59
#define BTN_ENC 63
#elif ENABLED(PANEL_ONE)
#define BTN_EN1 59 // AUX2 PIN 3
#define BTN_EN2 63 // AUX2 PIN 4
#define BTN_ENC 49 // AUX3 PIN 7
#else
#define BTN_EN1 37
#define BTN_EN2 35
#define BTN_ENC 31
#endif
#if ENABLED(G3D_PANEL)
#define SD_DETECT_PIN 49
#define KILL_PIN 41
#endif
#endif
#endif // NEWPANEL
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,42 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.3 pin assignments
*
* Applies to the following boards:
*
* RAMPS_13_EFB (Extruder, Fan, Bed)
* RAMPS_13_EEB (Extruder, Extruder, Bed)
* RAMPS_13_EFF (Extruder, Fan, Fan)
* RAMPS_13_EEF (Extruder, Extruder, Fan)
* RAMPS_13_SF (Spindle, Controller Fan)
*
*/
#ifndef BOARD_NAME
#define BOARD_NAME "RAMPS 1.3"
#endif
#define IS_RAMPS_13
#include "pins_RAMPS.h"

View File

@ -0,0 +1,44 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Creality3D RAMPS supports only 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Creality3D RAMPS"
//
// Heaters / Fans
//
// Power outputs EFBF or EFBE
#define MOSFET_D_PIN 7
#define FIL_RUNOUT_PIN 2
#include "pins_RAMPS.h"
#define EXP1_PIN 65 // A11
#define EXP2_PIN 66 // A12
#define EXP3_PIN 11 // SERVO0_PIN
#define EXP4_PIN 12 // PS_ON_PIN

View File

@ -0,0 +1,40 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Dagoma3D F5 RAMPS supports only 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Dagoma3D F5 RAMPS"
#define X_STOP_PIN 2
#define Y_STOP_PIN 3
#define Z_STOP_PIN 15
#define FIL_RUNOUT_PIN 39
#define ORIG_E0_AUTO_FAN_PIN 7
//
// Import RAMPS 1.4 pins
//
#include "pins_RAMPS.h"

View File

@ -0,0 +1,41 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#if HOTENDS > 1 || E_STEPPERS > 1
#error "Ender-4 supports only 1 hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_NAME "Ender-4"
#include "pins_RAMPS.h"
// The board only has one PWM fan connector. The others are 12V always-on.
// The default config uses this pin to control the brightness of the LED
// band (case light). Thus the hotend and controller fans are always-on.
#if ENABLED(CASE_LIGHT_ENABLE)
#undef FAN_PIN
#ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN RAMPS_D9_PIN
#endif
#endif

View File

@ -0,0 +1,116 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.0, v1.1, v1.2 pin assignments
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RAMPS <1.2"
// Uncomment the following line for RAMPS v1.0
//#define RAMPS_V_1_0
//
// Limit Switches
//
#define X_MIN_PIN 3
#define X_MAX_PIN 2
#define Y_MIN_PIN 16
#define Y_MAX_PIN 17
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19
#endif
//
// Steppers
//
#define X_STEP_PIN 26
#define X_DIR_PIN 28
#define X_ENABLE_PIN 24
#define Y_STEP_PIN 38
#define Y_DIR_PIN 40
#define Y_ENABLE_PIN 36
#define Z_STEP_PIN 44
#define Z_DIR_PIN 46
#define Z_ENABLE_PIN 42
#define E0_STEP_PIN 32
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
//
// Temperature Sensors
//
#define TEMP_0_PIN 2 // Analog Input
#define TEMP_BED_PIN 1 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 66 // Do not use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// Heaters / Fans
//
#if ENABLED(RAMPS_V_1_0)
#define HEATER_0_PIN 12
#define HEATER_BED_PIN -1
#ifndef FAN_PIN
#define FAN_PIN 11
#endif
#else // RAMPS_V_1_1 or RAMPS_V_1_2
#define HEATER_0_PIN 10
#define HEATER_BED_PIN 8
#ifndef FAN_PIN
#define FAN_PIN 9
#endif
#endif
//
// Misc. Functions
//
#define SDPOWER 48
#define SDSS 53
#define LED_PIN 13
#define CASE_LIGHT_PIN 45 // MUST BE HARDWARE PWM
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_ENA_PIN 41 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 45 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 43

View File

@ -0,0 +1,86 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.4Plus, also known as 3DYMY version, pin assignments
* The differences to the RAMPS v1.4 are:
* - Swap heater E0 with E1
* - Swap pins 8 and 10. Bed/Fan/Hotend as labeled on the board are on pins 8/9/10.
* - Change pins 16->42, 17->44 and 29->53 used for display.
*
* Applies to the following boards:
*
* RAMPS_PLUS_EFB (Extruder, Fan, Bed)
* RAMPS_PLUS_EEB (Extruder, Extruder, Bed)
* RAMPS_PLUS_EFF (Extruder, Fan, Fan)
* RAMPS_PLUS_EEF (Extruder, Extruder, Fan)
* RAMPS_PLUS_SF (Spindle, Controller Fan)
*
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "RAMPS 1.4 Plus"
#define RAMPS_D8_PIN 10
#define RAMPS_D10_PIN 8
#include "pins_RAMPS.h"
//
// Steppers - Swap E0 / E1 on 3DYMY
//
#undef E0_STEP_PIN
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#undef E1_STEP_PIN
#undef E1_DIR_PIN
#undef E1_ENABLE_PIN
#define E0_STEP_PIN 36
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
#define E1_STEP_PIN 26
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 24
#undef X_CS_PIN
#undef Y_CS_PIN
#undef Z_CS_PIN
#undef E0_CS_PIN
#undef E1_CS_PIN
#if ENABLED(ULTRA_LCD, REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(NEWPANEL, PANEL_ONE)
#if DISABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
#undef LCD_PINS_RS
#define LCD_PINS_RS 42 // 3DYMY boards pin 16 -> 42
#undef LCD_PINS_ENABLE
#define LCD_PINS_ENABLE 44 // 3DYMY boards pin 17 -> 44
#endif
#undef LCD_PINS_D7
#define LCD_PINS_D7 53 // 3DYMY boards pin 29 -> 53
#endif

View File

@ -0,0 +1,138 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* RIGIDBOARD Arduino Mega with RAMPS v1.4 pin assignments
*/
#ifndef BOARD_NAME
#define BOARD_NAME "RigidBoard"
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 19 // Z-MAX pin J14 End Stops
#endif
//
// MOSFET changes
//
#define RAMPS_D9_PIN 8 // FAN (by default)
#define RAMPS_D10_PIN 9 // EXTRUDER 1
#define MOSFET_D_PIN 12 // EXTRUDER 2 or FAN
#include "pins_RAMPS.h"
//
// Steppers
//
// RigidBot swaps E0 / E1 plugs vs RAMPS 1.3
#undef E0_STEP_PIN
#undef E0_DIR_PIN
#undef E0_ENABLE_PIN
#define E0_STEP_PIN 36
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 30
#undef E1_STEP_PIN
#undef E1_DIR_PIN
#undef E1_ENABLE_PIN
#define E1_STEP_PIN 26
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 24
#define STEPPER_RESET_PIN 41 // Stepper drivers have a reset on RigidBot
//
// Temperature Sensors
//
#undef TEMP_0_PIN
#undef TEMP_1_PIN
#undef TEMP_BED_PIN
#define TEMP_0_PIN 14 // Analog Input
#define TEMP_1_PIN 13 // Analog Input
#define TEMP_BED_PIN 15 // Analog Input
// SPI for Max6675 or Max31855 Thermocouple
#undef MAX6675_SS_PIN
#if DISABLED(SDSUPPORT)
#define MAX6675_SS_PIN 53 // Don't use pin 53 if there is even the remote possibility of using Display/SD card
#else
#define MAX6675_SS_PIN 49 // Don't use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
#endif
//
// Heaters / Fans
//
#undef HEATER_BED_PIN
#define HEATER_BED_PIN 10
#ifndef FAN_PIN
#define FAN_PIN 8 // Same as RAMPS_13_EEF
#endif
//
// Misc. Functions
//
#undef PS_ON_PIN
#define PS_ON_PIN -1
//
// LCD / Controller
//
// LCD Panel options for the RigidBoard
#if ENABLED(RIGIDBOT_PANEL)
#undef BEEPER_PIN
#define BEEPER_PIN -1
// Direction buttons
#define BTN_UP 37
#define BTN_DWN 35
#define BTN_LFT 33
#define BTN_RT 32
// 'R' button
#undef BTN_ENC
#define BTN_ENC 31
// Disable encoder
#undef BTN_EN1
#define BTN_EN1 -1
#undef BTN_EN2
#define BTN_EN2 -1
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 22
#elif ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
#undef SD_DETECT_PIN
#define SD_DETECT_PIN 22
#undef KILL_PIN
#define KILL_PIN 32
#endif

View File

@ -0,0 +1,52 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* RIGIDBOARD V2 Arduino Mega with RAMPS v1.4 pin assignments
*/
#define BOARD_NAME "RigidBoard V2"
#include "pins_RIGIDBOARD.h"
//
// Steppers
//
// I2C based DAC like on the Printrboard REVF
#define DAC_STEPPER_CURRENT
// Channels available for DAC, For Rigidboard there are 4
#define DAC_STEPPER_ORDER { 0, 1, 2, 3 }
#define DAC_STEPPER_SENSE 0.05 // sense resistors on rigidboard stepper chips are .05 value
#define DAC_STEPPER_ADDRESS 0
#define DAC_STEPPER_MAX 4096 // was 5000 but max allowable value is actually 4096
#define DAC_STEPPER_VREF 1 // internal Vref, gain 2x = 4.096V
#define DAC_STEPPER_GAIN 1 // value of 1 here sets gain of 2
#define DAC_DISABLE_PIN 42 // set low to enable DAC
#define DAC_OR_ADDRESS 0x01
#ifndef DAC_MOTOR_CURRENT_DEFAULT
#define DAC_MOTOR_CURRENT_DEFAULT { 70, 80, 90, 80 } // Default drive percent - X, Y, Z, E axis
#endif

View File

@ -0,0 +1,56 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Rapide Lite 200 v1 (RUMBA clone) pin assignments. Has slightly different assignment for
* extruder motors due to dual Z motors. Pinout therefore based on pins_RUMBA.h.
*/
#define BOARD_NAME "RL200"
#define DEFAULT_MACHINE_NAME "Rapide Lite 200"
#if HOTENDS > 2 || E_STEPPERS > 2
#error "RL200v1 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#if DISABLED(Z_DUAL_STEPPER_DRIVERS)
#error "RL200 uses dual Z stepper motors. Update Configuration_adv.h or comment out this line to continue."
#endif
#if !(AXIS_DRIVER_TYPE_X(DRV8825) && AXIS_DRIVER_TYPE_Y(DRV8825) && AXIS_DRIVER_TYPE_Z(DRV8825) && AXIS_DRIVER_TYPE_Z2(DRV8825) && AXIS_DRIVER_TYPE_E0(DRV8825))
#error "You must set ([XYZ]|Z2|E0)_DRIVER_TYPE to DRV8825 in Configuration.h for RL200."
#endif
#define E0_STEP_PIN 26 // (RUMBA E1 pins)
#define E0_DIR_PIN 25
#define E0_ENABLE_PIN 27
#define E1_STEP_PIN 29 // (RUMBA E2 pins)
#define E1_DIR_PIN 28
#define E1_ENABLE_PIN 39
#define Z2_STEP_PIN 23 // (RUMBA E0 pins)
#define Z2_DIR_PIN 22
#define Z2_ENABLE_PIN 24
#include "pins_RUMBA.h"

View File

@ -0,0 +1,229 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* RUMBA pin assignments
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if HOTENDS > 3 || E_STEPPERS > 3
#error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue."
#endif
#ifndef BOARD_NAME
#define BOARD_NAME "Rumba"
#endif
#ifndef DEFAULT_MACHINE_NAME
#define DEFAULT_MACHINE_NAME BOARD_NAME
#endif
//
// Servos
//
#define SERVO0_PIN 5
//
// Limit Switches
//
#define X_MIN_PIN 37
#define X_MAX_PIN 36
#define Y_MIN_PIN 35
#define Y_MAX_PIN 34
#define Z_MIN_PIN 33
#define Z_MAX_PIN 32
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 32
#endif
//
// Steppers
//
#define X_STEP_PIN 17
#define X_DIR_PIN 16
#define X_ENABLE_PIN 48
#define Y_STEP_PIN 54
#define Y_DIR_PIN 47
#define Y_ENABLE_PIN 55
#define Z_STEP_PIN 57
#define Z_DIR_PIN 56
#define Z_ENABLE_PIN 62
#ifndef E0_STEP_PIN
#define E0_STEP_PIN 23
#define E0_DIR_PIN 22
#define E0_ENABLE_PIN 24
#endif
#ifndef E1_STEP_PIN
#define E1_STEP_PIN 26
#define E1_DIR_PIN 25
#define E1_ENABLE_PIN 27
#endif
#if E1_STEP_PIN != 29
#define E2_STEP_PIN 29
#define E2_DIR_PIN 28
#define E2_ENABLE_PIN 39
#endif
//
// Temperature Sensors
//
#ifndef TEMP_0_PIN
#if TEMP_SENSOR_0 == -1
#define TEMP_0_PIN 6 // Analog Input (connector *K1* on RUMBA thermocouple ADD ON is used)
#else
#define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
#endif
#endif
#ifndef TEMP_1_PIN
#if TEMP_SENSOR_1 == -1
#define TEMP_1_PIN 5 // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
#else
#define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
#endif
#endif
#if TEMP_SENSOR_2 == -1
#define TEMP_2_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_BED is defined as thermocouple)
#else
#define TEMP_2_PIN 13 // Analog Input (default connector for thermistor *T2* on rumba board is used)
#endif
// Optional for extruder 4 or chamber:
//#define TEMP_X_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
//#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
#if TEMP_SENSOR_BED == -1
#define TEMP_BED_PIN 7 // Analog Input (connector *K3* on RUMBA thermocouple ADD ON is used <-- this can't be used when TEMP_SENSOR_2 is defined as thermocouple)
#else
#define TEMP_BED_PIN 11 // Analog Input (default connector for thermistor *THB* on rumba board is used)
#endif
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
#define HEATER_1_PIN 3
#define HEATER_2_PIN 6
#define HEATER_3_PIN 8
#define HEATER_BED_PIN 9
#ifndef FAN_PIN
#define FAN_PIN 7
#endif
#define FAN1_PIN 8
//
// Misc. Functions
//
#define LED_PIN 13
#define PS_ON_PIN 45
#define KILL_PIN 46
#define CASE_LIGHT_PIN 45
//
// M3/M4/M5 - Spindle/Laser Control
//
#ifndef SPINDLE_LASER_PWM_PIN
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM. Pin 4 interrupts OC0* and OC1* always in use?
#endif
#ifndef SPINDLE_LASER_ENA_PIN
#define SPINDLE_LASER_ENA_PIN 14 // Pin should have a pullup!
#endif
#ifndef SPINDLE_DIR_PIN
#define SPINDLE_DIR_PIN 15
#endif
//
// LCD / Controller
//
#if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
#define LCD_PINS_DC 38 // Set as output on init
#define LCD_PINS_RS 41 // Pull low for 1s to init
// DOGM SPI LCD Support
#define DOGLCD_CS 19
#define DOGLCD_MOSI 42
#define DOGLCD_SCK 18
#define DOGLCD_A0 LCD_PINS_DC
#elif ENABLED(FYSETC_MINI_12864)
#define DOGLCD_CS 42
#define DOGLCD_A0 19
#define DOGLCD_MOSI 51
#define DOGLCD_SCK 52
//#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
// results in LCD soft SPI mode 3, SD soft SPI mode 0
#define LCD_RESET_PIN 18 // Must be high or open for LCD to operate normally.
#if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
#ifndef RGB_LED_R_PIN
#define RGB_LED_R_PIN 41
#endif
#ifndef RGB_LED_G_PIN
#define RGB_LED_G_PIN 38
#endif
#ifndef RGB_LED_B_PIN
#define RGB_LED_B_PIN 40
#endif
#elif ENABLED(FYSETC_MINI_12864_2_1)
#define NEOPIXEL_PIN 25
#endif
#else
#define LCD_PINS_RS 19
#define LCD_PINS_ENABLE 42
#define LCD_PINS_D4 18
#define LCD_PINS_D5 38
#define LCD_PINS_D6 41
#endif
#define LCD_PINS_D7 40
//
// Beeper, SD Card, Encoder
//
#define BEEPER_PIN 44
#if ENABLED(SDSUPPORT)
#define SDPOWER -1
#define SDSS 53
#define SD_DETECT_PIN 49
#endif
#if ENABLED(NEWPANEL)
#define BTN_EN1 11
#define BTN_EN2 12
#define BTN_ENC 43
#endif

View File

@ -0,0 +1,31 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#define BOARD_NAME "Raise3D Rumba"
#define DEFAULT_MACHINE_NAME "Raise3D N Series"
// Raise3D uses thermocouples on the standard input pins
#define TEMP_0_PIN 15 // Analog Input
#define TEMP_1_PIN 14 // Analog Input
#include "pins_RUMBA.h"

View File

@ -0,0 +1,42 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Sainsmart 2-in-1 pin assignments
*/
#if HOTENDS > 2 || E_STEPPERS > 2
#error "Sainsmart 2-in-1 supports up to 2 hotends / E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "Sainsmart"
//
// Heaters / Fans
//
#define RAMPS_D10_PIN 9 // E
#define RAMPS_D9_PIN 7 // F PART FAN in front of board next to Extruder heat
// RAMPS_D8_PIN 8 // B
#define MOSFET_D_PIN 10 // F / E
#include "pins_RAMPS.h"

View File

@ -0,0 +1,40 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.3 for Anycubic
*/
#define BOARD_NAME "Anycubic RAMPS 1.3"
#define IS_RAMPS_EFB
#define RAMPS_D9_PIN 44
#define FAN2_PIN 9
#define ORIG_E0_AUTO_FAN_PIN 9
#include "pins_RAMPS_13.h"
#undef E1_STEP_PIN
#undef E1_DIR_PIN
#undef E1_ENABLE_PIN
#undef E1_CS_PIN

View File

@ -0,0 +1,111 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega with RAMPS v1.4 for Anycubic
*/
#define BOARD_NAME "Anycubic RAMPS 1.4"
//
// Servos
//
#if MB(TRIGORILLA_14_11)
#define SERVO0_PIN 5
#define SERVO1_PIN 4
#define SERVO2_PIN 11
#define SERVO3_PIN 6
#endif
// Labeled pins
#define TRIGORILLA_HEATER_BED_PIN 8
#define TRIGORILLA_HEATER_0_PIN 10
#define TRIGORILLA_HEATER_1_PIN 45 // Anycubic Kossel: Unused
#define TRIGORILLA_FAN0_PIN 9 // Anycubic Kossel: Usually the part cooling fan
#define TRIGORILLA_FAN1_PIN 7 // Anycubic Kossel: Unused
#define TRIGORILLA_FAN2_PIN 44 // Anycubic Kossel: Hotend fan
// Remap MOSFET pins to common usages:
#define RAMPS_D10_PIN TRIGORILLA_HEATER_0_PIN // HEATER_0_PIN is always RAMPS_D10_PIN in pins_RAMPS.h
#if HOTENDS > 1 // EEF and EEB
#define RAMPS_D9_PIN TRIGORILLA_HEATER_1_PIN
#if !TEMP_SENSOR_BED
// EEF
#define RAMPS_D8_PIN TRIGORILLA_FAN0_PIN
#else
// EEB
#define RAMPS_D8_PIN TRIGORILLA_HEATER_BED_PIN
#define FAN_PIN TRIGORILLA_FAN0_PIN // Override pin 4 in pins_RAMPS.h
#endif
#elif TEMP_SENSOR_BED
// EFB (Anycubic Kossel default)
#define RAMPS_D9_PIN TRIGORILLA_FAN0_PIN
#define RAMPS_D8_PIN TRIGORILLA_HEATER_BED_PIN
#else
// EFF
#define RAMPS_D9_PIN TRIGORILLA_FAN1_PIN
#define RAMPS_D8_PIN TRIGORILLA_FAN0_PIN
#endif
#if HOTENDS > 1 || TEMP_SENSOR_BED // EEF, EEB, EFB
#define FAN1_PIN TRIGORILLA_FAN1_PIN
#endif
#define FAN2_PIN TRIGORILLA_FAN2_PIN
#define ORIG_E0_AUTO_FAN_PIN TRIGORILLA_FAN2_PIN // Used in Anycubic Kossel example config
#include "pins_RAMPS.h"
//
// AnyCubic made the following changes to 1.1.0-RC8
// If these are appropriate for your LCD let us know.
//
#if 0 && HAS_SPI_LCD
// LCD Display output pins
#if BOTH(NEWPANEL, PANEL_ONE)
#undef LCD_PINS_D6
#define LCD_PINS_D6 57
#endif
// LCD Display input pins
#if ENABLED(NEWPANEL)
#if ANY(VIKI2, miniVIKI)
#undef DOGLCD_A0
#define DOGLCD_A0 23
#elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER)
#undef BEEPER_PIN
#define BEEPER_PIN 33
#undef LCD_BACKLIGHT_PIN
#define LCD_BACKLIGHT_PIN 67
#endif
#elif ENABLED(MINIPANEL)
#undef BEEPER_PIN
#define BEEPER_PIN 33
#undef DOGLCD_A0
#define DOGLCD_A0 42
#endif
#endif // HAS_SPI_LCD

View File

@ -0,0 +1,281 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Arduino Mega for Tronxy X5S-2E, etc.
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#if HOTENDS > 2 || E_STEPPERS > 2
#error "TRONXY-V3-1.0 supports only 2 hotends/E-steppers. Comment out this line to continue."
#endif
#define BOARD_NAME "TRONXY-V3-1.0"
//
// Servos
//
#define SERVO1_PIN 12 // 2560 PIN 25/PB6
//
// Import RAMPS 1.4 pins
//
#include "pins_RAMPS.h"
/**
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* ===== AUX-1 connector =====
*
* 2 4 6 8
* #----------------#
* #2 | ° ° ° ° |
* #1 | ° ° ° ° |
* NOTCH #------ ------#
* 1 3 5 7
*
* ###################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ###################################
* # 1 | VCC | + #
* # 2 | VCC | + #
* # 3 | GND | - #
* # 4 | GND | - #
* # 5 | N/C | #
* # 6 | 3 / PE1 (TXD0) | D1 #
* # 7 | N/C | #
* # 8 | 2 / PE0 (RXD0) | D0 #
* ###################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* ===== Limit Switch connectors =====
*
* ############## X+ #################
* X+ # Pin | ATMEGA2560 Pin | Arduino #
* 1 2 3 ###################################
* #- --- -# # 1 | 6 / PE4 (INT4) | D2 #
* | ° ° ° | # 2 | GND | - #
* #-------# # 3 | VCC | + #
* ###################################
*
* ############## X- #################
* X- # Pin | ATMEGA2560 Pin | Arduino #
* 1 2 3 ###################################
* #- --- -# # 1 | 7 / PE5 (INT5) | D3 #
* | ° ° ° | # 2 | GND | - #
* #-------# # 3 | VCC | + #
* ###################################
*
* ############## Y+ #################
* Y+ # Pin | ATMEGA2560 Pin | Arduino #
* 1 2 3 ###################################
* #- --- -# # 1 | 63/PJ0 (PCINT9) | D15 #
* | ° ° ° | # 2 | GND | - #
* #-------# # 3 | VCC | + #
* ###################################
*
* ############## Y- #################
* Y- # Pin | ATMEGA2560 Pin | Arduino #
* 1 2 3 ###################################
* #- --- -# # 1 | 64/PJ1 (PCINT10)| D14 #
* | ° ° ° | # 2 | GND | - #
* #-------# # 3 | VCC | + #
* ###################################
*
* ############## Z+ #################
* Z+ # Pin | ATMEGA2560 Pin | Arduino #
* 1 2 3 ###################################
* #- --- -# # 1 | 45 / PD2 (INT2) | D19 #
* | ° ° ° | # 2 | GND | - #
* #-------# # 3 | VCC | + #
* ###################################
*
* ############## Z- #################
* Z- # Pin | ATMEGA2560 Pin | Arduino #
* 1 2 3 ###################################
* #- --- -# # 1 | 46 / PD3 (INT3) | D18 #
* | ° ° ° | # 2 | GND | - #
* #-------# # 3 | VCC | + #
* ###################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* ===== EXP1/EXP2 connectors =====
*
* (NOTE ORDER) EXP2 EXP1
* 2 4 6 8 10 2 4 6 8 10
* #-------------------# #-------------------#
* #2 | ° ° ° ° ° | #2 | ° ° ° ° ° |
* #1 | ° ° ° ° ° | #1 | ° ° ° ° ° |
* NOTCH #-------- -------# NOTCH #-------- -------#
* 1 3 5 7 9 1 3 5 7 9
*
* ############# EXP1 ################
* # Pin | ATMEGA2560 Pin | Arduino #
* ###################################
* # 1 | 53 / PC0 | D37 #
* # 2 | 55 / PC2 | D35 #
* # 3 | 12 / PH0 (RXD2) | D17 #
* # 4 | 13 / PH1 (TXD2) | D16 #
* # 5 | 77 / PA1 | D23 #
* # 6 | 75 / PA3 | D25 #
* # 7 | 73 / PA5 | D27 #
* # 8 | 71 / PA7 | D29 #
* # 9 | GND | - #
* # 10 | VCC | + #
* ###################################
*
* ############# EXP2 ################
* # Pin | ATMEGA2560 Pin | Arduino #
* ###################################
* # 1 | 22 / PB3 (MISO) | D50 #
* # 2 | 20 / PB1 (SCK) | D52 #
* # 3 | 59 / PC6 | D31 #
* # 4 | N/C | #
* # 5 | 57 / PC4 | D33 #
* # 6 | 21 / PB2 (MOSI) | D51 #
* # 7 | N/C | #
* # 8 | 30 / !RESET | RESET #
* # 9 | GND | - #
* # 10 | 51 / PG0 | D41 #
* ###################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* ===== ICSP connector =====
*
* 2 4 6
* #---------#
* | ° ° ° |
* | ° ° ° |
* #---------#
* 1 3 5
*
* ##################################
* # 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 | - #
* ##################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* ===== SERVOS connector =====
*
* 2 4 6
* #---------#
* | ° ° ° |
* | ° ° ° |
* #---------#
* 1 3 5
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 25 / PB6 (OC1B)| D12 #
* # 2 | 24 / PB5 (OC1A)| D11 #
* # 3 | GND | - #
* # 4 | GND | - #
* # 5 | VCC | + #
* # 6 | VCC | + #
* ##################################
*
* NOTE: Pins 1 and 2 are the ones closest to the "L" and "PWR" LEDs.
*
* NOTE: Check servo wiring before connecting, for example:
* + Airtronics (non-Z) use: Red = +; Black = -; Black & White, White or Orange = signal.
* + Airtronics-Z use: Red = +; Black = -; Blue = signal.
* + Futaba use: Red = +; Black = -; White = signal.
* + Hitec use: Red = +; Black = -; Yellow = signal.
* + JR use: Red = +; Brown = -; Orange = signal.
*
* NOTE: Test your servo limits:
* Due to effects of component tolerances and/or age, the usable range of S-values for individual servos may be less than the settable 0-255 range. For example:
* 1. One servo may have a fully usable range of M280 P0 S0 through M280 P0 S255.
* 2. A different servo (of the same brand and model) may have a usable range of only M280 P0 S0 through M280 P0 S165 after which you experience binding.
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* ===== Thermistor connectors =====
*
* (NOTE ORDER) TH2 TH1 TB
* 1 2 1 2 1 2
* #- -# #- -# #- -#
* | ° ° | | ° ° | | ° ° |
* #-----# #-----# #-----#
*
* ############## TB #################
* # Pin | ATMEGA2560 Pin | Arduino #
* ###################################
* # 1 | GND | - #
* # 2 | 83 / PK6 (ADC14)| A14 #
* ###################################
*
* ############## TH1 ################
* # Pin | ATMEGA2560 Pin | Arduino #
* ###################################
* # 1 | GND | - #
* # 2 | 84 / PK5 (ADC13)| A13 #
* ###################################
*
* ############## TH2 ################
* # Pin | ATMEGA2560 Pin | Arduino #
* ###################################
* # 1 | GND | - #
* # 2 | 82 / PK7 (ADC15)| A15 #
* ###################################
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*
* ===== XS3 connector =====
*
* 2 4 6
* #---------#
* | ° ° ° |
* | ° ° ° |
* #---------#
* 1 3 5
*
* ##################################
* # Pin | ATMEGA2560 Pin | Arduino #
* ##################################
* # 1 | 85 / ADC12 | A12 #
* # 2 | 86 / ADC11 | A11 #
* # 3 | GND | - #
* # 4 | GND | - #
* # 5 | VCC | + #
* # 6 | VCC | + #
* ##################################
*
* NOTE: Pins 1 and 2 are the ones closest to the "L" and "PWR" LEDs.
*
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*/

View File

@ -0,0 +1,140 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Ultiboard v2.0 pin assignments
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for:
* M3, M4 & M5 spindle control commands
* case light
*/
#ifndef __AVR_ATmega2560__
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "Ultimaker 2.x"
#define DEFAULT_MACHINE_NAME "Ultimaker"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/Ultimaker/Marlin"
//
// Limit Switches
//
#define X_STOP_PIN 22
#define Y_STOP_PIN 26
#define Z_STOP_PIN 29
//
// 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
#endif
#define ORIG_E0_AUTO_FAN_PIN 77
//
// Misc. Functions
//
#define SDSS 53
#define SD_DETECT_PIN 39
#define LED_PIN 8
#define SAFETY_TRIGGERED_PIN 28 // PIN to detect the safety circuit has triggered
#define MAIN_VOLTAGE_MEASURE_PIN 14 // ANALOG PIN to measure the main voltage, with a 100k - 4k7 resitor divider.
//
// LCD / Controller
//
#define BEEPER_PIN 18
#define LCD_PINS_RS 20
#define LCD_PINS_ENABLE 15
#define LCD_PINS_D4 14
#define LCD_PINS_D5 21
#define LCD_PINS_D6 5
#define LCD_PINS_D7 6
// Buttons are directly attached
#define BTN_EN1 40
#define BTN_EN2 41
#define BTN_ENC 19
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER // use the LED_PIN for spindle speed control or case light
#undef LED_PIN
#define SPINDLE_DIR_PIN 16
#define SPINDLE_LASER_ENA_PIN 17 // Pin should have a pullup!
#define SPINDLE_LASER_PWM_PIN 8 // MUST BE HARDWARE PWM
#else
#undef LED_PIN
#define CASE_LIGHT_PIN 8
#endif

View File

@ -0,0 +1,165 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Ultimaker pin assignments
*/
/**
* Rev B 2 JAN 2017
*
* Added pin definitions for:
* M3, M4 & M5 spindle control commands
* case light
*/
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "Ultimaker"
#define DEFAULT_MACHINE_NAME BOARD_NAME
#define DEFAULT_SOURCE_CODE_URL "https://github.com/Ultimaker/Marlin"
//
// Servos
//
#define SERVO0_PIN 11
//
// Limit Switches
//
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define Z_MIN_PIN 30
#define Z_MAX_PIN 32
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_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 // 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
#endif
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#define PS_ON_PIN 12
#define SUICIDE_PIN 54 // PIN that has to be turned on right after start, to keep power flowing.
#define CASE_LIGHT_PIN 8
//
// LCD / Controller
//
#if HAS_SPI_LCD
#define BEEPER_PIN 18
#if ENABLED(NEWPANEL)
#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
// buttons are directly attached
#define BTN_EN1 40
#define BTN_EN2 42
#define BTN_ENC 19
#define SD_DETECT_PIN 38
#else // !NEWPANEL - Old style panel with shift register
// buttons are attached to a shift register
#define SHIFT_CLK 38
#define SHIFT_LD 42
#define SHIFT_OUT 40
#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 6
#define LCD_PINS_D5 21
#define LCD_PINS_D6 20
#define LCD_PINS_D7 19
#define SD_DETECT_PIN -1
#endif // !NEWPANEL
#endif // HAS_SPI_LCD
//
// M3/M4/M5 - Spindle/Laser Control
//
#define SPINDLE_LASER_PWM_PIN 9 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 10 // Pin should have a pullup!
#define SPINDLE_DIR_PIN 11 // use the EXP3 PWM header

View File

@ -0,0 +1,274 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Ultimaker pin assignments (Old electronics)
*/
/**
* Rev B 3 JAN 2017
*
* Details on pin definitions for M3, M4 & M5 spindle control commands and for
* the CASE_LIGHT_PIN are at the end of this file.
*
* This started out as an attempt to add pin definitions for M3, M4 & M5 spindle
* control commands but quickly turned into a head scratcher as the sources for
* the revisions provided inconsistent information.
*
* As best I can determine:
* 1.5.3 boards should use the pins_ULTIMAKER.h file which means the BOARD_NAME
* define in this file should say 1.5.3 rather than 1.5.4
* This file is meant for 1.1 - 1.3 boards.
* The endstops for the 1.0 boards use different definitions than on the 1.1 - 1.3
* boards.
*
* I've added sections that have the 1.0 and 1.5.3 + endstop definitions so you can
* easily switch if needed. I've also copied over the 1.5.3 + LCD definitions.
*
* To be 100% sure of the board you have:
* 1. In Configuration_adv.h enable "PINS_DEBUGGING"
* 2. Compile & uploade
* 3. Enter the command "M43 W1 I1". This command will report that pin nmumber and
* name of any pin that changes state.
* 4. Using a 1k (approximately) resistor pull the endstops and some of the LCD pins
* to ground and see what is reported.
* 5. If the reported pin doesn't match the file then try a different board revision
* and repeat steps 2 - 5
*/
#define BOARD_REV_1_1_TO_1_3
//#define BOARD_REV_1_0
//#define BOARD_REV_1_5
#if !defined(__AVR_ATmega1280__) && !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#ifdef BOARD_REV_1_1_TO_1_3
#define BOARD_NAME "Ultimaker 1.1-1.3"
#elif defined(BOARD_REV_1_0)
#define BOARD_NAME "Ultimaker 1.0"
#elif defined(BOARD_REV_1_5)
#define BOARD_NAME "Ultimaker 1.5"
#else
#define BOARD_NAME "Ultimaker 1.5.4+"
#endif
#define DEFAULT_MACHINE_NAME "Ultimaker"
#define DEFAULT_SOURCE_CODE_URL "https://github.com/Ultimaker/Marlin"
//
// Limit Switches
//
#if ENABLED(BOARD_REV_1_1_TO_1_3)
#define X_MIN_PIN 15 // SW1
#define X_MAX_PIN 14 // SW2
#define Y_MIN_PIN 17 // SW3
#define Y_MAX_PIN 16 // SW4
#define Z_MIN_PIN 19 // SW5
#define Z_MAX_PIN 18 // SW6
#endif
#if ENABLED(BOARD_REV_1_0)
#if HAS_CUTTER
#define X_STOP_PIN 13 // SW1 (didn't change) - also has a useable hardware PWM
#define Y_STOP_PIN 12 // SW2
#define Z_STOP_PIN 11 // SW3
#else
#define X_MIN_PIN 13 // SW1
#define X_MAX_PIN 12 // SW2
#define Y_MIN_PIN 11 // SW3
#define Y_MAX_PIN 10 // SW4
#define Z_MIN_PIN 9 // SW5
#define Z_MAX_PIN 8 // SW6
#endif
#endif
#if ENABLED(BOARD_REV_1_5)
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define Z_MIN_PIN 30
#define Z_MAX_PIN 32
#endif
//
// Z Probe (when not Z_MIN_PIN)
//
#if !defined(Z_MIN_PROBE_PIN) && !(HAS_CUTTER && ENABLED(BOARD_REV_1_0))
#define Z_MIN_PROBE_PIN Z_MAX_PIN
#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
#if HAS_CUTTER && ENABLED(BOARD_REV_1_1_TO_1_3) && EXTRUDERS == 1
// Move E0 to the spare and get Spindle/Laser signals from E0
#define E0_STEP_PIN 49
#define E0_DIR_PIN 47
#define E0_ENABLE_PIN 48
#else
#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
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 8 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 2
//#define HEATER_1_PIN 3 // used for case light Rev A said "1"
#define HEATER_BED_PIN 4
//
// LCD / Controller
//
#if ANY(BOARD_REV_1_0, BOARD_REV_1_1_TO_1_3)
#define LCD_PINS_RS 24
#define LCD_PINS_ENABLE 22
#define LCD_PINS_D4 36
#define LCD_PINS_D5 34
#define LCD_PINS_D6 32
#define LCD_PINS_D7 30
#elif ENABLED(BOARD_REV_1_5, ULTRA_LCD)
#define BEEPER_PIN 18
#if ENABLED(NEWPANEL)
#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
// buttons are directly attached
#define BTN_EN1 40
#define BTN_EN2 42
#define BTN_ENC 19
#define SD_DETECT_PIN 38
#else // !NEWPANEL - Old style panel with shift register
// buttons are attached to a shift register
#define SHIFT_CLK 38
#define SHIFT_LD 42
#define SHIFT_OUT 40
#define SHIFT_EN 17
#define LCD_PINS_RS 16
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 6
#define LCD_PINS_D5 21
#define LCD_PINS_D6 20
#define LCD_PINS_D7 19
#endif // !NEWPANEL
#endif
//
// case light - see spindle section for more info on available hardware PWMs
//
#if !PIN_EXISTS(CASE_LIGHT) && ENABLED(BOARD_REV_1_5)
#define CASE_LIGHT_PIN 7 // use PWM - MUST BE HARDWARE PWM
#endif
//
// M3/M4/M5 - Spindle/Laser Control
//
#if HAS_CUTTER
#if EITHER(BOARD_REV_1_0, BOARD_REV_1_5) // Use the last three SW positions
#define SPINDLE_DIR_PIN 10 // 1.0: SW4 1.5: EXP3-6 ("10")
#define SPINDLE_LASER_PWM_PIN 9 // 1.0: SW5 1.5: EXP3-7 ( "9") .. MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 8 // 1.0: SW6 1.5: EXP3-8 ( "8") .. Pin should have a pullup!
#elif ENABLED(BOARD_REV_1_1_TO_1_3)
/**
* Only four hardware PWMs physically connected to anything on these boards:
*
* HEATER_0_PIN 2 silkscreen varies - usually "PWM 1" or "HEATER1"
* HEATER_1_PIN 3 silkscreen varies - usually "PWM 2" or "HEATER2"
* HEATER_BED_PIN 4 silkscreen varies - usually "PWM 3" or "HEATED BED"
* E0_DIR_PIN 45
*
* If one of the heaters is used then special precautions will usually be needed.
* They have an LED and resistor pullup to +24V which could damage 3.3V-5V ICs.
*/
#if EXTRUDERS == 1
#define SPINDLE_DIR_PIN 43
#define SPINDLE_LASER_PWM_PIN 45 // MUST BE HARDWARE PWM
#define SPINDLE_LASER_ENA_PIN 41 // Pin should have a pullup!
#elif TEMP_SENSOR_BED == 0 // Can't use E0 so see if HEATER_BED_PIN is available
#undef HEATER_BED_PIN
#define SPINDLE_DIR_PIN 38 // Probably pin 4 on 10 pin connector closest to the E0 socket
#define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM - Special precautions usually needed.
#define SPINDLE_LASER_ENA_PIN 40 // Pin should have a pullup! (Probably pin 6 on the 10-pin
// connector closest to the E0 socket)
#endif
#endif
#endif
/**
* Where to get the spindle signals on the E0 socket
*
* spindle signal socket name socket name
* -------
* SPINDLE_LASER_ENA_PIN /ENABLE *| |O VMOT
* MS1 O| |O GND
* MS2 O| |O 2B
* MS3 O| |O 2A
* /RESET O| |O 1A
* /SLEEP O| |O 1B
* SPINDLE_DIR_PIN STEP O| |O VDD
* SPINDLE_LASER_PWM_PIN DIR O| |O GND
* -------
* * - pin closest to MS1, MS2 & MS3 jumpers on the board
*
* Note: Socket names vary from vendor to vendor.
*/

View File

@ -0,0 +1,47 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* VORON Design v2 pin assignments
* See https://github.com/mzbotreprap/VORON/blob/master/Firmware/Marlin/pins_RAMPS_VORON.h
*/
#define BOARD_NAME "VORON Design v2"
#define RAMPS_D8_PIN 11
#include "pins_RAMPS.h"
//
// Heaters / Fans
//
#undef FAN_PIN
#define FAN_PIN 5 // Using the pin for the controller fan since controller fan is always on.
#define CONTROLLER_FAN_PIN 8
#define ORIG_E0_AUTO_FAN_PIN 6 // Servo pin 6 for E3D Fan
#define ORIG_E1_AUTO_FAN_PIN 6 // Servo pin 6 for E3D Fan (same pin for both extruders since it's the same fan)
//
// LCDs and Controllers
//
#undef BEEPER_PIN

View File

@ -0,0 +1,69 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* ZRIB V2.0 & V3.0 pin assignments
* V2 and V3 Boards only differ in USB controller, nothing affecting the pins.
*/
#include "pins_MKS_GEN_13.h"
#define ZRIB_V20_D6_PIN 6 // Fan
#define ZRIB_V20_D9_PIN 9 // Fan2
#define ZRIB_V20_A10_PIN 10
#define ZRIB_V20_D16_PIN 16
#define ZRIB_V20_D17_PIN 17
#define ZRIB_V20_D23_PIN 23
#define ZRIB_V20_D25_PIN 25
#define ZRIB_V20_D27_PIN 27
#define ZRIB_V20_D29_PIN 29
#define ZRIB_V20_D37_PIN 37
#define ORIG_E0_AUTO_FAN_PIN ZRIB_V20_D6_PIN
#define ORIG_E1_AUTO_FAN_PIN ZRIB_V20_D6_PIN
#define ORIG_E2_AUTO_FAN_PIN ZRIB_V20_D6_PIN
#define ORIG_E3_AUTO_FAN_PIN ZRIB_V20_D6_PIN
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 11 // Analog Input
#endif
#if ENABLED(ZONESTAR_LCD)
#undef LCD_PINS_RS
#undef LCD_PINS_ENABLE
#undef LCD_PINS_D4
#undef LCD_PINS_D5
#undef LCD_PINS_D6
#undef LCD_PINS_D7
#undef ADC_KEYPAD_PIN
#undef BEEPER_PIN
#define LCD_PINS_RS ZRIB_V20_D16_PIN
#define LCD_PINS_ENABLE ZRIB_V20_D17_PIN
#define LCD_PINS_D4 ZRIB_V20_D23_PIN
#define LCD_PINS_D5 ZRIB_V20_D25_PIN
#define LCD_PINS_D6 ZRIB_V20_D27_PIN
#define LCD_PINS_D7 ZRIB_V20_D29_PIN
#define ADC_KEYPAD_PIN ZRIB_V20_A10_PIN
#define BEEPER_PIN ZRIB_V20_D37_PIN
#endif

View File

@ -0,0 +1,250 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Z-Bolt X Series board based on Arduino Mega2560
*/
#if HOTENDS > 4 || E_STEPPERS > 4
#error "Z-Bolt X Series board supports up to 4 hotends / E-steppers."
#endif
#if !defined(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#endif
#define BOARD_NAME "Z-Bolt X Series"
//
// Servos
//
#ifndef SERVO0_PIN
#define SERVO0_PIN 11
#endif
#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 -1
#endif
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#ifndef Y_CS_PIN
#define Y_CS_PIN -1
#endif
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#ifndef Z_CS_PIN
#define Z_CS_PIN -1
#endif
#define E0_STEP_PIN 26
#define E0_DIR_PIN 28
#define E0_ENABLE_PIN 24
#ifndef E0_CS_PIN
#define E0_CS_PIN -1
#endif
#define E1_STEP_PIN 36
#define E1_DIR_PIN 34
#define E1_ENABLE_PIN 30
#ifndef E1_CS_PIN
#define E1_CS_PIN -1
#endif
// Red
#define E2_STEP_PIN 42
#define E2_DIR_PIN 40
#define E2_ENABLE_PIN 65
#ifndef E2_CS_PIN
#define E2_CS_PIN -1
#endif
// Black
#define E3_STEP_PIN 44
#define E3_DIR_PIN 64
#define E3_ENABLE_PIN 66
#ifndef E3_CS_PIN
#define E3_CS_PIN -1
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN 13 // Analog Input
#define TEMP_1_PIN 15 // Analog Input
#define TEMP_2_PIN 5 // Analog Input (BLACK)
#define TEMP_3_PIN 9 // Analog Input (RED)
#define TEMP_BED_PIN 14 // Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 10
#define HEATER_1_PIN 7
#define HEATER_2_PIN 6
#define HEATER_3_PIN 5
#define HEATER_BED_PIN 8
#define FAN_PIN 9
//
// Misc. Functions
//
#define SDSS 53
#define LED_PIN 13
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 5 // Analog Input on AUX2
#endif
// Оn the servos connector
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN 4
#endif
#ifndef PS_ON_PIN
#define PS_ON_PIN 12
#endif
#define AUX2_PINS_FREE !( BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD) )
#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENA_PIN)
#if NUM_SERVOS <= 1 // try to use servo connector first
#define CASE_LIGHT_PIN 6 // MUST BE HARDWARE PWM
#elif AUX2_PINS_FREE
#define CASE_LIGHT_PIN 44 // MUST BE 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 // try to use servo connector first
#define SPINDLE_LASER_ENA_PIN 4 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 6 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 5
#elif AUX2_PINS_FREE
#define SPINDLE_LASER_ENA_PIN 40 // Pin should have a pullup/pulldown!
#define SPINDLE_LASER_PWM_PIN 44 // MUST BE HARDWARE PWM
#define SPINDLE_DIR_PIN 65
#endif
#endif
#undef AUX2_PINS_FREE
//
// 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_DRIVER(TMC2208)
/**
* TMC2208 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
//
#define X_SERIAL_TX_PIN 40
#define X_SERIAL_RX_PIN 63
#define X2_SERIAL_TX_PIN -1
#define X2_SERIAL_RX_PIN -1
#define Y_SERIAL_TX_PIN 59
#define Y_SERIAL_RX_PIN 64
#define Y2_SERIAL_TX_PIN -1
#define Y2_SERIAL_RX_PIN -1
#define Z_SERIAL_TX_PIN 42
#define Z_SERIAL_RX_PIN 65
#define Z2_SERIAL_TX_PIN -1
#define Z2_SERIAL_RX_PIN -1
#define E0_SERIAL_TX_PIN 44
#define E0_SERIAL_RX_PIN 66
#define E1_SERIAL_TX_PIN -1
#define E1_SERIAL_RX_PIN -1
#define E2_SERIAL_TX_PIN -1
#define E2_SERIAL_RX_PIN -1
#define E3_SERIAL_TX_PIN -1
#define E3_SERIAL_RX_PIN -1
#define E4_SERIAL_TX_PIN -1
#define E4_SERIAL_RX_PIN -1
#endif