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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970
  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 -1
  1400. #define HEATER_2_PIN -1
  1401. #define HEATER_BED_PIN 20 // Bed
  1402. #define FAN_PIN 22 // Fan
  1403. // You may need to change FAN_PIN to 16 because Marlin isn't using fastio.h
  1404. // for the fan and Teensyduino uses a different pin mapping.
  1405. #if MB(TEENSYLU) // Teensylu
  1406. #define X_STOP_PIN 13
  1407. #define Y_STOP_PIN 14
  1408. #define Z_STOP_PIN 15
  1409. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1410. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1411. #else // Printrboard
  1412. #define X_STOP_PIN 35
  1413. #define Y_STOP_PIN 8
  1414. #define Z_STOP_PIN 36
  1415. #define TEMP_0_PIN 1 // Extruder / Analog pin numbering
  1416. #define TEMP_BED_PIN 0 // Bed / Analog pin numbering
  1417. #ifdef FILAMENT_SENSOR
  1418. #define FILWIDTH_PIN 2
  1419. #endif //FILAMENT_SENSOR
  1420. #endif
  1421. #define TEMP_1_PIN -1
  1422. #define TEMP_2_PIN -1
  1423. #define SDPOWER -1
  1424. #define SDSS 8
  1425. #define LED_PIN -1
  1426. #define PS_ON_PIN -1
  1427. #define KILL_PIN -1
  1428. #define ALARM_PIN -1
  1429. #ifndef SDSUPPORT
  1430. // these pins are defined in the SD library if building with SD support
  1431. #define SCK_PIN 9
  1432. #define MISO_PIN 11
  1433. #define MOSI_PIN 10
  1434. #endif
  1435. #endif // TEENSYLU || PRINTRBOARD
  1436. /****************************************************************************************
  1437. * Brainwave 1.0 pin assignments (AT90USB646)
  1438. * Requires hardware bundle for Arduino:
  1439. https://github.com/unrepentantgeek/brainwave-arduino
  1440. ****************************************************************************************/
  1441. #if MB(BRAINWAVE)
  1442. #define KNOWN_BOARD 1
  1443. #define AT90USB 646 // Disable MarlinSerial etc.
  1444. #ifndef __AVR_AT90USB646__
  1445. #error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu.
  1446. #endif
  1447. #define X_STEP_PIN 27
  1448. #define X_DIR_PIN 29
  1449. #define X_ENABLE_PIN 28
  1450. #define X_STOP_PIN 7
  1451. #define X_ATT_PIN 26
  1452. #define Y_STEP_PIN 31
  1453. #define Y_DIR_PIN 33
  1454. #define Y_ENABLE_PIN 32
  1455. #define Y_STOP_PIN 6
  1456. #define Y_ATT_PIN 30
  1457. #define Z_STEP_PIN 17
  1458. #define Z_DIR_PIN 19
  1459. #define Z_ENABLE_PIN 18
  1460. #define Z_STOP_PIN 5
  1461. #define Z_ATT_PIN 16
  1462. #define E0_STEP_PIN 21
  1463. #define E0_DIR_PIN 23
  1464. #define E0_ENABLE_PIN 22
  1465. #define E0_ATT_PIN 20
  1466. #define HEATER_0_PIN 4 // Extruder
  1467. #define HEATER_1_PIN -1
  1468. #define HEATER_2_PIN -1
  1469. #define HEATER_BED_PIN 38 // Bed
  1470. #define FAN_PIN 3 // Fan
  1471. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1472. #define TEMP_1_PIN -1
  1473. #define TEMP_2_PIN -1
  1474. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1475. #define SDPOWER -1
  1476. #define SDSS -1
  1477. #define LED_PIN 39
  1478. #define PS_ON_PIN -1
  1479. #define KILL_PIN -1
  1480. #define ALARM_PIN -1
  1481. #ifndef SDSUPPORT
  1482. // these pins are defined in the SD library if building with SD support
  1483. #define SCK_PIN 9
  1484. #define MISO_PIN 11
  1485. #define MOSI_PIN 10
  1486. #endif
  1487. #endif // BRAINWAVE
  1488. //
  1489. // SAV Mk-I
  1490. // -----------------------------------------------------------------------------------
  1491. /****************************************************************************************
  1492. * SAV MkI pin assignments (AT90USB1286)
  1493. * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
  1494. http://www.pjrc.com/teensy/teensyduino.html
  1495. RepRap Clone Wars project board.
  1496. ****************************************************************************************/
  1497. #if MB(SAV_MKI) // SAV Mk-I
  1498. #define KNOWN_BOARD 1
  1499. #define AT90USB 1286 // Disable MarlinSerial etc.
  1500. #ifndef __AVR_AT90USB1286__
  1501. #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
  1502. #endif
  1503. #define LARGE_FLASH true
  1504. #define X_STEP_PIN 0
  1505. #define X_DIR_PIN 1
  1506. #define X_ENABLE_PIN 39
  1507. #define Y_STEP_PIN 2
  1508. #define Y_DIR_PIN 3
  1509. #define Y_ENABLE_PIN 38
  1510. #define Z_STEP_PIN 4
  1511. #define Z_DIR_PIN 5
  1512. #define Z_ENABLE_PIN 23
  1513. #define E0_STEP_PIN 6
  1514. #define E0_DIR_PIN 7
  1515. #define E0_ENABLE_PIN 19
  1516. #define HEATER_0_PIN 21 // Extruder
  1517. #define HEATER_1_PIN -1
  1518. #define HEATER_2_PIN -1
  1519. #define HEATER_BED_PIN 20 // Bed
  1520. #define FAN_PIN 16 // Fan -- from Teensyduino environment.
  1521. // For the fan and Teensyduino uses a different pin mapping.
  1522. #define X_STOP_PIN 13
  1523. #define Y_STOP_PIN 14
  1524. #define Z_STOP_PIN 15
  1525. // #define Z_STOP_PIN 36 // For inductive sensor.
  1526. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1527. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1528. #define TEMP_1_PIN -1
  1529. #define TEMP_2_PIN -1
  1530. #define SDPOWER -1
  1531. #define SDSS 20 // PB0 - 8 in marlin env.
  1532. #define LED_PIN -1
  1533. #define PS_ON_PIN -1
  1534. #define ALARM_PIN -1
  1535. #define SDCARDDETECT -1
  1536. #ifndef SDSUPPORT
  1537. // these pins are defined in the SD library if building with SD support
  1538. #define SCK_PIN 9
  1539. #define MISO_PIN 11
  1540. #define MOSI_PIN 10
  1541. #endif
  1542. #define BEEPER -1
  1543. #define LCD_PINS_RS -1
  1544. #define LCD_PINS_ENABLE -1
  1545. #define LCD_PINS_D4 -1
  1546. #define LCD_PINS_D5 -1
  1547. #define LCD_PINS_D6 -1
  1548. #define LCD_PINS_D7 -1
  1549. #ifdef SAV_3DLCD
  1550. // For LCD SHIFT register LCD
  1551. #define SR_DATA_PIN 1
  1552. #define SR_CLK_PIN 0
  1553. #define BTN_EN1 41
  1554. #define BTN_EN2 40
  1555. #define BTN_ENC 12
  1556. #define KILL_PIN 42 // A2 = 42 - teensy = 40
  1557. #define HOME_PIN -1 // A4 = marlin 44 - teensy = 42
  1558. #ifdef NUM_SERVOS
  1559. #define SERVO0_PIN 41 // In teensy's pin definition for pinMode (in Servo.cpp)
  1560. #endif
  1561. #endif
  1562. #endif // SAV_MKI
  1563. /****************************************************************************************
  1564. * Teensy++ 2.0 Breadboard pin assignments (AT90USB1286)
  1565. * Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
  1566. http://www.pjrc.com/teensy/teensyduino.html
  1567. * See http://reprap.org/wiki/Printrboard for more info
  1568. * CLI build: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make
  1569. *
  1570. ****************************************************************************************/
  1571. #if MB(TEENSY2)
  1572. #define KNOWN_BOARD 1
  1573. #define AT90USB 1286 // Disable MarlinSerial etc.
  1574. #ifndef __AVR_AT90USB1286__
  1575. #error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
  1576. #endif
  1577. #define LARGE_FLASH true
  1578. /*
  1579. DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a TeensyBreadboard:
  1580. USB
  1581. GND GND |-----#####-----| +5V ATX +5SB
  1582. ATX PS_ON PWM 27 |b7 ##### b6| 26 PWM* Stepper Enable
  1583. PWM 0 |d0 b5| 25 PWM*
  1584. PWM 1 |d1 b4| 24 PWM
  1585. X_MIN 2 |d2 b3| 23 MISO_PIN
  1586. Y_MIN 3 |d3 b2| 22 MOSI_PIN
  1587. Z_MIN 4 |d4 * * b1| 21 SCK_PIN
  1588. 5 |d5 e e b0| 20 SDSS
  1589. LED 6 |d6 5 4 e7| 19
  1590. 7 |d7 e6| 18
  1591. LCD RS 8 |e0 | GND
  1592. LCD EN 9 |e1 a4 a0 R| AREF
  1593. LCD D4 10 |c0 a5 a1 f0| 38 A0 ENC_1
  1594. LCD D5 11 |c1 a6 a2 f1| 39 A1 ENC_2
  1595. LCD D6 12 |c2 a7 a3 f2| 40 A2 ENC_CLK
  1596. LCD D6 13 |c3 f3| 41 A3
  1597. Bed Heat PWM 14 |c4 V G R f4| 42 A4
  1598. Extruder Heat PWM 15 |c5 c n S f5| 43 A5
  1599. Fan PWM 16 |c6 c d T f6| 44 A6 Bed TC
  1600. 17 |c7 * * * f7| 45 A7 Extruder TC * 4.7k * +5
  1601. -----------------
  1602. Interior E4: 36, INT4
  1603. Interior E5: 37, INT5
  1604. Interior PA0-7: 28-35 -- Printrboard and Teensylu use these pins for step & direction:
  1605. T++ PA Signal Marlin
  1606. Z STEP 32 a4 a0 28 X STEP
  1607. Z DIR 33 a5 a1 29 X DIR
  1608. E STEP 34 a6 a2 30 Y STEP
  1609. E DIR 35 a7 a3 31 Y DIR
  1610. */
  1611. #ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical.
  1612. #error Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config
  1613. // or build from command line with: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84 make
  1614. #endif
  1615. #define X_STEP_PIN 28 // 0 Marlin
  1616. #define X_DIR_PIN 29 // 1 Marlin
  1617. #define X_ENABLE_PIN 26
  1618. #define Y_STEP_PIN 30 // 2 Marlin
  1619. #define Y_DIR_PIN 31 // 3
  1620. #define Y_ENABLE_PIN 26 // Shared w/x
  1621. #define Z_STEP_PIN 32 // 4
  1622. #define Z_DIR_PIN 33 // 5
  1623. #define Z_ENABLE_PIN 26 // Shared w/x
  1624. #define E0_STEP_PIN 34 // 6
  1625. #define E0_DIR_PIN 35 // 7
  1626. #define E0_ENABLE_PIN 26 // Shared w/x
  1627. #define HEATER_0_PIN 15 // 21 // Extruder
  1628. #define HEATER_1_PIN -1
  1629. #define HEATER_2_PIN -1
  1630. #define HEATER_BED_PIN 14 // 20 // Bed
  1631. #define FAN_PIN 16 // 22 // Fan
  1632. #define X_STOP_PIN 2
  1633. #define Y_STOP_PIN 3
  1634. #define Z_STOP_PIN 4
  1635. #define TEMP_0_PIN 7 // Extruder / Analog pin numbering
  1636. #define TEMP_BED_PIN 6 // Bed / Analog pin numbering
  1637. #define TEMP_1_PIN -1
  1638. #define TEMP_2_PIN -1
  1639. #define SDPOWER -1
  1640. #define SDCARDDETECT -1
  1641. #define SDSS 20 // 8
  1642. #define LED_PIN 6
  1643. #define PS_ON_PIN 27
  1644. #define KILL_PIN -1
  1645. #define ALARM_PIN -1
  1646. #ifndef SDSUPPORT
  1647. // these pins are defined in the SD library if building with SD support
  1648. #define SCK_PIN 21 // 9
  1649. #define MISO_PIN 23 // 11
  1650. #define MOSI_PIN 22 // 10
  1651. #endif
  1652. #ifdef ULTIPANEL
  1653. #define LCD_PINS_RS 8
  1654. #define LCD_PINS_ENABLE 9
  1655. #define LCD_PINS_D4 10
  1656. #define LCD_PINS_D5 11
  1657. #define LCD_PINS_D6 12
  1658. #define LCD_PINS_D7 13
  1659. #define BTN_EN1 38
  1660. #define BTN_EN2 39
  1661. #define BTN_ENC 40
  1662. #endif
  1663. #endif // TEENSY2
  1664. /****************************************************************************************
  1665. * Gen3+ pin assignment
  1666. *
  1667. ****************************************************************************************/
  1668. #if MB(GEN3_PLUS)
  1669. #define MOTHERBOARD BOARD_SANGUINOLOLU_11 /*TODO: Figure out, Why is this done?*/
  1670. #define KNOWN_BOARD 1
  1671. #ifndef __AVR_ATmega644P__
  1672. #ifndef __AVR_ATmega1284P__
  1673. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  1674. #endif
  1675. #endif
  1676. #define X_STEP_PIN 15
  1677. #define X_DIR_PIN 18
  1678. #define X_STOP_PIN 20
  1679. #define Y_STEP_PIN 23
  1680. #define Y_DIR_PIN 22
  1681. #define Y_STOP_PIN 25
  1682. #define Z_STEP_PIN 27
  1683. #define Z_DIR_PIN 28
  1684. #define Z_STOP_PIN 30
  1685. #define E0_STEP_PIN 17
  1686. #define E0_DIR_PIN 21
  1687. #define LED_PIN -1
  1688. #define FAN_PIN -1
  1689. #define PS_ON_PIN 14
  1690. #define KILL_PIN -1
  1691. #define HEATER_0_PIN 12 // (extruder)
  1692. #define HEATER_BED_PIN 16 // (bed)
  1693. #define X_ENABLE_PIN 19
  1694. #define Y_ENABLE_PIN 24
  1695. #define Z_ENABLE_PIN 29
  1696. #define E0_ENABLE_PIN 13
  1697. #define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
  1698. #define TEMP_1_PIN -1
  1699. #define TEMP_2_PIN -1
  1700. #define TEMP_BED_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
  1701. #define SDPOWER -1
  1702. #define SDSS 4
  1703. #define HEATER_2_PIN -1
  1704. #endif // GEN3_PLUS
  1705. /****************************************************************************************
  1706. * Gen3 Monolithic Electronics
  1707. *
  1708. ****************************************************************************************/
  1709. #if MB(GEN3_MONOLITHIC)
  1710. #define KNOWN_BOARD 1
  1711. #ifndef __AVR_ATmega644P__
  1712. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
  1713. #endif
  1714. #define DEBUG_PIN 0
  1715. // x axis
  1716. #define X_STEP_PIN 15
  1717. #define X_DIR_PIN 18
  1718. #define X_MIN_PIN 20
  1719. //Alex Checar #define X_STOP_PIN 20
  1720. #define X_ENABLE_PIN 24 //actually uses Y_enable_pin
  1721. #define X_MAX_PIN -1
  1722. // y axes
  1723. #define Y_STEP_PIN 23
  1724. #define Y_DIR_PIN 22
  1725. #define Y_MIN_PIN 25
  1726. //Alex Checar #define Y_STOP_PIN 25
  1727. #define Y_ENABLE_PIN 24 //shared with X_enable_pin
  1728. #define Y_MAX_PIN -1
  1729. // z axes
  1730. #define Z_STEP_PIN 27
  1731. #define Z_DIR_PIN 28
  1732. #define Z_MIN_PIN 30
  1733. //Alex Checar #define Z_STOP_PIN 30
  1734. #define Z_ENABLE_PIN 29
  1735. #define Z_MAX_PIN -1
  1736. //extruder pins
  1737. #define E0_STEP_PIN 12
  1738. #define E0_DIR_PIN 17
  1739. #define E0_ENABLE_PIN 3
  1740. #define HEATER_0_PIN 16
  1741. #define TEMP_0_PIN 0
  1742. #define FAN_PIN -1
  1743. //bed pins
  1744. #define HEATER_BED_PIN -1
  1745. #define TEMP_BED_PIN -1
  1746. #define SDSS -1
  1747. #define SDPOWER -1
  1748. #define LED_PIN -1
  1749. //pin for controlling the PSU.
  1750. #define PS_ON_PIN 14 //Alex, Do this work on the card?
  1751. //Alex extras from Gen3+
  1752. #define KILL_PIN -1
  1753. #define TEMP_1_PIN -1
  1754. #define TEMP_2_PIN -1
  1755. #define HEATER_2_PIN -1
  1756. #endif // GEN3_MONOLITHIC
  1757. /****************************************************************************************
  1758. * Open Motion controller with enable based extruders
  1759. *
  1760. * ATMega644
  1761. *
  1762. * +---\/---+
  1763. * (D 0) PB0 1| |40 PA0 (AI 0 / D31)
  1764. * (D 1) PB1 2| |39 PA1 (AI 1 / D30)
  1765. * INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29)
  1766. * PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28)
  1767. * PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27)
  1768. * MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26)
  1769. * MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25)
  1770. * SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24)
  1771. * RST 9| |32 AREF
  1772. * VCC 10| |31 GND
  1773. * GND 11| |30 AVCC
  1774. * XTAL2 12| |29 PC7 (D 23)
  1775. * XTAL1 13| |28 PC6 (D 22)
  1776. * RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI
  1777. * TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO
  1778. * INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS
  1779. * INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK
  1780. * PWM (D 12) PD4 18| |23 PC1 (D 17) SDA
  1781. * PWM (D 13) PD5 19| |22 PC0 (D 16) SCL
  1782. * PWM (D 14) PD6 20| |21 PD7 (D 15) PWM
  1783. * +--------+
  1784. *
  1785. ****************************************************************************************/
  1786. #if MB(OMCA_A) //Alpha OMCA board
  1787. #define KNOWN_BOARD 1
  1788. #ifndef __AVR_ATmega644__
  1789. #error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu.
  1790. #endif
  1791. #define X_STEP_PIN 21
  1792. #define X_DIR_PIN 20
  1793. #define X_ENABLE_PIN 24
  1794. #define X_STOP_PIN 0
  1795. #define Y_STEP_PIN 23
  1796. #define Y_DIR_PIN 22
  1797. #define Y_ENABLE_PIN 24
  1798. #define Y_STOP_PIN 1
  1799. #define Z_STEP_PIN 26
  1800. #define Z_DIR_PIN 25
  1801. #define Z_ENABLE_PIN 24
  1802. #define Z_STOP_PIN 2
  1803. #define E0_STEP_PIN 28
  1804. #define E0_DIR_PIN 27
  1805. #define E0_ENABLE_PIN 24
  1806. #define E1_STEP_PIN -1 // 19
  1807. #define E1_DIR_PIN -1 // 18
  1808. #define E1_ENABLE_PIN 24
  1809. #define E2_STEP_PIN -1 // 17
  1810. #define E2_DIR_PIN -1 // 16
  1811. #define E2_ENABLE_PIN 24
  1812. #define SDPOWER -1
  1813. #define SDSS 11
  1814. #define SDCARDDETECT -1 // 10 optional also used as mode pin
  1815. #define LED_PIN -1
  1816. #define FAN_PIN 3
  1817. #define PS_ON_PIN -1
  1818. #define KILL_PIN -1
  1819. #define HEATER_0_PIN 4
  1820. #define HEATER_1_PIN -1 // 12
  1821. #define HEATER_2_PIN -1 // 13
  1822. #define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
  1823. #define TEMP_1_PIN -1 // 1
  1824. #define TEMP_2_PIN -1 // 2
  1825. #define HEATER_BED_PIN -1 // 14/15
  1826. #define TEMP_BED_PIN -1 // 1,2 or I2C
  1827. /* 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) */
  1828. #endif // OMCA_A
  1829. #if MB(OMCA) // Final OMCA board -- REF http://sanguino.cc/hardware
  1830. #define KNOWN_BOARD 1
  1831. #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__)
  1832. #error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. (Final OMCA board)
  1833. #endif
  1834. #define X_STEP_PIN 26
  1835. #define X_DIR_PIN 25
  1836. #define X_ENABLE_PIN 10
  1837. #define X_STOP_PIN 0
  1838. #define Y_STEP_PIN 28
  1839. #define Y_DIR_PIN 27
  1840. #define Y_ENABLE_PIN 10
  1841. #define Y_STOP_PIN 1
  1842. #define Z_STEP_PIN 23
  1843. #define Z_DIR_PIN 22
  1844. #define Z_ENABLE_PIN 10
  1845. #define Z_STOP_PIN 2
  1846. #define E0_STEP_PIN 24
  1847. #define E0_DIR_PIN 21
  1848. #define E0_ENABLE_PIN 10
  1849. /* future proofing */
  1850. #define __FS 20
  1851. #define __FD 19
  1852. #define __GS 18
  1853. #define __GD 13
  1854. #define UNUSED_PWM 14 /* PWM on LEFT connector */
  1855. #define E1_STEP_PIN -1 // 21
  1856. #define E1_DIR_PIN -1 // 20
  1857. #define E1_ENABLE_PIN -1 // 19
  1858. #define E2_STEP_PIN -1 // 21
  1859. #define E2_DIR_PIN -1 // 20
  1860. #define E2_ENABLE_PIN -1 // 18
  1861. #define SDPOWER -1
  1862. #define SDSS 11
  1863. #define SDCARDDETECT -1 // 10 optional also used as mode pin
  1864. #define LED_PIN -1
  1865. #define FAN_PIN 14 /* PWM on MIDDLE connector */
  1866. #define PS_ON_PIN -1
  1867. #define KILL_PIN -1
  1868. #define HEATER_0_PIN 3 /*DONE PWM on RIGHT connector */
  1869. #define HEATER_1_PIN -1
  1870. #define HEATER_2_PIN -1
  1871. #define HEATER_1_PIN -1
  1872. #define HEATER_2_PIN -1
  1873. #define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING
  1874. #define TEMP_1_PIN 1 // ANALOG
  1875. #define TEMP_2_PIN -1 // 2
  1876. #define HEATER_BED_PIN 4
  1877. #define TEMP_BED_PIN 2 // 1,2 or I2C
  1878. #define I2C_SCL 16
  1879. #define I2C_SDA 17
  1880. #endif // OMCA
  1881. /*****************************************************************
  1882. * Rambo Pin Assignments
  1883. ******************************************************************/
  1884. #if MB(RAMBO)
  1885. #define KNOWN_BOARD
  1886. #ifndef __AVR_ATmega2560__
  1887. #error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
  1888. #endif
  1889. #define LARGE_FLASH true
  1890. #define X_STEP_PIN 37
  1891. #define X_DIR_PIN 48
  1892. #define X_MIN_PIN 12
  1893. #define X_MAX_PIN 24
  1894. #define X_ENABLE_PIN 29
  1895. #define X_MS1_PIN 40
  1896. #define X_MS2_PIN 41
  1897. #define Y_STEP_PIN 36
  1898. #define Y_DIR_PIN 49
  1899. #define Y_MIN_PIN 11
  1900. #define Y_MAX_PIN 23
  1901. #define Y_ENABLE_PIN 28
  1902. #define Y_MS1_PIN 69
  1903. #define Y_MS2_PIN 39
  1904. #define Z_STEP_PIN 35
  1905. #define Z_DIR_PIN 47
  1906. #define Z_MIN_PIN 10
  1907. #define Z_MAX_PIN 30
  1908. #define Z_ENABLE_PIN 27
  1909. #define Z_MS1_PIN 68
  1910. #define Z_MS2_PIN 67
  1911. #define HEATER_BED_PIN 3
  1912. #define TEMP_BED_PIN 2
  1913. #define HEATER_0_PIN 9
  1914. #define TEMP_0_PIN 0
  1915. #define HEATER_1_PIN 7
  1916. #define TEMP_1_PIN 1
  1917. #ifdef BARICUDA
  1918. #define HEATER_2_PIN 6
  1919. #else
  1920. #define HEATER_2_PIN -1
  1921. #endif
  1922. #define TEMP_2_PIN -1
  1923. #define E0_STEP_PIN 34
  1924. #define E0_DIR_PIN 43
  1925. #define E0_ENABLE_PIN 26
  1926. #define E0_MS1_PIN 65
  1927. #define E0_MS2_PIN 66
  1928. #define E1_STEP_PIN 33
  1929. #define E1_DIR_PIN 42
  1930. #define E1_ENABLE_PIN 25
  1931. #define E1_MS1_PIN 63
  1932. #define E1_MS2_PIN 64
  1933. #define DIGIPOTSS_PIN 38
  1934. #define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
  1935. #define SDPOWER -1
  1936. #define SDSS 53
  1937. #define LED_PIN 13
  1938. #define FAN_PIN 8
  1939. #define PS_ON_PIN 4
  1940. #define KILL_PIN -1 //80 with Smart Controller LCD
  1941. #define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
  1942. #ifdef ULTRA_LCD
  1943. #define KILL_PIN 80
  1944. #ifdef NEWPANEL
  1945. //arduino pin which triggers an piezzo beeper
  1946. #define BEEPER 79 // Beeper on AUX-4
  1947. #define LCD_PINS_RS 70
  1948. #define LCD_PINS_ENABLE 71
  1949. #define LCD_PINS_D4 72
  1950. #define LCD_PINS_D5 73
  1951. #define LCD_PINS_D6 74
  1952. #define LCD_PINS_D7 75
  1953. //buttons are directly attached using AUX-2
  1954. #define BTN_EN1 76
  1955. #define BTN_EN2 77
  1956. #define BTN_ENC 78 //the click
  1957. #define BLEN_C 2
  1958. #define BLEN_B 1
  1959. #define BLEN_A 0
  1960. #define SDCARDDETECT 81 // Ramps does not use this port
  1961. //encoder rotation values
  1962. #define encrot0 0
  1963. #define encrot1 2
  1964. #define encrot2 3
  1965. #define encrot3 1
  1966. #else //old style panel with shift register
  1967. //arduino pin witch triggers an piezzo beeper
  1968. #define BEEPER 33 No Beeper added
  1969. //buttons are attached to a shift register
  1970. // Not wired this yet
  1971. // #define SHIFT_CLK 38
  1972. // #define SHIFT_LD 42
  1973. // #define SHIFT_OUT 40
  1974. // #define SHIFT_EN 17
  1975. #define LCD_PINS_RS 75
  1976. #define LCD_PINS_ENABLE 17
  1977. #define LCD_PINS_D4 23
  1978. #define LCD_PINS_D5 25
  1979. #define LCD_PINS_D6 27
  1980. #define LCD_PINS_D7 29
  1981. //encoder rotation values
  1982. #define encrot0 0
  1983. #define encrot1 2
  1984. #define encrot2 3
  1985. #define encrot3 1
  1986. //bits in the shift register that carry the buttons for:
  1987. // left up center down right red
  1988. #define BL_LE 7
  1989. #define BL_UP 6
  1990. #define BL_MI 5
  1991. #define BL_DW 4
  1992. #define BL_RI 3
  1993. #define BL_ST 2
  1994. #define BLEN_B 1
  1995. #define BLEN_A 0
  1996. #endif
  1997. #endif //ULTRA_LCD
  1998. #ifdef FILAMENT_SENSOR
  1999. //Filip added pin for Filament sensor analog input
  2000. #define FILWIDTH_PIN 3
  2001. #endif //FILAMENT_SENSOR
  2002. #endif // RAMBO
  2003. /****************************************************************************************
  2004. * MegaTronics
  2005. *
  2006. ****************************************************************************************/
  2007. #if MB(MEGATRONICS)
  2008. #define KNOWN_BOARD 1
  2009. #ifndef __AVR_ATmega2560__
  2010. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  2011. #endif
  2012. #define LARGE_FLASH true
  2013. #define X_STEP_PIN 26
  2014. #define X_DIR_PIN 28
  2015. #define X_ENABLE_PIN 24
  2016. #define X_MIN_PIN 41
  2017. #define X_MAX_PIN 37
  2018. #define Y_STEP_PIN 60 // A6
  2019. #define Y_DIR_PIN 61 // A7
  2020. #define Y_ENABLE_PIN 22
  2021. #define Y_MIN_PIN 14
  2022. #define Y_MAX_PIN 15
  2023. #define Z_STEP_PIN 54 // A0
  2024. #define Z_DIR_PIN 55 // A1
  2025. #define Z_ENABLE_PIN 56 // A2
  2026. #define Z_MIN_PIN 18
  2027. #define Z_MAX_PIN 19
  2028. #define E0_STEP_PIN 31
  2029. #define E0_DIR_PIN 32
  2030. #define E0_ENABLE_PIN 38
  2031. #define E1_STEP_PIN 34
  2032. #define E1_DIR_PIN 36
  2033. #define E1_ENABLE_PIN 30
  2034. #define SDPOWER -1
  2035. #define SDSS 53
  2036. #define LED_PIN 13
  2037. #define FAN_PIN 7 // IO pin. Buffer needed
  2038. #define PS_ON_PIN 12
  2039. #define KILL_PIN -1
  2040. #define HEATER_0_PIN 9 // EXTRUDER 1
  2041. #define HEATER_1_PIN 8 // EXTRUDER 2 (FAN On Sprinter)
  2042. #define HEATER_2_PIN -1
  2043. #if TEMP_SENSOR_0 == -1
  2044. #define TEMP_0_PIN 8 // ANALOG NUMBERING
  2045. #else
  2046. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  2047. #endif
  2048. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  2049. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  2050. #define HEATER_BED_PIN 10 // BED
  2051. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  2052. #define BEEPER 33 // Beeper on AUX-4
  2053. #ifdef ULTRA_LCD
  2054. #ifdef NEWPANEL
  2055. //arduino pin which triggers an piezzo beeper
  2056. #define LCD_PINS_RS 16
  2057. #define LCD_PINS_ENABLE 17
  2058. #define LCD_PINS_D4 23
  2059. #define LCD_PINS_D5 25
  2060. #define LCD_PINS_D6 27
  2061. #define LCD_PINS_D7 29
  2062. //buttons are directly attached using AUX-2
  2063. #define BTN_EN1 59
  2064. #define BTN_EN2 64
  2065. #define BTN_ENC 43 //the click
  2066. #define BLEN_C 2
  2067. #define BLEN_B 1
  2068. #define BLEN_A 0
  2069. #define SDCARDDETECT -1 // Ramps does not use this port
  2070. //encoder rotation values
  2071. #define encrot0 0
  2072. #define encrot1 2
  2073. #define encrot2 3
  2074. #define encrot3 1
  2075. #endif
  2076. #endif //ULTRA_LCD
  2077. #endif // MEGATRONICS
  2078. /****************************************************************************************
  2079. * MegaTronics v2.0
  2080. *
  2081. ****************************************************************************************/
  2082. #if MB(MEGATRONICS_2)
  2083. #define KNOWN_BOARD 1
  2084. #ifndef __AVR_ATmega2560__
  2085. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  2086. #endif
  2087. #define LARGE_FLASH true
  2088. #define X_STEP_PIN 26
  2089. #define X_DIR_PIN 27
  2090. #define X_ENABLE_PIN 25
  2091. #define X_MIN_PIN 37
  2092. #define X_MAX_PIN 40 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  2093. #define Y_STEP_PIN 4 // A6
  2094. #define Y_DIR_PIN 54 // A0
  2095. #define Y_ENABLE_PIN 5
  2096. #define Y_MIN_PIN 41
  2097. #define Y_MAX_PIN 38 //15
  2098. #define Z_STEP_PIN 56 // A2
  2099. #define Z_DIR_PIN 60 // A6
  2100. #define Z_ENABLE_PIN 55 // A1
  2101. #define Z_MIN_PIN 18
  2102. #define Z_MAX_PIN 19
  2103. #define E0_STEP_PIN 35
  2104. #define E0_DIR_PIN 36
  2105. #define E0_ENABLE_PIN 34
  2106. #define E1_STEP_PIN 29
  2107. #define E1_DIR_PIN 39
  2108. #define E1_ENABLE_PIN 28
  2109. #define E2_STEP_PIN 23
  2110. #define E2_DIR_PIN 24
  2111. #define E2_ENABLE_PIN 22
  2112. #define SDPOWER -1
  2113. #define SDSS 53
  2114. #define LED_PIN 13
  2115. #define FAN_PIN 7
  2116. #define FAN2_PIN 6
  2117. #define PS_ON_PIN 12
  2118. #define KILL_PIN -1
  2119. #define HEATER_0_PIN 9 // EXTRUDER 1
  2120. #define HEATER_1_PIN 8 // EXTRUDER 2
  2121. #define HEATER_2_PIN -1
  2122. #if TEMP_SENSOR_0 == -1
  2123. #define TEMP_0_PIN 4 // ANALOG NUMBERING
  2124. #else
  2125. #define TEMP_0_PIN 13 // ANALOG NUMBERING
  2126. #endif
  2127. #if TEMP_SENSOR_1 == -1
  2128. #define TEMP_1_PIN 8 // ANALOG NUMBERING
  2129. #else
  2130. #define TEMP_1_PIN 15 // ANALOG NUMBERING
  2131. #endif
  2132. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  2133. #define HEATER_BED_PIN 10 // BED
  2134. #if TEMP_SENSOR_BED == -1
  2135. #define TEMP_BED_PIN 8 // ANALOG NUMBERING
  2136. #else
  2137. #define TEMP_BED_PIN 14 // ANALOG NUMBERING
  2138. #endif
  2139. #define BEEPER 64
  2140. #define LCD_PINS_RS 14
  2141. #define LCD_PINS_ENABLE 15
  2142. #define LCD_PINS_D4 30
  2143. #define LCD_PINS_D5 31
  2144. #define LCD_PINS_D6 32
  2145. #define LCD_PINS_D7 33
  2146. //buttons are directly attached using keypad
  2147. #define BTN_EN1 61
  2148. #define BTN_EN2 59
  2149. #define BTN_ENC 43 //the click
  2150. #define BLEN_C 2
  2151. #define BLEN_B 1
  2152. #define BLEN_A 0
  2153. #define SDCARDDETECT -1 // Megatronics does not use this port
  2154. //encoder rotation values
  2155. #define encrot0 0
  2156. #define encrot1 2
  2157. #define encrot2 3
  2158. #define encrot3 1
  2159. #endif // MEGATRONICS_2
  2160. /****************************************************************************************
  2161. * Minitronics v1.0
  2162. *
  2163. ****************************************************************************************/
  2164. #if MB(MEGATRONICS_1)
  2165. #define KNOWN_BOARD 1
  2166. #ifndef __AVR_ATmega1281__
  2167. #error Oops! Make sure you have 'Minitronics ' selected from the 'Tools -> Boards' menu.
  2168. #endif
  2169. #define LARGE_FLASH true
  2170. #define X_STEP_PIN 48
  2171. #define X_DIR_PIN 47
  2172. #define X_ENABLE_PIN 49
  2173. #define X_MIN_PIN 5
  2174. #define X_MAX_PIN -1 //2 //Max endstops default to disabled "-1", set to commented value to enable.
  2175. #define Y_STEP_PIN 39 // A6
  2176. #define Y_DIR_PIN 40 // A0
  2177. #define Y_ENABLE_PIN 38
  2178. #define Y_MIN_PIN 2
  2179. #define Y_MAX_PIN -1 //15
  2180. #define Z_STEP_PIN 42 // A2
  2181. #define Z_DIR_PIN 43 // A6
  2182. #define Z_ENABLE_PIN 41 // A1
  2183. #define Z_MIN_PIN 6
  2184. #define Z_MAX_PIN -1
  2185. #define E0_STEP_PIN 45
  2186. #define E0_DIR_PIN 44
  2187. #define E0_ENABLE_PIN 27
  2188. #define E1_STEP_PIN 36
  2189. #define E1_DIR_PIN 35
  2190. #define E1_ENABLE_PIN 37
  2191. #define E2_STEP_PIN -1
  2192. #define E2_DIR_PIN -1
  2193. #define E2_ENABLE_PIN -1
  2194. #define SDPOWER -1
  2195. #define SDSS 16
  2196. #define LED_PIN 46
  2197. #define FAN_PIN 9
  2198. #define FAN2_PIN -1
  2199. #define PS_ON_PIN -1
  2200. #define KILL_PIN -1
  2201. #define HEATER_0_PIN 7 // EXTRUDER 1
  2202. #define HEATER_1_PIN 8 // EXTRUDER 2
  2203. #define HEATER_2_PIN -1
  2204. #define TEMP_0_PIN 7 // ANALOG NUMBERING
  2205. #define TEMP_1_PIN 6 // ANALOG NUMBERING
  2206. #define TEMP_2_PIN -1 // ANALOG NUMBERING
  2207. #define HEATER_BED_PIN 3 // BED
  2208. #define TEMP_BED_PIN 6 // ANALOG NUMBERING
  2209. #define BEEPER -1
  2210. #define LCD_PINS_RS -1
  2211. #define LCD_PINS_ENABLE -1
  2212. #define LCD_PINS_D4 -1
  2213. #define LCD_PINS_D5 -1
  2214. #define LCD_PINS_D6 -1
  2215. #define LCD_PINS_D7 -1
  2216. //buttons are directly attached using keypad
  2217. #define BTN_EN1 -1
  2218. #define BTN_EN2 -1
  2219. #define BTN_ENC -1 //the click
  2220. #define BLEN_C 2
  2221. #define BLEN_B 1
  2222. #define BLEN_A 0
  2223. #define SDCARDDETECT -1 // Megatronics does not use this port
  2224. //encoder rotation values
  2225. #define encrot0 0
  2226. #define encrot1 2
  2227. #define encrot2 3
  2228. #define encrot3 1
  2229. #endif // MEGATRONICS_1
  2230. /****************************************************************************************
  2231. * Cheaptronic v1.0
  2232. *
  2233. ****************************************************************************************/
  2234. #if MB(CHEAPTRONIC)
  2235. #define KNOWN_BOARD 1
  2236. #ifndef __AVR_ATmega2560__
  2237. #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
  2238. #endif
  2239. #define LARGE_FLASH true
  2240. //X motor stepper
  2241. #define X_STEP_PIN 14
  2242. #define X_DIR_PIN 15
  2243. #define X_ENABLE_PIN 24
  2244. //X endstop
  2245. #define X_MIN_PIN 3
  2246. #define X_MAX_PIN -1
  2247. //Y motor stepper
  2248. #define Y_STEP_PIN 35
  2249. #define Y_DIR_PIN 36
  2250. #define Y_ENABLE_PIN 31
  2251. //Y endstop
  2252. #define Y_MIN_PIN 2
  2253. #define Y_MAX_PIN -1
  2254. //Z motor stepper
  2255. #define Z_STEP_PIN 40
  2256. #define Z_DIR_PIN 41
  2257. #define Z_ENABLE_PIN 37
  2258. //Z endstop
  2259. #define Z_MIN_PIN 5
  2260. #define Z_MAX_PIN -1
  2261. //Extruder 0 stepper
  2262. #define E0_STEP_PIN 26
  2263. #define E0_DIR_PIN 28
  2264. #define E0_ENABLE_PIN 25
  2265. //Extruder 1 stepper
  2266. #define E1_STEP_PIN 33
  2267. #define E1_DIR_PIN 34
  2268. #define E1_ENABLE_PIN 30
  2269. #define SDPOWER -1
  2270. #define SDSS -1
  2271. #define LED_PIN -1
  2272. //FAN
  2273. #define FAN_PIN -1
  2274. #define PS_ON_PIN -1
  2275. #define KILL_PIN -1
  2276. #define HEATER_0_PIN 19 // EXTRUDER 1
  2277. #define HEATER_1_PIN 23 // EXTRUDER 2
  2278. //HeatedBad
  2279. #define HEATER_BED_PIN 22
  2280. //Cheaptronic v1.0 hasent EXTRUDER 3
  2281. #define HEATER_2_PIN -1
  2282. //Temperature sensors
  2283. #define TEMP_0_PIN 15
  2284. #define TEMP_1_PIN 14
  2285. #define TEMP_2_PIN -1
  2286. #define TEMP_BED_PIN 13
  2287. //Cheaptronic v1.0 dont support LCD
  2288. #define LCD_PINS_RS -1
  2289. #define LCD_PINS_ENABLE -1
  2290. #define LCD_PINS_D4 -1
  2291. #define LCD_PINS_D5 -1
  2292. #define LCD_PINS_D6 -1
  2293. #define LCD_PINS_D7 -1
  2294. //Cheaptronic v1.0 dont support keypad
  2295. #define BTN_EN1 -1
  2296. #define BTN_EN2 -1
  2297. #define BTN_ENC -1
  2298. #define BLEN_C 2
  2299. #define BLEN_B 1
  2300. #define BLEN_A 0
  2301. //Cheaptronic v1.0 does not use this port
  2302. #define SDCARDDETECT -1
  2303. //encoder rotation values
  2304. #define encrot0 0
  2305. #define encrot1 2
  2306. #define encrot2 3
  2307. #define encrot3 1
  2308. #endif // CHEAPTRONIC
  2309. #ifndef KNOWN_BOARD
  2310. #error Unknown MOTHERBOARD value in configuration.h
  2311. #endif
  2312. //List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
  2313. #define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN,
  2314. #if EXTRUDERS > 1
  2315. #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN,
  2316. #else
  2317. #define _E1_PINS
  2318. #endif
  2319. #if EXTRUDERS > 2
  2320. #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN,
  2321. #else
  2322. #define _E2_PINS
  2323. #endif
  2324. #ifdef X_STOP_PIN
  2325. #if X_HOME_DIR < 0
  2326. #define X_MIN_PIN X_STOP_PIN
  2327. #define X_MAX_PIN -1
  2328. #else
  2329. #define X_MIN_PIN -1
  2330. #define X_MAX_PIN X_STOP_PIN
  2331. #endif
  2332. #endif
  2333. #ifdef Y_STOP_PIN
  2334. #if Y_HOME_DIR < 0
  2335. #define Y_MIN_PIN Y_STOP_PIN
  2336. #define Y_MAX_PIN -1
  2337. #else
  2338. #define Y_MIN_PIN -1
  2339. #define Y_MAX_PIN Y_STOP_PIN
  2340. #endif
  2341. #endif
  2342. #ifdef Z_STOP_PIN
  2343. #if Z_HOME_DIR < 0
  2344. #define Z_MIN_PIN Z_STOP_PIN
  2345. #define Z_MAX_PIN -1
  2346. #else
  2347. #define Z_MIN_PIN -1
  2348. #define Z_MAX_PIN Z_STOP_PIN
  2349. #endif
  2350. #endif
  2351. #ifdef DISABLE_MAX_ENDSTOPS
  2352. #define X_MAX_PIN -1
  2353. #define Y_MAX_PIN -1
  2354. #define Z_MAX_PIN -1
  2355. #endif
  2356. #ifdef DISABLE_MIN_ENDSTOPS
  2357. #define X_MIN_PIN -1
  2358. #define Y_MIN_PIN -1
  2359. #define Z_MIN_PIN -1
  2360. #endif
  2361. #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, \
  2362. HEATER_BED_PIN, FAN_PIN, \
  2363. _E0_PINS _E1_PINS _E2_PINS \
  2364. analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_BED_PIN) }
  2365. #endif //__PINS_H