2016-03-25 06:19:46 +00:00
/**
2016-03-24 18:01:20 +00:00
* Marlin 3 D Printer Firmware
* Copyright ( C ) 2016 MarlinFirmware [ https : //github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl .
* Copyright ( C ) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*
*/
2015-01-26 02:40:00 +00:00
/**
* RUMBA pin assignments
*/
# ifndef __AVR_ATmega2560__
2016-05-13 12:10:23 +00:00
# error "Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu."
2015-01-26 02:40:00 +00:00
# endif
2017-04-06 22:15:09 +00:00
# if HOTENDS > 3 || E_STEPPERS > 3
# error "RUMBA supports up to 3 hotends / E-steppers. Comment out this line to continue."
2015-02-24 12:46:11 +00:00
# endif
2016-04-03 01:53:05 +00:00
# define DEFAULT_MACHINE_NAME "Rumba"
2016-06-30 09:24:29 +00:00
# define BOARD_NAME "Rumba"
2016-04-03 01:53:05 +00:00
2016-10-08 20:27:04 +00:00
//
// Servos
//
# define SERVO0_PIN 5
2016-08-22 22:05:22 +00:00
//
// 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
//
2015-01-26 02:40:00 +00:00
# define X_STEP_PIN 17
# define X_DIR_PIN 16
# define X_ENABLE_PIN 48
# define Y_STEP_PIN 54
# define Y_DIR_PIN 47
# define Y_ENABLE_PIN 55
# define Z_STEP_PIN 57
# define Z_DIR_PIN 56
# define Z_ENABLE_PIN 62
# define E0_STEP_PIN 23
# define E0_DIR_PIN 22
# define E0_ENABLE_PIN 24
# define E1_STEP_PIN 26
# define E1_DIR_PIN 25
# define E1_ENABLE_PIN 27
# define E2_STEP_PIN 29
# define E2_DIR_PIN 28
# define E2_ENABLE_PIN 39
2016-08-22 22:05:22 +00:00
//
// Temperature Sensors
//
2016-06-28 23:27:22 +00:00
# if TEMP_SENSOR_0 == -1
2016-10-08 20:27:04 +00:00
# define TEMP_0_PIN 6 // Analog Input (connector *K1* on RUMBA thermocouple ADD ON is used)
2016-06-28 23:27:22 +00:00
# else
2016-10-08 20:27:04 +00:00
# define TEMP_0_PIN 15 // Analog Input (default connector for thermistor *T0* on rumba board is used)
2015-01-26 02:40:00 +00:00
# endif
2016-06-28 23:27:22 +00:00
# if TEMP_SENSOR_1 == -1
2016-10-08 20:27:04 +00:00
# define TEMP_1_PIN 5 // Analog Input (connector *K2* on RUMBA thermocouple ADD ON is used)
2016-06-28 23:27:22 +00:00
# else
2016-10-08 20:27:04 +00:00
# define TEMP_1_PIN 14 // Analog Input (default connector for thermistor *T1* on rumba board is used)
2015-01-26 02:40:00 +00:00
# endif
2016-06-28 23:27:22 +00:00
# if TEMP_SENSOR_2 == -1
2017-05-21 00:30:36 +00: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 20:27:04 +00:00
# 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)
2018-02-24 06:38:58 +00:00
//#define TEMP_CHAMBER_PIN 12 // Analog Input (default connector for thermistor *T3* on rumba board is used)
2016-10-08 20:27:04 +00:00
# if TEMP_SENSOR_BED == -1
2017-05-21 00:30:36 +00: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-28 23:27:22 +00:00
# else
2016-10-08 20:27:04 +00:00
# define TEMP_BED_PIN 11 // Analog Input (default connector for thermistor *THB* on rumba board is used)
2015-01-26 02:40:00 +00:00
# endif
2016-08-22 22:05:22 +00:00
//
// 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
# define FAN_PIN 7
# define FAN1_PIN 8
2016-10-08 20:27:04 +00:00
//
// Misc. Functions
//
2015-01-26 02:40:00 +00:00
# define SDSS 53
2016-10-08 20:27:04 +00:00
# define LED_PIN 13
# define PS_ON_PIN 45
# define KILL_PIN 46
2017-04-07 18:52:21 +00:00
# define CASE_LIGHT_PIN 45
2016-10-08 20:27:04 +00:00
2017-04-07 18:52:21 +00:00
//
// M3/M4/M5 - Spindle/Laser Control
//
2017-09-06 11:28:32 +00:00
# ifndef SPINDLE_LASER_PWM_PIN
2018-03-28 17:51:59 +00:00
# define SPINDLE_LASER_PWM_PIN 4 // MUST BE HARDWARE PWM. Pin 4 interrupts OC0* and OC1* always in use?
2017-09-06 11:28:32 +00:00
# endif
# ifndef SPINDLE_LASER_ENABLE_PIN
2018-03-28 17:51:59 +00:00
# define SPINDLE_LASER_ENABLE_PIN 14 // Pin should have a pullup!
2017-09-06 11:28:32 +00:00
# endif
# ifndef SPINDLE_DIR_PIN
# define SPINDLE_DIR_PIN 15
# endif
2018-04-26 04:00:44 +00:00
//
// LCD / Controller
//
# define SD_DETECT_PIN 49
# define BEEPER_PIN 44
# define LCD_PINS_D7 40
# define BTN_EN1 11
# define BTN_EN2 12
# define BTN_ENC 43
# if ENABLED(MKS_12864OLED) || ENABLED(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
# 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