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 80KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994
  1. #ifndef PINS_H
  2. #define PINS_H
  3. #include "boards.h"
  4. #if !MB(5DPRINT)
  5. #define X_MS1_PIN -1
  6. #define X_MS2_PIN -1
  7. #define Y_MS1_PIN -1
  8. #define Y_MS2_PIN -1
  9. #define Z_MS1_PIN -1
  10. #define Z_MS2_PIN -1
  11. #define E0_MS1_PIN -1
  12. #define E0_MS2_PIN -1
  13. #define E1_MS1_PIN -1
  14. #define E1_MS2_PIN -1
  15. #define DIGIPOTSS_PIN -1
  16. #endif
  17. /****************************************************************************************
  18. * 5DPrint D8 Driver board
  19. * https://bitbucket.org/makible/5dprint-d8-controller-board
  20. ****************************************************************************************/
  21. #if MB(5DPRINT)
  22. #define KNOWN_BOARD 1
  23. #define AT90USB 1286 // Disable MarlinSerial etc.
  24. #ifndef __AVR_AT90USB1286__
  25. #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
  26. #endif
  27. #define LARGE_FLASH true
  28. #define X_STEP_PIN 0
  29. #define X_DIR_PIN 1
  30. #define X_ENABLE_PIN 23
  31. #define X_STOP_PIN 37
  32. #define Y_STEP_PIN 2
  33. #define Y_DIR_PIN 3
  34. #define Y_ENABLE_PIN 19
  35. #define Y_STOP_PIN 36
  36. #define Z_STEP_PIN 4
  37. #define Z_DIR_PIN 5
  38. #define Z_ENABLE_PIN 18
  39. #define Z_STOP_PIN 39
  40. #define E0_STEP_PIN 6
  41. #define E0_DIR_PIN 7
  42. #define E0_ENABLE_PIN 17
  43. #define HEATER_0_PIN 21 // Extruder
  44. #define HEATER_1_PIN -1
  45. #define HEATER_2_PIN -1
  46. #define HEATER_BED_PIN 20 // Bed
  47. // You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h
  48. // for the fan and Teensyduino uses a different pin mapping.
  49. #define FAN_PIN 16 // Fan
  50. #define TEMP_0_PIN 1 // Extruder / Analog pin numbering
  51. #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
  52. #define TEMP_1_PIN -1
  53. #define TEMP_2_PIN -1
  54. #define SDPOWER -1
  55. #define LED_PIN -1
  56. #define PS_ON_PIN -1
  57. #define KILL_PIN -1
  58. #define ALARM_PIN -1
  59. // The SDSS pin uses a different pin mapping from file Sd2PinMap.h
  60. #define SDSS 20
  61. #ifndef SDSUPPORT
  62. // these pins are defined in the SD library if building with SD support
  63. #define SCK_PIN 9
  64. #define MISO_PIN 11
  65. #define MOSI_PIN 10
  66. #endif
  67. // Microstepping pins
  68. // Note that the pin mapping is not from fastio.h
  69. // See Sd2PinMap.h for the pin configurations
  70. #define X_MS1_PIN 25
  71. #define X_MS2_PIN 26
  72. #define Y_MS1_PIN 9
  73. #define Y_MS2_PIN 8
  74. #define Z_MS1_PIN 7
  75. #define Z_MS2_PIN 6
  76. #define E0_MS1_PIN 5
  77. #define E0_MS2_PIN 4
  78. #endif // 5DPRINT
  79. /****************************************************************************************
  80. * Leapfrog Driver board
  81. *
  82. ****************************************************************************************/
  83. #if MB(LEAPFROG) // Leapfrog board
  84. #define KNOWN_BOARD 1
  85. #ifndef __AVR_ATmega1280__
  86. #ifndef __AVR_ATmega2560__
  87. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  88. #endif
  89. #endif
  90. #define X_STEP_PIN 28
  91. #define X_DIR_PIN 63
  92. #define X_ENABLE_PIN 29
  93. #define X_MIN_PIN 47
  94. #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  95. #define Y_STEP_PIN 14 // A6
  96. #define Y_DIR_PIN 15 // A0
  97. #define Y_ENABLE_PIN 39
  98. #define Y_MIN_PIN 48
  99. #define Y_MAX_PIN -1 //15
  100. #define Z_STEP_PIN 31 // A2
  101. #define Z_DIR_PIN 32 // A6
  102. #define Z_ENABLE_PIN 30 // A1
  103. #define Z_MIN_PIN 49
  104. #define Z_MAX_PIN -1
  105. #define E0_STEP_PIN 34 //34
  106. #define E0_DIR_PIN 35 //35
  107. #define E0_ENABLE_PIN 33 //33
  108. #define E1_STEP_PIN 37 //37
  109. #define E1_DIR_PIN 40 //40
  110. #define E1_ENABLE_PIN 36 //36
  111. #define Y2_STEP_PIN 37
  112. #define Y2_DIR_PIN 40
  113. #define Y2_ENABLE_PIN 36
  114. #define Z2_STEP_PIN 37
  115. #define Z2_DIR_PIN 40
  116. #define Z2_ENABLE_PIN 36
  117. #define SDPOWER -1
  118. #define SDSS 11
  119. #define SDCARDDETECT -1 // 10 optional also used as mode pin
  120. #define LED_PIN 13
  121. #define FAN_PIN 7
  122. #define PS_ON_PIN -1
  123. #define KILL_PIN -1
  124. #define SOL1_PIN 16
  125. #define SOL2_PIN 17
  126. #define HEATER_0_PIN 9
  127. #define HEATER_1_PIN 8 // 12
  128. #define HEATER_2_PIN 11 //-1 // 13
  129. #define TEMP_0_PIN 13 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  130. #define TEMP_1_PIN 15 // 1
  131. #define TEMP_2_PIN -1 // 2
  132. #define HEATER_BED_PIN 10 // 14/15
  133. #define TEMP_BED_PIN 14 // 1,2 or I2C
  134. /* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */
  135. #endif // LEAPFROG
  136. /****************************************************************************************
  137. *
  138. *
  139. ****************************************************************************************/
  140. #if MB(99)
  141. #define KNOWN_BOARD 1
  142. #define X_STEP_PIN 2
  143. #define X_DIR_PIN 3
  144. #define X_ENABLE_PIN -1
  145. #define X_STOP_PIN 16
  146. #define Y_STEP_PIN 5
  147. #define Y_DIR_PIN 6
  148. #define Y_ENABLE_PIN -1
  149. #define Y_STOP_PIN 67
  150. #define Z_STEP_PIN 62
  151. #define Z_DIR_PIN 63
  152. #define Z_ENABLE_PIN -1
  153. #define Z_STOP_PIN 59
  154. #define E0_STEP_PIN 65
  155. #define E0_DIR_PIN 66
  156. #define E0_ENABLE_PIN -1
  157. #define SDPOWER -1
  158. #define SDSS 53
  159. #define LED_PIN -1
  160. #define FAN_PIN -1
  161. #define PS_ON_PIN 9
  162. #define KILL_PIN -1
  163. #define HEATER_0_PIN 13
  164. #define HEATER_1_PIN -1
  165. #define HEATER_2_PIN -1
  166. #define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  167. #define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  168. #define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  169. #define HEATER_BED_PIN 4
  170. #define TEMP_BED_PIN 10
  171. #endif // 99
  172. /****************************************************************************************
  173. * Sethi 3D_1 pin assignment - www.sethi3d.com.br
  174. *
  175. ****************************************************************************************/
  176. #if MB(SETHI)
  177. #define KNOWN_BOARD
  178. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
  179. #error Oops! Make sure you have 'Sethi 3D' selected from the 'Tools -> Boards' menu.
  180. #endif
  181. #ifndef GEN7_VERSION
  182. #define GEN7_VERSION 12 // v1.x
  183. #endif
  184. //x axis pins
  185. #define X_STEP_PIN 19
  186. #define X_DIR_PIN 18
  187. #define X_ENABLE_PIN 24
  188. #define X_STOP_PIN 2
  189. //y axis pins
  190. #define Y_STEP_PIN 23
  191. #define Y_DIR_PIN 22
  192. #define Y_ENABLE_PIN 24
  193. #define Y_STOP_PIN 0
  194. //z axis pins
  195. #define Z_STEP_PIN 26
  196. #define Z_DIR_PIN 25
  197. #define Z_ENABLE_PIN 24
  198. #define Z_MIN_PIN 1
  199. #define Z_MAX_PIN 0
  200. //extruder pins
  201. #define E0_STEP_PIN 28
  202. #define E0_DIR_PIN 27
  203. #define E0_ENABLE_PIN 24
  204. #define TEMP_0_PIN 1
  205. #define TEMP_1_PIN -1
  206. #define TEMP_2_PIN -1
  207. #define TEMP_BED_PIN 2
  208. #define HEATER_0_PIN 4
  209. #define HEATER_1_PIN -1
  210. #define HEATER_2_PIN -1
  211. #define HEATER_BED_PIN 3
  212. #define KILL_PIN -1
  213. #define SDPOWER -1
  214. #define SDSS -1 // SCL pin of I2C header
  215. #define LED_PIN -1
  216. #if (GEN7_VERSION >= 13)
  217. // Gen7 v1.3 removed the fan pin
  218. #define FAN_PIN -1
  219. #else
  220. #define FAN_PIN 31
  221. #endif
  222. #define PS_ON_PIN 15
  223. //All these generations of Gen7 supply thermistor power
  224. //via PS_ON, so ignore bad thermistor readings
  225. #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
  226. //our pin for debugging.
  227. #define DEBUG_PIN 0
  228. //our RS485 pins
  229. #define TX_ENABLE_PIN 12
  230. #define RX_ENABLE_PIN 13
  231. #endif // SETHI
  232. /****************************************************************************************
  233. * Gen7 v1.1, v1.2, v1.3 pin assignment
  234. *
  235. ****************************************************************************************/
  236. #if MB(GEN7_13)
  237. #define MOTHERBOARD BOARD_GEN7_12
  238. #define GEN7_VERSION 13 // v1.3
  239. #endif
  240. #if MB(GEN7_12)
  241. #define KNOWN_BOARD
  242. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
  243. #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
  244. #endif
  245. #ifndef GEN7_VERSION
  246. #define GEN7_VERSION 12 // v1.x
  247. #endif
  248. //x axis pins
  249. #define X_STEP_PIN 19
  250. #define X_DIR_PIN 18
  251. #define X_ENABLE_PIN 24
  252. #define X_STOP_PIN 7
  253. //y axis pins
  254. #define Y_STEP_PIN 23
  255. #define Y_DIR_PIN 22
  256. #define Y_ENABLE_PIN 24
  257. #define Y_STOP_PIN 5
  258. //z axis pins
  259. #define Z_STEP_PIN 26
  260. #define Z_DIR_PIN 25
  261. #define Z_ENABLE_PIN 24
  262. #define Z_MIN_PIN 1
  263. #define Z_MAX_PIN 0
  264. //extruder pins
  265. #define E0_STEP_PIN 28
  266. #define E0_DIR_PIN 27
  267. #define E0_ENABLE_PIN 24
  268. #define TEMP_0_PIN 1
  269. #define TEMP_1_PIN -1
  270. #define TEMP_2_PIN -1
  271. #define TEMP_BED_PIN 2
  272. #define HEATER_0_PIN 4
  273. #define HEATER_1_PIN -1
  274. #define HEATER_2_PIN -1
  275. #define HEATER_BED_PIN 3
  276. #define KILL_PIN -1
  277. #define SDPOWER -1
  278. #define SDSS -1 // SCL pin of I2C header
  279. #define LED_PIN -1
  280. #if (GEN7_VERSION >= 13)
  281. // Gen7 v1.3 removed the fan pin
  282. #define FAN_PIN -1
  283. #else
  284. #define FAN_PIN 31
  285. #endif
  286. #define PS_ON_PIN 15
  287. //All these generations of Gen7 supply thermistor power
  288. //via PS_ON, so ignore bad thermistor readings
  289. #define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE
  290. //our pin for debugging.
  291. #define DEBUG_PIN 0
  292. //our RS485 pins
  293. #define TX_ENABLE_PIN 12
  294. #define RX_ENABLE_PIN 13
  295. #endif
  296. /****************************************************************************************
  297. * Gen7 v1.4 pin assignment
  298. *
  299. ****************************************************************************************/
  300. #if MB(GEN7_14)
  301. #define GEN7_VERSION 14 // v1.4
  302. #endif
  303. #if MB(GEN7_14)
  304. #define KNOWN_BOARD
  305. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
  306. #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
  307. #endif
  308. #ifndef GEN7_VERSION
  309. #define GEN7_VERSION 14 // v1.x
  310. #endif
  311. //x axis pins
  312. #define X_STEP_PIN 29
  313. #define X_DIR_PIN 28
  314. #define X_ENABLE_PIN 25
  315. #define X_STOP_PIN 0
  316. //y axis pins
  317. #define Y_STEP_PIN 27
  318. #define Y_DIR_PIN 26
  319. #define Y_ENABLE_PIN 25
  320. #define Y_STOP_PIN 1
  321. //z axis pins
  322. #define Z_STEP_PIN 23
  323. #define Z_DIR_PIN 22
  324. #define Z_ENABLE_PIN 25
  325. #define Z_STOP_PIN 2
  326. //extruder pins
  327. #define E0_STEP_PIN 19
  328. #define E0_DIR_PIN 18
  329. #define E0_ENABLE_PIN 25
  330. #define TEMP_0_PIN 1
  331. #define TEMP_1_PIN -1
  332. #define TEMP_2_PIN -1
  333. #define TEMP_BED_PIN 0
  334. #define HEATER_0_PIN 4
  335. #define HEATER_1_PIN -1
  336. #define HEATER_2_PIN -1
  337. #define HEATER_BED_PIN 3
  338. #define KILL_PIN -1
  339. #define SDPOWER -1
  340. #define SDSS -1 // SCL pin of I2C header
  341. #define LED_PIN -1
  342. #define FAN_PIN -1
  343. #define PS_ON_PIN 15
  344. //our pin for debugging.
  345. #define DEBUG_PIN 0
  346. //our RS485 pins
  347. #define TX_ENABLE_PIN 12
  348. #define RX_ENABLE_PIN 13
  349. #endif // GEN7
  350. /******************************************************************************
  351. * Gen7 Alfons3 pin assignment
  352. *
  353. ******************************************************************************/
  354. /* These Pins are assigned for the modified GEN7 Board from Alfons3 Please review the pins and adjust it for your needs*/
  355. #if MB(GEN7_CUSTOM)
  356. #define KNOWN_BOARD
  357. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__)
  358. #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu.
  359. #endif
  360. //x axis pins
  361. #define X_STEP_PIN 21 // different from standard GEN7
  362. #define X_DIR_PIN 20 // different from standard GEN7
  363. #define X_ENABLE_PIN 24
  364. #define X_STOP_PIN 0
  365. //y axis pins
  366. #define Y_STEP_PIN 23
  367. #define Y_DIR_PIN 22
  368. #define Y_ENABLE_PIN 24
  369. #define Y_STOP_PIN 1
  370. //z axis pins
  371. #define Z_STEP_PIN 26
  372. #define Z_DIR_PIN 25
  373. #define Z_ENABLE_PIN 24
  374. #define Z_STOP_PIN 2
  375. //extruder pins
  376. #define E0_STEP_PIN 28
  377. #define E0_DIR_PIN 27
  378. #define E0_ENABLE_PIN 24
  379. #define TEMP_0_PIN 2
  380. #define TEMP_1_PIN -1
  381. #define TEMP_2_PIN -1
  382. #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
  383. #define HEATER_0_PIN 4
  384. #define HEATER_1_PIN -1
  385. #define HEATER_2_PIN -1
  386. #define HEATER_BED_PIN 3 // (bed)
  387. #define SDPOWER -1
  388. #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support
  389. #define LED_PIN -1
  390. #define FAN_PIN -1
  391. #define PS_ON_PIN 19
  392. //our pin for debugging.
  393. #define DEBUG_PIN -1
  394. //our RS485 pins
  395. //#define TX_ENABLE_PIN 12
  396. //#define RX_ENABLE_PIN 13
  397. #define BEEPER -1
  398. #define SDCARDDETECT -1
  399. #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work
  400. #define KILL_PIN -1
  401. //Pins for 4bit LCD Support
  402. #define LCD_PINS_RS 18
  403. #define LCD_PINS_ENABLE 17
  404. #define LCD_PINS_D4 16
  405. #define LCD_PINS_D5 15
  406. #define LCD_PINS_D6 13
  407. #define LCD_PINS_D7 14
  408. //buttons are directly attached
  409. #define BTN_EN1 11
  410. #define BTN_EN2 10
  411. #define BTN_ENC 12 //the click
  412. #endif // GEN7_CUSTOM
  413. /****************************************************************************************
  414. * Arduino Mega pin assignment
  415. *
  416. ****************************************************************************************/
  417. #if IS_RAMPS || MB(3DRAG) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO)
  418. #define KNOWN_BOARD 1
  419. //////////////////FIX THIS//////////////
  420. #ifndef __AVR_ATmega1280__
  421. #ifndef __AVR_ATmega2560__
  422. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  423. #endif
  424. #endif
  425. // uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
  426. // #define RAMPS_V_1_3
  427. // #define RAMPS_V_1_0
  428. #if (IS_RAMPS && !MB(RAMPS_OLD)) || MB(3DRAG) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO)
  429. #define LARGE_FLASH true
  430. #if MB(3DRAG)
  431. #define X_STEP_PIN 54
  432. #define X_DIR_PIN 55
  433. #define X_ENABLE_PIN 38
  434. #define X_MIN_PIN 3
  435. #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  436. #define Y_STEP_PIN 60
  437. #define Y_DIR_PIN 61
  438. #define Y_ENABLE_PIN 56
  439. #define Y_MIN_PIN 14
  440. #define Y_MAX_PIN -1 //15
  441. #define Z_STEP_PIN 46
  442. #define Z_DIR_PIN 48
  443. #define Z_ENABLE_PIN 63
  444. #define Z_MIN_PIN 18
  445. #define Z_MAX_PIN -1
  446. #define Y2_STEP_PIN 36
  447. #define Y2_DIR_PIN 34
  448. #define Y2_ENABLE_PIN 30
  449. #define Z2_STEP_PIN 36
  450. #define Z2_DIR_PIN 34
  451. #define Z2_ENABLE_PIN 30
  452. #define E0_STEP_PIN 26
  453. #define E0_DIR_PIN 28
  454. #define E0_ENABLE_PIN 24
  455. #define E1_STEP_PIN 36
  456. #define E1_DIR_PIN 34
  457. #define E1_ENABLE_PIN 30
  458. #define SDPOWER -1
  459. #define SDSS 25//53
  460. #define LED_PIN 13
  461. #define BEEPER 33
  462. #else
  463. #define X_STEP_PIN 54
  464. #define X_DIR_PIN 55
  465. #define X_ENABLE_PIN 38
  466. #define X_MIN_PIN 3
  467. #define X_MAX_PIN 2
  468. #define Y_STEP_PIN 60
  469. #define Y_DIR_PIN 61
  470. #define Y_ENABLE_PIN 56
  471. #define Y_MIN_PIN 14
  472. #define Y_MAX_PIN 15
  473. #define Z_STEP_PIN 46
  474. #define Z_DIR_PIN 48
  475. #define Z_ENABLE_PIN 62
  476. #define Z_MIN_PIN 18
  477. #define Z_MAX_PIN 19
  478. #define Y2_STEP_PIN 36
  479. #define Y2_DIR_PIN 34
  480. #define Y2_ENABLE_PIN 30
  481. #define Z2_STEP_PIN 36
  482. #define Z2_DIR_PIN 34
  483. #define Z2_ENABLE_PIN 30
  484. #define E0_STEP_PIN 26
  485. #define E0_DIR_PIN 28
  486. #define E0_ENABLE_PIN 24
  487. #define E1_STEP_PIN 36
  488. #define E1_DIR_PIN 34
  489. #define E1_ENABLE_PIN 30
  490. #if MB(RAMPS_13_EEB) //FMM added for Filament Extruder
  491. #ifdef FILAMENT_SENSOR
  492. //define analog pin for the filament width sensor input
  493. //Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
  494. #define FILWIDTH_PIN 5
  495. #endif
  496. #endif
  497. #if MB(AZTEEG_X3_PRO)
  498. #define E2_STEP_PIN 23
  499. #define E2_DIR_PIN 25
  500. #define E2_ENABLE_PIN 40
  501. #define E3_STEP_PIN 27
  502. #define E3_DIR_PIN 29
  503. #define E3_ENABLE_PIN 41
  504. #define E4_STEP_PIN 43
  505. #define E4_DIR_PIN 37
  506. #define E4_ENABLE_PIN 42
  507. #endif
  508. #define SDPOWER -1
  509. #define SDSS 53
  510. #define LED_PIN 13
  511. #endif
  512. #if MB(RAMPS_13_EFB) || MB(RAMPS_13_EFF) || MB(AZTEEG_X3) || MB(AZTEEG_X3_PRO)
  513. #define FAN_PIN 9 // (Sprinter config)
  514. #else
  515. #define FAN_PIN 4 // IO pin. Buffer needed
  516. #endif
  517. #if MB(3DRAG) || MB(RAMPS_13_EEF)
  518. #define FAN_PIN 8
  519. #endif
  520. #if MB(RAMPS_13_EFF)
  521. #define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller
  522. #endif
  523. #define PS_ON_PIN 12
  524. #if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
  525. #define KILL_PIN 41
  526. #else
  527. #define KILL_PIN -1
  528. #endif
  529. #if MB(RAMPS_13_EFF)
  530. #define HEATER_0_PIN 8
  531. #else
  532. #define HEATER_0_PIN 10 // EXTRUDER 1
  533. #endif
  534. #if MB(RAMPS_13_EFB) || MB(AZTEEG_X3)
  535. #define HEATER_1_PIN -1
  536. #else
  537. #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter)
  538. #endif
  539. #if MB(3DRAG)
  540. #define HEATER_0_PIN 10
  541. #define HEATER_1_PIN 12
  542. #define HEATER_2_PIN 6
  543. #elif MB(AZTEEG_X3_PRO)
  544. #define HEATER_2_PIN 16
  545. #define HEATER_3_PIN 17
  546. #define HEATER_4_PIN 4
  547. #define HEATER_5_PIN 5
  548. #define HEATER_6_PIN 6
  549. #define HEATER_7_PIN 11
  550. #else
  551. #define HEATER_2_PIN -1
  552. #endif
  553. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  554. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  555. #if MB(AZTEEG_X3_PRO)
  556. #define TEMP_2_PIN 12 // ANALOG NUMBERING
  557. #define TEMP_3_PIN 11 // ANALOG NUMBERING
  558. #define TEMP_4_PIN 10 // ANALOG NUMBERING
  559. #define TC1 4 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro
  560. #define TC2 5 // ANALOG NUMBERING Thermo couple on Azteeg X3Pro
  561. #else
  562. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  563. #endif
  564. #if MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF)
  565. #define HEATER_BED_PIN -1 // NO BED
  566. #else
  567. #if MB(3DRAG)
  568. #define HEATER_BED_PIN 9 // BED
  569. #else
  570. #define HEATER_BED_PIN 8 // BED
  571. #endif
  572. #endif
  573. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  574. #ifdef NUM_SERVOS
  575. #define SERVO0_PIN 11
  576. #if NUM_SERVOS > 1
  577. #define SERVO1_PIN 6
  578. #endif
  579. #if NUM_SERVOS > 2
  580. #define SERVO2_PIN 5
  581. #endif
  582. #if NUM_SERVOS > 3
  583. #define SERVO3_PIN 4
  584. #endif
  585. #endif
  586. #if MB(AZTEEG_X3_PRO)
  587. #define BEEPER 33
  588. #endif
  589. #ifdef TEMP_STAT_LEDS
  590. #if MB(AZTEEG_X3)
  591. #define STAT_LED_RED 6
  592. #define STAT_LED_BLUE 11
  593. #endif
  594. #endif
  595. #ifdef ULTRA_LCD
  596. #ifdef NEWPANEL
  597. #define LCD_PINS_RS 16
  598. #define LCD_PINS_ENABLE 17
  599. #define LCD_PINS_D4 23
  600. #define LCD_PINS_D5 25
  601. #define LCD_PINS_D6 27
  602. #define LCD_PINS_D7 29
  603. #ifdef REPRAP_DISCOUNT_SMART_CONTROLLER
  604. #define BEEPER 37
  605. #define BTN_EN1 31
  606. #define BTN_EN2 33
  607. #define BTN_ENC 35
  608. #define SDCARDDETECT 49
  609. #elif defined(LCD_I2C_PANELOLU2)
  610. #define BTN_EN1 47 //reverse if the encoder turns the wrong way.
  611. #define BTN_EN2 43
  612. #define BTN_ENC 32
  613. #define LCD_SDSS 53
  614. #define SDCARDDETECT -1
  615. #define KILL_PIN 41
  616. #elif defined(LCD_I2C_VIKI)
  617. #define BTN_EN1 22 //reverse if the encoder turns the wrong way.
  618. #define BTN_EN2 7
  619. #define BTN_ENC -1
  620. #define LCD_SDSS 53
  621. #define SDCARDDETECT 49
  622. #else
  623. //arduino pin which triggers an piezzo beeper
  624. #define BEEPER 33 // Beeper on AUX-4
  625. //buttons are directly attached using AUX-2
  626. #ifdef REPRAPWORLD_KEYPAD
  627. #define BTN_EN1 64 // encoder
  628. #define BTN_EN2 59 // encoder
  629. #define BTN_ENC 63 // enter button
  630. #define SHIFT_OUT 40 // shift register
  631. #define SHIFT_CLK 44 // shift register
  632. #define SHIFT_LD 42 // shift register
  633. #else
  634. #define BTN_EN1 37
  635. #define BTN_EN2 35
  636. #define BTN_ENC 31 //the click
  637. #endif
  638. #ifdef G3D_PANEL
  639. #define SDCARDDETECT 49
  640. #else
  641. #define SDCARDDETECT -1 // Ramps does not use this port
  642. #endif
  643. #endif
  644. #if MB(3DRAG)
  645. #define BEEPER -1
  646. #define LCD_PINS_RS 27
  647. #define LCD_PINS_ENABLE 29
  648. #define LCD_PINS_D4 37
  649. #define LCD_PINS_D5 35
  650. #define LCD_PINS_D6 33
  651. #define LCD_PINS_D7 31
  652. //buttons
  653. #define BTN_EN1 16
  654. #define BTN_EN2 17
  655. #define BTN_ENC 23 //the click
  656. #endif
  657. #else //old style panel with shift register
  658. //arduino pin witch triggers an piezzo beeper
  659. #define BEEPER 33 //No Beeper added
  660. //buttons are attached to a shift register
  661. // Not wired this yet
  662. //#define SHIFT_CLK 38
  663. //#define SHIFT_LD 42
  664. //#define SHIFT_OUT 40
  665. //#define SHIFT_EN 17
  666. #define LCD_PINS_RS 16
  667. #define LCD_PINS_ENABLE 17
  668. #define LCD_PINS_D4 23
  669. #define LCD_PINS_D5 25
  670. #define LCD_PINS_D6 27
  671. #define LCD_PINS_D7 29
  672. #endif
  673. #endif //ULTRA_LCD
  674. #else // RAMPS_V_1_1 or RAMPS_V_1_2 as default (BOARD_RAMPS_OLD)
  675. #define X_STEP_PIN 26
  676. #define X_DIR_PIN 28
  677. #define X_ENABLE_PIN 24
  678. #define X_MIN_PIN 3
  679. #define X_MAX_PIN -1 //2
  680. #define Y_STEP_PIN 38
  681. #define Y_DIR_PIN 40
  682. #define Y_ENABLE_PIN 36
  683. #define Y_MIN_PIN 16
  684. #define Y_MAX_PIN -1 //17
  685. #define Z_STEP_PIN 44
  686. #define Z_DIR_PIN 46
  687. #define Z_ENABLE_PIN 42
  688. #define Z_MIN_PIN 18
  689. #define Z_MAX_PIN -1 //19
  690. #define E0_STEP_PIN 32
  691. #define E0_DIR_PIN 34
  692. #define E0_ENABLE_PIN 30
  693. #define SDPOWER 48
  694. #define SDSS 53
  695. #define LED_PIN 13
  696. #define PS_ON_PIN -1
  697. #define KILL_PIN -1
  698. #ifdef RAMPS_V_1_0 // RAMPS_V_1_0
  699. #define HEATER_0_PIN 12 // RAMPS 1.0
  700. #define HEATER_BED_PIN -1 // RAMPS 1.0
  701. #define FAN_PIN 11 // RAMPS 1.0
  702. #else // RAMPS_V_1_1 or RAMPS_V_1_2
  703. #define HEATER_0_PIN 10 // RAMPS 1.1
  704. #define HEATER_BED_PIN 8 // RAMPS 1.1
  705. #define FAN_PIN 9 // RAMPS 1.1
  706. #endif
  707. #define HEATER_1_PIN -1
  708. #define HEATER_2_PIN -1
  709. #define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  710. #define TEMP_1_PIN -1
  711. #define TEMP_2_PIN -1
  712. #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  713. #endif // RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG
  714. // SPI for Max6675 Thermocouple
  715. #ifndef SDSUPPORT
  716. // these pins are defined in the SD library if building with SD support
  717. #define SCK_PIN 52
  718. #define MISO_PIN 50
  719. #define MOSI_PIN 51
  720. #define MAX6675_SS 66// Do not use pin 53 if there is even the remote possibility of using Dsplay/SD card
  721. #else
  722. #define MAX6675_SS 66// Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
  723. #endif
  724. #endif // RAMPS_OLD || RAMPS_13_EFB || RAMPS_13_EEB || RAMPS_13_EFF || 3DRAG
  725. /****************************************************************************************
  726. * Duemilanove w/ ATMega328P pin assignment
  727. *
  728. ****************************************************************************************/
  729. #if MB(DUEMILANOVE_328P)
  730. #define KNOWN_BOARD 1
  731. #ifndef __AVR_ATmega328P__
  732. #error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu.
  733. #endif
  734. #define X_STEP_PIN 19
  735. #define X_DIR_PIN 18
  736. #define X_ENABLE_PIN -1
  737. #define X_STOP_PIN 17
  738. #define Y_STEP_PIN 10
  739. #define Y_DIR_PIN 7
  740. #define Y_ENABLE_PIN -1
  741. #define Y_STOP_PIN 8
  742. #define Z_STEP_PIN 13
  743. #define Z_DIR_PIN 3
  744. #define Z_ENABLE_PIN 2
  745. #define Z_STOP_PIN 4
  746. #define E0_STEP_PIN 11
  747. #define E0_DIR_PIN 12
  748. #define E0_ENABLE_PIN -1
  749. #define SDPOWER -1
  750. #define SDSS -1
  751. #define LED_PIN -1
  752. #define FAN_PIN 5
  753. #define PS_ON_PIN -1
  754. #define KILL_PIN -1
  755. #define HEATER_0_PIN 6
  756. #define HEATER_1_PIN -1
  757. #define HEATER_2_PIN -1
  758. #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  759. #define TEMP_1_PIN -1
  760. #define TEMP_2_PIN -1
  761. #define HEATER_BED_PIN -1
  762. #define TEMP_BED_PIN -1
  763. #endif // DUEMILANOVE_328P
  764. /****************************************************************************************
  765. * Elefu RA Board Pin Assignments
  766. *
  767. ****************************************************************************************/
  768. #if MB(ELEFU_3)
  769. #define KNOWN_BOARD 1
  770. #ifndef __AVR_ATmega2560__
  771. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  772. #endif
  773. #define X_STEP_PIN 49
  774. #define X_DIR_PIN 13
  775. #define X_ENABLE_PIN 48
  776. #define X_MIN_PIN 35
  777. #define X_MAX_PIN -1 //34
  778. #define Y_STEP_PIN 11
  779. #define Y_DIR_PIN 9
  780. #define Y_ENABLE_PIN 12
  781. #define Y_MIN_PIN 33
  782. #define Y_MAX_PIN -1 //32
  783. #define Z_STEP_PIN 7
  784. #define Z_DIR_PIN 6
  785. #define Z_ENABLE_PIN 8
  786. #define Z_MIN_PIN 31
  787. #define Z_MAX_PIN -1 //30
  788. #define E2_STEP_PIN 43
  789. #define E2_DIR_PIN 47
  790. #define E2_ENABLE_PIN 42
  791. #define E1_STEP_PIN 18
  792. #define E1_DIR_PIN 19
  793. #define E1_ENABLE_PIN 38
  794. #define E0_STEP_PIN 40
  795. #define E0_DIR_PIN 41
  796. #define E0_ENABLE_PIN 37
  797. #define SDPOWER -1
  798. #define LED_PIN -1 //Use +12V Aux port for LED Ring
  799. #define FAN_PIN 16 //5V PWM
  800. #define PS_ON_PIN 10 //Set to -1 if using a manual switch on the PWRSW Connector
  801. #define SLEEP_WAKE_PIN 26 //This feature still needs work
  802. #define HEATER_0_PIN 45 //12V PWM1
  803. #define HEATER_1_PIN 46 //12V PWM2
  804. #define HEATER_2_PIN 17 //12V PWM3
  805. #define HEATER_BED_PIN 44 //DOUBLE 12V PWM
  806. #define TEMP_0_PIN 3 //ANALOG NUMBERING
  807. #define TEMP_1_PIN 2 //ANALOG NUMBERING
  808. #define TEMP_2_PIN 1 //ANALOG NUMBERING
  809. #define TEMP_BED_PIN 0 //ANALOG NUMBERING
  810. #define BEEPER 36
  811. #define KILL_PIN -1
  812. // M240 Triggers a camera by emulating a Canon RC-1 Remote
  813. // Data from: http://www.doc-diy.net/photo/rc-1_hacked/
  814. #define PHOTOGRAPH_PIN 29
  815. #ifdef RA_CONTROL_PANEL
  816. #define SDSS 53
  817. #define SDCARDDETECT 28
  818. #define BTN_EN1 14
  819. #define BTN_EN2 39
  820. #define BTN_ENC 15 //the click
  821. #define BLEN_C 2
  822. #define BLEN_B 1
  823. #define BLEN_A 0
  824. //encoder rotation values
  825. #define encrot0 0
  826. #define encrot1 2
  827. #define encrot2 3
  828. #define encrot3 1
  829. #endif //RA_CONTROL_PANEL
  830. #ifdef RA_DISCO
  831. //variables for which pins the TLC5947 is using
  832. #define TLC_CLOCK_PIN 25
  833. #define TLC_BLANK_PIN 23
  834. #define TLC_XLAT_PIN 22
  835. #define TLC_DATA_PIN 24
  836. //We also need to define pin to port number mapping for the 2560 to match the pins listed above. If you change the TLC pins, update this as well per the 2560 datasheet!
  837. //This currently only works with the RA Board.
  838. #define TLC_CLOCK_BIT 3 //bit 3 on port A
  839. #define TLC_CLOCK_PORT &PORTA //bit 3 on port A
  840. #define TLC_BLANK_BIT 1 //bit 1 on port A
  841. #define TLC_BLANK_PORT &PORTA //bit 1 on port A
  842. #define TLC_DATA_BIT 2 //bit 2 on port A
  843. #define TLC_DATA_PORT &PORTA //bit 2 on port A
  844. #define TLC_XLAT_BIT 0 //bit 0 on port A
  845. #define TLC_XLAT_PORT &PORTA //bit 0 on port A
  846. //change this to match your situation. Lots of TLCs takes up the arduino SRAM very quickly, so be careful
  847. //Leave it at at least 1 if you have enabled RA_LIGHTING
  848. //The number of TLC5947 boards chained together for use with the animation, additional ones will repeat the animation on them, but are not individually addressable and mimic those before them. You can leave the default at 2 even if you only have 1 TLC5947 module.
  849. #define NUM_TLCS 2
  850. //These TRANS_ARRAY values let you change the order the LEDs on the lighting modules will animate for chase functions.
  851. //Modify them according to your specific situation.
  852. //NOTE: the array should be 8 long for every TLC you have. These defaults assume (2) TLCs.
  853. #define TRANS_ARRAY {0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8} //forwards
  854. //#define TRANS_ARRAY {7, 6, 5, 4, 3, 2, 1, 0, 8, 9, 10, 11, 12, 13, 14, 15} //backwards
  855. #endif //RA_LIGHTING
  856. #endif // ELEFU_3
  857. /****************************************************************************************
  858. * Gen6 pin assignment
  859. *
  860. ****************************************************************************************/
  861. #if MB(GEN6) || MB(GEN6_DELUXE)
  862. #define KNOWN_BOARD 1
  863. #ifndef __AVR_ATmega644P__
  864. #ifndef __AVR_ATmega1284P__
  865. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  866. #endif
  867. #endif
  868. //x axis pins
  869. #define X_STEP_PIN 15
  870. #define X_DIR_PIN 18
  871. #define X_ENABLE_PIN 19
  872. #define X_STOP_PIN 20
  873. //y axis pins
  874. #define Y_STEP_PIN 23
  875. #define Y_DIR_PIN 22
  876. #define Y_ENABLE_PIN 24
  877. #define Y_STOP_PIN 25
  878. //z axis pins
  879. #define Z_STEP_PIN 27
  880. #define Z_DIR_PIN 28
  881. #define Z_ENABLE_PIN 29
  882. #define Z_STOP_PIN 30
  883. //extruder pins
  884. #define E0_STEP_PIN 4 //Edited @ EJE Electronics 20100715
  885. #define E0_DIR_PIN 2 //Edited @ EJE Electronics 20100715
  886. #define E0_ENABLE_PIN 3 //Added @ EJE Electronics 20100715
  887. #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410
  888. #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410
  889. #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410
  890. #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410
  891. #define HEATER_1_PIN -1
  892. #define HEATER_2_PIN -1
  893. #if MB(GEN6)
  894. #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410
  895. #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410
  896. #else
  897. #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410
  898. #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410
  899. #endif
  900. #define SDPOWER -1
  901. #define SDSS 17
  902. #define LED_PIN -1 //changed @ rkoeppl 20110410
  903. #define FAN_PIN -1 //changed @ rkoeppl 20110410
  904. #define PS_ON_PIN -1 //changed @ rkoeppl 20110410
  905. #define KILL_PIN -1 //changed @ drakelive 20120830
  906. //our pin for debugging.
  907. #define DEBUG_PIN 0
  908. //our RS485 pins
  909. #define TX_ENABLE_PIN 12
  910. #define RX_ENABLE_PIN 13
  911. #endif // GEN6 || GEN6_DELUXE
  912. /****************************************************************************************
  913. * Sanguinololu pin assignment
  914. *
  915. ****************************************************************************************/
  916. #if MB(STB_11)
  917. #define STB
  918. #endif
  919. #if MB(MELZI) || MB(MELZI_1284)
  920. #define MELZI
  921. #endif
  922. #if MB(AZTEEG_X1)
  923. #define AZTEEG_X1
  924. #endif
  925. #if MB(SANGUINOLOLU_12) || MB(MELZI) || MB(STB_11) || MB(AZTEEG_X1) || MB(MELZI_1284)
  926. #undef MOTHERBOARD
  927. #define MOTHERBOARD BOARD_SANGUINOLOLU_11
  928. #define SANGUINOLOLU_V_1_2
  929. #if defined(__AVR_ATmega1284P__)
  930. #define LARGE_FLASH true
  931. #endif
  932. #endif
  933. #if MB(SANGUINOLOLU_11)
  934. #define KNOWN_BOARD 1
  935. #ifndef __AVR_ATmega644P__
  936. #ifndef __AVR_ATmega1284P__
  937. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  938. #endif
  939. #endif
  940. #define X_STEP_PIN 15
  941. #define X_DIR_PIN 21
  942. #define X_STOP_PIN 18
  943. #define Y_STEP_PIN 22
  944. #define Y_DIR_PIN 23
  945. #define Y_STOP_PIN 19
  946. #define Z_STEP_PIN 3
  947. #define Z_DIR_PIN 2
  948. #define Z_STOP_PIN 20
  949. #define E0_STEP_PIN 1
  950. #define E0_DIR_PIN 0
  951. #define LED_PIN -1
  952. #define FAN_PIN -1
  953. #if FAN_PIN == 12 || FAN_PIN ==13
  954. #define FAN_SOFT_PWM
  955. #endif
  956. #ifdef MELZI
  957. #define LED_PIN 27 /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs LED_PIN as pin 28. But you better upgrade your Sanguino libraries! See #368. */
  958. #define FAN_PIN 4 // Works for Panelolu2 too
  959. #endif
  960. #ifdef STB
  961. #define FAN_PIN 4
  962. // Uncomment this if you have the first generation (V1.10) of STBs board
  963. #define LCD_PIN_BL 17 // LCD backlight LED
  964. #endif
  965. #ifdef AZTEEG_X1
  966. #define FAN_PIN 4
  967. #endif
  968. #ifdef NUM_SERVOS
  969. #define SERVO0_PIN -1
  970. #if NUM_SERVOS > 1
  971. #define SERVO1_PIN -1
  972. #endif
  973. #if NUM_SERVOS > 2
  974. #define SERVO2_PIN -1
  975. #endif
  976. #if NUM_SERVOS > 3
  977. #define SERVO3_PIN -1
  978. #endif
  979. #endif
  980. #define PS_ON_PIN -1
  981. #define KILL_PIN -1
  982. #define HEATER_0_PIN 13 // (extruder)
  983. #define HEATER_1_PIN -1
  984. #define HEATER_2_PIN -1
  985. #ifdef SANGUINOLOLU_V_1_2
  986. #define HEATER_BED_PIN 12 // (bed)
  987. #define X_ENABLE_PIN 14
  988. #define Y_ENABLE_PIN 14
  989. #define Z_ENABLE_PIN 26
  990. #define E0_ENABLE_PIN 14
  991. #ifdef LCD_I2C_PANELOLU2
  992. #define FAN_PIN 4 // Uses Transistor1 (PWM) on Panelolu2's Sanguino Adapter Board to drive the fan
  993. #endif
  994. #else
  995. #define HEATER_BED_PIN 14 // (bed)
  996. #define X_ENABLE_PIN -1
  997. #define Y_ENABLE_PIN -1
  998. #define Z_ENABLE_PIN -1
  999. #define E0_ENABLE_PIN -1
  1000. #endif
  1001. #define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
  1002. #define TEMP_1_PIN -1
  1003. #define TEMP_2_PIN -1
  1004. #define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
  1005. #define SDPOWER -1
  1006. #define SDSS 31
  1007. /* On some broken versions of the Sanguino libraries the pin definitions are wrong, which then needs SDSS as pin 24. But you better upgrade your Sanguino libraries! See #368. */
  1008. //#define SDSS 24
  1009. #ifdef ULTRA_LCD
  1010. #ifdef NEWPANEL
  1011. //we have no buzzer installed
  1012. #define BEEPER -1
  1013. //LCD Pins
  1014. #ifdef DOGLCD
  1015. // Pins for DOGM SPI LCD Support
  1016. #define DOGLCD_A0 30
  1017. #define DOGLCD_CS 29
  1018. // GLCD features
  1019. #define LCD_CONTRAST 1
  1020. // Uncomment screen orientation
  1021. // #define LCD_SCREEN_ROT_0
  1022. // #define LCD_SCREEN_ROT_90
  1023. #define LCD_SCREEN_ROT_180
  1024. // #define LCD_SCREEN_ROT_270
  1025. #else // standard Hitachi LCD controller
  1026. #define LCD_PINS_RS 4
  1027. #define LCD_PINS_ENABLE 17
  1028. #define LCD_PINS_D4 30
  1029. #define LCD_PINS_D5 29
  1030. #define LCD_PINS_D6 28
  1031. #define LCD_PINS_D7 27
  1032. #endif
  1033. //The encoder and click button
  1034. #define BTN_EN1 11
  1035. #define BTN_EN2 10
  1036. #ifdef LCD_I2C_PANELOLU2
  1037. #ifdef MELZI
  1038. #define BTN_ENC 29 //the click switch
  1039. #define LCD_SDSS 30 //to use the SD card reader on the Panelolu2 rather than the melzi board
  1040. #else
  1041. #define BTN_ENC 30 //the click switch
  1042. #endif
  1043. #else
  1044. #define BTN_ENC 16 //the click switch
  1045. #endif //Panelolu2
  1046. //not connected to a pin
  1047. #define SDCARDDETECT -1
  1048. #endif //Newpanel
  1049. #endif //Ultipanel
  1050. #ifdef MAKRPANEL
  1051. #define BEEPER 29
  1052. // Pins for DOGM SPI LCD Support
  1053. #define DOGLCD_A0 30
  1054. #define DOGLCD_CS 17
  1055. #define LCD_PIN_BL 28 // backlight LED on PA3
  1056. // GLCD features
  1057. #define LCD_CONTRAST 1
  1058. // Uncomment screen orientation
  1059. #define LCD_SCREEN_ROT_0
  1060. // #define LCD_SCREEN_ROT_90
  1061. // #define LCD_SCREEN_ROT_180
  1062. // #define LCD_SCREEN_ROT_270
  1063. //The encoder and click button
  1064. #define BTN_EN1 11
  1065. #define BTN_EN2 10
  1066. #define BTN_ENC 16 //the click switch
  1067. //not connected to a pin
  1068. #define SDCARDDETECT -1
  1069. #endif //Makrpanel
  1070. #endif // SANGUINOLOLU_11
  1071. /*****************************************************************
  1072. * Ultimaker pin assignment
  1073. ******************************************************************/
  1074. #if MB(ULTIMAKER)
  1075. #define KNOWN_BOARD
  1076. #ifndef __AVR_ATmega1280__
  1077. #ifndef __AVR_ATmega2560__
  1078. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  1079. #endif
  1080. #endif
  1081. #define LARGE_FLASH true
  1082. #define X_STEP_PIN 25
  1083. #define X_DIR_PIN 23
  1084. #define X_MIN_PIN 22
  1085. #define X_MAX_PIN 24
  1086. #define X_ENABLE_PIN 27
  1087. #define Y_STEP_PIN 31
  1088. #define Y_DIR_PIN 33
  1089. #define Y_MIN_PIN 26
  1090. #define Y_MAX_PIN 28
  1091. #define Y_ENABLE_PIN 29
  1092. #define Z_STEP_PIN 37
  1093. #define Z_DIR_PIN 39
  1094. #define Z_MIN_PIN 30
  1095. #define Z_MAX_PIN 32
  1096. #define Z_ENABLE_PIN 35
  1097. #define HEATER_BED_PIN 4
  1098. #define TEMP_BED_PIN 10
  1099. #define HEATER_0_PIN 2
  1100. #define TEMP_0_PIN 8
  1101. #define HEATER_1_PIN 3
  1102. #define TEMP_1_PIN 9
  1103. #define HEATER_2_PIN -1
  1104. #define TEMP_2_PIN -1
  1105. #define E0_STEP_PIN 43
  1106. #define E0_DIR_PIN 45
  1107. #define E0_ENABLE_PIN 41
  1108. #define E1_STEP_PIN 49
  1109. #define E1_DIR_PIN 47
  1110. #define E1_ENABLE_PIN 48
  1111. #define SDPOWER -1
  1112. #define SDSS 53
  1113. #define LED_PIN 13
  1114. #define FAN_PIN 7
  1115. #define PS_ON_PIN 12
  1116. #define KILL_PIN -1
  1117. #define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing.
  1118. #define SERVO0_PIN 13 // untested
  1119. #ifdef ULTRA_LCD
  1120. #ifdef NEWPANEL
  1121. //arduino pin witch triggers an piezzo beeper
  1122. #define BEEPER 18
  1123. #define LCD_PINS_RS 20
  1124. #define LCD_PINS_ENABLE 17
  1125. #define LCD_PINS_D4 16
  1126. #define LCD_PINS_D5 21
  1127. #define LCD_PINS_D6 5
  1128. #define LCD_PINS_D7 6
  1129. //buttons are directly attached
  1130. #define BTN_EN1 40
  1131. #define BTN_EN2 42
  1132. #define BTN_ENC 19 //the click
  1133. #define SDCARDDETECT 38
  1134. #else //old style panel with shift register
  1135. //arduino pin witch triggers an piezzo beeper
  1136. #define BEEPER 18
  1137. //buttons are attached to a shift register
  1138. #define SHIFT_CLK 38
  1139. #define SHIFT_LD 42
  1140. #define SHIFT_OUT 40
  1141. #define SHIFT_EN 17
  1142. #define LCD_PINS_RS 16
  1143. #define LCD_PINS_ENABLE 5
  1144. #define LCD_PINS_D4 6
  1145. #define LCD_PINS_D5 21
  1146. #define LCD_PINS_D6 20
  1147. #define LCD_PINS_D7 19
  1148. #define SDCARDDETECT -1
  1149. #endif
  1150. #endif //ULTRA_LCD
  1151. #endif // ULTIMAKER
  1152. #if MB(ULTIMAKER_OLD)
  1153. #define KNOWN_BOARD
  1154. /*****************************************************************
  1155. * Ultimaker pin assignment (Old electronics)
  1156. ******************************************************************/
  1157. #ifndef __AVR_ATmega1280__
  1158. #ifndef __AVR_ATmega2560__
  1159. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  1160. #endif
  1161. #endif
  1162. #define LARGE_FLASH true
  1163. #define X_STEP_PIN 25
  1164. #define X_DIR_PIN 23
  1165. #define X_MIN_PIN 15
  1166. #define X_MAX_PIN 14
  1167. #define X_ENABLE_PIN 27
  1168. #define Y_STEP_PIN 31
  1169. #define Y_DIR_PIN 33
  1170. #define Y_MIN_PIN 17
  1171. #define Y_MAX_PIN 16
  1172. #define Y_ENABLE_PIN 29
  1173. #define Z_STEP_PIN 37
  1174. #define Z_DIR_PIN 39
  1175. #define Z_MIN_PIN 19
  1176. #define Z_MAX_PIN 18
  1177. #define Z_ENABLE_PIN 35
  1178. #define HEATER_BED_PIN -1
  1179. #define TEMP_BED_PIN -1
  1180. #define HEATER_0_PIN 2
  1181. #define TEMP_0_PIN 8
  1182. #define HEATER_1_PIN 1
  1183. #define TEMP_1_PIN 1
  1184. #define HEATER_2_PIN -1
  1185. #define TEMP_2_PIN -1
  1186. #define E0_STEP_PIN 43
  1187. #define E0_DIR_PIN 45
  1188. #define E0_ENABLE_PIN 41
  1189. #define E1_STEP_PIN -1
  1190. #define E1_DIR_PIN -1
  1191. #define E1_ENABLE_PIN -1
  1192. #define SDPOWER -1
  1193. #define SDSS -1
  1194. #define LED_PIN -1
  1195. #define FAN_PIN -1
  1196. #define PS_ON_PIN -1
  1197. #define KILL_PIN -1
  1198. #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
  1199. #define LCD_PINS_RS 24
  1200. #define LCD_PINS_ENABLE 22
  1201. #define LCD_PINS_D4 36
  1202. #define LCD_PINS_D5 34
  1203. #define LCD_PINS_D6 32
  1204. #define LCD_PINS_D7 30
  1205. #endif // ULTIMAKER_OLD
  1206. #if MB(ULTIMAIN_2)
  1207. #define KNOWN_BOARD
  1208. /*****************************************************************
  1209. * Ultiboard v2.0 pin assignment
  1210. ******************************************************************/
  1211. #ifndef __AVR_ATmega2560__
  1212. #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
  1213. #endif
  1214. #define X_STEP_PIN 25
  1215. #define X_DIR_PIN 23
  1216. #define X_STOP_PIN 22
  1217. #define X_ENABLE_PIN 27
  1218. #define Y_STEP_PIN 32
  1219. #define Y_DIR_PIN 33
  1220. #define Y_STOP_PIN 26
  1221. #define Y_ENABLE_PIN 31
  1222. #define Z_STEP_PIN 35
  1223. #define Z_DIR_PIN 36
  1224. #define Z_STOP_PIN 29
  1225. #define Z_ENABLE_PIN 34
  1226. #define HEATER_BED_PIN 4
  1227. #define TEMP_BED_PIN 10
  1228. #define HEATER_0_PIN 2
  1229. #define TEMP_0_PIN 8
  1230. #define HEATER_1_PIN 3
  1231. #define TEMP_1_PIN 9
  1232. #define HEATER_2_PIN -1
  1233. #define TEMP_2_PIN -1
  1234. #define E0_STEP_PIN 42
  1235. #define E0_DIR_PIN 43
  1236. #define E0_ENABLE_PIN 37
  1237. #define E1_STEP_PIN 49
  1238. #define E1_DIR_PIN 47
  1239. #define E1_ENABLE_PIN 48
  1240. #define SDPOWER -1
  1241. #define SDSS 53
  1242. #define LED_PIN 8
  1243. #define FAN_PIN 7
  1244. #define PS_ON_PIN -1
  1245. #define KILL_PIN -1
  1246. #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
  1247. #define SAFETY_TRIGGERED_PIN 28 //PIN to detect the safety circuit has triggered
  1248. #define MAIN_VOLTAGE_MEASURE_PIN 14 //Analogue PIN to measure the main voltage, with a 100k - 4k7 resitor divider.
  1249. #define MOTOR_CURRENT_PWM_XY_PIN 44
  1250. #define MOTOR_CURRENT_PWM_Z_PIN 45
  1251. #define MOTOR_CURRENT_PWM_E_PIN 46
  1252. //Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
  1253. #define MOTOR_CURRENT_PWM_RANGE 2000
  1254. #define DEFAULT_PWM_MOTOR_CURRENT {1300, 1300, 1250}
  1255. //arduino pin witch triggers an piezzo beeper
  1256. #define BEEPER 18
  1257. #define LCD_PINS_RS 20
  1258. #define LCD_PINS_ENABLE 15
  1259. #define LCD_PINS_D4 14
  1260. #define LCD_PINS_D5 21
  1261. #define LCD_PINS_D6 5
  1262. #define LCD_PINS_D7 6
  1263. //buttons are directly attached
  1264. #define BTN_EN1 40
  1265. #define BTN_EN2 41
  1266. #define BTN_ENC 19 //the click
  1267. #define BLEN_C 2
  1268. #define BLEN_B 1
  1269. #define BLEN_A 0
  1270. #define SDCARDDETECT 39
  1271. #endif // ULTIMAIN_2
  1272. /****************************************************************************************
  1273. * RUMBA pin assignment
  1274. *
  1275. ****************************************************************************************/
  1276. #if MB(RUMBA)
  1277. #define KNOWN_BOARD 1
  1278. #ifndef __AVR_ATmega2560__
  1279. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  1280. #endif
  1281. #define X_STEP_PIN 17
  1282. #define X_DIR_PIN 16
  1283. #define X_ENABLE_PIN 48
  1284. #define X_MIN_PIN 37
  1285. #define X_MAX_PIN 36
  1286. #define Y_STEP_PIN 54
  1287. #define Y_DIR_PIN 47
  1288. #define Y_ENABLE_PIN 55
  1289. #define Y_MIN_PIN 35
  1290. #define Y_MAX_PIN 34
  1291. #define Z_STEP_PIN 57
  1292. #define Z_DIR_PIN 56
  1293. #define Z_ENABLE_PIN 62
  1294. #define Z_MIN_PIN 33
  1295. #define Z_MAX_PIN 32
  1296. #define E0_STEP_PIN 23
  1297. #define E0_DIR_PIN 22
  1298. #define E0_ENABLE_PIN 24
  1299. #define E1_STEP_PIN 26
  1300. #define E1_DIR_PIN 25
  1301. #define E1_ENABLE_PIN 27
  1302. #define E2_STEP_PIN 29
  1303. #define E2_DIR_PIN 28
  1304. #define E2_ENABLE_PIN 39
  1305. #define LED_PIN 13
  1306. #define FAN_PIN 7
  1307. //additional FAN1 PIN (e.g. useful for electronics fan or light on/off) on PIN 8
  1308. #define PS_ON_PIN 45
  1309. #define KILL_PIN 46
  1310. #if (TEMP_SENSOR_0==0)
  1311. #define TEMP_0_PIN -1
  1312. #define HEATER_0_PIN -1
  1313. #else
  1314. #define HEATER_0_PIN 2 // EXTRUDER 1
  1315. #if (TEMP_SENSOR_0==-1)
  1316. #define TEMP_0_PIN 6 // ANALOG NUMBERING - connector *K1* on RUMBA thermocouple ADD ON is used
  1317. #else
  1318. #define TEMP_0_PIN 15 // ANALOG NUMBERING - default connector for thermistor *T0* on rumba board is used
  1319. #endif
  1320. #endif
  1321. #if (TEMP_SENSOR_1==0)
  1322. #define TEMP_1_PIN -1
  1323. #define HEATER_1_PIN -1
  1324. #else
  1325. #define HEATER_1_PIN 3 // EXTRUDER 2
  1326. #if (TEMP_SENSOR_1==-1)
  1327. #define TEMP_1_PIN 5 // ANALOG NUMBERING - connector *K2* on RUMBA thermocouple ADD ON is used
  1328. #else
  1329. #define TEMP_1_PIN 14 // ANALOG NUMBERING - default connector for thermistor *T1* on rumba board is used
  1330. #endif
  1331. #endif
  1332. #if (TEMP_SENSOR_2==0)
  1333. #define TEMP_2_PIN -1
  1334. #define HEATER_2_PIN -1
  1335. #else
  1336. #define HEATER_2_PIN 6 // EXTRUDER 3
  1337. #if (TEMP_SENSOR_2==-1)
  1338. #define TEMP_2_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_BED is defined as thermocouple
  1339. #else
  1340. #define TEMP_2_PIN 13 // ANALOG NUMBERING - default connector for thermistor *T2* on rumba board is used
  1341. #endif
  1342. #endif
  1343. //optional for extruder 4 or chamber: #define TEMP_X_PIN 12 // ANALOG NUMBERING - default connector for thermistor *T3* on rumba board is used
  1344. //optional FAN1 can be used as 4th heater output: #define HEATER_3_PIN 8 // EXTRUDER 4
  1345. #if (TEMP_SENSOR_BED==0)
  1346. #define TEMP_BED_PIN -1
  1347. #define HEATER_BED_PIN -1
  1348. #else
  1349. #define HEATER_BED_PIN 9 // BED
  1350. #if (TEMP_SENSOR_BED==-1)
  1351. #define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple
  1352. #else
  1353. #define TEMP_BED_PIN 11 // ANALOG NUMBERING - default connector for thermistor *THB* on rumba board is used
  1354. #endif
  1355. #endif
  1356. #define SDPOWER -1
  1357. #define SDSS 53
  1358. #define SDCARDDETECT 49
  1359. #define BEEPER 44
  1360. #define LCD_PINS_RS 19
  1361. #define LCD_PINS_ENABLE 42
  1362. #define LCD_PINS_D4 18
  1363. #define LCD_PINS_D5 38
  1364. #define LCD_PINS_D6 41
  1365. #define LCD_PINS_D7 40
  1366. #define BTN_EN1 11
  1367. #define BTN_EN2 12
  1368. #define BTN_ENC 43
  1369. #endif // RUMBA
  1370. /****************************************************************************************
  1371. * Teensylu 0.7 / Printrboard pin assignments (AT90USB1286)
  1372. * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
  1373. http://www.pjrc.com/teensy/teensyduino.html
  1374. * See http://reprap.org/wiki/Printrboard for more info
  1375. ****************************************************************************************/
  1376. #if MB(TEENSYLU) || MB(PRINTRBOARD)
  1377. #define KNOWN_BOARD 1
  1378. #define AT90USB 1286 // Disable MarlinSerial etc.
  1379. #ifndef __AVR_AT90USB1286__
  1380. #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
  1381. #endif
  1382. #ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional.
  1383. #error These Teensylu/Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h
  1384. #endif
  1385. #define LARGE_FLASH true
  1386. #define X_STEP_PIN 0
  1387. #define X_DIR_PIN 1
  1388. #define X_ENABLE_PIN 39
  1389. #define Y_STEP_PIN 2
  1390. #define Y_DIR_PIN 3
  1391. #define Y_ENABLE_PIN 38
  1392. #define Z_STEP_PIN 4
  1393. #define Z_DIR_PIN 5
  1394. #define Z_ENABLE_PIN 23
  1395. #define E0_STEP_PIN 6
  1396. #define E0_DIR_PIN 7
  1397. #define E0_ENABLE_PIN 19
  1398. #define HEATER_0_PIN 21 // Extruder
  1399. #define HEATER_1_PIN 46
  1400. #define HEATER_2_PIN 47
  1401. #define HEATER_BED_PIN 20 // Bed
  1402. // If soft or fast PWM is off then use Teensyduino pin numbering, Marlin
  1403. // fastio pin numbering otherwise
  1404. #ifdef FAN_SOFT_PWM || FAST_PWM_FAN
  1405. #define FAN_PIN 22 // Fan
  1406. #else
  1407. #define FAN_PIN 16 // Fan
  1408. #endif
  1409. #if MB(TEENSYLU) // Teensylu
  1410. #define X_STOP_PIN 13
  1411. #define Y_STOP_PIN 14
  1412. #define Z_STOP_PIN 15
  1413. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1414. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1415. #else // Printrboard
  1416. #define X_STOP_PIN 35
  1417. #define Y_STOP_PIN 8
  1418. #define Z_STOP_PIN 36
  1419. #define TEMP_0_PIN 1 // Extruder / Analog pin numbering
  1420. #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
  1421. #ifdef FILAMENT_SENSOR
  1422. #define FILWIDTH_PIN 2
  1423. #endif //FILAMENT_SENSOR
  1424. #endif
  1425. #define TEMP_1_PIN 2
  1426. #define TEMP_2_PIN 3
  1427. #define SDPOWER -1
  1428. #define SDSS 8
  1429. #define LED_PIN -1
  1430. #define PS_ON_PIN -1
  1431. #define KILL_PIN -1
  1432. #define ALARM_PIN -1
  1433. #ifndef SDSUPPORT
  1434. // these pins are defined in the SD library if building with SD support
  1435. #define SCK_PIN 9
  1436. #define MISO_PIN 11
  1437. #define MOSI_PIN 10
  1438. #endif
  1439. #endif // TEENSYLU || PRINTRBOARD
  1440. /****************************************************************************************
  1441. * Brainwave 1.0 pin assignments (AT90USB646)
  1442. * Requires hardware bundle for Arduino:
  1443. https://github.com/unrepentantgeek/brainwave-arduino
  1444. ****************************************************************************************/
  1445. #if MB(BRAINWAVE)
  1446. #define KNOWN_BOARD 1
  1447. #define AT90USB 646 // Disable MarlinSerial etc.
  1448. #ifndef __AVR_AT90USB646__
  1449. #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu.
  1450. #endif
  1451. #define X_STEP_PIN 27
  1452. #define X_DIR_PIN 29
  1453. #define X_ENABLE_PIN 28
  1454. #define X_STOP_PIN 7
  1455. #define X_ATT_PIN 26
  1456. #define Y_STEP_PIN 31
  1457. #define Y_DIR_PIN 33
  1458. #define Y_ENABLE_PIN 32
  1459. #define Y_STOP_PIN 6
  1460. #define Y_ATT_PIN 30
  1461. #define Z_STEP_PIN 17
  1462. #define Z_DIR_PIN 19
  1463. #define Z_ENABLE_PIN 18
  1464. #define Z_STOP_PIN 5
  1465. #define Z_ATT_PIN 16
  1466. #define E0_STEP_PIN 21
  1467. #define E0_DIR_PIN 23
  1468. #define E0_ENABLE_PIN 22
  1469. #define E0_ATT_PIN 20
  1470. #define HEATER_0_PIN 4 // Extruder
  1471. #define HEATER_1_PIN -1
  1472. #define HEATER_2_PIN -1
  1473. #define HEATER_BED_PIN 38 // Bed
  1474. #define FAN_PIN 3 // Fan
  1475. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1476. #define TEMP_1_PIN -1
  1477. #define TEMP_2_PIN -1
  1478. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1479. #define SDPOWER -1
  1480. #define SDSS -1
  1481. #define LED_PIN 39
  1482. #define PS_ON_PIN -1
  1483. #define KILL_PIN -1
  1484. #define ALARM_PIN -1
  1485. #ifndef SDSUPPORT
  1486. // these pins are defined in the SD library if building with SD support
  1487. #define SCK_PIN 9
  1488. #define MISO_PIN 11
  1489. #define MOSI_PIN 10
  1490. #endif
  1491. #endif // BRAINWAVE
  1492. //
  1493. // SAV Mk-I
  1494. // -----------------------------------------------------------------------------------
  1495. /****************************************************************************************
  1496. * SAV MkI pin assignments (AT90USB1286)
  1497. * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
  1498. http://www.pjrc.com/teensy/teensyduino.html
  1499. RepRap Clone Wars project board.
  1500. ****************************************************************************************/
  1501. #if MB(SAV_MKI) // SAV Mk-I
  1502. #define KNOWN_BOARD 1
  1503. #define AT90USB 1286 // Disable MarlinSerial etc.
  1504. #ifndef __AVR_AT90USB1286__
  1505. #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
  1506. #endif
  1507. #define LARGE_FLASH true
  1508. #define X_STEP_PIN 0
  1509. #define X_DIR_PIN 1
  1510. #define X_ENABLE_PIN 39
  1511. #define Y_STEP_PIN 2
  1512. #define Y_DIR_PIN 3
  1513. #define Y_ENABLE_PIN 38
  1514. #define Z_STEP_PIN 4
  1515. #define Z_DIR_PIN 5
  1516. #define Z_ENABLE_PIN 23
  1517. #define E0_STEP_PIN 6
  1518. #define E0_DIR_PIN 7
  1519. #define E0_ENABLE_PIN 19
  1520. #define HEATER_0_PIN 21 // Extruder
  1521. #define HEATER_1_PIN -1
  1522. #define HEATER_2_PIN -1
  1523. #define HEATER_BED_PIN 20 // Bed
  1524. #define FAN_PIN 16 // Fan -- from Teensyduino environment.
  1525. // For the fan and Teensyduino uses a different pin mapping.
  1526. #define X_STOP_PIN 13
  1527. #define Y_STOP_PIN 14
  1528. #define Z_STOP_PIN 15
  1529. // #define Z_STOP_PIN 36 // For inductive sensor.
  1530. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1531. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1532. #define TEMP_1_PIN -1
  1533. #define TEMP_2_PIN -1
  1534. #define SDPOWER -1
  1535. #define SDSS 20 // PB0 - 8 in marlin env.
  1536. #define LED_PIN -1
  1537. #define PS_ON_PIN -1
  1538. #define ALARM_PIN -1
  1539. #define SDCARDDETECT -1
  1540. #ifndef SDSUPPORT
  1541. // these pins are defined in the SD library if building with SD support
  1542. #define SCK_PIN 9
  1543. #define MISO_PIN 11
  1544. #define MOSI_PIN 10
  1545. #endif
  1546. #define BEEPER -1
  1547. #define LCD_PINS_RS -1
  1548. #define LCD_PINS_ENABLE -1
  1549. #define LCD_PINS_D4 -1
  1550. #define LCD_PINS_D5 -1
  1551. #define LCD_PINS_D6 -1
  1552. #define LCD_PINS_D7 -1
  1553. #ifdef SAV_3DLCD
  1554. // For LCD SHIFT register LCD
  1555. #define SR_DATA_PIN 1
  1556. #define SR_CLK_PIN 0
  1557. #define BTN_EN1 41
  1558. #define BTN_EN2 40
  1559. #define BTN_ENC 12
  1560. #define KILL_PIN 42 // A2 = 42 - teensy = 40
  1561. #define HOME_PIN -1 // A4 = marlin 44 - teensy = 42
  1562. #ifdef NUM_SERVOS
  1563. #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp)
  1564. #endif
  1565. #endif
  1566. #endif // SAV_MKI
  1567. /****************************************************************************************
  1568. * Teensy++ 2.0 Breadboard pin assignments (AT90USB1286)
  1569. * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
  1570. http://www.pjrc.com/teensy/teensyduino.html
  1571. * See http://reprap.org/wiki/Printrboard for more info
  1572. * CLI build: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make
  1573. *
  1574. ****************************************************************************************/
  1575. #if MB(TEENSY2)
  1576. #define KNOWN_BOARD 1
  1577. #define AT90USB 1286 // Disable MarlinSerial etc.
  1578. #ifndef __AVR_AT90USB1286__
  1579. #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
  1580. #endif
  1581. #define LARGE_FLASH true
  1582. /*
  1583. DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a TeensyBreadboard:
  1584. USB
  1585. GND GND |-----#####-----| +5V ATX +5SB
  1586. ATX PS_ON PWM 27 |b7 ##### b6| 26 PWM* Stepper Enable
  1587. PWM 0 |d0 b5| 25 PWM*
  1588. PWM 1 |d1 b4| 24 PWM
  1589. X_MIN 2 |d2 b3| 23 MISO_PIN
  1590. Y_MIN 3 |d3 b2| 22 MOSI_PIN
  1591. Z_MIN 4 |d4 * * b1| 21 SCK_PIN
  1592. 5 |d5 e e b0| 20 SDSS
  1593. LED 6 |d6 5 4 e7| 19
  1594. 7 |d7 e6| 18
  1595. LCD RS 8 |e0 | GND
  1596. LCD EN 9 |e1 a4 a0 R| AREF
  1597. LCD D4 10 |c0 a5 a1 f0| 38 A0 ENC_1
  1598. LCD D5 11 |c1 a6 a2 f1| 39 A1 ENC_2
  1599. LCD D6 12 |c2 a7 a3 f2| 40 A2 ENC_CLK
  1600. LCD D6 13 |c3 f3| 41 A3
  1601. Bed Heat PWM 14 |c4 V G R f4| 42 A4
  1602. Extruder Heat PWM 15 |c5 c n S f5| 43 A5
  1603. Fan PWM 16 |c6 c d T f6| 44 A6 Bed TC
  1604. 17 |c7 * * * f7| 45 A7 Extruder TC * 4.7k * +5
  1605. -----------------
  1606. Interior E4: 36, INT4
  1607. Interior E5: 37, INT5
  1608. Interior PA0-7: 28-35 -- Printrboard and Teensylu use these pins for step & direction:
  1609. T++ PA Signal Marlin
  1610. Z STEP 32 a4 a0 28 X STEP
  1611. Z DIR 33 a5 a1 29 X DIR
  1612. E STEP 34 a6 a2 30 Y STEP
  1613. E DIR 35 a7 a3 31 Y DIR
  1614. */
  1615. #ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical.
  1616. #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config
  1617. // or build from command line with: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make
  1618. #endif
  1619. #define X_STEP_PIN 28 // 0 Marlin
  1620. #define X_DIR_PIN 29 // 1 Marlin
  1621. #define X_ENABLE_PIN 26
  1622. #define Y_STEP_PIN 30 // 2 Marlin
  1623. #define Y_DIR_PIN 31 // 3
  1624. #define Y_ENABLE_PIN 26 // Shared w/x
  1625. #define Z_STEP_PIN 32 // 4
  1626. #define Z_DIR_PIN 33 // 5
  1627. #define Z_ENABLE_PIN 26 // Shared w/x
  1628. #define E0_STEP_PIN 34 // 6
  1629. #define E0_DIR_PIN 35 // 7
  1630. #define E0_ENABLE_PIN 26 // Shared w/x
  1631. #define HEATER_0_PIN 15 // 21 // Extruder
  1632. #define HEATER_1_PIN -1
  1633. #define HEATER_2_PIN -1
  1634. #define HEATER_BED_PIN 14 // 20 // Bed
  1635. #define FAN_PIN 16 // 22 // Fan
  1636. #define X_STOP_PIN 2
  1637. #define Y_STOP_PIN 3
  1638. #define Z_STOP_PIN 4
  1639. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1640. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1641. #define TEMP_1_PIN -1
  1642. #define TEMP_2_PIN -1
  1643. #define SDPOWER -1
  1644. #define SDCARDDETECT -1
  1645. #define SDSS 20 // 8
  1646. #define LED_PIN 6
  1647. #define PS_ON_PIN 27
  1648. #define KILL_PIN -1
  1649. #define ALARM_PIN -1
  1650. #ifndef SDSUPPORT
  1651. // these pins are defined in the SD library if building with SD support
  1652. #define SCK_PIN 21 // 9
  1653. #define MISO_PIN 23 // 11
  1654. #define MOSI_PIN 22 // 10
  1655. #endif
  1656. #ifdef ULTIPANEL
  1657. #define LCD_PINS_RS 8
  1658. #define LCD_PINS_ENABLE 9
  1659. #define LCD_PINS_D4 10
  1660. #define LCD_PINS_D5 11
  1661. #define LCD_PINS_D6 12
  1662. #define LCD_PINS_D7 13
  1663. #define BTN_EN1 38
  1664. #define BTN_EN2 39
  1665. #define BTN_ENC 40
  1666. #endif
  1667. #endif // TEENSY2
  1668. /****************************************************************************************
  1669. * Gen3+ pin assignment
  1670. *
  1671. ****************************************************************************************/
  1672. #if MB(GEN3_PLUS)
  1673. #define MOTHERBOARD BOARD_SANGUINOLOLU_11 /*TODO: Figure out, Why is this done?*/
  1674. #define KNOWN_BOARD 1
  1675. #ifndef __AVR_ATmega644P__
  1676. #ifndef __AVR_ATmega1284P__
  1677. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  1678. #endif
  1679. #endif
  1680. #define X_STEP_PIN 15
  1681. #define X_DIR_PIN 18
  1682. #define X_STOP_PIN 20
  1683. #define Y_STEP_PIN 23
  1684. #define Y_DIR_PIN 22
  1685. #define Y_STOP_PIN 25
  1686. #define Z_STEP_PIN 27
  1687. #define Z_DIR_PIN 28
  1688. #define Z_STOP_PIN 30
  1689. #define E0_STEP_PIN 17
  1690. #define E0_DIR_PIN 21
  1691. #define LED_PIN -1
  1692. #define FAN_PIN -1
  1693. #define PS_ON_PIN 14
  1694. #define KILL_PIN -1
  1695. #define HEATER_0_PIN 12 // (extruder)
  1696. #define HEATER_BED_PIN 16 // (bed)
  1697. #define X_ENABLE_PIN 19
  1698. #define Y_ENABLE_PIN 24
  1699. #define Z_ENABLE_PIN 29
  1700. #define E0_ENABLE_PIN 13
  1701. #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
  1702. #define TEMP_1_PIN -1
  1703. #define TEMP_2_PIN -1
  1704. #define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
  1705. #define SDPOWER -1
  1706. #define SDSS 4
  1707. #define HEATER_2_PIN -1
  1708. #endif // GEN3_PLUS
  1709. /****************************************************************************************
  1710. * Gen3 Monolithic Electronics
  1711. *
  1712. ****************************************************************************************/
  1713. #if MB(GEN3_MONOLITHIC)
  1714. #define KNOWN_BOARD 1
  1715. #ifndef __AVR_ATmega644P__
  1716. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  1717. #endif
  1718. #define DEBUG_PIN 0
  1719. // x axis
  1720. #define X_STEP_PIN 15
  1721. #define X_DIR_PIN 18
  1722. #define X_MIN_PIN 20
  1723. //Alex Checar #define X_STOP_PIN 20
  1724. #define X_ENABLE_PIN 24 //actually uses Y_enable_pin
  1725. #define X_MAX_PIN -1
  1726. // y axes
  1727. #define Y_STEP_PIN 23
  1728. #define Y_DIR_PIN 22
  1729. #define Y_MIN_PIN 25
  1730. //Alex Checar #define Y_STOP_PIN 25
  1731. #define Y_ENABLE_PIN 24 //shared with X_enable_pin
  1732. #define Y_MAX_PIN -1
  1733. // z axes
  1734. #define Z_STEP_PIN 27
  1735. #define Z_DIR_PIN 28
  1736. #define Z_MIN_PIN 30
  1737. //Alex Checar #define Z_STOP_PIN 30
  1738. #define Z_ENABLE_PIN 29
  1739. #define Z_MAX_PIN -1
  1740. //extruder pins
  1741. #define E0_STEP_PIN 12
  1742. #define E0_DIR_PIN 17
  1743. #define E0_ENABLE_PIN 3
  1744. #define HEATER_0_PIN 16
  1745. #define TEMP_0_PIN 0
  1746. #define FAN_PIN -1
  1747. //bed pins
  1748. #define HEATER_BED_PIN -1
  1749. #define TEMP_BED_PIN -1
  1750. #define SDSS -1
  1751. #define SDPOWER -1
  1752. #define LED_PIN -1
  1753. //pin for controlling the PSU.
  1754. #define PS_ON_PIN 14 //Alex, Do this work on the card?
  1755. //Alex extras from Gen3+
  1756. #define KILL_PIN -1
  1757. #define TEMP_1_PIN -1
  1758. #define TEMP_2_PIN -1
  1759. #define HEATER_2_PIN -1
  1760. #endif // GEN3_MONOLITHIC
  1761. /****************************************************************************************
  1762. * Open Motion controller with enable based extruders
  1763. *
  1764. * ATMega644
  1765. *
  1766. * +---\/---+
  1767. * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
  1768. * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
  1769. * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
  1770. * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
  1771. * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
  1772. * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
  1773. * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
  1774. * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
  1775. * RST 9| |32 AREF
  1776. * VCC 10| |31 GND
  1777. * GND 11| |30 AVCC
  1778. * XTAL2 12| |29 PC7 (D 23)
  1779. * XTAL1 13| |28 PC6 (D 22)
  1780. * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
  1781. * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
  1782. * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
  1783. * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
  1784. * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
  1785. * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
  1786. * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
  1787. * +--------+
  1788. *
  1789. ****************************************************************************************/
  1790. #if MB(OMCA_A) //Alpha OMCA board
  1791. #define KNOWN_BOARD 1
  1792. #ifndef __AVR_ATmega644__
  1793. #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu.
  1794. #endif
  1795. #define X_STEP_PIN 21
  1796. #define X_DIR_PIN 20
  1797. #define X_ENABLE_PIN 24
  1798. #define X_STOP_PIN 0
  1799. #define Y_STEP_PIN 23
  1800. #define Y_DIR_PIN 22
  1801. #define Y_ENABLE_PIN 24
  1802. #define Y_STOP_PIN 1
  1803. #define Z_STEP_PIN 26
  1804. #define Z_DIR_PIN 25
  1805. #define Z_ENABLE_PIN 24
  1806. #define Z_STOP_PIN 2
  1807. #define E0_STEP_PIN 28
  1808. #define E0_DIR_PIN 27
  1809. #define E0_ENABLE_PIN 24
  1810. #define E1_STEP_PIN -1 // 19
  1811. #define E1_DIR_PIN -1 // 18
  1812. #define E1_ENABLE_PIN 24
  1813. #define E2_STEP_PIN -1 // 17
  1814. #define E2_DIR_PIN -1 // 16
  1815. #define E2_ENABLE_PIN 24
  1816. #define SDPOWER -1
  1817. #define SDSS 11
  1818. #define SDCARDDETECT -1 // 10 optional also used as mode pin
  1819. #define LED_PIN -1
  1820. #define FAN_PIN 3
  1821. #define PS_ON_PIN -1
  1822. #define KILL_PIN -1
  1823. #define HEATER_0_PIN 4
  1824. #define HEATER_1_PIN -1 // 12
  1825. #define HEATER_2_PIN -1 // 13
  1826. #define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  1827. #define TEMP_1_PIN -1 // 1
  1828. #define TEMP_2_PIN -1 // 2
  1829. #define HEATER_BED_PIN -1 // 14/15
  1830. #define TEMP_BED_PIN -1 // 1,2 or I2C
  1831. /* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */
  1832. #endif // OMCA_A
  1833. #if MB(OMCA) // Final OMCA board -- REF http://sanguino.cc/hardware
  1834. #define KNOWN_BOARD 1
  1835. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__)
  1836. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. (Final OMCA board)
  1837. #endif
  1838. #define X_STEP_PIN 26
  1839. #define X_DIR_PIN 25
  1840. #define X_ENABLE_PIN 10
  1841. #define X_STOP_PIN 0
  1842. #define Y_STEP_PIN 28
  1843. #define Y_DIR_PIN 27
  1844. #define Y_ENABLE_PIN 10
  1845. #define Y_STOP_PIN 1
  1846. #define Z_STEP_PIN 23
  1847. #define Z_DIR_PIN 22
  1848. #define Z_ENABLE_PIN 10
  1849. #define Z_STOP_PIN 2
  1850. #define E0_STEP_PIN 24
  1851. #define E0_DIR_PIN 21
  1852. #define E0_ENABLE_PIN 10
  1853. /* future proofing */
  1854. #define __FS 20
  1855. #define __FD 19
  1856. #define __GS 18
  1857. #define __GD 13
  1858. #define UNUSED_PWM 14 /* PWM on LEFT connector */
  1859. #define E1_STEP_PIN -1 // 21
  1860. #define E1_DIR_PIN -1 // 20
  1861. #define E1_ENABLE_PIN -1 // 19
  1862. #define E2_STEP_PIN -1 // 21
  1863. #define E2_DIR_PIN -1 // 20
  1864. #define E2_ENABLE_PIN -1 // 18
  1865. #define SDPOWER -1
  1866. #define SDSS 11
  1867. #define SDCARDDETECT -1 // 10 optional also used as mode pin
  1868. #define LED_PIN -1
  1869. #define FAN_PIN 14 /* PWM on MIDDLE connector */
  1870. #define PS_ON_PIN -1
  1871. #define KILL_PIN -1
  1872. #define HEATER_0_PIN 3 /*DONE PWM on RIGHT connector */
  1873. #define HEATER_1_PIN -1
  1874. #define HEATER_2_PIN -1
  1875. #define HEATER_1_PIN -1
  1876. #define HEATER_2_PIN -1
  1877. #define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING
  1878. #define TEMP_1_PIN 1 // ANALOG
  1879. #define TEMP_2_PIN -1 // 2
  1880. #define HEATER_BED_PIN 4
  1881. #define TEMP_BED_PIN 2 // 1,2 or I2C
  1882. #define I2C_SCL 16
  1883. #define I2C_SDA 17
  1884. #endif // OMCA
  1885. /*****************************************************************
  1886. * Rambo Pin Assignments
  1887. ******************************************************************/
  1888. #if MB(RAMBO)
  1889. #define KNOWN_BOARD
  1890. #ifndef __AVR_ATmega2560__
  1891. #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
  1892. #endif
  1893. #define LARGE_FLASH true
  1894. // servo support
  1895. #ifdef NUM_SERVOS
  1896. #define SERVO0_PIN 22 //motor header MX1
  1897. #if NUM_SERVOS > 1
  1898. #define SERVO1_PIN 23 //Motor header MX2
  1899. #endif
  1900. #if NUM_SERVOS > 2
  1901. #define SERVO2_PIN 24 //Motor header MX3
  1902. #endif
  1903. #if NUM_SERVOS > 3
  1904. #define SERVO2_PIN 5 //pwm header pin 5
  1905. #endif
  1906. #endif
  1907. #define X_STEP_PIN 37
  1908. #define X_DIR_PIN 48
  1909. #define X_MIN_PIN 12
  1910. #define X_MAX_PIN 24
  1911. #define X_ENABLE_PIN 29
  1912. #define X_MS1_PIN 40
  1913. #define X_MS2_PIN 41
  1914. #define Y_STEP_PIN 36
  1915. #define Y_DIR_PIN 49
  1916. #define Y_MIN_PIN 11
  1917. #define Y_MAX_PIN 23
  1918. #define Y_ENABLE_PIN 28
  1919. #define Y_MS1_PIN 69
  1920. #define Y_MS2_PIN 39
  1921. #define Z_STEP_PIN 35
  1922. #define Z_DIR_PIN 47
  1923. #define Z_MIN_PIN 10
  1924. #define Z_MAX_PIN 30
  1925. #define Z_ENABLE_PIN 27
  1926. #define Z_MS1_PIN 68
  1927. #define Z_MS2_PIN 67
  1928. #define HEATER_BED_PIN 3
  1929. #define TEMP_BED_PIN 2
  1930. #define HEATER_0_PIN 9
  1931. #define TEMP_0_PIN 0
  1932. #define HEATER_1_PIN 7
  1933. #define TEMP_1_PIN 1
  1934. #ifdef BARICUDA
  1935. #define HEATER_2_PIN 6
  1936. #else
  1937. #define HEATER_2_PIN -1
  1938. #endif
  1939. #define TEMP_2_PIN -1
  1940. #define E0_STEP_PIN 34
  1941. #define E0_DIR_PIN 43
  1942. #define E0_ENABLE_PIN 26
  1943. #define E0_MS1_PIN 65
  1944. #define E0_MS2_PIN 66
  1945. #define E1_STEP_PIN 33
  1946. #define E1_DIR_PIN 42
  1947. #define E1_ENABLE_PIN 25
  1948. #define E1_MS1_PIN 63
  1949. #define E1_MS2_PIN 64
  1950. #define DIGIPOTSS_PIN 38
  1951. #define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
  1952. #define SDPOWER -1
  1953. #define SDSS 53
  1954. #define LED_PIN 13
  1955. #define FAN_PIN 8
  1956. /**********************************************************
  1957. Fan Pins
  1958. Fan_0 8
  1959. Fan_1 6
  1960. Fan_2 2
  1961. ***********************************************************/
  1962. #define PS_ON_PIN 4
  1963. #define KILL_PIN -1 //80 with Smart Controller LCD
  1964. #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
  1965. #ifdef ULTRA_LCD
  1966. #define KILL_PIN 80
  1967. #ifdef NEWPANEL
  1968. //arduino pin which triggers an piezzo beeper
  1969. #define BEEPER 79 // Beeper on AUX-4
  1970. #define LCD_PINS_RS 70
  1971. #define LCD_PINS_ENABLE 71
  1972. #define LCD_PINS_D4 72
  1973. #define LCD_PINS_D5 73
  1974. #define LCD_PINS_D6 74
  1975. #define LCD_PINS_D7 75
  1976. //buttons are directly attached using AUX-2
  1977. #define BTN_EN1 76
  1978. #define BTN_EN2 77
  1979. #define BTN_ENC 78 //the click
  1980. #define BLEN_C 2
  1981. #define BLEN_B 1
  1982. #define BLEN_A 0
  1983. #define SDCARDDETECT 81 // Ramps does not use this port
  1984. //encoder rotation values
  1985. #define encrot0 0
  1986. #define encrot1 2
  1987. #define encrot2 3
  1988. #define encrot3 1
  1989. #else //old style panel with shift register
  1990. //arduino pin witch triggers an piezzo beeper
  1991. #define BEEPER 33 No Beeper added
  1992. //buttons are attached to a shift register
  1993. // Not wired this yet
  1994. // #define SHIFT_CLK 38
  1995. // #define SHIFT_LD 42
  1996. // #define SHIFT_OUT 40
  1997. // #define SHIFT_EN 17
  1998. #define LCD_PINS_RS 75
  1999. #define LCD_PINS_ENABLE 17
  2000. #define LCD_PINS_D4 23
  2001. #define LCD_PINS_D5 25
  2002. #define LCD_PINS_D6 27
  2003. #define LCD_PINS_D7 29
  2004. //encoder rotation values
  2005. #define encrot0 0
  2006. #define encrot1 2
  2007. #define encrot2 3
  2008. #define encrot3 1
  2009. //bits in the shift register that carry the buttons for:
  2010. // left up center down right red
  2011. #define BL_LE 7
  2012. #define BL_UP 6
  2013. #define BL_MI 5
  2014. #define BL_DW 4
  2015. #define BL_RI 3
  2016. #define BL_ST 2
  2017. #define BLEN_B 1
  2018. #define BLEN_A 0
  2019. #endif
  2020. #endif //ULTRA_LCD
  2021. #ifdef FILAMENT_SENSOR
  2022. //Filip added pin for Filament sensor analog input
  2023. #define FILWIDTH_PIN 3
  2024. #endif //FILAMENT_SENSOR
  2025. #endif // RAMBO
  2026. /****************************************************************************************
  2027. * MegaTronics
  2028. *
  2029. ****************************************************************************************/
  2030. #if MB(MEGATRONICS)
  2031. #define KNOWN_BOARD 1
  2032. #ifndef __AVR_ATmega2560__
  2033. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  2034. #endif
  2035. #define LARGE_FLASH true
  2036. #define X_STEP_PIN 26
  2037. #define X_DIR_PIN 28
  2038. #define X_ENABLE_PIN 24
  2039. #define X_MIN_PIN 41
  2040. #define X_MAX_PIN 37
  2041. #define Y_STEP_PIN 60 // A6
  2042. #define Y_DIR_PIN 61 // A7
  2043. #define Y_ENABLE_PIN 22
  2044. #define Y_MIN_PIN 14
  2045. #define Y_MAX_PIN 15
  2046. #define Z_STEP_PIN 54 // A0
  2047. #define Z_DIR_PIN 55 // A1
  2048. #define Z_ENABLE_PIN 56 // A2
  2049. #define Z_MIN_PIN 18
  2050. #define Z_MAX_PIN 19
  2051. #define E0_STEP_PIN 31
  2052. #define E0_DIR_PIN 32
  2053. #define E0_ENABLE_PIN 38
  2054. #define E1_STEP_PIN 34
  2055. #define E1_DIR_PIN 36
  2056. #define E1_ENABLE_PIN 30
  2057. #define SDPOWER -1
  2058. #define SDSS 53
  2059. #define LED_PIN 13
  2060. #define FAN_PIN 7 // IO pin. Buffer needed
  2061. #define PS_ON_PIN 12
  2062. #define KILL_PIN -1
  2063. #define HEATER_0_PIN 9 // EXTRUDER 1
  2064. #define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter)
  2065. #define HEATER_2_PIN -1
  2066. #if TEMP_SENSOR_0 == -1
  2067. #define TEMP_0_PIN 8 // ANALOG NUMBERING
  2068. #else
  2069. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  2070. #endif
  2071. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  2072. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  2073. #define HEATER_BED_PIN 10 // BED
  2074. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  2075. #define BEEPER 33 // Beeper on AUX-4
  2076. #ifdef ULTRA_LCD
  2077. #ifdef NEWPANEL
  2078. //arduino pin which triggers an piezzo beeper
  2079. #define LCD_PINS_RS 16
  2080. #define LCD_PINS_ENABLE 17
  2081. #define LCD_PINS_D4 23
  2082. #define LCD_PINS_D5 25
  2083. #define LCD_PINS_D6 27
  2084. #define LCD_PINS_D7 29
  2085. //buttons are directly attached using AUX-2
  2086. #define BTN_EN1 59
  2087. #define BTN_EN2 64
  2088. #define BTN_ENC 43 //the click
  2089. #define BLEN_C 2
  2090. #define BLEN_B 1
  2091. #define BLEN_A 0
  2092. #define SDCARDDETECT -1 // Ramps does not use this port
  2093. //encoder rotation values
  2094. #define encrot0 0
  2095. #define encrot1 2
  2096. #define encrot2 3
  2097. #define encrot3 1
  2098. #endif
  2099. #endif //ULTRA_LCD
  2100. #endif // MEGATRONICS
  2101. /****************************************************************************************
  2102. * MegaTronics v2.0
  2103. *
  2104. ****************************************************************************************/
  2105. #if MB(MEGATRONICS_2)
  2106. #define KNOWN_BOARD 1
  2107. #ifndef __AVR_ATmega2560__
  2108. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  2109. #endif
  2110. #define LARGE_FLASH true
  2111. #define X_STEP_PIN 26
  2112. #define X_DIR_PIN 27
  2113. #define X_ENABLE_PIN 25
  2114. #define X_MIN_PIN 37
  2115. #define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  2116. #define Y_STEP_PIN 4 // A6
  2117. #define Y_DIR_PIN 54 // A0
  2118. #define Y_ENABLE_PIN 5
  2119. #define Y_MIN_PIN 41
  2120. #define Y_MAX_PIN 38 //15
  2121. #define Z_STEP_PIN 56 // A2
  2122. #define Z_DIR_PIN 60 // A6
  2123. #define Z_ENABLE_PIN 55 // A1
  2124. #define Z_MIN_PIN 18
  2125. #define Z_MAX_PIN 19
  2126. #define E0_STEP_PIN 35
  2127. #define E0_DIR_PIN 36
  2128. #define E0_ENABLE_PIN 34
  2129. #define E1_STEP_PIN 29
  2130. #define E1_DIR_PIN 39
  2131. #define E1_ENABLE_PIN 28
  2132. #define E2_STEP_PIN 23
  2133. #define E2_DIR_PIN 24
  2134. #define E2_ENABLE_PIN 22
  2135. #define SDPOWER -1
  2136. #define SDSS 53
  2137. #define LED_PIN 13
  2138. #define FAN_PIN 7
  2139. #define FAN2_PIN 6
  2140. #define PS_ON_PIN 12
  2141. #define KILL_PIN -1
  2142. #define HEATER_0_PIN 9 // EXTRUDER 1
  2143. #define HEATER_1_PIN 8 // EXTRUDER 2
  2144. #define HEATER_2_PIN -1
  2145. #if TEMP_SENSOR_0 == -1
  2146. #define TEMP_0_PIN 4 // ANALOG NUMBERING
  2147. #else
  2148. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  2149. #endif
  2150. #if TEMP_SENSOR_1 == -1
  2151. #define TEMP_1_PIN 8 // ANALOG NUMBERING
  2152. #else
  2153. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  2154. #endif
  2155. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  2156. #define HEATER_BED_PIN 10 // BED
  2157. #if TEMP_SENSOR_BED == -1
  2158. #define TEMP_BED_PIN 8 // ANALOG NUMBERING
  2159. #else
  2160. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  2161. #endif
  2162. #define BEEPER 64
  2163. #define LCD_PINS_RS 14
  2164. #define LCD_PINS_ENABLE 15
  2165. #define LCD_PINS_D4 30
  2166. #define LCD_PINS_D5 31
  2167. #define LCD_PINS_D6 32
  2168. #define LCD_PINS_D7 33
  2169. //buttons are directly attached using keypad
  2170. #define BTN_EN1 61
  2171. #define BTN_EN2 59
  2172. #define BTN_ENC 43 //the click
  2173. #define BLEN_C 2
  2174. #define BLEN_B 1
  2175. #define BLEN_A 0
  2176. #define SDCARDDETECT -1 // Megatronics does not use this port
  2177. //encoder rotation values
  2178. #define encrot0 0
  2179. #define encrot1 2
  2180. #define encrot2 3
  2181. #define encrot3 1
  2182. #endif // MEGATRONICS_2
  2183. /****************************************************************************************
  2184. * Minitronics v1.0
  2185. *
  2186. ****************************************************************************************/
  2187. #if MB(MEGATRONICS_1)
  2188. #define KNOWN_BOARD 1
  2189. #ifndef __AVR_ATmega1281__
  2190. #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu.
  2191. #endif
  2192. #define LARGE_FLASH true
  2193. #define X_STEP_PIN 48
  2194. #define X_DIR_PIN 47
  2195. #define X_ENABLE_PIN 49
  2196. #define X_MIN_PIN 5
  2197. #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  2198. #define Y_STEP_PIN 39 // A6
  2199. #define Y_DIR_PIN 40 // A0
  2200. #define Y_ENABLE_PIN 38
  2201. #define Y_MIN_PIN 2
  2202. #define Y_MAX_PIN -1 //15
  2203. #define Z_STEP_PIN 42 // A2
  2204. #define Z_DIR_PIN 43 // A6
  2205. #define Z_ENABLE_PIN 41 // A1
  2206. #define Z_MIN_PIN 6
  2207. #define Z_MAX_PIN -1
  2208. #define E0_STEP_PIN 45
  2209. #define E0_DIR_PIN 44
  2210. #define E0_ENABLE_PIN 27
  2211. #define E1_STEP_PIN 36
  2212. #define E1_DIR_PIN 35
  2213. #define E1_ENABLE_PIN 37
  2214. #define E2_STEP_PIN -1
  2215. #define E2_DIR_PIN -1
  2216. #define E2_ENABLE_PIN -1
  2217. #define SDPOWER -1
  2218. #define SDSS 16
  2219. #define LED_PIN 46
  2220. #define FAN_PIN 9
  2221. #define FAN2_PIN -1
  2222. #define PS_ON_PIN -1
  2223. #define KILL_PIN -1
  2224. #define HEATER_0_PIN 7 // EXTRUDER 1
  2225. #define HEATER_1_PIN 8 // EXTRUDER 2
  2226. #define HEATER_2_PIN -1
  2227. #define TEMP_0_PIN 7 // ANALOG NUMBERING
  2228. #define TEMP_1_PIN 6 // ANALOG NUMBERING
  2229. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  2230. #define HEATER_BED_PIN 3 // BED
  2231. #define TEMP_BED_PIN 6 // ANALOG NUMBERING
  2232. #define BEEPER -1
  2233. #define LCD_PINS_RS -1
  2234. #define LCD_PINS_ENABLE -1
  2235. #define LCD_PINS_D4 -1
  2236. #define LCD_PINS_D5 -1
  2237. #define LCD_PINS_D6 -1
  2238. #define LCD_PINS_D7 -1
  2239. //buttons are directly attached using keypad
  2240. #define BTN_EN1 -1
  2241. #define BTN_EN2 -1
  2242. #define BTN_ENC -1 //the click
  2243. #define BLEN_C 2
  2244. #define BLEN_B 1
  2245. #define BLEN_A 0
  2246. #define SDCARDDETECT -1 // Megatronics does not use this port
  2247. //encoder rotation values
  2248. #define encrot0 0
  2249. #define encrot1 2
  2250. #define encrot2 3
  2251. #define encrot3 1
  2252. #endif // MEGATRONICS_1
  2253. /****************************************************************************************
  2254. * Cheaptronic v1.0
  2255. *
  2256. ****************************************************************************************/
  2257. #if MB(CHEAPTRONIC)
  2258. #define KNOWN_BOARD 1
  2259. #ifndef __AVR_ATmega2560__
  2260. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  2261. #endif
  2262. #define LARGE_FLASH true
  2263. //X motor stepper
  2264. #define X_STEP_PIN 14
  2265. #define X_DIR_PIN 15
  2266. #define X_ENABLE_PIN 24
  2267. //X endstop
  2268. #define X_MIN_PIN 3
  2269. #define X_MAX_PIN -1
  2270. //Y motor stepper
  2271. #define Y_STEP_PIN 35
  2272. #define Y_DIR_PIN 36
  2273. #define Y_ENABLE_PIN 31
  2274. //Y endstop
  2275. #define Y_MIN_PIN 2
  2276. #define Y_MAX_PIN -1
  2277. //Z motor stepper
  2278. #define Z_STEP_PIN 40
  2279. #define Z_DIR_PIN 41
  2280. #define Z_ENABLE_PIN 37
  2281. //Z endstop
  2282. #define Z_MIN_PIN 5
  2283. #define Z_MAX_PIN -1
  2284. //Extruder 0 stepper
  2285. #define E0_STEP_PIN 26
  2286. #define E0_DIR_PIN 28
  2287. #define E0_ENABLE_PIN 25
  2288. //Extruder 1 stepper
  2289. #define E1_STEP_PIN 33
  2290. #define E1_DIR_PIN 34
  2291. #define E1_ENABLE_PIN 30
  2292. #define SDPOWER -1
  2293. #define SDSS -1
  2294. #define LED_PIN -1
  2295. //FAN
  2296. #define FAN_PIN -1
  2297. #define PS_ON_PIN -1
  2298. #define KILL_PIN -1
  2299. #define HEATER_0_PIN 19 // EXTRUDER 1
  2300. #define HEATER_1_PIN 23 // EXTRUDER 2
  2301. //HeatedBad
  2302. #define HEATER_BED_PIN 22
  2303. //Cheaptronic v1.0 hasent EXTRUDER 3
  2304. #define HEATER_2_PIN -1
  2305. //Temperature sensors
  2306. #define TEMP_0_PIN 15
  2307. #define TEMP_1_PIN 14
  2308. #define TEMP_2_PIN -1
  2309. #define TEMP_BED_PIN 13
  2310. //Cheaptronic v1.0 dont support LCD
  2311. #define LCD_PINS_RS -1
  2312. #define LCD_PINS_ENABLE -1
  2313. #define LCD_PINS_D4 -1
  2314. #define LCD_PINS_D5 -1
  2315. #define LCD_PINS_D6 -1
  2316. #define LCD_PINS_D7 -1
  2317. //Cheaptronic v1.0 dont support keypad
  2318. #define BTN_EN1 -1
  2319. #define BTN_EN2 -1
  2320. #define BTN_ENC -1
  2321. #define BLEN_C 2
  2322. #define BLEN_B 1
  2323. #define BLEN_A 0
  2324. //Cheaptronic v1.0 does not use this port
  2325. #define SDCARDDETECT -1
  2326. //encoder rotation values
  2327. #define encrot0 0
  2328. #define encrot1 2
  2329. #define encrot2 3
  2330. #define encrot3 1
  2331. #endif // CHEAPTRONIC
  2332. #ifndef KNOWN_BOARD
  2333. #error Unknown MOTHERBOARD value in configuration.h
  2334. #endif
  2335. //List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
  2336. #define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN,
  2337. #if EXTRUDERS > 1
  2338. #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN,
  2339. #else
  2340. #define _E1_PINS
  2341. #endif
  2342. #if EXTRUDERS > 2
  2343. #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN,
  2344. #else
  2345. #define _E2_PINS
  2346. #endif
  2347. #ifdef X_STOP_PIN
  2348. #if X_HOME_DIR < 0
  2349. #define X_MIN_PIN X_STOP_PIN
  2350. #define X_MAX_PIN -1
  2351. #else
  2352. #define X_MIN_PIN -1
  2353. #define X_MAX_PIN X_STOP_PIN
  2354. #endif
  2355. #endif
  2356. #ifdef Y_STOP_PIN
  2357. #if Y_HOME_DIR < 0
  2358. #define Y_MIN_PIN Y_STOP_PIN
  2359. #define Y_MAX_PIN -1
  2360. #else
  2361. #define Y_MIN_PIN -1
  2362. #define Y_MAX_PIN Y_STOP_PIN
  2363. #endif
  2364. #endif
  2365. #ifdef Z_STOP_PIN
  2366. #if Z_HOME_DIR < 0
  2367. #define Z_MIN_PIN Z_STOP_PIN
  2368. #define Z_MAX_PIN -1
  2369. #else
  2370. #define Z_MIN_PIN -1
  2371. #define Z_MAX_PIN Z_STOP_PIN
  2372. #endif
  2373. #endif
  2374. #ifdef DISABLE_MAX_ENDSTOPS
  2375. #define X_MAX_PIN -1
  2376. #define Y_MAX_PIN -1
  2377. #define Z_MAX_PIN -1
  2378. #endif
  2379. #ifdef DISABLE_MIN_ENDSTOPS
  2380. #define X_MIN_PIN -1
  2381. #define Y_MIN_PIN -1
  2382. #define Z_MIN_PIN -1
  2383. #endif
  2384. #define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, PS_ON_PIN, \
  2385. HEATER_BED_PIN, FAN_PIN, \
  2386. _E0_PINS _E1_PINS _E2_PINS \
  2387. analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_BED_PIN) }
  2388. #endif //__PINS_H