123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505 |
- /**
- * Marlin 3D Printer Firmware
- * Copyright (c) 2022 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
-
- /**
- * ZRIB V5.3 Based on MKS BASE v1.4 with A4982 stepper drivers and digital micro-stepping
- */
-
- #include "env_validate.h"
-
- #if HOTENDS > 2
- #error "ZRIB V5.3 supports up to 2 hotends."
- #elif E_STEPPERS > 3
- #error "ZRIB V5.3 supports up to 3 E steppers."
- #endif
-
- #define BOARD_INFO_NAME "ZRIB V5.3"
-
- //
- // PIN 12 Connector
- //
- #define PIN_12_PIN 12
-
- //
- // XS1 Connector
- //
- #define XS1_01_PIN 42
- #define XS1_03_PIN 43
- #define XS1_05_PIN 44
- #define XS1_07_PIN 45
- #define XS1_08_PIN 47
-
- //
- // XS6 Connector
- //
- #define XS6_01_PIN 20
- #define XS6_03_PIN 52
- #define XS6_05_PIN 51
- #define XS6_07_PIN 50
- #define XS6_08_PIN 21
-
- //
- // Servos / XS3 Connector
- //
- #ifndef SERVO0_PIN
- #define SERVO0_PIN 65 // PWM
- #endif
- #ifndef SERVO1_PIN
- #define SERVO1_PIN 66 // PWM
- #endif
-
- //
- // Limit Switches
- //
- #ifndef X_STOP_PIN
- #ifndef X_MIN_PIN
- #define X_MIN_PIN 3
- #endif
- #ifndef X_MAX_PIN
- #define X_MAX_PIN 2
- #endif
- #endif
- #ifndef Y_STOP_PIN
- #ifndef Y_MIN_PIN
- #define Y_MIN_PIN 14
- #endif
- #ifndef Y_MAX_PIN
- #define Y_MAX_PIN 15
- #endif
- #endif
- #ifndef Z_STOP_PIN
- #ifndef Z_MIN_PIN
- #define Z_MIN_PIN 18
- #endif
- #ifndef Z_MAX_PIN
- #define Z_MAX_PIN 19
- #endif
- #endif
-
- //
- // Z Probe (when not Z_MIN_PIN)
- //
- #ifndef Z_MIN_PROBE_PIN
- #define Z_MIN_PROBE_PIN 19
- #endif
-
- //
- // Steppers
- //
- #define X_STEP_PIN 54
- #define X_DIR_PIN 55
- #define X_ENABLE_PIN 38
-
- #define Y_STEP_PIN 60
- #define Y_DIR_PIN 61
- #define Y_ENABLE_PIN 56
-
- #define Z_STEP_PIN 46
- #define Z_DIR_PIN 48
- #define Z_ENABLE_PIN 62
-
- #if NUM_Z_STEPPERS == 2
- #define Z2_STEP_PIN 26 // E0 connector
- #define Z2_DIR_PIN 28
- #define Z2_ENABLE_PIN 24
-
- #define E0_STEP_PIN 36 // E1 connector
- #define E0_DIR_PIN 34
- #define E0_ENABLE_PIN 30
-
- #define E1_STEP_PIN 4 // E2 connector
- #define E1_DIR_PIN 5
- #define E1_ENABLE_PIN 22
- #else
- #define E0_STEP_PIN 26
- #define E0_DIR_PIN 28
- #define E0_ENABLE_PIN 24
-
- #define E1_STEP_PIN 36
- #define E1_DIR_PIN 34
- #define E1_ENABLE_PIN 30
-
- #define E2_STEP_PIN 4
- #define E2_DIR_PIN 5
- #define E2_ENABLE_PIN 22
- #endif
-
- //
- // Temperature Sensors
- //
- #ifndef TEMP_0_PIN
- #define TEMP_0_PIN 13 // Analog Input
- #endif
- #ifndef TEMP_1_PIN
- #define TEMP_1_PIN 15 // Analog Input
- #endif
- #ifndef TEMP_BED_PIN
- #define TEMP_BED_PIN 14 // Analog Input
- #endif
-
- //
- // Heaters / Fans Connectors
- //
-
- #define HEATER_0_PIN 10
- #define HEATER_1_PIN 7
- #define FAN_PIN 9
- #define HEATER_BED_PIN 8
- #define FAN1_PIN 6
-
- //
- // Misc. Functions
- //
- #ifndef SDSS
- #define SDSS 53
- #endif
-
- #define LED_PIN 13
-
- #ifndef FIL_RUNOUT_PIN
- #define FIL_RUNOUT_PIN XS1_01_PIN
- #endif
-
- #ifndef PS_ON_PIN
- #define PS_ON_PIN XS1_03_PIN
- #endif
-
- #if HAS_TMC_UART
- /**
- * TMC2209 stepper drivers
- *
- * Hardware serial communication ports.
- * If undefined software serial is used according to the pins below
- *
- * Serial2 -- AUX-4 Pin 18 (D16 TX2) and AUX-4 Pin 17 (D17 RX2)
- * Serial1 -- Pins D18 and D19 are used for Z-MIN and Z-MAX
- */
- //#define X_HARDWARE_SERIAL Serial1
- //#define X2_HARDWARE_SERIAL Serial1
- //#define Y_HARDWARE_SERIAL Serial1
- //#define Y2_HARDWARE_SERIAL Serial1
- //#define Z_HARDWARE_SERIAL Serial1
- //#define Z2_HARDWARE_SERIAL Serial1
- //#define E0_HARDWARE_SERIAL Serial1
- //#define E1_HARDWARE_SERIAL Serial1
- //#define E2_HARDWARE_SERIAL Serial1
- //#define E3_HARDWARE_SERIAL Serial1
- //#define E4_HARDWARE_SERIAL Serial1
-
- #ifndef X_SERIAL_TX_PIN
- #define X_SERIAL_TX_PIN XS1_08_PIN
- #endif
- #ifndef X_SERIAL_RX_PIN
- #define X_SERIAL_RX_PIN PIN_12_PIN
- #endif
- #ifndef X2_SERIAL_TX_PIN
- #define X2_SERIAL_TX_PIN -1
- #endif
- #ifndef X2_SERIAL_RX_PIN
- #define X2_SERIAL_RX_PIN -1
- #endif
-
- #ifndef Y_SERIAL_TX_PIN
- #define Y_SERIAL_TX_PIN XS1_08_PIN
- #endif
- #ifndef Y_SERIAL_RX_PIN
- #define Y_SERIAL_RX_PIN PIN_12_PIN
- #endif
- #ifndef Y2_SERIAL_TX_PIN
- #define Y2_SERIAL_TX_PIN -1
- #endif
- #ifndef Y2_SERIAL_RX_PIN
- #define Y2_SERIAL_RX_PIN -1
- #endif
-
- #ifndef Z_SERIAL_TX_PIN
- #define Z_SERIAL_TX_PIN XS1_08_PIN
- #endif
- #ifndef Z_SERIAL_RX_PIN
- #define Z_SERIAL_RX_PIN PIN_12_PIN
- #endif
- #ifndef Z2_SERIAL_TX_PIN
- #define Z2_SERIAL_TX_PIN XS1_08_PIN
- #endif
- #ifndef Z2_SERIAL_RX_PIN
- #define Z2_SERIAL_RX_PIN PIN_12_PIN
- #endif
-
- #ifndef E0_SERIAL_TX_PIN
- #define E0_SERIAL_TX_PIN -1
- #endif
- #ifndef E0_SERIAL_RX_PIN
- #define E0_SERIAL_RX_PIN -1
- #endif
- #ifndef E1_SERIAL_TX_PIN
- #define E1_SERIAL_TX_PIN -1
- #endif
- #ifndef E1_SERIAL_RX_PIN
- #define E1_SERIAL_RX_PIN -1
- #endif
- #ifndef E2_SERIAL_TX_PIN
- #define E2_SERIAL_TX_PIN -1
- #endif
- #ifndef E2_SERIAL_RX_PIN
- #define E2_SERIAL_RX_PIN -1
- #endif
- #ifndef E3_SERIAL_TX_PIN
- #define E3_SERIAL_TX_PIN -1
- #endif
- #ifndef E3_SERIAL_RX_PIN
- #define E3_SERIAL_RX_PIN -1
- #endif
- #ifndef E4_SERIAL_TX_PIN
- #define E4_SERIAL_TX_PIN -1
- #endif
- #ifndef E4_SERIAL_RX_PIN
- #define E4_SERIAL_RX_PIN -1
- #endif
- #ifndef E5_SERIAL_TX_PIN
- #define E5_SERIAL_TX_PIN -1
- #endif
- #ifndef E5_SERIAL_RX_PIN
- #define E5_SERIAL_RX_PIN -1
- #endif
- #ifndef E6_SERIAL_TX_PIN
- #define E6_SERIAL_TX_PIN -1
- #endif
- #ifndef E6_SERIAL_RX_PIN
- #define E6_SERIAL_RX_PIN -1
- #endif
- #ifndef E7_SERIAL_TX_PIN
- #define E7_SERIAL_TX_PIN -1
- #endif
- #ifndef E7_SERIAL_RX_PIN
- #define E7_SERIAL_RX_PIN -1
- #endif
- #endif
-
- /**
- * LCD adapter. NOTE: These come in two variants. The socket keys can be
- * on either side, and may be backwards on some displays.
- * ------ ------
- * D37 | 1 2 | D35 (MISO) D50 | 1 2 | D52 (SCK)
- * D17 | 3 4 | D16 D31 | 3 4 | D53
- * D23 6 5 D25 D33 6 5 D51 (MOSI)
- * D27 | 7 8 | D29 D49 | 7 8 | D41
- * GND | 9 10 | 5V GND | 9 10 | --
- * ------ ------
- * EXP1 EXP2
- */
-
- #ifndef EXP1_08_PIN
- #define EXP1_01_PIN 37
- #define EXP1_02_PIN 35
- #define EXP1_03_PIN 17
- #define EXP1_04_PIN 16
- #define EXP1_05_PIN 23
- #define EXP1_06_PIN 25
- #define EXP1_07_PIN 27
- #define EXP1_08_PIN 29
-
- #define EXP2_01_PIN XS6_07_PIN
- #define EXP2_02_PIN XS6_03_PIN
- #define EXP2_03_PIN 31
- #define EXP2_04_PIN 53
- #define EXP2_05_PIN 33
- #define EXP2_06_PIN XS6_05_PIN
- #define EXP2_07_PIN 49
- #define EXP2_08_PIN 41
- #endif
-
- //////////////////////////
- // LCDs and Controllers //
- //////////////////////////
-
- #if ENABLED(ZONESTAR_12864LCD)
- #define LCDSCREEN_NAME "ZONESTAR LCD12864"
- #define LCD_SDSS 16
- #define LCD_PINS_RS 16 // ST7920_CS_PIN LCD_PIN_RS (PIN4 of LCD module)
- #define LCD_PINS_ENABLE 23 // ST7920_DAT_PIN LCD_PIN_R/W (PIN5 of LCD module)
- #define LCD_PINS_D4 17 // ST7920_CLK_PIN LCD_PIN_ENABLE (PIN6 of LCD module)
- #define BTN_EN2 25
- #define BTN_EN1 27
- #define BTN_ENC 29
- #define BEEPER_PIN 37
- #define KILL_PIN 35
- #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER)
- #define LCDSCREEN_NAME "Reprap LCD12864"
- // Use EXP1 & EXP2 connector
- #define LCD_PINS_RS 16 // ST7920_CS_PIN LCD_PIN_RS
- #define LCD_PINS_ENABLE 17 // ST7920_DAT_PIN LCD_PIN_ENABLE
- #define LCD_PINS_D4 23 // ST7920_CLK_PIN LCD_PIN_R/W
- #define BTN_EN1 31
- #define BTN_EN2 33
- #define BTN_ENC 35
- #define BEEPER_PIN 37
- #define KILL_PIN 41
- #endif
-
- //================================================================================
- // OLED 128x64
- //================================================================================
-
- #if EITHER(ZONESTAR_12864OLED, ZONESTAR_12864OLED_SSD1306)
- #define LCDSCREEN_NAME "ZONESTAR 12864OLED"
- #define LCD_SDSS 16
- #define LCD_PINS_RS 23 // RESET Pull low for 1s to init
- #define LCD_PINS_DC 17
- #define DOGLCD_CS 16 // CS
- #define BTN_EN2 25
- #define BTN_EN1 27
- #define BTN_ENC 29
- #define BEEPER_PIN -1
- #define KILL_PIN -1
- #if EITHER(OLED_HW_IIC, OLED_HW_SPI)
- #error "Oops! You must choose SW SPI for ZRIB V53 board and connect the OLED screen to EXP1 connector."
- #else // SW_SPI
- #define DOGLCD_A0 LCD_PINS_DC
- #define DOGLCD_MOSI 35 // SDA
- #define DOGLCD_SCK 37 // SCK
- #endif
- #endif // OLED 128x64
-
- //================================================================================
- // LCD 2004 KEYPAD
- //================================================================================
-
- #if ENABLED(ZONESTAR_LCD)
- #define LCDSCREEN_NAME "LCD2004 ADCKEY"
- #define LCD_PINS_RS EXP1_04_PIN
- #define LCD_PINS_ENABLE EXP1_03_PIN
- #define LCD_PINS_D4 EXP1_05_PIN
- #define LCD_PINS_D5 EXP1_06_PIN
- #define LCD_PINS_D6 EXP1_07_PIN
- #define LCD_PINS_D7 EXP1_08_PIN
- #define ADC_KEYPAD_PIN 10 // A10 for ADCKEY
- #define BEEPER_PIN EXP1_01_PIN
- #endif
-
- /**
- * ZRIB V5.3 Main Board
- *
- * Available connectors on ZRIB V5.3
- *
- * =======
- * | GND |
- * |-----| E0
- * | 10 | (10) PB4 ** Pin23 ** PWM10
- * |-----|
- * | GND |
- * |-----| E1
- * | 7 | ( 7) PH4 ** Pin16 ** PWM7
- * |-----|
- * | GND |
- * |-----| FAN
- * | 9 | ( 9) PH6 ** Pin18 ** PWM9
- * =======
- * =======
- * | GND |
- * |-----| Heated Bed
- * | 8 | ( 8) PH5 ** Pin17 ** PWM8
- * =======
- * ==========
- * | 12-24V |
- * |--------| Power
- * | GND |
- * ==========
- * Servos / XS3 Connector
- * =================
- * | 65 | GND | 5V | (65) PK3 ** Pin86 ** A11
- * |----|-----|----|
- * | 66 | GND | 5V | (66) PK4 ** Pin85 ** A12
- * =================
- * ICSP
- * =================
- * | 5V | 51 | GND | (51) PB2 ** Pin21 ** SPI_MOSI
- * |----|----|-----|
- * | 50 | 52 | RST | (50) PB3 ** Pin22 ** SPI_MISO
- * ================= (52) PB1 ** Pin20 ** SPI_SCK
- * XS6 Connector
- * ======================
- * | 5V | GND | NC | 20 | (20) PD1 ** Pin44 ** I2C_SDA
- * |----|-----|----|----|
- * | 50 | 51 | 52 | 21 | (50) PB3 ** Pin22 ** SPI_MISO
- * ====================== (51) PB2 ** Pin21 ** SPI_MOSI
- * (52) PB1 ** Pin20 ** SPI_SCK
- * (21) PD0 ** Pin43 ** I2C_SCL
- * XS1 Connector
- * ======================
- * | 5V | GND | NC | 47 | (47) PL2 ** Pin37 ** D47
- * |----|-----|----|----|
- * | 42 | 43 | 44 | 45 | (45) PL4 ** Pin39 ** D45
- * ====================== (44) PL5 ** Pin40 ** D44
- * (43) PL6 ** Pin41 ** D43
- * (42) PL7 ** Pin42 ** D42
- * Temperature
- * ==================================
- * | GND | 69 | GND | 68 | GND | 67 |
- * ==================================
- * (69) PK7 ** Pin82 ** A15
- * (68) PK6 ** Pin83 ** A14
- * (67) PK5 ** Pin84 ** A13
- * Limit Switches
- * ============
- * | 2 | GND | X+ ( 2) PE4 ** Pin6 ** PWM2
- * |----|-----|
- * | 3 | GND | X- ( 3) PE5 ** Pin7 ** PWM3
- * |----|-----|
- * | 15 | GND | Y+ (15) PJ0 ** Pin63 ** USART3_RX
- * |----|-----|
- * | 14 | GND | Y- (14) PJ1 ** Pin64 ** USART3_TX
- * |----|-----|
- * | 19 | GND | Z+ (19) PD2 ** Pin45 ** USART1_RX
- * |----|-----|
- * | 18 | GND | Z- (18) PD3 ** Pin46 ** USART1_TX
- * ============
- * EXP1
- * ============
- * | 37 | 35 | (37) PC0 ** Pin53 ** D37
- * |-----|----| (35) PC2 ** Pin55 ** D35
- * | 17 | 16 | (17) PH0 ** Pin12 ** USART2_RX
- * |-----|----| (16) PH1 ** Pin13 ** USART2_TX
- * | 23 | 25 | (23) PA1 ** Pin77 ** D23
- * |-----|----| (25) PA3 ** Pin75 ** D25
- * | 27 | 29 | (27) PA5 ** Pin73 ** D27
- * |-----|----| (29) PA7 ** Pin71 ** D29
- * | GND | 5V |
- * ============
- * EXP2
- * ============
- * | 50 | 52 | (50) PB3 ** Pin22 ** SPI_MISO
- * |-----|----| (52) PB1 ** Pin20 ** SPI_SCK
- * | 31 | 53 | (31) PC6 ** Pin59 ** D31
- * |-----|----| (53) PB0 ** Pin19 ** SPI_SS
- * | 33 | 51 | (33) PC4 ** Pin57 ** D33
- * |-----|----| (51) PB2 ** Pin21 ** SPI_MOSI
- * | 49 | 41 | (49) PL0 ** Pin35 ** D49
- * |-----|----| (41) PG0 ** Pin51 ** D41
- * | GND | NC |
- * ============
- *
- * PIN 12
- * ======
- * | 12 | (12) PB6 ** Pin25 ** D12
- * ======
- */
|