From 67b205fd45dfc0f42da403607ce26b09273fe217 Mon Sep 17 00:00:00 2001 From: Bo Herrmannsen Date: Thu, 26 Jul 2018 02:32:27 +0200 Subject: [PATCH] Add support for board RuRAMPS4D v1.3 (#11363) --- Marlin/src/core/boards.h | 3 +- Marlin/src/inc/SanityCheck.h | 3 + Marlin/src/pins/pins.h | 6 +- Marlin/src/pins/pinsDebug_list.h | 3 - .../{pins_RURAMPS4D.h => pins_RURAMPS4D_11.h} | 78 +++--- Marlin/src/pins/pins_RURAMPS4D_13.h | 240 ++++++++++++++++++ 6 files changed, 291 insertions(+), 42 deletions(-) rename Marlin/src/pins/{pins_RURAMPS4D.h => pins_RURAMPS4D_11.h} (89%) create mode 100644 Marlin/src/pins/pins_RURAMPS4D_13.h diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 9de00d064..2734e9c55 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -197,7 +197,8 @@ #define BOARD_RAMPS4DUE_EFF 1545 // RAMPS4DUE (Power outputs: Hotend, Fan0, Fan1) #define BOARD_RAMPS4DUE_EEF 1546 // RAMPS4DUE (Power outputs: Hotend0, Hotend1, Fan) #define BOARD_RAMPS4DUE_SF 1548 // RAMPS4DUE (Power outputs: Spindle, Controller Fan) -#define BOARD_RURAMPS4D 1550 // RuRAMPS4Duo v1 (Power outputs: Hotend0, Hotend2, Hotend2, Fan0, Fan1, Bed) +#define BOARD_RURAMPS4D_11 1550 // RuRAMPS4Duo v1.1 (Power outputs: Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed) +#define BOARD_RURAMPS4D_13 1551 // RuRAMPS4Duo v1.3 (Power outputs: Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed) #define BOARD_ULTRATRONICS_PRO 1560 // ReprapWorld Ultratronics Pro V1.0 #define BOARD_ARCHIM2 1590 // UltiMachine Archim2 (with TMC2130 drivers) #define BOARD_ALLIGATOR 1602 // Alligator Board R2 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index c6cf4bb4e..2dcac8015 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -311,10 +311,13 @@ #define BOARD_MKS_13 -47 #define BOARD_TRIGORILLA -343 +#define BOARD_RURAMPS4D -1550 #if MB(MKS_13) #error "BOARD_MKS_13 has been renamed BOARD_MKS_GEN_13. Please update your configuration." #elif MB(BOARD_TRIGORILLA) #error "BOARD_TRIGORILLA has been renamed BOARD_TRIGORILLA_13. Please update your configuration." +#elif MB(BOARD_RURAMPS4D) + #error "BOARD_RURAMPS4D has been renamed BOARD_RURAMPS4D_11. Please update your configuration." #endif /** diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 1feead8af..8e286f4f8 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -305,8 +305,10 @@ #include "pins_DUE3DOM_MINI.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RADDS) #include "pins_RADDS.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug -#elif MB(RURAMPS4D) - #include "pins_RURAMPS4D.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug +#elif MB(RURAMPS4D_11) + #include "pins_RURAMPS4D_11.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug +#elif MB(RURAMPS4D_13) + #include "pins_RURAMPS4D_13.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_FD_V1) #include "pins_RAMPS_FD_V1.h" // SAM3X8E env:DUE env:DUE_USB env:DUE_debug #elif MB(RAMPS_FD_V2) diff --git a/Marlin/src/pins/pinsDebug_list.h b/Marlin/src/pins/pinsDebug_list.h index e19858d52..4ea33dd5a 100644 --- a/Marlin/src/pins/pinsDebug_list.h +++ b/Marlin/src/pins/pinsDebug_list.h @@ -917,9 +917,6 @@ #if PIN_EXISTS(Z_MS2) REPORT_NAME_DIGITAL(__LINE__, Z_MS2_PIN) #endif -#if PIN_EXISTS(Z_PROBE) - REPORT_NAME_DIGITAL(__LINE__, Z_PROBE_PIN) -#endif #if PIN_EXISTS(Z_STEP) REPORT_NAME_DIGITAL(__LINE__, Z_STEP_PIN) #endif diff --git a/Marlin/src/pins/pins_RURAMPS4D.h b/Marlin/src/pins/pins_RURAMPS4D_11.h similarity index 89% rename from Marlin/src/pins/pins_RURAMPS4D.h rename to Marlin/src/pins/pins_RURAMPS4D_11.h index 4f4ad0977..d05b74b04 100644 --- a/Marlin/src/pins/pins_RURAMPS4D.h +++ b/Marlin/src/pins/pins_RURAMPS4D_11.h @@ -37,9 +37,15 @@ #endif #ifndef BOARD_NAME - #define BOARD_NAME "RuRAMPS4Due" + #define BOARD_NAME "RuRAMPS4Due v1.1" #endif +// +// Servos +// +#define SERVO0_PIN 5 +#define SERVO1_PIN 3 + // // Limit Switches // @@ -63,38 +69,51 @@ #define X_STEP_PIN 37 // Support Extension Board #define X_DIR_PIN 36 #define X_ENABLE_PIN 38 +#ifndef X_CS_PIN + #define X_CS_PIN -1 +#endif #define Y_STEP_PIN 32 // Support Extension Board #define Y_DIR_PIN 35 #define Y_ENABLE_PIN 34 +#ifndef Y_CS_PIN + #define Y_CS_PIN -1 +#endif #define Z_STEP_PIN 30 // Support Extension Board #define Z_DIR_PIN 2 #define Z_ENABLE_PIN 33 +#ifndef Z_CS_PIN + #define Z_CS_PIN -1 +#endif #define E0_STEP_PIN 29 #define E0_DIR_PIN 28 #define E0_ENABLE_PIN 31 +#ifndef E0_CS_PIN + #define E0_CS_PIN -1 +#endif #define E1_STEP_PIN 22 #define E1_DIR_PIN 24 #define E1_ENABLE_PIN 26 +#ifndef E1_CS_PIN + #define E1_CS_PIN -1 +#endif #define E2_STEP_PIN 25 #define E2_DIR_PIN 23 #define E2_ENABLE_PIN 27 +#ifndef E2_CS_PIN + #define E2_CS_PIN -1 +#endif #define E3_STEP_PIN 15 // Only For Extension Board #define E3_DIR_PIN 14 #define E3_ENABLE_PIN 61 - -//#define X_CS_PIN -1 -//#define Y_CS_PIN -1 -//#define Z_CS_PIN -1 -//#define E0_CS_PIN -1 -//#define E1_CS_PIN -1 -//#define E2_CS_PIN -1 -//#define E3_CS_PIN -1 +#ifndef E3_CS_PIN + #define E3_CS_PIN -1 +#endif // For Future: Microstepping pins - Mapping not from fastio.h (?) //#define E3_MS1_PIN ? @@ -136,8 +155,9 @@ #define TEMP_2_PIN 2 // ANALOG A2 #define TEMP_3_PIN 3 // ANALOG A2 #define TEMP_BED_PIN 4 // ANALOG A3 -//Thermocouple Use Analog Pins -#if ENABLED(VER_WITH_THERMOCOUPLE) // If Nead, define is in Configuration.h + +// The thermocouple uses Analog pins +#if ENABLED(VER_WITH_THERMOCOUPLE) // Defined in Configuration.h #define TEMP_4_PIN 5 // A5 #define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support) #endif @@ -149,14 +169,6 @@ // #define MAX6675_SS 49 //#endif -// -// Servos -// -#define SERVO0_PIN 5 -#define SERVO1_PIN 3 -#define SERVO2_PIN -1 -#define SERVO3_PIN -1 - // // Misc. Functions // @@ -195,6 +207,8 @@ #if ENABLED(RADDS_DISPLAY) || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #define BEEPER_PIN 62 + #define LCD_PINS_RS 63 #define LCD_PINS_ENABLE 64 #define LCD_PINS_D4 48 @@ -202,16 +216,12 @@ #define LCD_PINS_D6 52 #define LCD_PINS_D7 53 - #define BEEPER_PIN 62 - - #define BTN_EN1 44 - #define BTN_EN2 42 - #define BTN_ENC 40 - #define SD_DETECT_PIN 51 #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define BEEPER_PIN 62 + #define LCD_PINS_RS 52 #define LCD_PINS_ENABLE 53 #define LCD_PINS_D4 48 @@ -219,20 +229,10 @@ #define LCD_PINS_D6 52 #define LCD_PINS_D7 53 - #define BEEPER_PIN 62 - - #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) - #define BTN_EN1 44 - #define BTN_EN2 42 - #define BTN_ENC 40 - #define SD_DETECT_PIN 51 - #endif + #define SD_DETECT_PIN 51 #elif ENABLED(SSD1306_OLED_I2C_CONTROLLER) - #define BTN_EN1 44 - #define BTN_EN2 42 - #define BTN_ENC 40 #define BEEPER_PIN 62 #define LCD_SDSS 10 #define SD_DETECT_PIN 51 @@ -250,4 +250,10 @@ #endif // SPARK_FULL_GRAPHICS + #if ENABLED(NEWPANEL) + #define BTN_EN1 44 + #define BTN_EN2 42 + #define BTN_ENC 40 + #endif + #endif // ULTRA_LCD diff --git a/Marlin/src/pins/pins_RURAMPS4D_13.h b/Marlin/src/pins/pins_RURAMPS4D_13.h new file mode 100644 index 000000000..ca80c2113 --- /dev/null +++ b/Marlin/src/pins/pins_RURAMPS4D_13.h @@ -0,0 +1,240 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 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 . + * + * Ported sys0724 & Vynt + */ + +/** + * Arduino Mega? or Due with RuRAMPS4DUE pin assignments + * + * Applies to the following boards: + * RURAMPS4DUE (Hotend0, Hotend1, Hotend2, Fan0, Fan1, Bed) + * + * Differences between + * RADDS | RuRAMPS4DUE + * | + */ + +#ifndef __SAM3X8E__ + #error "Oops! Make sure you have 'Arduino Due' selected from the 'Tools -> Boards' menu." +#endif + +#ifndef BOARD_NAME + #define BOARD_NAME "RuRAMPS4Due v1.3" +#endif + +// +// Servos +// +#define SERVO0_PIN 5 +#define SERVO1_PIN 3 + +// +// Limit Switches +// +#define X_MIN_PIN 45 +#define X_MAX_PIN 39 +#define Y_MIN_PIN 46 +#define Y_MAX_PIN 41 +#define Z_MIN_PIN 47 +#define Z_MAX_PIN 43 + +// +// Z Probe (when not Z_MIN_PIN) +// +#ifndef Z_MIN_PROBE_PIN + #define Z_MIN_PROBE_PIN 49 +#endif + +// +// Steppers +// +#define X_STEP_PIN 37 // Support Extension Board +#define X_DIR_PIN 36 +#define X_ENABLE_PIN 31 +#ifndef X_CS_PIN + #define X_CS_PIN 38 +#endif + +#define Y_STEP_PIN 32 // Support Extension Board +#define Y_DIR_PIN 35 +#define Y_ENABLE_PIN 31 +#ifndef Y_CS_PIN + #define Y_CS_PIN 34 +#endif + +#define Z_STEP_PIN 30 // Support Extension Board +#define Z_DIR_PIN 2 +#define Z_ENABLE_PIN 31 +#ifndef Z_CS_PIN + #define Z_CS_PIN 10 +#endif + +#define E0_STEP_PIN 29 +#define E0_DIR_PIN 28 +#define E0_ENABLE_PIN 33 +#ifndef E0_CS_PIN + #define E0_CS_PIN 14 +#endif + +#define E1_STEP_PIN 22 +#define E1_DIR_PIN 24 +#define E1_ENABLE_PIN 26 +#ifndef E1_CS_PIN + #define E1_CS_PIN 15 +#endif + +#define E2_STEP_PIN 25 +#define E2_DIR_PIN 23 +#define E2_ENABLE_PIN 27 +#ifndef E2_CS_PIN + #define E2_CS_PIN 61 +#endif + +#if DISABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) + #define Z_MIN_PROBE_PIN 49 +#endif + +#if ENABLED(FILAMENT_RUNOUT_SENSOR) + #ifndef FIL_RUNOUT_PIN + #define FIL_RUNOUT_PIN Y_MIN_PIN + #endif +#endif + +// +// Heaters / Fans +// +#define HEATER_0_PIN 13 +#define HEATER_1_PIN 12 +#define HEATER_2_PIN 11 +#define HEATER_BED_PIN 7 // BED H1 + +#define FAN_PIN 9 +#define FAN1_PIN 8 +#define CONTROLLER_FAN_PIN -1 + +// +// Temperature Sensors +// +#define TEMP_0_PIN 0 // ANALOG A0 +#define TEMP_1_PIN 1 // ANALOG A1 +#define TEMP_2_PIN 2 // ANALOG A2 +#define TEMP_3_PIN 3 // ANALOG A2 +#define TEMP_BED_PIN 4 // ANALOG A3 + +// The thermocouple uses Analog pins +#if ENABLED(VER_WITH_THERMOCOUPLE) // Defined in Configuration.h + #define TEMP_4_PIN 5 // A5 + #define TEMP_5_PIN 6 // A6 (Marlin 2.0 not support) +#endif + +// SPI for Max6675 or Max31855 Thermocouple +//#if DISABLED(SDSUPPORT) +// #define MAX6675_SS 53 +//#else +// #define MAX6675_SS 49 +//#endif + +// +// Misc. Functions +// +#define SDSS 4 // 4,10,52 if using HW SPI. +#define LED_PIN -1 // 13 - HEATER_0_PIN +#define PS_ON_PIN -1 // 65 + +// MKS TFT / Nextion Use internal USART-1 +#define TFT_LCD_MODULE_COM 1 +#define TFT_LCD_MODULE_BAUDRATE 115600 + +// ESP WiFi Use internal USART-2 +#define ESP_WIFI_MODULE_COM 2 +#define ESP_WIFI_MODULE_BAUDRATE 115600 +#define ESP_WIFI_MODULE_RESET_PIN -1 +#define PIGGY_GPIO_PIN -1 + +// +// EEPROM +// +#define E2END 0x8000 // 32Kb (24lc256) +#define I2C_EEPROM // EEPROM on I2C-0 +//#define EEPROM_SD // EEPROM on SDCARD +//#define SPI_EEPROM // EEPROM on SPI-0 +//#define SPI_CHAN_EEPROM1 ? +//#define SPI_EEPROM1_CS ? +// 2K EEPROM +//#define SPI_EEPROM2_CS ? +// 32Mb FLASH +//#define SPI_FLASH_CS ? + +// +// LCD / Controller +// +#if ENABLED(ULTRA_LCD) + + #if ENABLED(RADDS_DISPLAY) || ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + + #define BEEPER_PIN 62 + + #define LCD_PINS_RS 63 + #define LCD_PINS_ENABLE 64 + #define LCD_PINS_D4 48 + #define LCD_PINS_D5 50 + #define LCD_PINS_D6 52 + #define LCD_PINS_D7 53 + + #define SD_DETECT_PIN 51 + + #elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + + #define BEEPER_PIN 62 + + #define LCD_PINS_RS 52 + #define LCD_PINS_ENABLE 53 + #define LCD_PINS_D4 48 + #define LCD_PINS_D5 50 + #define LCD_PINS_D6 52 + #define LCD_PINS_D7 53 + + #define SD_DETECT_PIN 51 + + #elif ENABLED(SSD1306_OLED_I2C_CONTROLLER) + + #define BEEPER_PIN 62 + #define LCD_SDSS 10 + #define SD_DETECT_PIN 51 + + #elif ENABLED(MKS_MINI_12864) + + #define ORIG_BEEPER_PIN 62 + + #define DOGLCD_A0 52 + #define DOGLCD_CS 50 + + #define SD_DETECT_PIN 51 + + #endif + + #if ENABLED(NEWPANEL) + #define BTN_EN1 44 + #define BTN_EN2 42 + #define BTN_ENC 40 + #endif + +#endif // ULTRA_LCD