pins.h 79 KB

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