From 2ce4a102eec81f2896a9e432b54aea810ae9c265 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Tue, 27 Jan 2015 15:54:46 -0800 Subject: [PATCH] Add support for Megatronics 3 a la #1426 --- Marlin/boards.h | 1 + Marlin/pins.h | 6 +- Marlin/pins_MEGATRONICS_3.h | 114 ++++++++++++++++-------------------- 3 files changed, 55 insertions(+), 66 deletions(-) diff --git a/Marlin/boards.h b/Marlin/boards.h index b97ea211ca..fa06f0dedb 100644 --- a/Marlin/boards.h +++ b/Marlin/boards.h @@ -41,6 +41,7 @@ #define BOARD_MEGATRONICS 70 // Megatronics #define BOARD_MEGATRONICS_2 701 // Megatronics v2.0 #define BOARD_MEGATRONICS_1 702 // Minitronics v1.0 +#define BOARD_MEGATRONICS_3 703 // Megatronics v3.0 #define BOARD_OMCA_A 90 // Alpha OMCA board #define BOARD_OMCA 91 // Final OMCA board #define BOARD_RAMBO 301 // Rambo diff --git a/Marlin/pins.h b/Marlin/pins.h index 4ebc460a09..3f11e900b5 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -88,10 +88,12 @@ #include "pins_GEN3_MONOLITHIC.h" #elif MB(MEGATRONICS) #include "pins_MEGATRONICS.h" -#elif MB(MEGATRONICS_2) - #include "pins_MEGATRONICS_2.h" #elif MB(MEGATRONICS_1) #include "pins_MEGATRONICS_1.h" +#elif MB(MEGATRONICS_2) + #include "pins_MEGATRONICS_2.h" +#elif MB(MEGATRONICS_3) + #include "pins_MEGATRONICS_3.h" #elif MB(OMCA_A) #include "pins_OMCA_A.h" #elif MB(OMCA) diff --git a/Marlin/pins_MEGATRONICS_3.h b/Marlin/pins_MEGATRONICS_3.h index 064431be29..1ceb89aab5 100644 --- a/Marlin/pins_MEGATRONICS_3.h +++ b/Marlin/pins_MEGATRONICS_3.h @@ -1,5 +1,5 @@ /** - * MegaTronics v2.0 pin assignments + * MegaTronics v3.0 pin assignments */ #ifndef __AVR_ATmega2560__ @@ -8,93 +8,79 @@ #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 X_STEP_PIN 58 +#define X_DIR_PIN 57 +#define X_ENABLE_PIN 59 +#define X_MIN_PIN 37 +#define X_MAX_PIN 40 // 2 // Max endstops default to disabled "-1", set to commented value to enable. -#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 Y_STEP_PIN 5 // A6 +#define Y_DIR_PIN 17 // A0 +#define Y_ENABLE_PIN 4 +#define Y_MIN_PIN 41 +#define Y_MAX_PIN 38 // 15 -#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 Z_STEP_PIN 16 // A2 +#define Z_DIR_PIN 11 // A6 +#define Z_ENABLE_PIN 3 // 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 E0_STEP_PIN 28 +#define E0_DIR_PIN 27 +#define E0_ENABLE_PIN 29 -#define E1_STEP_PIN 29 -#define E1_DIR_PIN 39 -#define E1_ENABLE_PIN 28 +#define E1_STEP_PIN 25 +#define E1_DIR_PIN 24 +#define E1_ENABLE_PIN 26 -#define E2_STEP_PIN 23 -#define E2_DIR_PIN 24 -#define E2_ENABLE_PIN 22 +#define E2_STEP_PIN 22 +#define E2_DIR_PIN 60 +#define E2_ENABLE_PIN 23 #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 +#define HEATER_0_PIN 2 +#define HEATER_1_PIN 8 +#define HEATER_2_PIN 9 +#define HEATER_BED_PIN 10 +#define FAN_PIN 6 +#define FAN2_PIN 7 -#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 TEMP_0_PIN (TEMP_SENSOR_0 == -1 ? 11 : 15) // ANALOG NUMBERING +#define TEMP_1_PIN (TEMP_SENSOR_1 == -1 ? 10 : 13) // ANALOG NUMBERING +#define TEMP_2_PIN (TEMP_SENSOR_2 == -1 ? 9 : 12) // ANALOG NUMBERING +#define TEMP_BED_PIN (TEMP_SENSOR_BED == -1 ? 8 : 14) // ANALOG NUMBERING +#define BEEPER 61 -#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 +#define LCD_PINS_RS 32 +#define LCD_PINS_ENABLE 31 +#define LCD_PINS_D4 14 +#define LCD_PINS_D5 30 +#define LCD_PINS_D6 39 +#define LCD_PINS_D7 15 +#define SHIFT_CLK 43 +#define SHIFT_LD 35 +#define SHIFT_OUT 34 +#define SHIFT_EN 44 // Buttons are directly attached using keypad -#define BTN_EN1 61 -#define BTN_EN2 59 -#define BTN_ENC 43 //the click +#define BTN_EN1 44 +#define BTN_EN2 45 +#define BTN_ENC 33 // the click #define BLEN_C 2 #define BLEN_B 1 #define BLEN_A 0 -#define SDCARDDETECT -1 // Megatronics does not use this port +#define SDCARDDETECT -1 // Megatronics does not use this port // Encoder rotation values #define encrot0 0