My Marlin configs for Fabrikator Mini and CTC i3 Pro B
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pins_STEVAL_3DP001V1.h 13KB

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