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

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