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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  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. #include "env_validate.h"
  27. #define BOARD_INFO_NAME "RADDS"
  28. //
  29. // EEPROM
  30. //
  31. #if EITHER(NO_EEPROM_SELECTED, I2C_EEPROM)
  32. #define I2C_EEPROM
  33. #define MARLIN_EEPROM_SIZE 0x2000 // 8K
  34. #endif
  35. //
  36. // Servos
  37. //
  38. #if !HAS_CUTTER
  39. #define SERVO0_PIN 5
  40. #endif
  41. #define SERVO1_PIN 6
  42. #define SERVO2_PIN 39
  43. #define SERVO3_PIN 40
  44. //
  45. // Limit Switches
  46. //
  47. #define X_MIN_PIN 28
  48. #define X_MAX_PIN 34
  49. #define Y_MIN_PIN 30
  50. #define Y_MAX_PIN 36
  51. #define Z_MIN_PIN 32
  52. #define Z_MAX_PIN 38
  53. //
  54. // Z Probe (when not Z_MIN_PIN)
  55. //
  56. #ifndef Z_MIN_PROBE_PIN
  57. #define Z_MIN_PROBE_PIN 38
  58. #endif
  59. //
  60. // Steppers
  61. //
  62. #define X_STEP_PIN 24
  63. #define X_DIR_PIN 23
  64. #define X_ENABLE_PIN 26
  65. #ifndef X_CS_PIN
  66. #define X_CS_PIN 25
  67. #endif
  68. #define Y_STEP_PIN 17
  69. #define Y_DIR_PIN 16
  70. #define Y_ENABLE_PIN 22
  71. #ifndef Y_CS_PIN
  72. #define Y_CS_PIN 27
  73. #endif
  74. #define Z_STEP_PIN 2
  75. #define Z_DIR_PIN 3
  76. #define Z_ENABLE_PIN 15
  77. #ifndef Z_CS_PIN
  78. #define Z_CS_PIN 29
  79. #endif
  80. #define E0_STEP_PIN 61
  81. #define E0_DIR_PIN 60
  82. #define E0_ENABLE_PIN 62
  83. #ifndef E0_CS_PIN
  84. #define E0_CS_PIN 31
  85. #endif
  86. #define E1_STEP_PIN 64
  87. #define E1_DIR_PIN 63
  88. #define E1_ENABLE_PIN 65
  89. #ifndef E1_CS_PIN
  90. #define E1_CS_PIN 33
  91. #endif
  92. #define E2_STEP_PIN 51
  93. #define E2_DIR_PIN 53
  94. #define E2_ENABLE_PIN 49
  95. #ifndef E2_CS_PIN
  96. #define E2_CS_PIN 35
  97. #endif
  98. /**
  99. * RADDS Extension Board V2 / V3
  100. * http://doku.radds.org/dokumentation/extension-board
  101. */
  102. //#define RADDS_EXTENSION 2
  103. #if RADDS_EXTENSION >= 2
  104. #define E3_DIR_PIN 33
  105. #define E3_STEP_PIN 35
  106. #define E3_ENABLE_PIN 37
  107. #ifndef E3_CS_PIN
  108. #define E3_CS_PIN 6
  109. #endif
  110. #if RADDS_EXTENSION == 3
  111. #define E4_DIR_PIN 27
  112. #define E4_STEP_PIN 29
  113. #define E4_ENABLE_PIN 31
  114. #ifndef E4_CS_PIN
  115. #define E4_CS_PIN 39
  116. #endif
  117. #define E5_DIR_PIN 66
  118. #define E5_STEP_PIN 67
  119. #define E5_ENABLE_PIN 68
  120. #ifndef E5_CS_PIN
  121. #define E5_CS_PIN 6
  122. #endif
  123. #define RADDS_EXT_MSI_PIN 69
  124. #define BOARD_INIT() OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH)
  125. #else
  126. #define E4_DIR_PIN 27
  127. #define E4_STEP_PIN 29
  128. #define E4_ENABLE_PIN 31
  129. #ifndef E4_CS_PIN
  130. #define E4_CS_PIN 39
  131. #endif
  132. // E3 and E4 share the same MSx pins
  133. #define E3_MS1_PIN 67
  134. #define E4_MS1_PIN 67
  135. #define E3_MS2_PIN 68
  136. #define E4_MS2_PIN 68
  137. #define E3_MS3_PIN 69
  138. #define E4_MS3_PIN 69
  139. #define RADDS_EXT_VDD2_PIN 66
  140. #define BOARD_INIT() do{ OUT_WRITE(RADDS_EXT_VDD_PIN, HIGH); OUT_WRITE(RADDS_EXT_VDD2_PIN, HIGH); }while(0)
  141. #endif
  142. #define RADDS_EXT_VDD_PIN 25
  143. #endif
  144. //
  145. // Temperature Sensors
  146. //
  147. #define TEMP_0_PIN 0 // Analog Input
  148. #define TEMP_1_PIN 1 // Analog Input
  149. #define TEMP_2_PIN 2 // Analog Input
  150. #define TEMP_3_PIN 3 // Analog Input
  151. #define TEMP_4_PIN 5 // dummy so will compile when PINS_DEBUGGING is enabled
  152. #define TEMP_BED_PIN 4 // Analog Input
  153. // SPI for MAX Thermocouple
  154. #if DISABLED(SDSUPPORT)
  155. #define TEMP_0_CS_PIN 53
  156. #else
  157. #define TEMP_0_CS_PIN 49
  158. #endif
  159. //
  160. // Heaters / Fans
  161. //
  162. #define HEATER_0_PIN 13
  163. #define HEATER_1_PIN 12
  164. #define HEATER_2_PIN 11
  165. #if !HAS_CUTTER
  166. #define HEATER_BED_PIN 7 // BED
  167. #endif
  168. #ifndef FAN_PIN
  169. #define FAN_PIN 9
  170. #endif
  171. #define FAN1_PIN 8
  172. //
  173. // Misc. Functions
  174. //
  175. #define SD_DETECT_PIN 14
  176. #define PS_ON_PIN 40 // SERVO3_PIN
  177. #ifndef FIL_RUNOUT_PIN
  178. #define FIL_RUNOUT_PIN 39 // SERVO2_PIN
  179. #endif
  180. //
  181. // M3/M4/M5 - Spindle/Laser Control
  182. //
  183. #if HAS_CUTTER
  184. #if !NUM_SERVOS
  185. #define SPINDLE_LASER_PWM_PIN 5 // SERVO0_PIN
  186. #endif
  187. #define SPINDLE_LASER_ENA_PIN 7 // HEATER_BED_PIN - Pullup/down!
  188. #endif
  189. //
  190. // LCD / Controller
  191. //
  192. #if HAS_WIRED_LCD
  193. #if ENABLED(RADDS_DISPLAY)
  194. #define LCD_PINS_RS 42
  195. #define LCD_PINS_ENABLE 43
  196. #define LCD_PINS_D4 44
  197. #define LCD_PINS_D5 45
  198. #define LCD_PINS_D6 46
  199. #define LCD_PINS_D7 47
  200. #define BEEPER_PIN 41
  201. #define BTN_EN1 50
  202. #define BTN_EN2 52
  203. #define BTN_ENC 48
  204. #define BTN_BACK 71
  205. #define SDSS 10
  206. #define SD_DETECT_PIN 14
  207. #elif IS_RRD_FG_SC
  208. // The REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER requires
  209. // an adapter such as https://www.thingiverse.com/thing:1740725
  210. #define LCD_PINS_RS 42
  211. #define LCD_PINS_ENABLE 43
  212. #define LCD_PINS_D4 44
  213. #define BEEPER_PIN 41
  214. #define BTN_EN1 50
  215. #define BTN_EN2 52
  216. #define BTN_ENC 48
  217. #define SDSS 10
  218. #define SD_DETECT_PIN 14
  219. #elif HAS_U8GLIB_I2C_OLED
  220. #define BTN_EN1 50
  221. #define BTN_EN2 52
  222. #define BTN_ENC 48
  223. #define BEEPER_PIN 41
  224. #define LCD_SDSS 10
  225. #define SD_DETECT_PIN 14
  226. #elif ENABLED(SPARK_FULL_GRAPHICS)
  227. #define LCD_PINS_D4 29
  228. #define LCD_PINS_ENABLE 27
  229. #define LCD_PINS_RS 25
  230. #define BTN_EN1 35
  231. #define BTN_EN2 33
  232. #define BTN_ENC 37
  233. #endif // SPARK_FULL_GRAPHICS
  234. #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
  235. #define BTN_ENC_EN 47 // Detect the presence of the encoder
  236. #endif
  237. #endif // HAS_WIRED_LCD
  238. #ifndef SDSS
  239. #define SDSS 4
  240. #endif