2016-03-25 07:19:46 +01:00
/**
2016-03-24 19:01:20 +01:00
* Marlin 3 D Printer Firmware
2020-02-03 15:00:57 +01:00
* Copyright ( c ) 2020 MarlinFirmware [ https : //github.com/MarlinFirmware/Marlin]
2016-03-24 19:01:20 +01:00
*
* Based on Sprinter and grbl .
2019-06-28 06:57:50 +02:00
* Copyright ( c ) 2011 Camiel Gubbels / Erik van der Zalm
2016-03-24 19:01:20 +01:00
*
* 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
2020-07-23 05:20:14 +02:00
* along with this program . If not , see < https : //www.gnu.org/licenses/>.
2016-03-24 19:01:20 +01:00
*
*/
2019-07-05 05:44:12 +02:00
# pragma once
2016-03-24 19:01:20 +01:00
2015-01-26 03:40:00 +01:00
/**
* RUMBA pin assignments
*/
2020-09-23 22:06:36 +02:00
# if NOT_TARGET(__AVR_ATmega2560__)
2018-11-09 04:57:15 +01:00
# error "Oops! Select 'Arduino / Genuino Mega or Mega 2560' in 'Tools > Board.'"
2019-07-14 22:34:01 +02:00
# elif HOTENDS > 3 || E_STEPPERS > 3
2017-04-07 00:15:09 +02:00
# error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue."
2015-02-24 13:46:11 +01:00
# endif
2019-08-21 02:08:58 +02:00
# ifndef BOARD_INFO_NAME
# define BOARD_INFO_NAME "Rumba"
2018-11-26 02:56:06 +01:00
# endif
2019-07-10 04:29:14 +02:00
# ifndef DEFAULT_MACHINE_NAME
2019-08-21 02:08:58 +02:00
# define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
2019-07-10 04:29:14 +02:00
# endif
2016-04-03 03:53:05 +02:00
2016-10-08 22:27:04 +02:00
//
// Servos
//
2020-03-22 03:13:19 +01:00
# define SERVO0_PIN 5
2016-10-08 22:27:04 +02:00
2016-08-23 00:05:22 +02:00
//
// Limit Switches
//
2020-03-22 03:13:19 +01:00
# 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
2016-08-23 00:05:22 +02:00
//
// Z Probe (when not Z_MIN_PIN)
//
# ifndef Z_MIN_PROBE_PIN
2020-03-22 03:13:19 +01:00
# define Z_MIN_PROBE_PIN 32
2016-08-23 00:05:22 +02:00
# endif
//
// Steppers
//
2020-03-22 03:13:19 +01:00
# define X_STEP_PIN 17
# define X_DIR_PIN 16
# define X_ENABLE_PIN 48
2015-01-26 03:40:00 +01:00
2020-03-22 03:13:19 +01:00
# define Y_STEP_PIN 54
# define Y_DIR_PIN 47
# define Y_ENABLE_PIN 55
2015-01-26 03:40:00 +01:00
2020-03-22 03:13:19 +01:00
# define Z_STEP_PIN 57
# define Z_DIR_PIN 56
# define Z_ENABLE_PIN 62
2015-01-26 03:40:00 +01:00
2019-01-20 03:19:14 +01:00
# ifndef E0_STEP_PIN
2020-03-22 03:13:19 +01:00
# define E0_STEP_PIN 23
# define E0_DIR_PIN 22
# define E0_ENABLE_PIN 24
2019-01-20 03:19:14 +01:00
# endif
2015-01-26 03:40:00 +01:00
2019-01-20 03:19:14 +01:00
# ifndef E1_STEP_PIN
2020-03-22 03:13:19 +01:00
# define E1_STEP_PIN 26
# define E1_DIR_PIN 25
# define E1_ENABLE_PIN 27
2019-01-20 03:19:14 +01:00
# endif
2015-01-26 03:40:00 +01:00
2019-01-20 03:19:14 +01:00
# if E1_STEP_PIN != 29
2020-03-22 03:13:19 +01:00
# define E2_STEP_PIN 29
# define E2_DIR_PIN 28
# define E2_ENABLE_PIN 39
2019-01-20 03:19:14 +01:00
# endif
2015-01-26 03:40:00 +01:00
2016-08-23 00:05:22 +02:00
//
// Temperature Sensors
//
2018-11-26 02:56:06 +01:00
# ifndef TEMP_0_PIN
# if TEMP_SENSOR_0 == -1
2020-03-22 03:13:19 +01:00
# define TEMP_0_PIN 6 // Analog Input (connector *K1* on RUMBA thermocouple ADD ON is used)
2018-11-26 02:56:06 +01:00
# else
2020-03-22 03:13:19 +01:00
# define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
2018-11-26 02:56:06 +01:00
# endif
2015-01-26 03:40:00 +01:00
# endif
2018-11-26 02:56:06 +01:00
# ifndef TEMP_1_PIN
# if TEMP_SENSOR_1 == -1
2020-03-22 03:13:19 +01:00
# define TEMP_1_PIN 5 // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
2018-11-26 02:56:06 +01:00
# else
2020-03-22 03:13:19 +01:00
# define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
2018-11-26 02:56:06 +01:00
# endif
2015-01-26 03:40:00 +01:00
# endif
2016-06-29 01:27:22 +02:00
# if TEMP_SENSOR_2 == -1
2020-03-22 03:13:19 +01:00
# 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)
2016-10-08 22:27:04 +02:00
# else
2020-03-22 03:13:19 +01:00
# define TEMP_2_PIN 13 // Analog Input (default connector for thermistor *T2* on rumba board is used)
2016-10-08 22:27:04 +02:00
# endif
2018-11-26 02:56:06 +01:00
// Optional for extruder 4 or chamber:
2020-03-22 03:13:19 +01:00
//#define TEMP_X_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
2019-09-14 00:48:32 +02:00
# ifndef TEMP_CHAMBER_PIN
2020-03-22 03:13:19 +01:00
//#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
2019-09-14 00:48:32 +02:00
# endif
2016-10-08 22:27:04 +02:00
# if TEMP_SENSOR_BED == -1
2020-03-22 03:13:19 +01:00
# 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)
2016-06-29 01:27:22 +02:00
# else
2020-03-22 03:13:19 +01:00
# define TEMP_BED_PIN 11 // Analog Input (default connector for thermistor *THB* on rumba board is used)
2015-01-26 03:40:00 +01:00
# endif
2016-08-23 00:05:22 +02:00
//
// Heaters / Fans
//
2020-03-22 03:13:19 +01:00
# 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
2016-08-23 00:05:22 +02:00
2018-06-07 23:46:13 +02:00
# ifndef FAN_PIN
2020-03-22 03:13:19 +01:00
# define FAN_PIN 7
2018-06-07 23:46:13 +02:00
# endif
2019-10-29 00:21:59 +01:00
# ifndef FAN1_PIN
2020-03-22 03:13:19 +01:00
# define FAN1_PIN 8
2019-10-29 00:21:59 +01:00
# endif
2016-08-23 00:05:22 +02:00
2016-10-08 22:27:04 +02:00
//
// Misc. Functions
//
2020-03-22 03:13:19 +01:00
# define LED_PIN 13
# define PS_ON_PIN 45
# define KILL_PIN 46
2020-05-07 21:57:25 +02:00
# ifndef CASE_LIGHT_PIN
# define CASE_LIGHT_PIN 45
# endif
2016-10-08 22:27:04 +02:00
2017-04-07 20:52:21 +02:00
//
// M3/M4/M5 - Spindle/Laser Control
//
2017-09-06 13:28:32 +02:00
# ifndef SPINDLE_LASER_PWM_PIN
2020-03-22 03:13:19 +01:00
# define SPINDLE_LASER_PWM_PIN 4 // Hardware PWM. Pin 4 interrupts OC0* and OC1* always in use?
2017-09-06 13:28:32 +02:00
# endif
2019-04-09 00:52:33 +02:00
# ifndef SPINDLE_LASER_ENA_PIN
2020-03-22 03:13:19 +01:00
# define SPINDLE_LASER_ENA_PIN 14 // Pullup!
2017-09-06 13:28:32 +02:00
# endif
# ifndef SPINDLE_DIR_PIN
2020-03-22 03:13:19 +01:00
# define SPINDLE_DIR_PIN 15
2017-09-06 13:28:32 +02:00
# endif
2018-04-26 06:00:44 +02:00
//
// LCD / Controller
//
2019-03-17 05:43:06 +01:00
# if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
2020-03-22 03:13:19 +01:00
# define LCD_PINS_DC 38 // Set as output on init
# define LCD_PINS_RS 41 // Pull low for 1s to init
2018-04-26 06:00:44 +02:00
// DOGM SPI LCD Support
2020-03-22 03:13:19 +01:00
# define DOGLCD_CS 19
# define DOGLCD_MOSI 42
# define DOGLCD_SCK 18
# define DOGLCD_A0 LCD_PINS_DC
2019-05-05 00:59:36 +02:00
# elif ENABLED(FYSETC_MINI_12864)
2020-03-22 03:13:19 +01:00
# define DOGLCD_CS 42
# define DOGLCD_A0 19
# define DOGLCD_MOSI 51
# define DOGLCD_SCK 52
2019-05-05 00:59:36 +02:00
2020-03-22 03:13:19 +01:00
//#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
2019-05-05 00:59:36 +02:00
2020-03-22 03:13:19 +01:00
# define LCD_RESET_PIN 18 // Must be high or open for LCD to operate normally.
2019-05-05 00:59:36 +02:00
# if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
# ifndef RGB_LED_R_PIN
2020-03-22 03:13:19 +01:00
# define RGB_LED_R_PIN 41
2019-05-05 00:59:36 +02:00
# endif
# ifndef RGB_LED_G_PIN
2020-03-22 03:13:19 +01:00
# define RGB_LED_G_PIN 38
2019-05-05 00:59:36 +02:00
# endif
# ifndef RGB_LED_B_PIN
2020-03-22 03:13:19 +01:00
# define RGB_LED_B_PIN 40
2019-05-05 00:59:36 +02:00
# endif
# elif ENABLED(FYSETC_MINI_12864_2_1)
2020-03-22 03:13:19 +01:00
# define NEOPIXEL_PIN 25
2019-05-05 00:59:36 +02:00
# endif
2018-04-26 06:00:44 +02:00
# else
2020-03-22 03:13:19 +01:00
# 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
2018-04-26 06:00:44 +02:00
# endif
2019-01-20 03:19:14 +01:00
2020-03-22 03:13:19 +01:00
# define LCD_PINS_D7 40
2019-01-20 03:19:14 +01:00
//
// Beeper, SD Card, Encoder
//
2020-03-22 03:13:19 +01:00
# define BEEPER_PIN 44
2019-01-20 03:19:14 +01:00
# if ENABLED(SDSUPPORT)
2020-03-22 03:13:19 +01:00
# define SDSS 53
# define SD_DETECT_PIN 49
2019-01-20 03:19:14 +01:00
# endif
# if ENABLED(NEWPANEL)
2020-03-22 03:13:19 +01:00
# define BTN_EN1 11
# define BTN_EN2 12
# define BTN_ENC 43
2019-01-20 03:19:14 +01:00
# endif