Prusa3d Marlin fork
pins_Rambo_1_3.h
1 /*****************************************************************
2 * Rambo mini 1.3 Pin Assignments
3 ******************************************************************/
4 
5 #define ELECTRONICS "RAMBo13a"
6 
7 #define KNOWN_BOARD
8 #ifndef __AVR_ATmega2560__
9  #error Oops! Make sure you have 'Arduino Mega 2560 or Rambo' selected from the 'Tools -> Boards' menu.
10 #endif
11 
12 #define PINDA_THERMISTOR
13 
14 #ifdef MICROMETER_LOGGING
15 #define D_DATACLOCK 24 //Y_MAX (green)
16 #define D_DATA 30 //X_MAX (blue)
17 #define D_REQUIRE 23 //Z_MAX (white)
18 #endif //MICROMETER_LOGGING
19 
20 // This should be long enough to safely exit the bootloader when it uses the default timeout (~1-2s)
21 #define WATCHDOG_SOFT_RESET_VALUE WDTO_2S
22 
23 
24 #define X_STEP_PIN 37
25 #define X_DIR_PIN 48
26 #define X_MIN_PIN 12
27 #define X_MAX_PIN -1
28 #define X_ENABLE_PIN 29
29 #define X_MS1_PIN 40
30 #define X_MS2_PIN 41
31 
32 #define Y_STEP_PIN 36
33 #define Y_DIR_PIN 49
34 #define Y_MIN_PIN 11
35 #define Y_MAX_PIN -1
36 #define Y_ENABLE_PIN 28
37 #define Y_MS1_PIN 69
38 #define Y_MS2_PIN 39
39 
40 #define Z_STEP_PIN 35
41 #define Z_DIR_PIN 47
42 #define Z_MIN_PIN 10
43 #define Z_MAX_PIN 23
44 #define Z_ENABLE_PIN 27
45 #define Z_MS1_PIN 68
46 #define Z_MS2_PIN 67
47 
48 #define HEATER_BED_PIN 4 //PG5
49 #define TEMP_BED_PIN 2 //A2
50 
51 #define HEATER_0_PIN 3 //PE5
52 #define TEMP_0_PIN 0 //A0
53 
54 #define HEATER_1_PIN -1
55 #define TEMP_1_PIN -1 //A1
56 
57 #define HEATER_2_PIN -1
58 #define TEMP_2_PIN -1
59 
60 #define TEMP_AMBIENT_PIN 6 //A6
61 
62 #define TEMP_PINDA_PIN 1 //A1
63 
64 
65 #define TEMP_TIM 3
66 
67 
68 #define E0_STEP_PIN 34
69 #define E0_DIR_PIN 43
70 #define E0_ENABLE_PIN 26
71 #define E0_MS1_PIN 65
72 #define E0_MS2_PIN 66
73 
74 
75 #define MOTOR_CURRENT_PWM_XY_PIN 46
76 #define MOTOR_CURRENT_PWM_Z_PIN 45
77 #define MOTOR_CURRENT_PWM_E_PIN 44
78 #define SDPOWER -1
79 #define SDSS 53
80 #define LED_PIN 13
81 #define FAN_PIN 6
82 #define FAN_1_PIN -1
83 #define PS_ON_PIN -1
84 #define KILL_PIN -1 // 80 with Smart Controller LCD
85 #define SUICIDE_PIN -1 // PIN that has to be turned on right after start, to keep power flowing.
86 #define TACH_0 30 // noctua hotend fan
87 
88 
89 //#define KILL_PIN 32
90 
91 
92 #define BEEPER 84 // Beeper on AUX-4
93 #define LCD_PINS_RS 82
94 #define LCD_PINS_ENABLE 18
95 #define LCD_PINS_D4 19
96 #define LCD_PINS_D5 70
97 #define LCD_PINS_D6 85
98 #define LCD_PINS_D7 71
99 
100 //buttons are directly attached using AUX-2
101 #define BTN_EN1 72
102 #define BTN_EN2 14
103 #define BTN_ENC 9 // the click
104 
105 #define SDCARDDETECT 15
106 
107 #define IR_SENSOR_PIN 20 //idler sensor
108 
109 // Support for an 8 bit logic analyzer, for example the Saleae.
110 // Channels 0-2 are fast, they could generate 2.667Mhz waveform with a software loop.
111 #define LOGIC_ANALYZER_CH0 X_MIN_PIN // PB6
112 #define LOGIC_ANALYZER_CH1 Y_MIN_PIN // PB5
113 #define LOGIC_ANALYZER_CH2 53 // PB0 (PROC_nCS)
114 // Channels 3-7 are slow, they could generate
115 // 0.889Mhz waveform with a software loop and interrupt locking,
116 // 1.333MHz waveform without interrupt locking.
117 #define LOGIC_ANALYZER_CH3 73 // PJ3
118 // PK0 has no Arduino digital pin assigned, so we set it directly.
119 #define WRITE_LOGIC_ANALYZER_CH4(value) if (value) PORTK |= (1 << 0); else PORTK &= ~(1 << 0) // PK0
120 #define LOGIC_ANALYZER_CH5 16 // PH0 (RXD2)
121 #define LOGIC_ANALYZER_CH6 17 // PH1 (TXD2)
122 #define LOGIC_ANALYZER_CH7 76 // PJ5
123 
124 #define LOGIC_ANALYZER_CH0_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH0)
125 #define LOGIC_ANALYZER_CH1_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH1)
126 #define LOGIC_ANALYZER_CH2_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH2)
127 #define LOGIC_ANALYZER_CH3_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH3)
128 #define LOGIC_ANALYZER_CH4_ENABLE do { DDRK |= 1 << 0; } while (0)
129 #define LOGIC_ANALYZER_CH5_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH5); } while (0)
130 #define LOGIC_ANALYZER_CH6_ENABLE do { cbi(UCSR2B, TXEN2); cbi(UCSR2B, RXEN2); cbi(UCSR2B, RXCIE2); SET_OUTPUT(LOGIC_ANALYZER_CH6); } while (0)
131 #define LOGIC_ANALYZER_CH7_ENABLE SET_OUTPUT(LOGIC_ANALYZER_CH7)
132