From ae1a2ff16f982298675e971364af8a2ed8e5d498 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Mon, 26 Feb 2018 01:17:50 -0600 Subject: [PATCH] Pins parity with 1.1.x --- Marlin/src/pins/pins_MIGHTYBOARD_REVE.h | 60 +++++++++++++++++++++++++ Marlin/src/pins/pins_RAMPS.h | 4 +- Marlin/src/pins/pins_RAMPS_ENDER_4.h | 29 ++++++++++++ 3 files changed, 91 insertions(+), 2 deletions(-) create mode 100755 Marlin/src/pins/pins_RAMPS_ENDER_4.h diff --git a/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h index 23393bb5a..1e5e4f5f2 100644 --- a/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h +++ b/Marlin/src/pins/pins_MIGHTYBOARD_REVE.h @@ -270,3 +270,63 @@ #define SPINDLE_LASER_ENABLE_PIN 66 // K4 Pin should have a pullup! #define SPINDLE_LASER_PWM_PIN 8 // H5 MUST BE HARDWARE PWM #define SPINDLE_DIR_PIN 67 // K5 + + + + +// Check if all pins are defined in mega/pins_arduino.h +#include +static_assert(NUM_DIGITAL_PINS > MAX_PIN, "add missing pins to [arduino dir]/hardware/arduino/avr/variants/mega/pins_arduino.h based on fastio.h" + "to digital_pin_to_port_PGM, digital_pin_to_bit_mask_PGM, digital_pin_to_timer_PGM, NUM_DIGITAL_PINS, see below"); + +/* in [arduino dir]/hardware/arduino/avr/variants/mega/pins_arduino.h +change: +#define NUM_DIGITAL_PINS 70 +to: +#define NUM_DIGITAL_PINS 80 + +to digital_pin_to_port_PGM add at the end: +const uint8_t PROGMEM digital_pin_to_port_PGM[] = { +.... + PG , // PG 4 ** 70 ** + PG , // PG 3 ** 71 ** + PJ , // PJ 2 ** 72 ** + PJ , // PJ 3 ** 73 ** + PJ , // PJ 7 ** 74 ** + PJ , // PJ 4 ** 75 ** + PJ , // PJ 5 ** 76 ** + PJ , // PJ 6 ** 77 ** + PE , // PE 2 ** 78 ** + PE , // PE 6 ** 79 ** +}; + +to digital_pin_to_bit_mask_PGM add at the end: +const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { +.... + _BV( 4 ) , // PG 4 ** 70 ** + _BV( 3 ) , // PG 3 ** 71 ** + _BV( 2 ) , // PJ 2 ** 72 ** + _BV( 3 ) , // PJ 3 ** 73 ** + _BV( 7 ) , // PJ 7 ** 74 ** + _BV( 4 ) , // PJ 4 ** 75 ** + _BV( 5 ) , // PJ 5 ** 76 ** + _BV( 6 ) , // PJ 6 ** 77 ** + _BV( 2 ) , // PE 2 ** 78 ** + _BV( 6 ) , // PE 6 ** 79 ** +}; + +to digital_pin_to_timer_PGM add at the end: +const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { +.... + NOT_ON_TIMER , // PG 4 ** 70 ** + NOT_ON_TIMER , // PG 3 ** 71 ** + NOT_ON_TIMER , // PJ 2 ** 72 ** + NOT_ON_TIMER , // PJ 3 ** 73 ** + NOT_ON_TIMER , // PJ 7 ** 74 ** + NOT_ON_TIMER , // PJ 4 ** 75 ** + NOT_ON_TIMER , // PJ 5 ** 76 ** + NOT_ON_TIMER , // PJ 6 ** 77 ** + NOT_ON_TIMER , // PE 2 ** 78 ** + NOT_ON_TIMER , // PE 6 ** 79 ** +}; +*/ diff --git a/Marlin/src/pins/pins_RAMPS.h b/Marlin/src/pins/pins_RAMPS.h index d87c540c9..f72aca453 100644 --- a/Marlin/src/pins/pins_RAMPS.h +++ b/Marlin/src/pins/pins_RAMPS.h @@ -292,8 +292,8 @@ #define PS_ON_PIN 12 #endif -#if ENABLED(CASE_LIGHT_ENABLE) && !PIN_EXISTS(CASE_LIGHT) && !defined(SPINDLE_LASER_ENABLE_PIN) - #if !defined(NUM_SERVOS) || NUM_SERVOS <= 1 // try to use servo connector first +#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN) && !defined(SPINDLE_LASER_ENABLE_PIN) + #if NUM_SERVOS <= 1 // try to use servo connector first #define CASE_LIGHT_PIN 6 // MUST BE HARDWARE PWM #elif !(ENABLED(ULTRA_LCD) && ENABLED(NEWPANEL) \ && (ENABLED(PANEL_ONE) || ENABLED(VIKI2) || ENABLED(miniVIKI) || ENABLED(MINIPANEL) || ENABLED(REPRAPWORLD_KEYPAD))) // try to use AUX 2 diff --git a/Marlin/src/pins/pins_RAMPS_ENDER_4.h b/Marlin/src/pins/pins_RAMPS_ENDER_4.h new file mode 100755 index 000000000..a14ace25b --- /dev/null +++ b/Marlin/src/pins/pins_RAMPS_ENDER_4.h @@ -0,0 +1,29 @@ +/** + * 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 . + * + */ + +#if HOTENDS > 1 || E_STEPPERS > 1 + #error "Ender-4 supports only 1 hotend / E-stepper. Comment out this line to continue." +#endif + +#define BOARD_NAME "Ender-4" + +#include "pins_RAMPS.h"