From ae4b348d77abc25ad365698106330cd098738983 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 15:19:03 -0800 Subject: [PATCH] Make sure _Ex_PINS is defined Also fix analogInputToDigitalPin so it uses proper C hex notation --- Marlin/Marlin.h | 2 +- Marlin/pins.h | 10 ++-- Marlin/pins_MEGATRONICS_3.h | 103 ++++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 Marlin/pins_MEGATRONICS_3.h diff --git a/Marlin/Marlin.h b/Marlin/Marlin.h index 1ab316aac..c5caac745 100644 --- a/Marlin/Marlin.h +++ b/Marlin/Marlin.h @@ -34,7 +34,7 @@ // Arduino < 1.0.0 does not define this, so we need to do it ourselves #ifndef analogInputToDigitalPin -# define analogInputToDigitalPin(p) ((p) + A0) +# define analogInputToDigitalPin(p) ((p) + 0xA0) #endif #ifdef AT90USB diff --git a/Marlin/pins.h b/Marlin/pins.h index 9b46b6a28..4ebc460a0 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -112,20 +112,18 @@ // List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those! #define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN, analogInputToDigitalPin(TEMP_0_PIN), +#define _E1_PINS +#define _E2_PINS +#define _E3_PINS + #if EXTRUDERS > 1 #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, analogInputToDigitalPin(TEMP_1_PIN), #if EXTRUDERS > 2 #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, analogInputToDigitalPin(TEMP_2_PIN), #if EXTRUDERS > 3 #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), - #else - #define _E3_PINS #endif - #else - #define _E2_PINS #endif -#else - #define _E1_PINS #endif #ifdef X_STOP_PIN diff --git a/Marlin/pins_MEGATRONICS_3.h b/Marlin/pins_MEGATRONICS_3.h new file mode 100644 index 000000000..064431be2 --- /dev/null +++ b/Marlin/pins_MEGATRONICS_3.h @@ -0,0 +1,103 @@ +/** + * MegaTronics v2.0 pin assignments + */ + +#ifndef __AVR_ATmega2560__ + #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. +#endif + +#define LARGE_FLASH true + +#define X_STEP_PIN 26 +#define X_DIR_PIN 27 +#define X_ENABLE_PIN 25 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 + +#define Y_STEP_PIN 4 // A6 +#define Y_DIR_PIN 54 // A0 +#define Y_ENABLE_PIN 5 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 + +#define Z_STEP_PIN 56 // A2 +#define Z_DIR_PIN 60 // A6 +#define Z_ENABLE_PIN 55 // A1 +#define Z_MIN_PIN 18 +#define Z_MAX_PIN 19 + +#define E0_STEP_PIN 35 +#define E0_DIR_PIN 36 +#define E0_ENABLE_PIN 34 + +#define E1_STEP_PIN 29 +#define E1_DIR_PIN 39 +#define E1_ENABLE_PIN 28 + +#define E2_STEP_PIN 23 +#define E2_DIR_PIN 24 +#define E2_ENABLE_PIN 22 + +#define SDPOWER -1 +#define SDSS 53 +#define LED_PIN 13 + +#define FAN_PIN 7 +#define FAN2_PIN 6 +#define PS_ON_PIN 12 +#define KILL_PIN -1 + +#define HEATER_0_PIN 9 // EXTRUDER 1 +#define HEATER_1_PIN 8 // EXTRUDER 2 +#define HEATER_2_PIN -1 + +#if TEMP_SENSOR_0 == -1 + #define TEMP_0_PIN 4 // ANALOG NUMBERING +#else + #define TEMP_0_PIN 13 // ANALOG NUMBERING +#endif + + +#if TEMP_SENSOR_1 == -1 + #define TEMP_1_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_1_PIN 15 // ANALOG NUMBERING +#endif + +#define TEMP_2_PIN -1 // ANALOG NUMBERING + +#define HEATER_BED_PIN 10 // BED + +#if TEMP_SENSOR_BED == -1 + #define TEMP_BED_PIN 8 // ANALOG NUMBERING +#else + #define TEMP_BED_PIN 14 // ANALOG NUMBERING +#endif + +#define BEEPER 64 + + +#define LCD_PINS_RS 14 +#define LCD_PINS_ENABLE 15 +#define LCD_PINS_D4 30 +#define LCD_PINS_D5 31 +#define LCD_PINS_D6 32 +#define LCD_PINS_D7 33 + + +// Buttons are directly attached using keypad +#define BTN_EN1 61 +#define BTN_EN2 59 +#define BTN_ENC 43 //the click + +#define BLEN_C 2 +#define BLEN_B 1 +#define BLEN_A 0 + +#define SDCARDDETECT -1 // Megatronics does not use this port + +// Encoder rotation values +#define encrot0 0 +#define encrot1 2 +#define encrot2 3 +#define encrot3 1