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_RADDS.h 8.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. /**
  2. * Marlin 3D Printer Firmware
  3. * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
  4. *
  5. * Based on Sprinter and grbl.
  6. * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
  7. *
  8. * This program is free software: you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation, either version 3 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program. If not, see <https://www.gnu.org/licenses/>.
  20. *
  21. */
  22. #pragma once
  23. /**
  24. * RADDS
  25. */
  26. #if NOT_TARGET(__SAM3X8E__)
  27. #error "Oops! Select 'Arduino Due' in 'Tools > Board.'"
  28. #endif
  29. #define BOARD_INFO_NAME "RADDS"
  30. //
  31. // EEPROM
  32. //
  33. #if EITHER(NO_EEPROM_SELECTED, I2C_EEPROM)
  34. #define I2C_EEPROM
  35. #define MARLIN_EEPROM_SIZE 0x2000 // 8KB
  36. #endif
  37. //
  38. // Servos
  39. //
  40. #if !HAS_CUTTER
  41. #define SERVO0_PIN 5
  42. #endif
  43. #define SERVO1_PIN 6
  44. #define SERVO2_PIN 39
  45. #define SERVO3_PIN 40
  46. //
  47. // Limit Switches
  48. //
  49. #define X_MIN_PIN 28
  50. #define X_MAX_PIN 34
  51. #define Y_MIN_PIN 30
  52. #define Y_MAX_PIN 36
  53. #define Z_MIN_PIN 32
  54. #define Z_MAX_PIN 38
  55. //
  56. // Z Probe (when not Z_MIN_PIN)
  57. //
  58. #ifndef Z_MIN_PROBE_PIN
  59. #define Z_MIN_PROBE_PIN 38
  60. #endif
  61. //
  62. // Steppers
  63. //
  64. #define X_STEP_PIN 24
  65. #define X_DIR_PIN 23
  66. #define X_ENABLE_PIN 26
  67. #ifndef X_CS_PIN
  68. #define X_CS_PIN 25
  69. #endif
  70. #define Y_STEP_PIN 17
  71. #define Y_DIR_PIN 16
  72. #define Y_ENABLE_PIN 22
  73. #ifndef Y_CS_PIN
  74. #define Y_CS_PIN 27
  75. #endif
  76. #define Z_STEP_PIN 2
  77. #define Z_DIR_PIN 3
  78. #define Z_ENABLE_PIN 15
  79. #ifndef Z_CS_PIN
  80. #define Z_CS_PIN 29
  81. #endif
  82. #define E0_STEP_PIN 61
  83. #define E0_DIR_PIN 60
  84. #define E0_ENABLE_PIN 62
  85. #ifndef E0_CS_PIN
  86. #define E0_CS_PIN 31
  87. #endif
  88. #define E1_STEP_PIN 64
  89. #define E1_DIR_PIN 63
  90. #define E1_ENABLE_PIN 65
  91. #ifndef E1_CS_PIN
  92. #define E1_CS_PIN 33
  93. #endif
  94. #define E2_STEP_PIN 51
  95. #define E2_DIR_PIN 53
  96. #define E2_ENABLE_PIN 49
  97. #ifndef E2_CS_PIN
  98. #define E2_CS_PIN 35
  99. #endif
  100. /**
  101. * RADDS Extension Board V2 / V3
  102. * http://doku.radds.org/dokumentation/extension-board
  103. */
  104. //#define RADDS_EXTENSION 2
  105. #if RADDS_EXTENSION >= 2
  106. #define E3_DIR_PIN 33
  107. #define E3_STEP_PIN 35
  108. #define E3_ENABLE_PIN 37
  109. #ifndef E3_CS_PIN
  110. #define E3_CS_PIN 6
  111. #endif
  112. #if RADDS_EXTENSION == 3
  113. #define E4_DIR_PIN 27
  114. #define E4_STEP_PIN 29
  115. #define E4_ENABLE_PIN 31
  116. #ifndef E4_CS_PIN
  117. #define E4_CS_PIN 39
  118. #endif
  119. #define E5_DIR_PIN 66
  120. #define E5_STEP_PIN 67
  121. #define E5_ENABLE_PIN 68
  122. #ifndef E5_CS_PIN
  123. #define E5_CS_PIN 6
  124. #endif
  125. #define RADDS_EXT_MSI_PIN 69
  126. #define BOARD_INIT() OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH)
  127. #else
  128. #define E4_DIR_PIN 27
  129. #define E4_STEP_PIN 29
  130. #define E4_ENABLE_PIN 31
  131. #ifndef E4_CS_PIN
  132. #define E4_CS_PIN 39
  133. #endif
  134. // E3 and E4 share the same MSx pins
  135. #define E3_MS1_PIN 67
  136. #define E4_MS1_PIN 67
  137. #define E3_MS2_PIN 68
  138. #define E4_MS2_PIN 68
  139. #define E3_MS3_PIN 69
  140. #define E4_MS3_PIN 69
  141. #define RADDS_EXT_VDD2_PIN 66
  142. #define BOARD_INIT() do{ OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH); OUT_WRITE(RADDS_EXT_VDD2_PIN, HIGH); }while(0)
  143. #endif
  144. #define RADDS_EXT_VDD_PIN 25
  145. #endif
  146. //
  147. // Temperature Sensors
  148. //
  149. #define TEMP_0_PIN 0 // Analog Input
  150. #define TEMP_1_PIN 1 // Analog Input
  151. #define TEMP_2_PIN 2 // Analog Input
  152. #define TEMP_3_PIN 3 // Analog Input
  153. #define TEMP_4_PIN 5 // dummy so will compile when PINS_DEBUGGING is enabled
  154. #define TEMP_BED_PIN 4 // Analog Input
  155. // SPI for Max6675 or Max31855 Thermocouple
  156. #if DISABLED(SDSUPPORT)
  157. #define MAX6675_SS_PIN 53
  158. #else
  159. #define MAX6675_SS_PIN 49
  160. #endif
  161. //
  162. // Heaters / Fans
  163. //
  164. #define HEATER_0_PIN 13
  165. #define HEATER_1_PIN 12
  166. #define HEATER_2_PIN 11
  167. #if !HAS_CUTTER
  168. #define HEATER_BED_PIN 7 // BED
  169. #endif
  170. #ifndef FAN_PIN
  171. #define FAN_PIN 9
  172. #endif
  173. #define FAN1_PIN 8
  174. //
  175. // Misc. Functions
  176. //
  177. #define SD_DETECT_PIN 14
  178. #define PS_ON_PIN 40 // SERVO3_PIN
  179. #ifndef FIL_RUNOUT_PIN
  180. #define FIL_RUNOUT_PIN 39 // SERVO2_PIN
  181. #endif
  182. //
  183. // M3/M4/M5 - Spindle/Laser Control
  184. //
  185. #if HAS_CUTTER
  186. #if !NUM_SERVOS
  187. #define SPINDLE_LASER_PWM_PIN 5 // SERVO0_PIN
  188. #endif
  189. #define SPINDLE_LASER_ENA_PIN 7 // HEATER_BED_PIN - Pullup/down!
  190. #endif
  191. //
  192. // LCD / Controller
  193. //
  194. #if HAS_WIRED_LCD
  195. #if ENABLED(RADDS_DISPLAY)
  196. #define LCD_PINS_RS 42
  197. #define LCD_PINS_ENABLE 43
  198. #define LCD_PINS_D4 44
  199. #define LCD_PINS_D5 45
  200. #define LCD_PINS_D6 46
  201. #define LCD_PINS_D7 47
  202. #define BEEPER_PIN 41
  203. #define BTN_EN1 50
  204. #define BTN_EN2 52
  205. #define BTN_ENC 48
  206. #define BTN_BACK 71
  207. #define SDSS 10
  208. #define SD_DETECT_PIN 14
  209. #elif IS_RRD_FG_SC
  210. // The REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER requires
  211. // an adapter such as https://www.thingiverse.com/thing:1740725
  212. #define LCD_PINS_RS 42
  213. #define LCD_PINS_ENABLE 43
  214. #define LCD_PINS_D4 44
  215. #define BEEPER_PIN 41
  216. #define BTN_EN1 50
  217. #define BTN_EN2 52
  218. #define BTN_ENC 48
  219. #define SDSS 10
  220. #define SD_DETECT_PIN 14
  221. #elif HAS_U8GLIB_I2C_OLED
  222. #define BTN_EN1 50
  223. #define BTN_EN2 52
  224. #define BTN_ENC 48
  225. #define BEEPER_PIN 41
  226. #define LCD_SDSS 10
  227. #define SD_DETECT_PIN 14
  228. #elif ENABLED(SPARK_FULL_GRAPHICS)
  229. #define LCD_PINS_D4 29
  230. #define LCD_PINS_ENABLE 27
  231. #define LCD_PINS_RS 25
  232. #define BTN_EN1 35
  233. #define BTN_EN2 33
  234. #define BTN_ENC 37
  235. #endif // SPARK_FULL_GRAPHICS
  236. #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
  237. #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder
  238. #endif
  239. #endif // HAS_WIRED_LCD
  240. #ifndef SDSS
  241. #define SDSS 4
  242. #endif