My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pins.h 41KB

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