My Marlin configs for Fabrikator Mini and CTC i3 Pro B
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

pins_STEVAL_3DP001V1.h 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. /**
  2. * Marlin 3D Printer Firmware
  3. * Copyright (c) 2019 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 <http://www.gnu.org/licenses/>.
  20. *
  21. */
  22. // Source: https://github.com/stm32duino/Arduino_Core_STM32/blob/master/variants/ST3DP001_EVAL/variant.cpp
  23. /**
  24. * HOW TO COMPILE
  25. *
  26. * PlatformIO - Use the STM32F401VE_STEVAL environment (or the "Auto Build Marlin" extension).
  27. *
  28. * Arduino - Tested with 1.8.10
  29. * Install library per https://github.com/stm32duino/Arduino_Core_STM32
  30. * Make the following selections under the TOOL menu in the Arduino IDE
  31. * Board: "3D printer boards"
  32. * Board part number: "STEVAL-3DP001V1"
  33. * U(S)ART support: "Enabled (generic "Serial")"
  34. * USB support (if available): "CDC (no generic "Serial")"
  35. * Optimize: "Smallest (-Os default)"
  36. * C Runtime Library: "newlib Nano (default)"
  37. */
  38. #pragma once
  39. #ifndef STM32F4
  40. #error "Oops! Select an STM32F4 board in 'Tools > Board.'"
  41. #endif
  42. #ifndef MACHINE_NAME
  43. #define MACHINE_NAME "STEVAL-3DP001V1"
  44. #endif
  45. #undef TEMP_TIMER
  46. #define TEMP_TIMER 9 // Marlin's default (Timer 7) doesn't exist on STM32MF401
  47. //
  48. // Limit Switches
  49. //
  50. #define X_STOP_PIN 39 // PD8 X_STOP
  51. #define Y_STOP_PIN 40 // PD9 Y_STOP
  52. #define Z_STOP_PIN 41 // PD10 Z_STOP
  53. // 44 // PD0 (W_STOP)
  54. // 43 // PA8 (V_STOP)
  55. // 42 // PD11 (U_STOP)
  56. //
  57. // Z Probe (when not Z_MIN_PIN)
  58. //
  59. // #ifndef Z_MIN_PROBE_PIN
  60. // #define Z_MIN_PROBE_PIN 16 // PA4
  61. // #endif
  62. #define SCK_PIN 13 // PB13 (SPI_S)
  63. #define MISO_PIN 12 // PB14 (SPI_M)
  64. #define MOSI_PIN 11 // PB15 (SPI_M)
  65. #define L6470_CHAIN_SCK_PIN 17 // PA5
  66. #define L6470_CHAIN_MISO_PIN 18 // PA6
  67. #define L6470_CHAIN_MOSI_PIN 19 // PA7
  68. #define L6470_CHAIN_SS_PIN 16 // PA4
  69. //#define SCK_PIN L6470_CHAIN_SCK_PIN
  70. //#define MISO_PIN L6470_CHAIN_MISO_PIN
  71. //#define MOSI_PIN L6470_CHAIN_MOSI_PIN
  72. //
  73. // Steppers
  74. //
  75. #define X_STEP_PIN 61 // PE14 (X_PWM)
  76. #define X_DIR_PIN 62 // PE15 (X_DIR)
  77. #define X_ENABLE_PIN 60 // PE13 (X_RES)
  78. #define X_CS_PIN 16 // PA4 (SPI_CS)
  79. #define Y_STEP_PIN 64 // PB10 (Y_PWM)
  80. #define Y_DIR_PIN 65 // PE9 (Y_DIR)
  81. #define Y_ENABLE_PIN 63 // PE10 (Y_RES)
  82. #define Y_CS_PIN 16 // PA4 (SPI_CS)
  83. #define Z_STEP_PIN 67 // PC6 (Z_PWM)
  84. #define Z_DIR_PIN 68 // PC0 (Z_DIR)
  85. #define Z_ENABLE_PIN 66 // PC15 (Z_RES)
  86. #define Z_CS_PIN 16 // PA4 (SPI_CS)
  87. #define E0_STEP_PIN 71 // PD12 (E1_PW)
  88. #define E0_DIR_PIN 70 // PC13 (E1_DIR)
  89. #define E0_ENABLE_PIN 69 // PC14 (E1_RE)
  90. #define E0_CS_PIN 16 // PA4 (SPI_CS)
  91. #define E1_STEP_PIN 73 // PE5 (E2_PWM)
  92. #define E1_DIR_PIN 74 // PE6 (E2_DIR)
  93. #define E1_ENABLE_PIN 72 // PE4 (E2_RESE)
  94. #define E1_CS_PIN 16 // PA4 (SPI_CS)
  95. #define E2_STEP_PIN 77 // PB8 (E3_PWM)
  96. #define E2_DIR_PIN 76 // PE2 (E3_DIR)
  97. #define E2_ENABLE_PIN 75 // PE3 (E3_RESE)
  98. #define E2_CS_PIN 16 // PA4 (SPI_CS)
  99. // needed to pass a sanity check
  100. #define X2_CS_PIN 16 // PA4 (SPI_CS)
  101. #define Y2_CS_PIN 16 // PA4 (SPI_CS)
  102. #define Z2_CS_PIN 16 // PA4 (SPI_CS)
  103. #define Z3_CS_PIN 16 // PA4 (SPI_CS)
  104. #define E3_CS_PIN 16 // PA4 (SPI_CS)
  105. #define E4_CS_PIN 16 // PA4 (SPI_CS)
  106. #define E5_CS_PIN 16 // PA4 (SPI_CS)
  107. /**
  108. * macro to reset/enable L6474 chips
  109. *
  110. * IMPORTANT - to disable (bypass) a L6474, install the corresponding
  111. * resistor (R11 - R17) and change the "V" to zero for the
  112. * corresponding pin.
  113. */
  114. #define ENABLE_RESET_L64XX_CHIPS(V) do{OUT_WRITE(X_ENABLE_PIN, V);\
  115. OUT_WRITE(Y_ENABLE_PIN, V);\
  116. OUT_WRITE(Z_ENABLE_PIN, V);\
  117. OUT_WRITE(E0_ENABLE_PIN,V);\
  118. OUT_WRITE(E1_ENABLE_PIN,V);\
  119. OUT_WRITE(E2_ENABLE_PIN,V);\
  120. }while(0)
  121. //
  122. // Temperature Sensors
  123. //
  124. #define TEMP_0_PIN 54 // PA0 (E1_THERMISTOR)
  125. #define TEMP_1_PIN 55 // PA1 (E2_THERMISTOR)
  126. #define TEMP_2_PIN 56 // PA2 (E3_THERMISTOR)
  127. #define TEMP_BED_PIN 51 // PC2 (BED_THERMISTOR_1)
  128. #define TEMP_BED_1_PIN 52 // PC3 (BED_THERMISTOR_2)
  129. #define TEMP_BED_2_PIN 53 // PA3 (BED_THERMISTOR_3)
  130. //
  131. // Heaters / Fans
  132. //
  133. #define HEATER_0_PIN 48 // PC7 (E1_HEAT_PWM)
  134. #define HEATER_1_PIN 49 // PB0 (E2_HEAT_PWM)
  135. #define HEATER_2_PIN 50 // PB1 (E3_HEAT_PWM)
  136. #define HEATER_BED_PIN 46 // PD14 (BED_HEAT_1 FET)
  137. #define HEATER_BED_1_PIN 45 // PD13 (BED_HEAT_2 FET)
  138. #define HEATER_BED_2_PIN 47 // PD15 (BED_HEAT_3 FET)
  139. #define FAN_PIN 57 // PC4 (E1_FAN) PWM pin, Part cooling fan FET
  140. #define FAN1_PIN 58 // PC5 (E2_FAN) PWM pin, Extruder fan FET
  141. #define ORIG_E0_AUTO_FAN_PIN FAN1_PIN
  142. #define FAN2_PIN 59 // PE8 (E3_FAN) PWM pin, Controller fan FET
  143. //
  144. // Misc functions
  145. //
  146. #define SDSS 16 // PA4 SPI_CS
  147. #define LED_PIN -1 // 9 // PE1 green LED Heart beat
  148. #define PS_ON_PIN -1
  149. #define KILL_PIN -1
  150. #define PWR_LOSS -1 // Power loss / nAC_FAULT
  151. //
  152. // LCD / Controller
  153. //
  154. //#define SD_DETECT_PIN 66 // PA15 (SD_CA)
  155. //#define BEEPER_PIN 24 // PC9 (SDIO_D1)
  156. //#define LCD_PINS_RS 65 // PE9 (Y_DIR)
  157. //#define LCD_PINS_ENABLE 59 // PE8 (E3_FAN)
  158. //#define LCD_PINS_D4 10 // PB12 (SPI_C)
  159. //#define LCD_PINS_D5 13 // PB13 (SPI_S)
  160. //#define LCD_PINS_D6 12 // PB14 (SPI_M)
  161. //#define LCD_PINS_D7 11 // PB15 (SPI_M)
  162. //#define BTN_EN1 57 // PC4 (E1_FAN)
  163. //#define BTN_EN2 58 // PC5 (E2_FAN)
  164. //#define BTN_ENC 52 // PC3 (BED_THE)
  165. //
  166. // Filament runout
  167. //
  168. //#define FIL_RUNOUT_PIN 53 // PA3 BED_THE
  169. //
  170. // Extension pins
  171. //
  172. //#define EXT0_PIN 49 // PB0 (E2_HEAT)
  173. //#define EXT1_PIN 50 // PB1 (E3_HEAT)
  174. //#define EXT2_PIN // PB2 not used (tied to ground)
  175. //#define EXT3_PIN 39 // PD8 (X_STOP)
  176. //#define EXT4_PIN 40 // PD9 (Y_STOP)
  177. //#define EXT5_PIN 41 // PD10 (Z_STOP)
  178. //#define EXT6_PIN 42 // PD11
  179. //#define EXT7_PIN 71 // PD12 (E1_PW)
  180. //#define EXT8_PIN 64 // PB10 (Y_PWM)
  181. // WIFI
  182. // 2 // PD3 (CTS)
  183. // 3 // PD4 (RTS)
  184. // 4 // PD5 (TX)
  185. // 5 // PD6 (RX)
  186. // 6 // PB5 (WIFI_WAKEUP)
  187. // 7 // PE11 (WIFI_RESET)
  188. // 8 // PE12 (WIFI_BOOT)
  189. // I2C USER
  190. // 14 // PB7 (SDA)
  191. // 15 // PB6 (SCL)
  192. // JTAG
  193. // 20 // PA13 (JTAG_TMS/SWDIO)
  194. // 21 // PA14 (JTAG_TCK/SWCLK)
  195. // 22 // PB3 (JTAG_TDO/SWO)
  196. // SDCARD
  197. // 23 // PC8 (SDIO_D0)
  198. // 24 // PC9 (SDIO_D1)
  199. // 25 // PA15 (SD_CARD_DETECT)
  200. // 26 // PC10 (SDIO_D2)
  201. // 27 // PC11 (SDIO_D3)
  202. // 28 // PC12 (SDIO_CK)
  203. // 29 // PD2 (SDIO_CMD)
  204. // OTG
  205. // 30 // PA11 (OTG_DM)
  206. // 31 // PA12 (OTG_DP)
  207. // USER_PINS
  208. // 34 // PD7 (USER3)
  209. // 35 // PB9 (USER1)
  210. // 36 // PE0 (USER2)
  211. // 37 // PB4 (USER4)
  212. // USERKET
  213. // 38 // PE7 (USER_BUTTON)
  214. // 0 // PA9 (TX)
  215. // 1 // PA10 (RX)
  216. // IR/PROBE
  217. // 32 // PD1 (IR_OUT)
  218. // 33 // PC1 (IR_ON)
  219. /**
  220. * Logical pin vs. port/pin cross reference
  221. *
  222. * PA0 54 // (E1_THERMISTOR) PA9 0 // (TX)
  223. * PA1 55 // (E2_THERMISTOR) PA10 1 // (RX)
  224. * PA2 56 // (E3_THERMISTOR) PD3 2 // (CTS)
  225. * PA3 53 // (BED_THERMISTOR_3) PD4 3 // (RTS)
  226. * PA4 16 // (SPI_CS) PD5 4 // (TX)
  227. * PA5 17 // (SPI_SCK) PD6 5 // (RX)
  228. * PA6 18 // (SPI_MISO) PB5 6 // (WIFI_WAKEUP)
  229. * PA7 19 // (SPI_MOSI) PE11 7 // (WIFI_RESET)
  230. * PA8 43 // (V_STOP) PE12 8 // (WIFI_BOOT)
  231. * PA9 0 // (TX) PE1 9 // (STATUS_LED)
  232. * PA10 1 // (RX) PB12 10 // (SPI_CS)
  233. * PA11 30 // (OTG_DM) PB15 11 // (SPI_MOSI)
  234. * PA12 31 // (OTG_DP) PB14 12 // (SPI_MISO)
  235. * PA13 20 // (JTAG_TMS)/SWDIO PB13 13 // (SPI_SCK)
  236. * PA14 21 // (JTAG_TCK)/SWCLK PB7 14 // (SDA)
  237. * PA15 25 // (SD_CARD_DETECT) PB6 15 // (SCL)
  238. * PB0 49 // (E2_HEAT_PWM) PA4 16 // (SPI_CS)
  239. * PB1 50 // (E3_HEAT_PWM) PA5 17 // (SPI_SCK)
  240. * PB3 22 // (JTAG_TDO)/SWO PA6 18 // (SPI_MISO)
  241. * PB4 37 // (USER4) PA7 19 // (SPI_MOSI)
  242. * PB5 6 // (WIFI_WAKEUP) PA13 20 // (JTAG_TMS)/SWDIO
  243. * PB6 15 // (SCL) PA14 21 // (JTAG_TCK)/SWCLK
  244. * PB7 14 // (SDA) PB3 22 // (JTAG_TDO)/SWO
  245. * PB8 77 // (E3_PWM) PC8 23 // (SDIO_D0)
  246. * PB9 35 // (USER1) PC9 24 // (SDIO_D1)
  247. * PB10 64 // (Y_PWM) PA15 25 // (SD_CARD_DETECT)
  248. * PB12 10 // (SPI_CS) PC10 26 // (SDIO_D2)
  249. * PB13 13 // (SPI_SCK) PC11 27 // (SDIO_D3)
  250. * PB14 12 // (SPI_MISO) PC12 28 // (SDIO_CK)
  251. * PB15 11 // (SPI_MOSI) PD2 29 // (SDIO_CMD)
  252. * PC0 68 // (Z_DIR) PA11 30 // (OTG_DM)
  253. * PC1 33 // (IR_ON) PA12 31 // (OTG_DP)
  254. * PC2 51 // (BED_THERMISTOR_1) PD1 32 // (IR_OUT)
  255. * PC3 52 // (BED_THERMISTOR_2) PC1 33 // (IR_ON)
  256. * PC4 57 // (E1_FAN) PD7 34 // (USER3)
  257. * PC5 58 // (E2_FAN) PB9 35 // (USER1)
  258. * PC6 67 // (Z_PWM) PE0 36 // (USER2)
  259. * PC7 48 // (E1_HEAT_PWM) PB4 37 // (USER4)
  260. * PC8 23 // (SDIO_D0) PE7 38 // (USER_BUTTON)
  261. * PC9 24 // (SDIO_D1) PD8 39 // (X_STOP)
  262. * PC10 26 // (SDIO_D2) PD9 40 // (Y_STOP)
  263. * PC11 27 // (SDIO_D3) PD10 41 // (Z_STOP)
  264. * PC12 28 // (SDIO_CK) PD11 42 // (U_STOP)
  265. * PC13 70 // (E1_DIR) PA8 43 // (V_STOP)
  266. * PC14 69 // (E1_RESET) PD0 44 // (W_STOP)
  267. * PC15 66 // (Z_RESET) PD13 45 // (BED_HEAT_2)
  268. * PD0 44 // (W_STOP) PD14 46 // (BED_HEAT_1)
  269. * PD1 32 // (IR_OUT) PD15 47 // (BED_HEAT_3)
  270. * PD2 29 // (SDIO_CMD) PC7 48 // (E1_HEAT_PWM)
  271. * PD3 2 // (CTS) PB0 49 // (E2_HEAT_PWM)
  272. * PD4 3 // (RTS) PB1 50 // (E3_HEAT_PWM)
  273. * PD5 4 // (TX) PC2 51 // (BED_THERMISTOR_1)
  274. * PD6 5 // (RX) PC3 52 // (BED_THERMISTOR_2)
  275. * PD7 34 // (USER3) PA3 53 // (BED_THERMISTOR_3)
  276. * PD8 39 // (X_STOP) PA0 54 // (E1_THERMISTOR)
  277. * PD9 40 // (Y_STOP) PA1 55 // (E2_THERMISTOR)
  278. * PD10 41 // (Z_STOP) PA2 56 // (E3_THERMISTOR)
  279. * PD11 42 // (U_STOP) PC4 57 // (E1_FAN)
  280. * PD12 71 // (E1_PWM) PC5 58 // (E2_FAN)
  281. * PD13 45 // (BED_HEAT_2) PE8 59 // (E3_FAN)
  282. * PD14 46 // (BED_HEAT_1) PE13 60 // (X_RESET)
  283. * PD15 47 // (BED_HEAT_3) PE14 61 // (X_PWM)
  284. * PE0 36 // (USER2) PE15 62 // (X_DIR)
  285. * PE1 9 // (STATUS_LED) PE10 63 // (Y_RESET)
  286. * PE2 76 // (E3_DIR) PB10 64 // (Y_PWM)
  287. * PE3 75 // (E3_RESET) PE9 65 // (Y_DIR)
  288. * PE4 72 // (E2_RESET) PC15 66 // (Z_RESET)
  289. * PE5 73 // (E2_PWM) PC6 67 // (Z_PWM)
  290. * PE6 74 // (E2_DIR) PC0 68 // (Z_DIR)
  291. * PE7 38 // (USER_BUTTON) PC14 69 // (E1_RESET)
  292. * PE8 59 // (E3_FAN) PC13 70 // (E1_DIR)
  293. * PE9 65 // (Y_DIR) PD12 71 // (E1_PWM)
  294. * PE10 63 // (Y_RESET) PE4 72 // (E2_RESET)
  295. * PE11 7 // (WIFI_RESET) PE5 73 // (E2_PWM)
  296. * PE12 8 // (WIFI_BOOT) PE6 74 // (E2_DIR)
  297. * PE13 60 // (X_RESET) PE3 75 // (E3_RESET)
  298. * PE14 61 // (X_PWM) PE2 76 // (E3_DIR)
  299. * PE15 62 // (X_DIR) PB8 77 // (E3_PWM)
  300. */