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