123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- /**
- * Marlin 3D Printer Firmware
- * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
- *
- * Based on Sprinter and grbl.
- * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- */
- #pragma once
-
- #include "env_validate.h"
-
- #if HOTENDS > 1 || E_STEPPERS > 1
- #error "Artillery Ruby only supports 1 hotend / E stepper."
- #endif
-
- #define BOARD_INFO_NAME "Artillery Ruby"
-
- #if NO_EEPROM_SELECTED
- #define FLASH_EEPROM_EMULATION
- //#define I2C_EEPROM
- #endif
- //#define E2END 0xFFF // 4K
-
- #define HAL_TIMER_RATE F_CPU
-
- //
- // Limit Switches
- //
- #if (X_HOME_DIR == 1)
- #define X_MIN_PIN -1
- #define X_MAX_PIN PA2
- #else
- #define X_MIN_PIN PA2
- #define X_MAX_PIN -1
- #endif
- #if (Y_HOME_DIR == 1)
- #define Y_MIN_PIN -1
- #define Y_MAX_PIN PA1
- #else
- #define Y_MIN_PIN PA1
- #define Y_MAX_PIN -1
- #endif
- #if (Z_HOME_DIR == 1)
- #define Z_MIN_PIN PC2
- #define Z_MAX_PIN PA0
- #else
- #define Z_MIN_PIN PA0
- #define Z_MAX_PIN PC2
- #endif
-
- //
- // Steppers
- //
- #define X_STEP_PIN PB14
- #define X_DIR_PIN PB13
- #define X_ENABLE_PIN PB15
-
- #define Y_STEP_PIN PB10
- #define Y_DIR_PIN PB2
- #define Y_ENABLE_PIN PB12
-
- #define Z_STEP_PIN PB0
- #define Z_DIR_PIN PC5
- #define Z_ENABLE_PIN PB1
-
- #define E0_STEP_PIN PA7
- #define E0_DIR_PIN PA6
- #define E0_ENABLE_PIN PC4
-
- #define E1_STEP_PIN PA4
- #define E1_DIR_PIN PA3
- #define E1_ENABLE_PIN PA5
-
- //
- // Temperature Sensors
- //
- #define TEMP_0_PIN PC0
- #define TEMP_BED_PIN PC1
-
- //
- // Heaters / Fans
- //
- #ifndef HEATER_0_PIN
- #define HEATER_0_PIN PC9 // Heater0
- #endif
- #ifndef HEATER_BED_PIN
- #define HEATER_BED_PIN PA8 // Hotbed
- #endif
- #ifndef FAN_PIN
- #define FAN_PIN PC8 // Fan0
- #endif
- #ifndef FAN1_PIN
- #define FAN1_PIN PC7 // Fan1
- #endif
- #ifndef FAN2_PIN
- #define FAN2_PIN PC6 // Fan2
- #endif
-
- //
- // Servos
- //
- #define SERVO0_PIN PC3
-
- //
- // SPI
- //
- #define SCK_PIN PC10
- #define MISO_PIN PC11
- #define MOSI_PIN PC12
-
- //
- // LCD / Controller
- //
- #if HAS_WIRED_LCD
- #if EITHER(MKS_12864OLED, MKS_12864OLED_SSD1306)
- #define LCD_PINS_DC PB8 // Set as output on init
- #define LCD_PINS_RS PB9 // Pull low for 1s to init
- // DOGM SPI LCD Support
- #define DOGLCD_CS PC15
- #define DOGLCD_MOSI PB6
- #define DOGLCD_SCK PB5
- #define DOGLCD_A0 LCD_PINS_DC
- #elif ENABLED(FYSETC_MINI_12864)
- #define DOGLCD_CS PB6
- #define DOGLCD_A0 PC15
-
- //#define FORCE_SOFT_SPI // Use this if default of hardware SPI causes display problems
- // results in LCD soft SPI mode 3, SD soft SPI mode 0
-
- #define LCD_RESET_PIN PB5 // Must be high or open for LCD to operate normally.
-
- #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0)
- #ifndef RGB_LED_R_PIN
- #define RGB_LED_R_PIN PB9
- #endif
- #ifndef RGB_LED_G_PIN
- #define RGB_LED_G_PIN PB8
- #endif
- #ifndef RGB_LED_B_PIN
- #define RGB_LED_B_PIN PB7
- #endif
- #elif ENABLED(FYSETC_MINI_12864_2_1)
- #define NEOPIXEL_PIN PB9
- #endif
-
- #define LCD_CONTRAST_INIT 255
- #else
- #define LCD_PINS_RS PC15
- #define LCD_PINS_ENABLE PB6
- #define LCD_PINS_D4 PB5
- #define LCD_PINS_D5 PB9
- #define LCD_PINS_D6 PB8
- #endif
-
- #define LCD_PINS_D7 PB7
-
- //
- // Beeper, SD Card, Encoder
- //
- #define BEEPER_PIN PC13
-
- #if ENABLED(SDSUPPORT)
- #define SDSS PA15
- #define SD_DETECT_PIN PD2
- #endif
-
- #define BTN_EN1 PB4
- #define BTN_EN2 PB3
- #define BTN_ENC PC14
- #endif
|