diff --git a/.travis.yml b/.travis.yml index 75dc169261..23d673f4b2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,11 +56,11 @@ before_script: # script: # - # Backup Configuration.h, Configuration_adv.h, and pins_RAMPS_14.h + # Backup Configuration.h, Configuration_adv.h, and pins_RAMPS.h # - cp Marlin/Configuration.h Marlin/Configuration.h.backup - cp Marlin/Configuration_adv.h Marlin/Configuration_adv.h.backup - - cp Marlin/pins_RAMPS_14.h Marlin/pins_RAMPS_14.h.backup + - cp Marlin/pins_RAMPS.h Marlin/pins_RAMPS.h.backup # # Build with the default configurations # @@ -221,7 +221,7 @@ script: # - restore_configs - opt_enable_adv Z_DUAL_STEPPER_DRIVERS Z_DUAL_ENDSTOPS - - pins_set RAMPS_14 X_MAX_PIN -1 + - pins_set RAMPS X_MAX_PIN -1 - opt_set_adv Z2_MAX_PIN 2 - build_marlin # diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 6c0b2fe0d9..d15854ca2b 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -939,7 +939,7 @@ void setup() { dac_init(); #endif - #if ENABLED(Z_PROBE_SLED) + #if ENABLED(Z_PROBE_SLED) && PIN_EXISTS(SLED) pinMode(SLED_PIN, OUTPUT); digitalWrite(SLED_PIN, LOW); // turn it off #endif // Z_PROBE_SLED @@ -1856,8 +1856,10 @@ static void clean_up_after_endstop_or_probe_move() { // Dock sled a bit closer to ensure proper capturing do_blocking_move_to_x(X_MAX_POS + SLED_DOCKING_OFFSET - ((stow) ? 1 : 0)); - digitalWrite(SLED_PIN, !stow); // switch solenoid + #if PIN_EXISTS(SLED) + digitalWrite(SLED_PIN, !stow); // switch solenoid + #endif } #endif // Z_PROBE_SLED diff --git a/Marlin/pins.h b/Marlin/pins.h index 8133f4db5b..3657675db5 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -42,13 +42,35 @@ #elif MB(RAMPS_OLD) #include "pins_RAMPS_OLD.h" #elif MB(RAMPS_13_EFB) - #include "pins_RAMPS_13_EFB.h" -#elif MB(RAMPS_13_EEB) || MB(RAMPS_13_EFF) || MB(RAMPS_13_EEF) || MB(RAMPS_13_SF) + #define IS_RAMPS_EFB + #include "pins_RAMPS_13.h" +#elif MB(RAMPS_13_EEB) + #define IS_RAMPS_EEB + #include "pins_RAMPS_13.h" +#elif MB(RAMPS_13_EFF) + #define IS_RAMPS_EFF + #include "pins_RAMPS_13.h" +#elif MB(RAMPS_13_EEF) + #define IS_RAMPS_EEF + #include "pins_RAMPS_13.h" +#elif MB(RAMPS_13_SF) + #define IS_RAMPS_SF #include "pins_RAMPS_13.h" #elif MB(RAMPS_14_EFB) - #include "pins_RAMPS_14_EFB.h" -#elif MB(RAMPS_14_EEB) || MB(RAMPS_14_EFF) || MB(RAMPS_14_EEF) || MB(RAMPS_14_SF) - #include "pins_RAMPS_14.h" + #define IS_RAMPS_EFB + #include "pins_RAMPS.h" +#elif MB(RAMPS_14_EEB) + #define IS_RAMPS_EEB + #include "pins_RAMPS.h" +#elif MB(RAMPS_14_EFF) + #define IS_RAMPS_EFF + #include "pins_RAMPS.h" +#elif MB(RAMPS_14_EEF) + #define IS_RAMPS_EEF + #include "pins_RAMPS.h" +#elif MB(RAMPS_14_SF) + #define IS_RAMPS_SF + #include "pins_RAMPS.h" #elif MB(GEN6) #include "pins_GEN6.h" #elif MB(GEN6_DELUXE) @@ -124,7 +146,7 @@ #elif MB(LEAPFROG) #include "pins_LEAPFROG.h" #elif MB(BAM_DICE) - #include "pins_RAMPS_14.h" + #include "pins_RAMPS.h" #elif MB(BAM_DICE_DUE) #include "pins_BAM_DICE_DUE.h" #elif MB(FELIX2) diff --git a/Marlin/pins_3DRAG.h b/Marlin/pins_3DRAG.h index db19e5df2c..a3a6169028 100644 --- a/Marlin/pins_3DRAG.h +++ b/Marlin/pins_3DRAG.h @@ -36,7 +36,7 @@ #define DEFAULT_SOURCE_CODE_URL "http://3dprint.elettronicain.it/" #endif -#include "pins_RAMPS_14.h" +#include "pins_RAMPS.h" #undef Z_ENABLE_PIN #define Z_ENABLE_PIN 63 diff --git a/Marlin/pins_AZTEEG_X3.h b/Marlin/pins_AZTEEG_X3.h index f16eee3103..05a5a269fd 100644 --- a/Marlin/pins_AZTEEG_X3.h +++ b/Marlin/pins_AZTEEG_X3.h @@ -24,9 +24,13 @@ * AZTEEG_X3 Arduino Mega with RAMPS v1.4 pin assignments */ +#if HOTENDS > 2 + #error "Azteeg X3 supports up to 2 hotends. Comment this line to keep going." +#endif + #define BOARD_NAME "Azteeg X3" -#include "pins_RAMPS_14_EFB.h" +#include "pins_RAMPS.h" #if ENABLED(VIKI2) || ENABLED(miniVIKI) diff --git a/Marlin/pins_AZTEEG_X3_PRO.h b/Marlin/pins_AZTEEG_X3_PRO.h index 3331a299a0..b531ec30d0 100644 --- a/Marlin/pins_AZTEEG_X3_PRO.h +++ b/Marlin/pins_AZTEEG_X3_PRO.h @@ -26,7 +26,7 @@ #define BOARD_NAME "Azteeg X3 Pro" -#include "pins_RAMPS_14.h" +#include "pins_RAMPS.h" #undef FAN_PIN #define FAN_PIN 6 //Part Cooling System diff --git a/Marlin/pins_BAM_DICE_DUE.h b/Marlin/pins_BAM_DICE_DUE.h index a8e76a7eff..0c5914f2b9 100644 --- a/Marlin/pins_BAM_DICE_DUE.h +++ b/Marlin/pins_BAM_DICE_DUE.h @@ -24,9 +24,13 @@ * BAM&DICE Due (Arduino Mega) pin assignments */ +#if HOTENDS > 2 + #error "2PrintBeta Due supports up to 2 hotends. Comment this line to keep going." +#endif + #define BOARD_NAME "2PrintBeta Due" -#include "pins_RAMPS_14_EFB.h" +#include "pins_RAMPS.h" #undef TEMP_0_PIN #undef TEMP_1_PIN diff --git a/Marlin/pins_FELIX2.h b/Marlin/pins_FELIX2.h index 7bb724bf53..83ce47bf5b 100644 --- a/Marlin/pins_FELIX2.h +++ b/Marlin/pins_FELIX2.h @@ -24,12 +24,15 @@ * FELIXprinters v2.0/3.0 (RAMPS v1.4) pin assignments */ +#if HOTENDS > 2 + #error "Felix 2.0+ supports up to 2 hotends. Comment this line to keep going." +#endif + #define BOARD_NAME "Felix 2.0+" -#include "pins_RAMPS_14_EFB.h" +#define MOSFET_D_PIN 7 -#undef HEATER_1_PIN -#define HEATER_1_PIN 7 // EXTRUDER 2 +#include "pins_RAMPS.h" #undef SDPOWER #define SDPOWER 1 diff --git a/Marlin/pins_MKS_13.h b/Marlin/pins_MKS_13.h index 00da206445..36fc0f7b8e 100644 --- a/Marlin/pins_MKS_13.h +++ b/Marlin/pins_MKS_13.h @@ -29,12 +29,15 @@ * MKS v1.4 (Extruder, Extruder, Fan, Bed) */ +#if HOTENDS > 2 + #error "MKS 1.3/1.4 supports up to 2 hotends. Comment this line to keep going." +#endif + #define BOARD_NAME "MKS > v1.3" -#include "pins_RAMPS_14_EFB.h" +#define MOSFET_D_PIN 7 -#undef HEATER_1_PIN -#define HEATER_1_PIN 7 // EXTRUDER 2 (-1 on RAMPS 1.4) +#include "pins_RAMPS.h" #if ENABLED(VIKI2) || ENABLED(miniVIKI) /** diff --git a/Marlin/pins_MKS_BASE.h b/Marlin/pins_MKS_BASE.h index 3c721f5ff8..fdaff06891 100644 --- a/Marlin/pins_MKS_BASE.h +++ b/Marlin/pins_MKS_BASE.h @@ -24,9 +24,12 @@ * MKS BASE 1.0 – Arduino Mega2560 with RAMPS v1.4 pin assignments */ +#if HOTENDS > 2 + #error "MKS BASE 1.0 supports up to 2 hotends. Comment this line to keep going." +#endif + #define BOARD_NAME "MKS BASE 1.0" -#include "pins_RAMPS_14_EFB.h" +#define MOSFET_D_PIN 7 -#undef HEATER_1_PIN -#define HEATER_1_PIN 7 +#include "pins_RAMPS.h" \ No newline at end of file diff --git a/Marlin/pins_RAMPS_14.h b/Marlin/pins_RAMPS.h similarity index 82% rename from Marlin/pins_RAMPS_14.h rename to Marlin/pins_RAMPS.h index 9f10dd65cf..fb378e07fc 100644 --- a/Marlin/pins_RAMPS_14.h +++ b/Marlin/pins_RAMPS.h @@ -105,32 +105,7 @@ // define digital pin 4 for the filament runout sensor. Use the RAMPS 1.4 digital input 4 on the servos connector #define FIL_RUNOUT_PIN 4 -#if MB(RAMPS_14_EFF) || MB(RAMPS_13_EFF) || ENABLED(IS_RAMPS_EFB) - #define FAN_PIN 9 // (Sprinter config) - #if MB(RAMPS_14_EFF) || MB(RAMPS_13_EFF) - #define CONTROLLERFAN_PIN -1 // Pin used for the fan to cool controller - #endif -#elif MB(RAMPS_14_EEF) || MB(RAMPS_14_SF) || MB(RAMPS_13_EEF) || MB(RAMPS_13_SF) - #define FAN_PIN 8 -#else - #define FAN_PIN 4 // IO pin. Buffer needed -#endif - #define PS_ON_PIN 12 - -#if MB(RAMPS_14_EFF) || MB(RAMPS_13_EFF) - #define HEATER_0_PIN 8 -#else - #define HEATER_0_PIN 10 // EXTRUDER 1 - #if !MB(RAMPS_14_EEF) && !MB(RAMPS_13_EEF) && !MB(RAMPS_14_SF) && !MB(RAMPS_13_SF) - #define HEATER_BED_PIN 8 // BED - #endif -#endif - -#if !MB(RAMPS_14_SF) && !MB(RAMPS_13_SF) && !ENABLED(IS_RAMPS_EFB) - #define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) -#endif - #define TEMP_0_PIN 13 // ANALOG NUMBERING #define TEMP_1_PIN 15 // ANALOG NUMBERING #define TEMP_BED_PIN 14 // ANALOG NUMBERING @@ -139,6 +114,78 @@ #define SLED_PIN -1 #endif +/* + +// Augmentation for auto-assigning RAMPS plugs + +#if DISABLED(IS_RAMPS_EEB) && DISABLED(IS_RAMPS_EEF) && DISABLED(IS_RAMPS_EFB) && DISABLED(IS_RAMPS_EFF) && DISABLED(IS_RAMPS_SF) + #if HOTENDS > 1 + #if TEMP_SENSOR_BED + #define IS_RAMPS_EEB + #else + #define IS_RAMPS_EEF + #endif + #elif TEMP_SENSOR_BED + #define IS_RAMPS_EFB + #else + #define IS_RAMPS_EFF + #endif +#endif + +*/ + +/** + * Hi Voltage PWM Pin Assignments + */ + +#ifndef MOSFET_D_PIN + #define MOSFET_D_PIN -1 +#endif +#ifndef RAMPS_D8_PIN + #define RAMPS_D8_PIN 8 +#endif +#ifndef RAMPS_D9_PIN + #define RAMPS_D9_PIN 9 +#endif +#ifndef RAMPS_D10_PIN + #define RAMPS_D10_PIN 10 +#endif + +#define HEATER_0_PIN RAMPS_D10_PIN + +#if ENABLED(IS_RAMPS_EFB) // Hotend, Fan, Bed + #define FAN_PIN RAMPS_D9_PIN + #define HEATER_BED_PIN RAMPS_D8_PIN +#elif ENABLED(IS_RAMPS_EEF) // Hotend, Hotend, Fan + #define HEATER_1_PIN RAMPS_D9_PIN + #define FAN_PIN RAMPS_D8_PIN +#elif ENABLED(IS_RAMPS_EEB) // Hotend, Hotend, Bed + #define HEATER_1_PIN RAMPS_D9_PIN + #define HEATER_BED_PIN RAMPS_D8_PIN +#elif ENABLED(IS_RAMPS_EFF) // Hotend, Fan, Fan + #define FAN_PIN RAMPS_D9_PIN + #define FAN1_PIN RAMPS_D8_PIN + #define CONTROLLERFAN_PIN -1 +#elif ENABLED(IS_RAMPS_SF) // Spindle, Fan + #define FAN_PIN RAMPS_D8_PIN +#else // Non-specific are "EFB" by legacy + #define FAN_PIN RAMPS_D9_PIN + #define HEATER_BED_PIN RAMPS_D8_PIN + #if HOTENDS == 1 + #define FAN1_PIN MOSFET_D_PIN + #else + #define HEATER_1_PIN MOSFET_D_PIN + #endif +#endif + +#ifndef FAN_PIN + #define FAN_PIN 4 // IO pin. Buffer needed +#endif + +/** + * LCD Controller Pin Assignments + */ + #if ENABLED(ULTRA_LCD) #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) @@ -301,4 +348,3 @@ #else #define MAX6675_SS 66 // Do not use pin 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present #endif - diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h index e3a854b117..effce90706 100644 --- a/Marlin/pins_RAMPS_13.h +++ b/Marlin/pins_RAMPS_13.h @@ -38,4 +38,4 @@ #endif #define IS_RAMPS_13 -#include "pins_RAMPS_14.h" +#include "pins_RAMPS.h" diff --git a/Marlin/pins_RAMPS_13_EFB.h b/Marlin/pins_RAMPS_13_EFB.h deleted file mode 100644 index 80e2927293..0000000000 --- a/Marlin/pins_RAMPS_13_EFB.h +++ /dev/null @@ -1,32 +0,0 @@ -/** - * 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 . - * - */ - -/** - * Arduino Mega with RAMPS v1.3 pin assignments - * - * RAMPS_13_EFB (Extruder, Fan, Bed) - */ - -#define BOARD_NAME "RAMPS 1.3 EFB" - -#define IS_RAMPS_13 -#include "pins_RAMPS_14_EFB.h" diff --git a/Marlin/pins_RAMPS_14_EFB.h b/Marlin/pins_RAMPS_14_EFB.h deleted file mode 100644 index b7282ea561..0000000000 --- a/Marlin/pins_RAMPS_14_EFB.h +++ /dev/null @@ -1,34 +0,0 @@ -/** - * 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 . - * - */ - -/** - * Arduino Mega with RAMPS v1.4 pin assignments - * - * RAMPS_14_EFB (Extruder, Fan, Bed) - */ - -#ifndef BOARD_NAME - #define BOARD_NAME "RAMPS 1.4 EFB" -#endif - -#define IS_RAMPS_EFB -#include "pins_RAMPS_14.h" diff --git a/Marlin/pins_RIGIDBOARD.h b/Marlin/pins_RIGIDBOARD.h index 7fdc1ae304..6b7645205d 100644 --- a/Marlin/pins_RIGIDBOARD.h +++ b/Marlin/pins_RIGIDBOARD.h @@ -24,7 +24,7 @@ * RIGIDBOARD Arduino Mega with RAMPS v1.4 pin assignments */ -#include "pins_RAMPS_14.h" +#include "pins_RAMPS.h" #undef BOARD_NAME #define BOARD_NAME "RigidBoard" diff --git a/Marlin/pins_SAINSMART_2IN1.h b/Marlin/pins_SAINSMART_2IN1.h index 3664fbd3a4..8d272ada4a 100644 --- a/Marlin/pins_SAINSMART_2IN1.h +++ b/Marlin/pins_SAINSMART_2IN1.h @@ -24,16 +24,15 @@ * Sainsmart 2-in-1 pin assignments */ -#include "pins_RAMPS_14_EFB.h" +#if HOTENDS > 2 + #error "Sainsmart 2-in-1 supports up to 2 hotends. Comment this line to keep going." +#endif -#undef BOARD_NAME -#define BOARD_NAME "Sainsmart" +#define BOARD_NAME "Sainsmart" -#undef FAN_PIN -#define FAN_PIN 7 // PART FAN in front of board next to Extruder heat +#define RAMPS_D10_PIN 9 // E +#define RAMPS_D9_PIN 7 // F PART FAN in front of board next to Extruder heat + // RAMPS_D8_PIN 8 // B +#define MOSFET_D_PIN 10 // F / E -#undef HEATER_0_PIN -#define HEATER_0_PIN 9 // EXTRUDER 1 - -#undef HEATER_1_PIN -#define HEATER_1_PIN 10 // EXTRUDER 2 +#include "pins_RAMPS.h"