Prusa MINI Firmware overview
pins.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 #include "../core/boards.h"
25 
26 /**
27  * Include pins definitions
28  *
29  * Pins numbering schemes:
30  *
31  * - Digital I/O pin number if used by READ/WRITE macros. (e.g., X_STEP_DIR)
32  * The FastIO headers map digital pins to their ports and functions.
33  *
34  * - Analog Input number if used by analogRead or DAC. (e.g., TEMP_n_PIN)
35  * These numbers are the same in any pin mapping.
36  */
37 
38 #define MAX_EXTRUDERS 6
39 
40 #if MB(RAMPS_13_EFB, RAMPS_14_EFB, RAMPS_PLUS_EFB, RAMPS_14_RE_ARM_EFB, RAMPS_SMART_EFB, RAMPS_DUO_EFB, RAMPS4DUE_EFB)
41  #define IS_RAMPS_EFB
42 #elif MB(RAMPS_13_EEB, RAMPS_14_EEB, RAMPS_PLUS_EEB, RAMPS_14_RE_ARM_EEB, RAMPS_SMART_EEB, RAMPS_DUO_EEB, RAMPS4DUE_EEB)
43  #define IS_RAMPS_EEB
44 #elif MB(RAMPS_13_EFF, RAMPS_14_EFF, RAMPS_PLUS_EFF, RAMPS_14_RE_ARM_EFF, RAMPS_SMART_EFF, RAMPS_DUO_EFF, RAMPS4DUE_EFF)
45  #define IS_RAMPS_EFF
46 #elif MB(RAMPS_13_EEF, RAMPS_14_EEF, RAMPS_PLUS_EEF, RAMPS_14_RE_ARM_EEF, RAMPS_SMART_EEF, RAMPS_DUO_EEF, RAMPS4DUE_EEF)
47  #define IS_RAMPS_EEF
48 #elif MB(RAMPS_13_SF, RAMPS_14_SF, RAMPS_PLUS_SF, RAMPS_14_RE_ARM_SF, RAMPS_SMART_SF, RAMPS_DUO_SF, RAMPS4DUE_SF)
49  #define IS_RAMPS_SF
50 #endif
51 
52 #define HAS_FREE_AUX2_PINS !(BOTH(ULTRA_LCD, NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, MINIPANEL, REPRAPWORLD_KEYPAD))
53 
54 //
55 // RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560
56 //
57 
58 #if MB(RAMPS_OLD)
59  #include "ramps/pins_RAMPS_OLD.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
60 #elif MB(RAMPS_13_EFB)
61  #include "ramps/pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
62 #elif MB(RAMPS_13_EEB)
63  #include "ramps/pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
64 #elif MB(RAMPS_13_EFF)
65  #include "ramps/pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
66 #elif MB(RAMPS_13_EEF)
67  #include "ramps/pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
68 #elif MB(RAMPS_13_SF)
69  #include "ramps/pins_RAMPS_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
70 #elif MB(RAMPS_14_EFB)
71  #include "ramps/pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
72 #elif MB(RAMPS_14_EEB)
73  #include "ramps/pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
74 #elif MB(RAMPS_14_EFF)
75  #include "ramps/pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
76 #elif MB(RAMPS_14_EEF)
77  #include "ramps/pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
78 #elif MB(RAMPS_14_SF)
79  #include "ramps/pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
80 #elif MB(RAMPS_PLUS_EFB)
81  #include "ramps/pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
82 #elif MB(RAMPS_PLUS_EEB)
83  #include "ramps/pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
84 #elif MB(RAMPS_PLUS_EFF)
85  #include "ramps/pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
86 #elif MB(RAMPS_PLUS_EEF)
87  #include "ramps/pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
88 #elif MB(RAMPS_PLUS_SF)
89  #include "ramps/pins_RAMPS_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
90 
91 //
92 // RAMPS Derivatives - ATmega1280, ATmega2560
93 //
94 
95 #elif MB(3DRAG)
96  #include "ramps/pins_3DRAG.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
97 #elif MB(K8200)
98  #include "ramps/pins_K8200.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 (3DRAG)
99 #elif MB(K8400)
100  #include "ramps/pins_K8400.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 (3DRAG)
101 #elif MB(K8800)
102  #include "ramps/pins_K8800.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 (3DRAG)
103 #elif MB(BAM_DICE)
104  #include "ramps/pins_RAMPS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
105 #elif MB(BAM_DICE_DUE)
106  #include "ramps/pins_BAM_DICE_DUE.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
107 #elif MB(MKS_BASE)
108  #include "ramps/pins_MKS_BASE.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
109 #elif MB(MKS_BASE_14)
110  #include "ramps/pins_MKS_BASE_14.h" // ATmega2560 env:megaatmega2560
111 #elif MB(MKS_BASE_15)
112  #include "ramps/pins_MKS_BASE_15.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
113 #elif MB(MKS_BASE_HEROIC)
114  #include "ramps/pins_MKS_BASE_HEROIC.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
115 #elif MB(MKS_GEN_13)
116  #include "ramps/pins_MKS_GEN_13.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
117 #elif MB(MKS_GEN_L)
118  #include "ramps/pins_MKS_GEN_L.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
119 #elif MB(KFB_2)
120  #include "ramps/pins_BIQU_KFB_2.h" // ATmega2560 env:megaatmega2560
121 #elif MB(ZRIB_V20)
122  #include "ramps/pins_ZRIB_V20.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560 (MKS_GEN_13)
123 #elif MB(FELIX2)
124  #include "ramps/pins_FELIX2.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
125 #elif MB(RIGIDBOARD)
126  #include "ramps/pins_RIGIDBOARD.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
127 #elif MB(RIGIDBOARD_V2)
128  #include "ramps/pins_RIGIDBOARD_V2.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
129 #elif MB(SAINSMART_2IN1)
130  #include "ramps/pins_SAINSMART_2IN1.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
131 #elif MB(ULTIMAKER)
132  #include "ramps/pins_ULTIMAKER.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
133 #elif MB(ULTIMAKER_OLD)
134  #include "ramps/pins_ULTIMAKER_OLD.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
135 #elif MB(AZTEEG_X3)
136  #include "ramps/pins_AZTEEG_X3.h" // ATmega2560 env:megaatmega2560
137 #elif MB(AZTEEG_X3_PRO)
138  #include "ramps/pins_AZTEEG_X3_PRO.h" // ATmega2560 env:megaatmega2560
139 #elif MB(ULTIMAIN_2)
140  #include "ramps/pins_ULTIMAIN_2.h" // ATmega2560 env:megaatmega2560
141 #elif MB(FORMBOT_RAPTOR)
142  #include "ramps/pins_FORMBOT_RAPTOR.h" // ATmega2560 env:megaatmega2560
143 #elif MB(FORMBOT_RAPTOR2)
144  #include "ramps/pins_FORMBOT_RAPTOR2.h" // ATmega2560 env:megaatmega2560
145 #elif MB(FORMBOT_TREX2PLUS)
146  #include "ramps/pins_FORMBOT_TREX2PLUS.h" // ATmega2560 env:megaatmega2560
147 #elif MB(FORMBOT_TREX3)
148  #include "ramps/pins_FORMBOT_TREX3.h" // ATmega2560 env:megaatmega2560
149 #elif MB(RUMBA)
150  #include "ramps/pins_RUMBA.h" // ATmega2560 env:megaatmega2560
151 #elif MB(RUMBA_RAISE3D)
152  #include "ramps/pins_RUMBA_RAISE3D.h" // ATmega2560 env:megaatmega2560
153 #elif MB(RL200)
154  #include "ramps/pins_RL200.h" // ATmega2560 env:megaatmega2560
155 #elif MB(BQ_ZUM_MEGA_3D)
156  #include "ramps/pins_BQ_ZUM_MEGA_3D.h" // ATmega2560 env:megaatmega2560
157 #elif MB(MAKEBOARD_MINI)
158  #include "ramps/pins_MAKEBOARD_MINI.h" // ATmega2560 env:megaatmega2560
159 #elif MB(TRIGORILLA_13)
160  #include "ramps/pins_TRIGORILLA_13.h" // ATmega2560 env:megaatmega2560
161 #elif MB(TRIGORILLA_14)
162  #include "ramps/pins_TRIGORILLA_14.h" // ATmega2560 env:megaatmega2560
163 #elif MB(TRIGORILLA_14_11)
164  #include "ramps/pins_TRIGORILLA_14.h" // ATmega2560 env:megaatmega2560
165 #elif MB(RAMPS_ENDER_4)
166  #include "ramps/pins_RAMPS_ENDER_4.h" // ATmega2560 env:megaatmega2560
167 #elif MB(RAMPS_CREALITY)
168  #include "ramps/pins_RAMPS_CREALITY.h" // ATmega2560 env:megaatmega2560
169 #elif MB(RAMPS_DAGOMA)
170  #include "ramps/pins_RAMPS_DAGOMA.h" // ATmega2560 env:megaatmega2560
171 #elif MB(FYSETC_F6_13)
172  #include "ramps/pins_FYSETC_F6_13.h" // ATmega2560 env:fysetc_f6_13
173 #elif MB(DUPLICATOR_I3_PLUS)
174  #include "ramps/pins_DUPLICATOR_I3_PLUS.h" // ATmega2560 env:megaatmega2560
175 #elif MB(VORON)
176  #include "ramps/pins_VORON.h" // ATmega2560 env:megaatmega2560
177 #elif MB(TRONXY_V3_1_0)
178  #include "ramps/pins_TRONXY_V3_1_0.h" // ATmega2560 env:megaatmega2560
179 #elif MB(Z_BOLT_X_SERIES)
180  #include "ramps/pins_Z_BOLT_X_SERIES.h" // ATmega2560 env:megaatmega2560
181 #elif MB(TT_OSCAR)
182  #include "ramps/pins_TT_OSCAR.h" // ATmega2560 env:megaatmega2560
183 
184 //
185 // RAMBo and derivatives
186 //
187 
188 #elif MB(RAMBO)
189  #include "rambo/pins_RAMBO.h" // ATmega2560 env:rambo
190 #elif MB(MINIRAMBO, MINIRAMBO_10A)
191  #include "rambo/pins_MINIRAMBO.h" // ATmega2560 env:rambo
192 #elif MB(EINSY_RAMBO)
193  #include "rambo/pins_EINSY_RAMBO.h" // ATmega2560 env:rambo
194 #elif MB(EINSY_RETRO)
195  #include "rambo/pins_EINSY_RETRO.h" // ATmega2560 env:rambo
196 #elif MB(SCOOVO_X9H)
197  #include "rambo/pins_SCOOVO_X9H.h" // ATmega2560 env:rambo
198 
199 //
200 // Other ATmega1280, ATmega2560
201 //
202 
203 #elif MB(CNCONTROLS_11)
204  #include "mega/pins_CNCONTROLS_11.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
205 #elif MB(CNCONTROLS_12)
206  #include "mega/pins_CNCONTROLS_12.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
207 #elif MB(CNCONTROLS_15)
208  #include "mega/pins_CNCONTROLS_15.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
209 #elif MB(MIGHTYBOARD_REVE)
210  #include "mega/pins_MIGHTYBOARD_REVE.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
211 #elif MB(CHEAPTRONIC)
212  #include "mega/pins_CHEAPTRONIC.h" // ATmega2560 env:megaatmega2560
213 #elif MB(CHEAPTRONIC_V2)
214  #include "mega/pins_CHEAPTRONICv2.h" // ATmega2560 env:megaatmega2560
215 #elif MB(MEGATRONICS)
216  #include "mega/pins_MEGATRONICS.h" // ATmega2560 env:megaatmega2560
217 #elif MB(MEGATRONICS_2)
218  #include "mega/pins_MEGATRONICS_2.h" // ATmega2560 env:megaatmega2560
219 #elif MB(MEGATRONICS_3, MEGATRONICS_31, MEGATRONICS_32)
220  #include "mega/pins_MEGATRONICS_3.h" // ATmega2560 env:megaatmega2560
221 #elif MB(ELEFU_3)
222  #include "mega/pins_ELEFU_3.h" // ATmega2560 env:megaatmega2560
223 #elif MB(LEAPFROG)
224  #include "mega/pins_LEAPFROG.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
225 #elif MB(MEGACONTROLLER)
226  #include "mega/pins_MEGACONTROLLER.h" // ATmega2560 env:megaatmega2560
227 #elif MB(GT2560_REV_A)
228  #include "mega/pins_GT2560_REV_A.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
229 #elif MB(GT2560_REV_A_PLUS)
230  #include "mega/pins_GT2560_REV_A_PLUS.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
231 #elif MB(GT2560_V3)
232  #include "mega/pins_GT2560_V3.h" // ATmega2560 env:megaatmega2560
233 #elif MB(GT2560_V3_MC2)
234  #include "mega/pins_GT2560_V3_MC2.h" // ATmega2560 env:megaatmega2560
235 #elif MB(GT2560_V3_A20)
236  #include "mega/pins_GT2560_V3_A20.h" // ATmega2560 env:megaatmega2560
237 #elif MB(EINSTART_S)
238  #include "mega/pins_EINSTART-S.h" // ATmega1280, ATmega2560 env:megaatmega1280 env:megaatmega2560
239 #elif MB(WANHAO_ONEPLUS)
240  #include "mega/pins_WANHAO_ONEPLUS.h" // ATmega2560 env:megaatmega2560
241 #elif MB(OVERLORD)
242  #include "mega/pins_OVERLORD.h" // ATmega2560 env:megaatmega2560
243 #elif MB(HJC2560C_REV2)
244  #include "mega/pins_HJC2560C_REV2.h" // ATmega2560 env:megaatmega2560
245 
246 //
247 // ATmega1281, ATmega2561
248 //
249 
250 #elif MB(MINITRONICS)
251  #include "mega/pins_MINITRONICS.h" // ATmega1281 env:megaatmega1280
252 #elif MB(SILVER_GATE)
253  #include "mega/pins_SILVER_GATE.h" // ATmega2561 env:megaatmega2560
254 
255 //
256 // Sanguinololu and Derivatives - ATmega644P, ATmega1284P
257 //
258 
259 #elif MB(SANGUINOLOLU_11)
260  #include "sanguino/pins_SANGUINOLOLU_11.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
261 #elif MB(SANGUINOLOLU_12)
262  #include "sanguino/pins_SANGUINOLOLU_12.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
263 #elif MB(MELZI)
264  #include "sanguino/pins_MELZI.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
265 #elif MB(MELZI_MAKR3D)
266  #include "sanguino/pins_MELZI_MAKR3D.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
267 #elif MB(MELZI_CREALITY)
268  #include "sanguino/pins_MELZI_CREALITY.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
269 #elif MB(MELZI_MALYAN)
270  #include "sanguino/pins_MELZI_MALYAN.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
271 #elif MB(MELZI_TRONXY)
272  #include "sanguino/pins_MELZI_TRONXY.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
273 #elif MB(STB_11)
274  #include "sanguino/pins_STB_11.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
275 #elif MB(AZTEEG_X1)
276  #include "sanguino/pins_AZTEEG_X1.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
277 
278 //
279 // Other ATmega644P, ATmega644, ATmega1284P
280 //
281 
282 #elif MB(GEN3_MONOLITHIC)
283  #include "sanguino/pins_GEN3_MONOLITHIC.h" // ATmega644P env:sanguino_atmega644p
284 #elif MB(GEN3_PLUS)
285  #include "sanguino/pins_GEN3_PLUS.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
286 #elif MB(GEN6)
287  #include "sanguino/pins_GEN6.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
288 #elif MB(GEN6_DELUXE)
289  #include "sanguino/pins_GEN6_DELUXE.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
290 #elif MB(GEN7_CUSTOM)
291  #include "sanguino/pins_GEN7_CUSTOM.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
292 #elif MB(GEN7_12)
293  #include "sanguino/pins_GEN7_12.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
294 #elif MB(GEN7_13)
295  #include "sanguino/pins_GEN7_13.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
296 #elif MB(GEN7_14)
297  #include "sanguino/pins_GEN7_14.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
298 #elif MB(OMCA_A)
299  #include "sanguino/pins_OMCA_A.h" // ATmega644 env:sanguino_atmega644p
300 #elif MB(OMCA)
301  #include "sanguino/pins_OMCA.h" // ATmega644P, ATmega644 env:sanguino_atmega644p
302 #elif MB(ANET_10)
303  #include "sanguino/pins_ANET_10.h" // ATmega1284P env:sanguino_atmega1284p
304 #elif MB(SETHI)
305  #include "sanguino/pins_SETHI.h" // ATmega644P, ATmega644, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p
306 
307 //
308 // Teensyduino - AT90USB1286, AT90USB1286P
309 //
310 
311 #elif MB(TEENSYLU)
312  #include "teensy2/pins_TEENSYLU.h" // AT90USB1286, AT90USB1286P env:at90usb1286_cdc
313 #elif MB(PRINTRBOARD)
314  #include "teensy2/pins_PRINTRBOARD.h" // AT90USB1286 env:at90usb1286_dfu
315 #elif MB(PRINTRBOARD_REVF)
316  #include "teensy2/pins_PRINTRBOARD_REVF.h" // AT90USB1286 env:at90usb1286_dfu
317 #elif MB(BRAINWAVE)
318  #include "teensy2/pins_BRAINWAVE.h" // AT90USB646 env:at90usb1286_cdc
319 #elif MB(BRAINWAVE_PRO)
320  #include "teensy2/pins_BRAINWAVE_PRO.h" // AT90USB1286 env:at90usb1286_cdc
321 #elif MB(SAV_MKI)
322  #include "teensy2/pins_SAV_MKI.h" // AT90USB1286 env:at90usb1286_cdc
323 #elif MB(TEENSY2)
324  #include "teensy2/pins_TEENSY2.h" // AT90USB1286 env:teensy20
325 #elif MB(5DPRINT)
326  #include "teensy2/pins_5DPRINT.h" // AT90USB1286 env:at90usb1286_dfu
327 
328 //
329 // LPC1768 ARM Cortex M3
330 //
331 
332 #elif MB(RAMPS_14_RE_ARM_EFB)
333  #include "lpc1768/pins_RAMPS_RE_ARM.h" // LPC1768 env:LPC1768
334 #elif MB(RAMPS_14_RE_ARM_EEB)
335  #include "lpc1768/pins_RAMPS_RE_ARM.h" // LPC1768 env:LPC1768
336 #elif MB(RAMPS_14_RE_ARM_EFF)
337  #include "lpc1768/pins_RAMPS_RE_ARM.h" // LPC1768 env:LPC1768
338 #elif MB(RAMPS_14_RE_ARM_EEF)
339  #include "lpc1768/pins_RAMPS_RE_ARM.h" // LPC1768 env:LPC1768
340 #elif MB(RAMPS_14_RE_ARM_SF)
341  #include "lpc1768/pins_RAMPS_RE_ARM.h" // LPC1768 env:LPC1768
342 #elif MB(MKS_SBASE)
343  #include "lpc1768/pins_MKS_SBASE.h" // LPC1768 env:LPC1768
344 #elif MB(MKS_SGEN_L)
345  #include "lpc1768/pins_MKS_SGEN_L.h" // LPC1768 env:LPC1768
346 #elif MB(AZSMZ_MINI)
347  #include "lpc1768/pins_AZSMZ_MINI.h" // LPC1768 env:LPC1768
348 #elif MB(BIQU_BQ111_A4)
349  #include "lpc1768/pins_BIQU_BQ111_A4.h" // LPC1768 env:LPC1768
350 #elif MB(SELENA_COMPACT)
351  #include "lpc1768/pins_SELENA_COMPACT.h" // LPC1768 env:LPC1768
352 #elif MB(BIGTREE_SKR_V1_1)
353  #include "lpc1768/pins_BIGTREE_SKR_V1.1.h" // LPC1768 env:LPC1768
354 #elif MB(BIQU_B300_V1_0)
355  #include "lpc1768/pins_BIQU_B300_V1.0.h" // LPC1768 env:LPC1768
356 #elif MB(BIGTREE_SKR_V1_3)
357  #include "lpc1768/pins_BIGTREE_SKR_V1.3.h" // LPC1768 env:LPC1768
358 #elif MB(GMARSH_X6_REV1)
359  #include "lpc1768/pins_GMARSH_X6_REV1.h" // LPC1768 env:LPC1768
360 
361 //
362 // LPC1769 ARM Cortex M3
363 //
364 
365 #elif MB(MKS_SGEN)
366  #include "lpc1769/pins_MKS_SGEN.h" // LPC1769 env:LPC1769
367 #elif MB(AZTEEG_X5_GT)
368  #include "lpc1769/pins_AZTEEG_X5_GT.h" // LPC1769 env:LPC1769
369 #elif MB(AZTEEG_X5_MINI)
370  #include "lpc1769/pins_AZTEEG_X5_MINI.h" // LPC1769 env:LPC1769
371 #elif MB(AZTEEG_X5_MINI_WIFI)
372  #include "lpc1769/pins_AZTEEG_X5_MINI_WIFI.h" // LPC1769 env:LPC1769
373 #elif MB(COHESION3D_REMIX)
374  #include "lpc1769/pins_COHESION3D_REMIX.h" // LPC1769 env:LPC1769
375 #elif MB(COHESION3D_MINI)
376  #include "lpc1769/pins_COHESION3D_MINI.h" // LPC1769 env:LPC1769
377 #elif MB(SMOOTHIEBOARD)
378  #include "lpc1769/pins_SMOOTHIEBOARD.h" // LPC1769 env:LPC1769
379 #elif MB(TH3D_EZBOARD)
380  #include "lpc1769/pins_TH3D_EZBOARD.h" // LPC1769 env:LPC1769
381 
382 //
383 // Due (ATSAM) boards
384 //
385 
386 #elif MB(DUE3DOM)
387  #include "sam/pins_DUE3DOM.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
388 #elif MB(DUE3DOM_MINI)
389  #include "sam/pins_DUE3DOM_MINI.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
390 #elif MB(RADDS)
391  #include "sam/pins_RADDS.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
392 #elif MB(RURAMPS4D_11)
393  #include "sam/pins_RURAMPS4D_11.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
394 #elif MB(RURAMPS4D_13)
395  #include "sam/pins_RURAMPS4D_13.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
396 #elif MB(RAMPS_FD_V1)
397  #include "sam/pins_RAMPS_FD_V1.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
398 #elif MB(RAMPS_FD_V2)
399  #include "sam/pins_RAMPS_FD_V2.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
400 #elif MB(RAMPS_SMART_EFB)
401  #include "sam/pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
402 #elif MB(RAMPS_SMART_EEB)
403  #include "sam/pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
404 #elif MB(RAMPS_SMART_EFF)
405  #include "sam/pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
406 #elif MB(RAMPS_SMART_EEF)
407  #include "sam/pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
408 #elif MB(RAMPS_SMART_SF)
409  #include "sam/pins_RAMPS_SMART.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
410 #elif MB(RAMPS_DUO_EFB)
411  #include "sam/pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
412 #elif MB(RAMPS_DUO_EEB)
413  #include "sam/pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
414 #elif MB(RAMPS_DUO_EFF)
415  #include "sam/pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
416 #elif MB(RAMPS_DUO_EEF)
417  #include "sam/pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
418 #elif MB(RAMPS_DUO_SF)
419  #include "sam/pins_RAMPS_DUO.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
420 #elif MB(RAMPS4DUE_EFB)
421  #include "sam/pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
422 #elif MB(RAMPS4DUE_EEB)
423  #include "sam/pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
424 #elif MB(RAMPS4DUE_EFF)
425  #include "sam/pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
426 #elif MB(RAMPS4DUE_EEF)
427  #include "sam/pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
428 #elif MB(RAMPS4DUE_SF)
429  #include "sam/pins_RAMPS4DUE.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug
430 #elif MB(ULTRATRONICS_PRO)
431  #include "sam/pins_ULTRATRONICS_PRO.h" // SAM3X8E env:DUE env:DUE_debug
432 #elif MB(ARCHIM1)
433  #include "sam/pins_ARCHIM1.h" // SAM3X8E env:DUE env:DUE_debug
434 #elif MB(ARCHIM2)
435  #include "sam/pins_ARCHIM2.h" // SAM3X8E env:DUE env:DUE_debug
436 #elif MB(ALLIGATOR)
437  #include "sam/pins_ALLIGATOR_R2.h" // SAM3X8E env:DUE env:DUE_debug
438 #elif MB(ADSK)
439  #include "sam/pins_ADSK.h" // SAM3X8E env:DUE env:DUE_debug
440 #elif MB(PRINTRBOARD_G2)
441  #include "sam/pins_PRINTRBOARD_G2.h" // SAM3X8C env:DUE_USB
442 
443 //
444 // STM32 ARM Cortex-M3
445 //
446 
447 #elif MB(STM32F103RE)
448  #include "stm32/pins_STM32F1R.h" // STM32F1 env:STM32F103RE
449 #elif MB(MALYAN_M200)
450  #include "stm32/pins_MALYAN_M200.h" // STM32F1 env:STM32F103CB_malyan
451 #elif MB(STM3R_MINI)
452  #include "stm32/pins_STM3R_MINI.h" // STM32F1 env:STM32F103RE
453 #elif MB(GTM32_PRO_VB)
454  #include "stm32/pins_GTM32_PRO_VB.h" // STM32F1 env:STM32F103RE
455 #elif MB(MORPHEUS)
456  #include "stm32/pins_MORPHEUS.h" // STM32F1 env:STM32F103RE
457 #elif MB(CHITU3D)
458  #include "stm32/pins_CHITU3D.h" // STM32F1 env:STM32F103RE
459 #elif MB(MKS_ROBIN)
460  #include "stm32/pins_MKS_ROBIN.h" // STM32F1 env:mks_robin
461 #elif MB(MKS_ROBIN_MINI)
462  #include "stm32/pins_MKS_ROBIN_MINI.h" // STM32F1 env:mks_robin_mini
463 #elif MB(MKS_ROBIN_NANO)
464  #include "stm32/pins_MKS_ROBIN_NANO.h" // STM32F1 env:mks_robin_nano
465 #elif MB(MKS_ROBIN_LITE)
466  #include "stm32/pins_MKS_ROBIN_LITE.h" // STM32F1 env:mks_robin_lite
467 #elif MB(BIGTREE_SKR_MINI_V1_1)
468  #include "stm32/pins_BIGTREE_SKR_MINI_V1_1.h" // STM32F1 env:STM32F103RC_bigtree
469 #elif MB(BTT_SKR_MINI_E3_V1_2)
470  #include "stm32/pins_BTT_SKR_MINI_E3_V1_2.h" // STM32F1 env:STM32F103RC_bigtree
471 #elif MB(BIGTREE_SKR_MINI_E3)
472  #include "stm32/pins_BIGTREE_SKR_MINI_E3.h" // STM32F1 env:STM32F103RC_bigtree
473 #elif MB(BIGTREE_SKR_E3_DIP)
474  #include "stm32/pins_BIGTREE_SKR_E3_DIP.h" // STM32F1 env:STM32F103RC_bigtree
475 #elif MB(JGAURORA_A5S_A1)
476  #include "stm32/pins_JGAURORA_A5S_A1.h" // STM32F1 env:jgaurora_a5s_a1
477 #elif MB(FYSETC_AIO_II)
478  #include "stm32/pins_FYSETC_AIO_II.h" // STM32F1 env:STM32F103RC_fysetc
479 #elif MB(FYSETC_CHEETAH)
480  #include "stm32/pins_FYSETC_CHEETAH.h" // STM32F1 env:STM32F103RC_fysetc
481 #elif MB(FYSETC_CHEETAH_V12)
482  #include "stm32/pins_FYSETC_CHEETAH_V12.h" // STM32F1 env:STM32F103RC_fysetc
483 #elif MB(LONGER3D_LK)
484  #include "stm32/pins_LONGER3D_LK.h" // STM32F1 env:STM32F103VE_longer
485 
486 //
487 // ARM Cortex-M4F
488 //
489 
490 #elif MB(TEENSY31_32)
491  #include "teensy3/pins_TEENSY31_32.h" // TEENSY31_32 env:teensy31
492 #elif MB(TEENSY35_36)
493  #include "teensy3/pins_TEENSY35_36.h" // TEENSY35_36 env:teensy35
494 
495 //
496 // STM32 ARM Cortex-M4F
497 //
498 
499 #elif MB(BEAST)
500  #include "stm32/pins_BEAST.h" // STM32F4 env:STM32F4
501 #elif MB(STM32F4)
502  #include "stm32/pins_STM32F4.h" // STM32F4 env:STM32F4
503 #elif MB(ARMED)
504  #include "stm32/pins_ARMED.h" // STM32F4 env:ARMED
505 #elif MB(RUMBA32)
506  #include "stm32/pins_RUMBA32.h" // STM32F4 env:RUMBA32
507 #elif MB(BLACK_STM32F407VE)
508  #include "stm32/pins_BLACK_STM32F407VE.h" // STM32F4 env:STM32F407VE_black
509 #elif MB(STEVAL)
510  #include "stm32/pins_STEVAL.h" // STM32F4 env:STM32F4
511 #elif MB(BIGTREE_SKR_PRO_V1_1)
512  #include "stm32/pins_BIGTREE_SKR_PRO_V1.1.h" // STM32F4 env:BIGTREE_SKR_PRO
513 #elif MB(BIGTREE_BTT002_V1_0)
514  #include "stm32/pins_BIGTREE_BTT002_V1.0.h" // STM32F4 env:BIGTREE_BTT002
515 #elif MB(LERDGE_K)
516  #include "stm32/pins_LERDGE_K.h" // STM32F4 env:STM32F4
517 #elif MB(LERDGE_X)
518  #include "stm32/pins_LERDGE_X.h" // STM32F4 env:STM32F4
519 #elif MB(A3IDES_2209_02)
520  #include "stm32/pins_A3IDES_2209_02.h" // STM32F4 env:STM32F4
521 
522 
523 //
524 // ARM Cortex M7
525 //
526 
527 #elif MB(THE_BORG)
528  #include "stm32/pins_THE_BORG.h" // STM32F7 env:STM32F7
529 #elif MB(REMRAM_V1)
530  #include "stm32/pins_REMRAM_V1.h" // STM32F7 env:STM32F7
531 
532 //
533 // Espressif ESP32
534 //
535 
536 #elif MB(ESPRESSIF_ESP32)
537 
538  #include "esp32/pins_ESP32.h" // ESP32 env:esp32
539 
540 //
541 // Linux Native Debug board
542 //
543 
544 #elif MB(LINUX_RAMPS)
545  #include "linux/pins_RAMPS_LINUX.h" // Linux env:linux_native
546 
547 #else
548  #error "Unknown MOTHERBOARD value set in Configuration.h"
549 #endif
550 
551 // Define certain undefined pins
552 #ifndef X_MS1_PIN
553  #define X_MS1_PIN -1
554 #endif
555 #ifndef X_MS2_PIN
556  #define X_MS2_PIN -1
557 #endif
558 #ifndef X_MS3_PIN
559  #define X_MS3_PIN -1
560 #endif
561 #ifndef Y_MS1_PIN
562  #define Y_MS1_PIN -1
563 #endif
564 #ifndef Y_MS2_PIN
565  #define Y_MS2_PIN -1
566 #endif
567 #ifndef Y_MS3_PIN
568  #define Y_MS3_PIN -1
569 #endif
570 #ifndef Z_MS1_PIN
571  #define Z_MS1_PIN -1
572 #endif
573 #ifndef Z_MS2_PIN
574  #define Z_MS2_PIN -1
575 #endif
576 #ifndef Z_MS3_PIN
577  #define Z_MS3_PIN -1
578 #endif
579 #ifndef E0_MS1_PIN
580  #define E0_MS1_PIN -1
581 #endif
582 #ifndef E0_MS2_PIN
583  #define E0_MS2_PIN -1
584 #endif
585 #ifndef E0_MS3_PIN
586  #define E0_MS3_PIN -1
587 #endif
588 #ifndef E1_MS1_PIN
589  #define E1_MS1_PIN -1
590 #endif
591 #ifndef E1_MS2_PIN
592  #define E1_MS2_PIN -1
593 #endif
594 #ifndef E1_MS3_PIN
595  #define E1_MS3_PIN -1
596 #endif
597 #ifndef E2_MS1_PIN
598  #define E2_MS1_PIN -1
599 #endif
600 #ifndef E2_MS2_PIN
601  #define E2_MS2_PIN -1
602 #endif
603 #ifndef E2_MS3_PIN
604  #define E2_MS3_PIN -1
605 #endif
606 #ifndef E3_MS1_PIN
607  #define E3_MS1_PIN -1
608 #endif
609 #ifndef E3_MS2_PIN
610  #define E3_MS2_PIN -1
611 #endif
612 #ifndef E3_MS3_PIN
613  #define E3_MS3_PIN -1
614 #endif
615 #ifndef E4_MS1_PIN
616  #define E4_MS1_PIN -1
617 #endif
618 #ifndef E4_MS2_PIN
619  #define E4_MS2_PIN -1
620 #endif
621 #ifndef E4_MS3_PIN
622  #define E4_MS3_PIN -1
623 #endif
624 #ifndef E5_MS1_PIN
625  #define E5_MS1_PIN -1
626 #endif
627 #ifndef E5_MS2_PIN
628  #define E5_MS2_PIN -1
629 #endif
630 #ifndef E5_MS3_PIN
631  #define E5_MS3_PIN -1
632 #endif
633 
634 #ifndef E0_STEP_PIN
635  #define E0_STEP_PIN -1
636 #endif
637 #ifndef E0_DIR_PIN
638  #define E0_DIR_PIN -1
639 #endif
640 #ifndef E0_ENABLE_PIN
641  #define E0_ENABLE_PIN -1
642 #endif
643 #ifndef E1_STEP_PIN
644  #define E1_STEP_PIN -1
645 #endif
646 #ifndef E1_DIR_PIN
647  #define E1_DIR_PIN -1
648 #endif
649 #ifndef E1_ENABLE_PIN
650  #define E1_ENABLE_PIN -1
651 #endif
652 #ifndef E2_STEP_PIN
653  #define E2_STEP_PIN -1
654 #endif
655 #ifndef E2_DIR_PIN
656  #define E2_DIR_PIN -1
657 #endif
658 #ifndef E2_ENABLE_PIN
659  #define E2_ENABLE_PIN -1
660 #endif
661 #ifndef E3_STEP_PIN
662  #define E3_STEP_PIN -1
663 #endif
664 #ifndef E3_DIR_PIN
665  #define E3_DIR_PIN -1
666 #endif
667 #ifndef E3_ENABLE_PIN
668  #define E3_ENABLE_PIN -1
669 #endif
670 #ifndef E4_STEP_PIN
671  #define E4_STEP_PIN -1
672 #endif
673 #ifndef E4_DIR_PIN
674  #define E4_DIR_PIN -1
675 #endif
676 #ifndef E4_ENABLE_PIN
677  #define E4_ENABLE_PIN -1
678 #endif
679 #ifndef E5_STEP_PIN
680  #define E5_STEP_PIN -1
681 #endif
682 #ifndef E5_DIR_PIN
683  #define E5_DIR_PIN -1
684 #endif
685 #ifndef E5_ENABLE_PIN
686  #define E5_ENABLE_PIN -1
687 #endif
688 
689 #ifndef X_CS_PIN
690  #define X_CS_PIN -1
691 #endif
692 #ifndef Y_CS_PIN
693  #define Y_CS_PIN -1
694 #endif
695 #ifndef Z_CS_PIN
696  #define Z_CS_PIN -1
697 #endif
698 #ifndef E0_CS_PIN
699  #define E0_CS_PIN -1
700 #endif
701 #ifndef E1_CS_PIN
702  #define E1_CS_PIN -1
703 #endif
704 #ifndef E2_CS_PIN
705  #define E2_CS_PIN -1
706 #endif
707 #ifndef E3_CS_PIN
708  #define E3_CS_PIN -1
709 #endif
710 #ifndef E4_CS_PIN
711  #define E4_CS_PIN -1
712 #endif
713 #ifndef E5_CS_PIN
714  #define E5_CS_PIN -1
715 #endif
716 
717 #ifndef FAN_PIN
718  #define FAN_PIN -1
719 #endif
720 #define FAN0_PIN FAN_PIN
721 #ifndef FAN1_PIN
722  #define FAN1_PIN -1
723 #endif
724 #ifndef FAN2_PIN
725  #define FAN2_PIN -1
726 #endif
727 #ifndef CONTROLLER_FAN_PIN
728  #define CONTROLLER_FAN_PIN -1
729 #endif
730 
731 #ifndef FANMUX0_PIN
732  #define FANMUX0_PIN -1
733 #endif
734 #ifndef FANMUX1_PIN
735  #define FANMUX1_PIN -1
736 #endif
737 #ifndef FANMUX2_PIN
738  #define FANMUX2_PIN -1
739 #endif
740 
741 #ifndef HEATER_0_PIN
742  #define HEATER_0_PIN -1
743 #endif
744 #ifndef HEATER_1_PIN
745  #define HEATER_1_PIN -1
746 #endif
747 #ifndef HEATER_2_PIN
748  #define HEATER_2_PIN -1
749 #endif
750 #ifndef HEATER_3_PIN
751  #define HEATER_3_PIN -1
752 #endif
753 #ifndef HEATER_4_PIN
754  #define HEATER_4_PIN -1
755 #endif
756 #ifndef HEATER_5_PIN
757  #define HEATER_5_PIN -1
758 #endif
759 #ifndef HEATER_BED_PIN
760  #define HEATER_BED_PIN -1
761 #endif
762 
763 #ifndef TEMP_0_PIN
764  #define TEMP_0_PIN -1
765 #endif
766 #ifndef TEMP_1_PIN
767  #define TEMP_1_PIN -1
768 #endif
769 #ifndef TEMP_2_PIN
770  #define TEMP_2_PIN -1
771 #endif
772 #ifndef TEMP_3_PIN
773  #define TEMP_3_PIN -1
774 #endif
775 #ifndef TEMP_4_PIN
776  #define TEMP_4_PIN -1
777 #endif
778 #ifndef TEMP_5_PIN
779  #define TEMP_5_PIN -1
780 #endif
781 #ifndef TEMP_BED_PIN
782  #define TEMP_BED_PIN -1
783 #endif
784 
785 #ifndef SD_DETECT_PIN
786  #define SD_DETECT_PIN -1
787 #endif
788 #ifndef SDPOWER_PIN
789  #define SDPOWER_PIN -1
790 #endif
791 #ifndef SDSS
792  #define SDSS -1
793 #endif
794 #ifndef LED_PIN
795  #define LED_PIN -1
796 #endif
797 #if DISABLED(PSU_CONTROL) || !defined(PS_ON_PIN)
798  #undef PS_ON_PIN
799  #define PS_ON_PIN -1
800 #endif
801 #ifndef KILL_PIN
802  #define KILL_PIN -1
803 #endif
804 #ifndef SUICIDE_PIN
805  #define SUICIDE_PIN -1
806 #endif
807 
808 #ifndef NUM_SERVO_PLUGS
809  #define NUM_SERVO_PLUGS 4
810 #endif
811 
812 //
813 // Assign auto fan pins if needed
814 //
815 #ifndef E0_AUTO_FAN_PIN
816  #ifdef ORIG_E0_AUTO_FAN_PIN
817  #define E0_AUTO_FAN_PIN ORIG_E0_AUTO_FAN_PIN
818  #else
819  #define E0_AUTO_FAN_PIN -1
820  #endif
821 #endif
822 #ifndef E1_AUTO_FAN_PIN
823  #ifdef ORIG_E1_AUTO_FAN_PIN
824  #define E1_AUTO_FAN_PIN ORIG_E1_AUTO_FAN_PIN
825  #else
826  #define E1_AUTO_FAN_PIN -1
827  #endif
828 #endif
829 #ifndef E2_AUTO_FAN_PIN
830  #ifdef ORIG_E2_AUTO_FAN_PIN
831  #define E2_AUTO_FAN_PIN ORIG_E2_AUTO_FAN_PIN
832  #else
833  #define E2_AUTO_FAN_PIN -1
834  #endif
835 #endif
836 #ifndef E3_AUTO_FAN_PIN
837  #ifdef ORIG_E3_AUTO_FAN_PIN
838  #define E3_AUTO_FAN_PIN ORIG_E3_AUTO_FAN_PIN
839  #else
840  #define E3_AUTO_FAN_PIN -1
841  #endif
842 #endif
843 #ifndef E4_AUTO_FAN_PIN
844  #ifdef ORIG_E4_AUTO_FAN_PIN
845  #define E4_AUTO_FAN_PIN ORIG_E4_AUTO_FAN_PIN
846  #else
847  #define E4_AUTO_FAN_PIN -1
848  #endif
849 #endif
850 #ifndef E5_AUTO_FAN_PIN
851  #ifdef ORIG_E5_AUTO_FAN_PIN
852  #define E5_AUTO_FAN_PIN ORIG_E5_AUTO_FAN_PIN
853  #else
854  #define E5_AUTO_FAN_PIN -1
855  #endif
856 #endif
857 #ifndef CHAMBER_AUTO_FAN_PIN
858  #ifdef ORIG_CHAMBER_AUTO_FAN_PIN
859  #define CHAMBER_AUTO_FAN_PIN ORIG_CHAMBER_AUTO_FAN_PIN
860  #else
861  #define CHAMBER_AUTO_FAN_PIN -1
862  #endif
863 #endif
864 
865 //
866 // Assign endstop pins for boards with only 3 connectors
867 //
868 #ifdef X_STOP_PIN
869  #if X_HOME_DIR < 0
870  #define X_MIN_PIN X_STOP_PIN
871  #define X_MAX_PIN -1
872  #else
873  #define X_MIN_PIN -1
874  #define X_MAX_PIN X_STOP_PIN
875  #endif
876 #elif X_HOME_DIR < 0
877  #define X_STOP_PIN X_MIN_PIN
878 #else
879  #define X_STOP_PIN X_MAX_PIN
880 #endif
881 
882 #ifdef Y_STOP_PIN
883  #if Y_HOME_DIR < 0
884  #define Y_MIN_PIN Y_STOP_PIN
885  #define Y_MAX_PIN -1
886  #else
887  #define Y_MIN_PIN -1
888  #define Y_MAX_PIN Y_STOP_PIN
889  #endif
890 #elif Y_HOME_DIR < 0
891  #define Y_STOP_PIN Y_MIN_PIN
892 #else
893  #define Y_STOP_PIN Y_MAX_PIN
894 #endif
895 
896 #ifdef Z_STOP_PIN
897  #if Z_HOME_DIR < 0
898  #define Z_MIN_PIN Z_STOP_PIN
899  #define Z_MAX_PIN -1
900  #else
901  #define Z_MIN_PIN -1
902  #define Z_MAX_PIN Z_STOP_PIN
903  #endif
904 #elif Z_HOME_DIR < 0
905  #define Z_STOP_PIN Z_MIN_PIN
906 #else
907  #define Z_STOP_PIN Z_MAX_PIN
908 #endif
909 
910 //
911 // Disable unused endstop / probe pins
912 //
913 #if !HAS_CUSTOM_PROBE_PIN
914  #undef Z_MIN_PROBE_PIN
915  #define Z_MIN_PROBE_PIN -1
916 #endif
917 
918 #if DISABLED(USE_XMAX_PLUG)
919  #undef X_MAX_PIN
920  #define X_MAX_PIN -1
921 #endif
922 
923 #if DISABLED(USE_YMAX_PLUG)
924  #undef Y_MAX_PIN
925  #define Y_MAX_PIN -1
926 #endif
927 
928 #if DISABLED(USE_ZMAX_PLUG)
929  #undef Z_MAX_PIN
930  #define Z_MAX_PIN -1
931 #endif
932 
933 #if DISABLED(USE_XMIN_PLUG)
934  #undef X_MIN_PIN
935  #define X_MIN_PIN -1
936 #endif
937 
938 #if DISABLED(USE_YMIN_PLUG)
939  #undef Y_MIN_PIN
940  #define Y_MIN_PIN -1
941 #endif
942 
943 #if DISABLED(USE_ZMIN_PLUG)
944  #undef Z_MIN_PIN
945  #define Z_MIN_PIN -1
946 #endif
947 
948 #ifndef LCD_PINS_D4
949  #define LCD_PINS_D4 -1
950 #endif
951 
952 #if HAS_CHARACTER_LCD || TOUCH_UI_ULTIPANEL
953  #ifndef LCD_PINS_D5
954  #define LCD_PINS_D5 -1
955  #endif
956  #ifndef LCD_PINS_D6
957  #define LCD_PINS_D6 -1
958  #endif
959  #ifndef LCD_PINS_D7
960  #define LCD_PINS_D7 -1
961  #endif
962 #endif
963 
964 /**
965  * Auto-Assignment for Dual X, Dual Y, Multi-Z Steppers
966  *
967  * By default X2 is assigned to the next open E plug
968  * on the board, then in order, Y2, Z2, Z3. These can be
969  * overridden in Configuration.h or Configuration_adv.h.
970  */
971 
972 #define __EPIN(p,q) E##p##_##q##_PIN
973 #define _EPIN(p,q) __EPIN(p,q)
974 
975 // The X2 axis, if any, should be the next open extruder port
976 #if EITHER(DUAL_X_CARRIAGE, X_DUAL_STEPPER_DRIVERS)
977  #ifndef X2_STEP_PIN
978  #define X2_STEP_PIN _EPIN(E_STEPPERS, STEP)
979  #define X2_DIR_PIN _EPIN(E_STEPPERS, DIR)
980  #define X2_ENABLE_PIN _EPIN(E_STEPPERS, ENABLE)
981  #if E_STEPPERS >= MAX_EXTRUDERS || !PIN_EXISTS(X2_STEP)
982  #error "No E stepper plug left for X2!"
983  #endif
984  #endif
985  #ifndef X2_CS_PIN
986  #define X2_CS_PIN _EPIN(E_STEPPERS, CS)
987  #endif
988  #ifndef X2_MS1_PIN
989  #define X2_MS1_PIN _EPIN(E_STEPPERS, MS1)
990  #endif
991  #ifndef X2_MS2_PIN
992  #define X2_MS2_PIN _EPIN(E_STEPPERS, MS2)
993  #endif
994  #ifndef X2_MS3_PIN
995  #define X2_MS3_PIN _EPIN(E_STEPPERS, MS3)
996  #endif
997  #if AXIS_DRIVER_TYPE_X2(TMC2208) || AXIS_DRIVER_TYPE_X2(TMC2209)
998  #ifndef X2_SERIAL_TX_PIN
999  #define X2_SERIAL_TX_PIN _EPIN(E_STEPPERS, SERIAL_TX)
1000  #endif
1001  #ifndef X2_SERIAL_RX_PIN
1002  #define X2_SERIAL_RX_PIN _EPIN(E_STEPPERS, SERIAL_RX)
1003  #endif
1004  #endif
1005  #define Y2_E_INDEX INCREMENT(E_STEPPERS)
1006 #else
1007  #define Y2_E_INDEX E_STEPPERS
1008 #endif
1009 
1010 // The Y2 axis, if any, should be the next open extruder port
1011 #if ENABLED(Y_DUAL_STEPPER_DRIVERS)
1012  #ifndef Y2_STEP_PIN
1013  #define Y2_STEP_PIN _EPIN(Y2_E_INDEX, STEP)
1014  #define Y2_DIR_PIN _EPIN(Y2_E_INDEX, DIR)
1015  #define Y2_ENABLE_PIN _EPIN(Y2_E_INDEX, ENABLE)
1016  #if Y2_E_INDEX >= MAX_EXTRUDERS || !PIN_EXISTS(Y2_STEP)
1017  #error "No E stepper plug left for Y2!"
1018  #endif
1019  #endif
1020  #ifndef Y2_CS_PIN
1021  #define Y2_CS_PIN _EPIN(Y2_E_INDEX, CS)
1022  #endif
1023  #ifndef Y2_MS1_PIN
1024  #define Y2_MS1_PIN _EPIN(Y2_E_INDEX, MS1)
1025  #endif
1026  #ifndef Y2_MS2_PIN
1027  #define Y2_MS2_PIN _EPIN(Y2_E_INDEX, MS2)
1028  #endif
1029  #ifndef Y2_MS3_PIN
1030  #define Y2_MS3_PIN _EPIN(Y2_E_INDEX, MS3)
1031  #endif
1032  #if AXIS_DRIVER_TYPE_Y2(TMC2208) || AXIS_DRIVER_TYPE_Y2(TMC2209)
1033  #ifndef Y2_SERIAL_TX_PIN
1034  #define Y2_SERIAL_TX_PIN _EPIN(Y2_E_INDEX, SERIAL_TX)
1035  #endif
1036  #ifndef Y2_SERIAL_RX_PIN
1037  #define Y2_SERIAL_RX_PIN _EPIN(Y2_E_INDEX, SERIAL_RX)
1038  #endif
1039  #endif
1040  #define Z2_E_INDEX INCREMENT(Y2_E_INDEX)
1041 #else
1042  #define Z2_E_INDEX Y2_E_INDEX
1043 #endif
1044 
1045 // The Z2 axis, if any, should be the next open extruder port
1046 #if Z_MULTI_STEPPER_DRIVERS
1047  #ifndef Z2_STEP_PIN
1048  #define Z2_STEP_PIN _EPIN(Z2_E_INDEX, STEP)
1049  #define Z2_DIR_PIN _EPIN(Z2_E_INDEX, DIR)
1050  #define Z2_ENABLE_PIN _EPIN(Z2_E_INDEX, ENABLE)
1051  #if Z2_E_INDEX >= MAX_EXTRUDERS || !PIN_EXISTS(Z2_STEP)
1052  #error "No E stepper plug left for Z2!"
1053  #endif
1054  #endif
1055  #ifndef Z2_CS_PIN
1056  #define Z2_CS_PIN _EPIN(Z2_E_INDEX, CS)
1057  #endif
1058  #ifndef Z2_MS1_PIN
1059  #define Z2_MS1_PIN _EPIN(Z2_E_INDEX, MS1)
1060  #endif
1061  #ifndef Z2_MS2_PIN
1062  #define Z2_MS2_PIN _EPIN(Z2_E_INDEX, MS2)
1063  #endif
1064  #ifndef Z2_MS3_PIN
1065  #define Z2_MS3_PIN _EPIN(Z2_E_INDEX, MS3)
1066  #endif
1067  #if AXIS_DRIVER_TYPE_Z2(TMC2208) || AXIS_DRIVER_TYPE_Z2(TMC2209)
1068  #ifndef Z2_SERIAL_TX_PIN
1069  #define Z2_SERIAL_TX_PIN _EPIN(Z2_E_INDEX, SERIAL_TX)
1070  #endif
1071  #ifndef Z2_SERIAL_RX_PIN
1072  #define Z2_SERIAL_RX_PIN _EPIN(Z2_E_INDEX, SERIAL_RX)
1073  #endif
1074  #endif
1075  #define Z3_E_INDEX INCREMENT(Z2_E_INDEX)
1076 #else
1077  #define Z3_E_INDEX Z2_E_INDEX
1078 #endif
1079 
1080 #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
1081  #ifndef Z3_STEP_PIN
1082  #define Z3_STEP_PIN _EPIN(Z3_E_INDEX, STEP)
1083  #define Z3_DIR_PIN _EPIN(Z3_E_INDEX, DIR)
1084  #define Z3_ENABLE_PIN _EPIN(Z3_E_INDEX, ENABLE)
1085  #if Z3_E_INDEX >= MAX_EXTRUDERS || !PIN_EXISTS(Z3_STEP)
1086  #error "No E stepper plug left for Z3!"
1087  #endif
1088  #endif
1089  #ifndef Z3_CS_PIN
1090  #define Z3_CS_PIN _EPIN(Z3_E_INDEX, CS)
1091  #endif
1092  #ifndef Z3_MS1_PIN
1093  #define Z3_MS1_PIN _EPIN(Z3_E_INDEX, MS1)
1094  #endif
1095  #ifndef Z3_MS2_PIN
1096  #define Z3_MS2_PIN _EPIN(Z3_E_INDEX, MS2)
1097  #endif
1098  #ifndef Z3_MS3_PIN
1099  #define Z3_MS3_PIN _EPIN(Z3_E_INDEX, MS3)
1100  #endif
1101  #if AXIS_DRIVER_TYPE_Z3(TMC2208) || AXIS_DRIVER_TYPE_Z3(TMC2209)
1102  #ifndef Z3_SERIAL_TX_PIN
1103  #define Z3_SERIAL_TX_PIN _EPIN(Z3_E_INDEX, SERIAL_TX)
1104  #endif
1105  #ifndef Z3_SERIAL_RX_PIN
1106  #define Z3_SERIAL_RX_PIN _EPIN(Z3_E_INDEX, SERIAL_RX)
1107  #endif
1108  #endif
1109 #endif
1110 
1111 #undef HAS_FREE_AUX2_PINS
pins_ANET_10.h
pins_AZSMZ_MINI.h
pins_COHESION3D_REMIX.h
pins_RAMPS_LINUX.h
pins_SETHI.h
pins_TEENSY35_36.h
pins_MKS_SGEN.h
pins_GT2560_V3_A20.h
pins_CHEAPTRONIC.h
pins_MEGATRONICS_2.h
pins_BIGTREE_SKR_V1.1.h
pins_ULTIMAKER.h
pins_MEGACONTROLLER.h
pins_BIGTREE_SKR_MINI_V1_1.h
pins_MKS_SGEN_L.h
pins_FYSETC_AIO_II.h
pins_RADDS.h
pins_Z_BOLT_X_SERIES.h
pins_EINSY_RETRO.h
pins_FORMBOT_RAPTOR2.h
pins_GEN7_12.h
pins_BRAINWAVE_PRO.h
pins_BIGTREE_SKR_E3_DIP.h
pins_MELZI_CREALITY.h
pins_BRAINWAVE.h
pins_GT2560_V3.h
pins_REMRAM_V1.h
pins_MKS_GEN_13.h
pins_SMOOTHIEBOARD.h
pins_RAMPS_OLD.h
pins_LONGER3D_LK.h
pins_MALYAN_M200.h
pins_BIQU_KFB_2.h
pins_BQ_ZUM_MEGA_3D.h
pins_AZTEEG_X1.h
pins_SELENA_COMPACT.h
pins_STB_11.h
pins_JGAURORA_A5S_A1.h
pins_STEVAL.h
pins_PRINTRBOARD_G2.h
pins_EINSTART-S.h
pins_ALLIGATOR_R2.h
pins_OMCA.h
pins_SAINSMART_2IN1.h
pins_MKS_ROBIN_NANO.h
pins_K8800.h
pins_THE_BORG.h
pins_BTT_SKR_MINI_E3_V1_2.h
pins_MELZI.h
pins_LERDGE_X.h
pins_GT2560_V3_MC2.h
pins_GEN7_CUSTOM.h
pins_TEENSYLU.h
pins_DUPLICATOR_I3_PLUS.h
pins_RAMPS4DUE.h
pins_RUMBA32.h
pins_CNCONTROLS_15.h
pins_K8200.h
pins_GT2560_REV_A.h
pins_RIGIDBOARD.h
pins_AZTEEG_X5_MINI.h
pins_MINIRAMBO.h
pins_DUE3DOM.h
pins_EINSY_RAMBO.h
pins_RUMBA_RAISE3D.h
pins_ESP32.h
pins_ARMED.h
pins_TT_OSCAR.h
pins_STM3R_MINI.h
pins_BIGTREE_SKR_MINI_E3.h
pins_5DPRINT.h
pins_ARCHIM1.h
pins_MINITRONICS.h
pins_CHEAPTRONICv2.h
pins_MKS_BASE_HEROIC.h
pins_K8400.h
pins_RUMBA.h
pins_ULTIMAKER_OLD.h
pins_RAMPS_ENDER_4.h
pins_COHESION3D_MINI.h
pins_ARCHIM2.h
pins_TRIGORILLA_14.h
pins_GMARSH_X6_REV1.h
pins_CHITU3D.h
pins_MKS_BASE_14.h
pins_DUE3DOM_MINI.h
pins_BIGTREE_SKR_PRO_V1.1.h
pins_PRINTRBOARD_REVF.h
pins_CNCONTROLS_12.h
pins_RL200.h
pins_SANGUINOLOLU_12.h
pins_FYSETC_F6_13.h
pins_MIGHTYBOARD_REVE.h
pins_AZTEEG_X5_MINI_WIFI.h
pins_RAMPS_DAGOMA.h
pins_MKS_BASE_15.h
pins_ULTIMAIN_2.h
pins_BAM_DICE_DUE.h
pins_VORON.h
pins_RAMPS_FD_V2.h
pins_AZTEEG_X3_PRO.h
pins_CNCONTROLS_11.h
pins_GEN6_DELUXE.h
pins_SANGUINOLOLU_11.h
pins_3DRAG.h
pins_WANHAO_ONEPLUS.h
pins_MEGATRONICS.h
pins_GEN3_MONOLITHIC.h
pins_FELIX2.h
pins_SAV_MKI.h
pins_LERDGE_K.h
pins_TEENSY2.h
pins_MKS_BASE.h
pins_FYSETC_CHEETAH_V12.h
pins_GEN7_13.h
pins_RAMPS_FD_V1.h
pins_OMCA_A.h
pins_BIGTREE_SKR_V1.3.h
pins_BIQU_BQ111_A4.h
pins_BIQU_B300_V1.0.h
pins_ULTRATRONICS_PRO.h
pins_RAMPS_DUO.h
pins_RAMPS.h
pins_MEGATRONICS_3.h
pins_HJC2560C_REV2.h
pins_RAMPS_13.h
pins_RAMPS_SMART.h
pins_MKS_GEN_L.h
pins_A3IDES_2209_02.h
pins_FORMBOT_TREX3.h
pins_TRIGORILLA_13.h
pins_GT2560_REV_A_PLUS.h
pins_BLACK_STM32F407VE.h
pins_OVERLORD.h
pins_FORMBOT_TREX2PLUS.h
pins_LEAPFROG.h
pins_PRINTRBOARD.h
pins_MAKEBOARD_MINI.h
pins_TRONXY_V3_1_0.h
pins_FYSETC_CHEETAH.h
pins_RAMPS_PLUS.h
pins_RIGIDBOARD_V2.h
pins_MKS_ROBIN.h
pins_SCOOVO_X9H.h
pins_MKS_ROBIN_LITE.h
pins_RAMPS_CREALITY.h
pins_ADSK.h
pins_GEN6.h
pins_MKS_SBASE.h
pins_STM32F1R.h
pins_RURAMPS4D_11.h
pins_MORPHEUS.h
pins_AZTEEG_X3.h
pins_MELZI_TRONXY.h
pins_ZRIB_V20.h
pins_AZTEEG_X5_GT.h
pins_MELZI_MALYAN.h
pins_RAMPS_RE_ARM.h
pins_SILVER_GATE.h
pins_RURAMPS4D_13.h
pins_BEAST.h
pins_MELZI_MAKR3D.h
pins_BIGTREE_BTT002_V1.0.h
pins_FORMBOT_RAPTOR.h
pins_GEN3_PLUS.h
pins_TEENSY31_32.h
pins_STM32F4.h
pins_TH3D_EZBOARD.h
pins_GEN7_14.h
pins_ELEFU_3.h
pins_RAMBO.h
pins_MKS_ROBIN_MINI.h
pins_GTM32_PRO_VB.h