Prusa MINI Firmware overview
pins_EINSY_RETRO.h
Go to the documentation of this file.
1 /**
2  * Marlin 3D Printer Firmware
3  * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4  *
5  * Based on Sprinter and grbl.
6  * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 #pragma once
23 
24 /**
25  * Einsy-Retro pin assignments
26  */
27 
28 #ifndef __AVR_ATmega2560__
29  #error "Oops! Select 'Arduino Mega 2560 or Rambo' in 'Tools > Board.'"
30 #endif
31 
32 #define BOARD_INFO_NAME "Einsy Retro"
33 
34 //
35 // TMC2130 Configuration_adv defaults for EinsyRetro
36 //
37 #if !AXIS_DRIVER_TYPE_X(TMC2130) || !AXIS_DRIVER_TYPE_Y(TMC2130) || !AXIS_DRIVER_TYPE_Z(TMC2130) || !AXIS_DRIVER_TYPE_E0(TMC2130)
38  #error "You must set ([XYZ]|E0)_DRIVER_TYPE to TMC2130 in Configuration.h for EinsyRetro."
39 #endif
40 
41 // TMC2130 Diag Pins (currently just for reference)
42 #define X_DIAG_PIN 64
43 #define Y_DIAG_PIN 69
44 #define Z_DIAG_PIN 68
45 #define E0_DIAG_PIN 65
46 
47 //
48 // Limit Switches
49 //
50 // Only use Diag Pins when SENSORLESS_HOMING is enabled for the TMC2130 drivers.
51 // Otherwise use a physical endstop based configuration.
52 //
53 // SERVO0_PIN and Z_MIN_PIN configuration for BLTOUCH sensor when combined with SENSORLESS_HOMING.
54 //
55 
56 #if DISABLED(SENSORLESS_HOMING)
57 
58  #define X_MIN_PIN 12
59  #define Y_MIN_PIN 11
60  #define Z_MIN_PIN 10
61  #define X_MAX_PIN 81
62  #define Y_MAX_PIN 57
63 
64 #else
65 
66  #if X_HOME_DIR < 0
67  #define X_MIN_PIN X_DIAG_PIN
68  #define X_MAX_PIN 81
69  #else
70  #define X_MIN_PIN 12
71  #define X_MAX_PIN X_DIAG_PIN
72  #endif
73 
74  #if Y_HOME_DIR < 0
75  #define Y_MIN_PIN Y_DIAG_PIN
76  #define Y_MAX_PIN 57
77  #else
78  #define Y_MIN_PIN 11
79  #define Y_MAX_PIN Y_DIAG_PIN
80  #endif
81 
82  #if ENABLED(BLTOUCH)
83  #define Z_MIN_PIN 11 // Y-MIN
84  #define SERVO0_PIN 10 // Z-MIN
85  #else
86  #define Z_MIN_PIN 10
87  #endif
88 
89 #endif
90 
91 #define Z_MAX_PIN 7
92 
93 //
94 // Z Probe (when not Z_MIN_PIN)
95 //
96 #ifndef Z_MIN_PROBE_PIN
97  #define Z_MIN_PROBE_PIN 10
98 #endif
99 
100 //
101 // Steppers
102 //
103 #define X_STEP_PIN 37
104 #define X_DIR_PIN 49
105 #define X_ENABLE_PIN 29
106 #define X_CS_PIN 41
107 
108 #define Y_STEP_PIN 36
109 #define Y_DIR_PIN 48
110 #define Y_ENABLE_PIN 28
111 #define Y_CS_PIN 39
112 
113 #define Z_STEP_PIN 35
114 #define Z_DIR_PIN 47
115 #define Z_ENABLE_PIN 27
116 #define Z_CS_PIN 67
117 
118 #define E0_STEP_PIN 34
119 #define E0_DIR_PIN 43
120 #define E0_ENABLE_PIN 26
121 #define E0_CS_PIN 66
122 
123 //
124 // Temperature Sensors
125 //
126 #define TEMP_0_PIN 0 // Analog Input
127 #define TEMP_1_PIN 1 // Analog Input
128 #define TEMP_BED_PIN 2 // Analog Input
129 
130 //
131 // Heaters / Fans
132 //
133 #define HEATER_0_PIN 3
134 #define HEATER_BED_PIN 4
135 
136 #ifndef FAN_PIN
137  #define FAN_PIN 8
138 #endif
139 #define FAN1_PIN 6
140 
141 //
142 // Misc. Functions
143 //
144 #define SDSS 53
145 #define LED_PIN 13
146 #define CASE_LIGHT_PIN 9
147 
148 //
149 // M3/M4/M5 - Spindle/Laser Control
150 //
151 // use P1 connector for spindle pins
152 #define SPINDLE_LASER_PWM_PIN 9 // Hardware PWM
153 #define SPINDLE_LASER_ENA_PIN 18 // Pullup!
154 #define SPINDLE_DIR_PIN 19
155 
156 //
157 // Průša i3 MK2 Multiplexer Support
158 //
159 #define E_MUX0_PIN 17
160 #define E_MUX1_PIN 16
161 #define E_MUX2_PIN 78 // 84 in MK2 Firmware, with BEEPER as 78
162 
163 //
164 // LCD / Controller
165 //
166 #if HAS_SPI_LCD || TOUCH_UI_ULTIPANEL
167 
168  #define KILL_PIN 32
169 
170  #if ENABLED(ULTIPANEL) || TOUCH_UI_ULTIPANEL
171 
172  #if ENABLED(CR10_STOCKDISPLAY)
173  #define LCD_PINS_RS 85
174  #define LCD_PINS_ENABLE 71
175  #define LCD_PINS_D4 70
176  #define BTN_EN1 18
177  #define BTN_EN2 19
178  #else
179  #define LCD_PINS_RS 82
180  #define LCD_PINS_ENABLE 18 // On 0.6b, use 61
181  #define LCD_PINS_D4 19 // On 0.6b, use 59
182  #define LCD_PINS_D5 70
183  #define LCD_PINS_D6 85
184  #define LCD_PINS_D7 71
185  #define BTN_EN1 14
186  #define BTN_EN2 72
187  #endif
188 
189  #define BTN_ENC 9 // AUX-2
190  #define BEEPER_PIN 84 // AUX-4
191 
192  #define SD_DETECT_PIN 15
193 
194  #endif // ULTIPANEL || TOUCH_UI_ULTIPANEL
195 #endif // HAS_SPI_LCD