My Marlin configs for Fabrikator Mini and CTC i3 Pro B
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

pins_ARTILLERY_RUBY.h 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. /**
  2. * Marlin 3D Printer Firmware
  3. * Copyright (c) 2021 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. #include "env_validate.h"
  24. #if HOTENDS > 1 || E_STEPPERS > 1
  25. #error "Artillery Ruby only supports 1 hotend / E stepper."
  26. #endif
  27. #define BOARD_INFO_NAME "Artillery Ruby"
  28. #if NO_EEPROM_SELECTED
  29. #define FLASH_EEPROM_EMULATION
  30. //#define I2C_EEPROM
  31. #endif
  32. //#define E2END 0xFFF // 4K
  33. #define HAL_TIMER_RATE F_CPU
  34. //
  35. // Limit Switches
  36. //
  37. #if (X_HOME_DIR == 1)
  38. #define X_MIN_PIN -1
  39. #define X_MAX_PIN PA2
  40. #else
  41. #define X_MIN_PIN PA2
  42. #define X_MAX_PIN -1
  43. #endif
  44. #if (Y_HOME_DIR == 1)
  45. #define Y_MIN_PIN -1
  46. #define Y_MAX_PIN PA1
  47. #else
  48. #define Y_MIN_PIN PA1
  49. #define Y_MAX_PIN -1
  50. #endif
  51. #if (Z_HOME_DIR == 1)
  52. #define Z_MIN_PIN PC2
  53. #define Z_MAX_PIN PA0
  54. #else
  55. #define Z_MIN_PIN PA0
  56. #define Z_MAX_PIN PC2
  57. #endif
  58. //
  59. // Steppers
  60. //
  61. #define X_STEP_PIN PB14
  62. #define X_DIR_PIN PB13
  63. #define X_ENABLE_PIN PB15
  64. #define Y_STEP_PIN PB10
  65. #define Y_DIR_PIN PB2
  66. #define Y_ENABLE_PIN PB12
  67. #define Z_STEP_PIN PB0
  68. #define Z_DIR_PIN PC5
  69. #define Z_ENABLE_PIN PB1
  70. #define E0_STEP_PIN PA7
  71. #define E0_DIR_PIN PA6
  72. #define E0_ENABLE_PIN PC4
  73. #define E1_STEP_PIN PA4
  74. #define E1_DIR_PIN PA3
  75. #define E1_ENABLE_PIN PA5
  76. //
  77. // Temperature Sensors
  78. //
  79. #define TEMP_0_PIN PC0
  80. #define TEMP_BED_PIN PC1
  81. //
  82. // Heaters / Fans
  83. //
  84. #ifndef HEATER_0_PIN
  85. #define HEATER_0_PIN PC9 // Heater0
  86. #endif
  87. #ifndef HEATER_BED_PIN
  88. #define HEATER_BED_PIN PA8 // Hotbed
  89. #endif
  90. #ifndef FAN_PIN
  91. #define FAN_PIN PC8 // Fan0
  92. #endif
  93. #ifndef FAN1_PIN
  94. #define FAN1_PIN PC7 // Fan1
  95. #endif
  96. #ifndef FAN2_PIN
  97. #define FAN2_PIN PC6 // Fan2
  98. #endif
  99. //
  100. // Servos
  101. //
  102. #define SERVO0_PIN PC3
  103. //
  104. // SPI
  105. //
  106. #define SCK_PIN PC10
  107. #define MISO_PIN PC11
  108. #define MOSI_PIN PC12
  109. //
  110. // LCD / Controller
  111. //
  112. #if HAS_WIRED_LCD
  113. #if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
  114. #define LCD_PINS_DC PB8 // Set as output on init
  115. #define LCD_PINS_RS PB9 // Pull low for 1s to init
  116. // DOGM SPI LCD Support
  117. #define DOGLCD_CS PC15
  118. #define DOGLCD_MOSI PB6
  119. #define DOGLCD_SCK PB5
  120. #define DOGLCD_A0 LCD_PINS_DC
  121. #elif ENABLED(FYSETC_MINI_12864)
  122. #define DOGLCD_CS PB6
  123. #define DOGLCD_A0 PC15
  124. //#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
  125. // results in LCD soft SPI mode 3, SD soft SPI mode 0
  126. #define LCD_RESET_PIN PB5 // Must be high or open for LCD to operate normally.
  127. #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
  128. #ifndef RGB_LED_R_PIN
  129. #define RGB_LED_R_PIN PB9
  130. #endif
  131. #ifndef RGB_LED_G_PIN
  132. #define RGB_LED_G_PIN PB8
  133. #endif
  134. #ifndef RGB_LED_B_PIN
  135. #define RGB_LED_B_PIN PB7
  136. #endif
  137. #elif ENABLED(FYSETC_MINI_12864_2_1)
  138. #define NEOPIXEL_PIN PB9
  139. #endif
  140. #define LCD_CONTRAST_INIT 255
  141. #else
  142. #define LCD_PINS_RS PC15
  143. #define LCD_PINS_ENABLE PB6
  144. #define LCD_PINS_D4 PB5
  145. #define LCD_PINS_D5 PB9
  146. #define LCD_PINS_D6 PB8
  147. #endif
  148. #define LCD_PINS_D7 PB7
  149. //
  150. // Beeper, SD Card, Encoder
  151. //
  152. #define BEEPER_PIN PC13
  153. #if ENABLED(SDSUPPORT)
  154. #define SDSS PA15
  155. #define SD_DETECT_PIN PD2
  156. #endif
  157. #define BTN_EN1 PB4
  158. #define BTN_EN2 PB3
  159. #define BTN_ENC PC14
  160. #endif