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