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

pins.h 81KB

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