From 51c8d38a0cee2ddca8f514c6b9c75895a1969ddc Mon Sep 17 00:00:00 2001 From: Marcio Teixeira Date: Tue, 10 Oct 2017 14:19:49 -0600 Subject: [PATCH] Added support for all EinsyRambo variants. --- Marlin/Conditionals_LulzBot.h | 68 ++++++++++++++++++++++++++++++----- Marlin/pins_EINSYRAMBO.h | 49 ++++++++++++++++++++----- build-lulzbot-firmware.sh | 2 +- 3 files changed, 100 insertions(+), 19 deletions(-) diff --git a/Marlin/Conditionals_LulzBot.h b/Marlin/Conditionals_LulzBot.h index 544c6abc8..c3a9c424b 100644 --- a/Marlin/Conditionals_LulzBot.h +++ b/Marlin/Conditionals_LulzBot.h @@ -17,10 +17,13 @@ #if ( \ !defined(LULZBOT_Gladiola_Mini) && \ - !defined(LULZBOT_Gladiola_MiniEinsy) && \ !defined(LULZBOT_Hibiscus_Mini2) && \ !defined(LULZBOT_Gladiola_MiniLCD) && \ !defined(LULZBOT_Hibiscus_Mini2LCD) && \ + !defined(LULZBOT_Gladiola_EinsyMini) && \ + !defined(LULZBOT_Hibiscus_EinsyMini2) && \ + !defined(LULZBOT_Gladiola_EinsyMiniLCD) && \ + !defined(LULZBOT_Hibiscus_EinsyMini2LCD) && \ !defined(LULZBOT_Juniper_TAZ5) && \ !defined(LULZBOT_Oliveoil_TAZ6) && \ !defined(LULZBOT_Quiver_TAZ7) \ @@ -55,7 +58,19 @@ #define LULZBOT_UUID "351487b6-ca9a-4c1a-8765-d668b1da6585" #endif -#if defined(LULZBOT_Gladiola_MiniEinsy) +#if defined(LULZBOT_Gladiola_EinsyMini) + #define LULZBOT_CUSTOM_MACHINE_NAME "LulzBot Mini" + #define LULZBOT_LCD_MACHINE_NAME "Mini Einsy" + #define LULZBOT_IS_MINI + #define LULZBOT_MINI_BED + #define LULZBOT_USE_EINSYRAMBO + #define LULZBOT_USE_AUTOLEVELING + #define LULZBOT_SENSORLESS_HOMING + #define LULZBOT_BAUDRATE 115200 + #define LULZBOT_UUID "4479bf92-7e47-4c2c-be95-64dd01bd413b" +#endif + +#if defined(LULZBOT_Gladiola_EinsyMiniLCD) #define LULZBOT_CUSTOM_MACHINE_NAME "LulzBot Mini" #define LULZBOT_LCD_MACHINE_NAME "Mini Einsy" #define LULZBOT_IS_MINI @@ -83,6 +98,41 @@ #define LULZBOT_UUID "1b8d32d3-0596-4335-8cd4-f3741a095087" #endif +#if defined(LULZBOT_Hibiscus_EinsyMini2) + #define LULZBOT_CUSTOM_MACHINE_NAME "LulzBot Mini 2" + #define LULZBOT_LCD_MACHINE_NAME "Mini Einsy 2" + #define LULZBOT_IS_MINI + #define LULZBOT_MINI_BED + #define LULZBOT_USE_EINSYRAMBO + #define LULZBOT_USE_EARLY_EINSY + #define LULZBOT_TWO_PIECE_BED + #define LULZBOT_USE_AUTOLEVELING + #define LULZBOT_USE_MIN_ENDSTOPS + #define LULZBOT_USE_MAX_ENDSTOPS + #define LULZBOT_USE_NORMALLY_OPEN_ENDSTOPS + #define LULZBOT_BAUDRATE 250000 + #define LULZBOT_PRINTCOUNTER + #define LULZBOT_UUID "e5502411-d46d-421d-ba3a-a20126d7930f" +#endif + +#if defined(LULZBOT_Hibiscus_EinsyMini2LCD) + #define LULZBOT_CUSTOM_MACHINE_NAME "LulzBot Mini 2" + #define LULZBOT_LCD_MACHINE_NAME "Mini Einsy 2" + #define LULZBOT_IS_MINI + #define LULZBOT_MINI_BED + #define LULZBOT_USE_EINSYRAMBO + #define LULZBOT_USE_EARLY_EINSY + #define LULZBOT_USE_LCD_DISPLAY + #define LULZBOT_TWO_PIECE_BED + #define LULZBOT_USE_AUTOLEVELING + #define LULZBOT_USE_MIN_ENDSTOPS + #define LULZBOT_USE_MAX_ENDSTOPS + #define LULZBOT_USE_NORMALLY_OPEN_ENDSTOPS + #define LULZBOT_BAUDRATE 250000 + #define LULZBOT_PRINTCOUNTER + #define LULZBOT_UUID "e5502411-d46d-421d-ba3a-a20126d7930f" +#endif + #if defined(LULZBOT_Gladiola_MiniLCD) #define LULZBOT_CUSTOM_MACHINE_NAME "LulzBot Mini" #define LULZBOT_LCD_MACHINE_NAME "Mini LCD" @@ -414,7 +464,7 @@ WRITE(pin, LOW); \ } -#if defined(LULZBOT_Gladiola_MiniEinsy) +#if defined(LULZBOT_USE_EINSYRAMBO) && defined(LULZBOT_MINI_BED) #define LULZBOT_ENABLE_PROBE_PINS(enable) \ endstops.enable_z_probe(enable); @@ -865,11 +915,11 @@ #define LULZBOT_Y_BED_SIZE 280 #endif -#if defined(LULZBOT_Gladiola_Mini) || defined(LULZBOT_Gladiola_MiniLCD) || defined(LULZBOT_Gladiola_MiniEinsy) +#if defined(LULZBOT_Gladiola_Mini) || defined(LULZBOT_Gladiola_MiniLCD) || defined(LULZBOT_Gladiola_EinsyMini) || defined(LULZBOT_Gladiola_EinsyMiniLCD) #define LULZBOT_STANDARD_Z_MIN_POS -2 #define LULZBOT_STANDARD_Z_MAX_POS 159 -#elif defined(LULZBOT_Hibiscus_Mini2) || defined(LULZBOT_Hibiscus_Mini2LCD) +#elif defined(LULZBOT_Hibiscus_Mini2) || defined(LULZBOT_Hibiscus_Mini2LCD) || defined(LULZBOT_Hibiscus_EinsyMini2) || defined(LULZBOT_Hibiscus_EinsyMini2LCD) #define LULZBOT_STANDARD_Z_MIN_POS 0 #define LULZBOT_STANDARD_Z_MAX_POS 178 @@ -1223,7 +1273,7 @@ // Values for XYZ vary by printer model, values for E vary by toolhead. -#if defined(LULZBOT_Gladiola_MiniEinsy) +#if defined(LULZBOT_USE_EINSYRAMBO) #define LULZBOT_MOTOR_CURRENT_XY 960 // mA #define LULZBOT_MOTOR_CURRENT_Z 960 // mA @@ -1287,10 +1337,10 @@ #define LULZBOT_Z_PROBE_OFFSET_FROM_EXTRUDER -1.200 #endif -#if defined(LULZBOT_Gladiola_Mini) || defined(LULZBOT_Gladiola_MiniLCD) || defined(LULZBOT_Gladiola_MiniEinsy) +#if defined(LULZBOT_Gladiola_Mini) || defined(LULZBOT_Gladiola_MiniLCD) || defined(LULZBOT_Gladiola_EinsyMini) || defined(LULZBOT_Gladiola_EinsyMiniLCD) #define LULZBOT_Z_STEPS 1600 -#elif defined(LULZBOT_Hibiscus_Mini2) || defined(LULZBOT_Hibiscus_Mini2LCD) +#elif defined(LULZBOT_Hibiscus_Mini2) || defined(LULZBOT_Hibiscus_Mini2LCD) || defined(LULZBOT_Hibiscus_EinsyMini2) || defined(LULZBOT_Hibiscus_EinsyMini2LCD) #define Z_FULL_STEPS_PER_ROTATION 200 #define Z_MICROSTEPS 16 #define Z_BELT_PITCH 2 @@ -1390,7 +1440,7 @@ #define LULZBOT_ENCODER_PULSES_PER_STEP 2 #define LULZBOT_ENCODER_STEPS_PER_MENU_ITEM 1 #define LULZBOT_COOLING_MESSAGES - #if defined(LULZBOT_Gladiola_MiniLCD) || defined(LULZBOT_Hibiscus_Mini2LCD) + #if defined(LULZBOT_Gladiola_MiniLCD) || defined(LULZBOT_Hibiscus_Mini2LCD) || defined(LULZBOT_Gladiola_EinsyMiniLCD) || defined(LULZBOT_Hibiscus_EinsyMini2LCD) // In the experimental Gladiola_MiniLCD, the encoder direction is reversed. #define LULZBOT_REVERSE_ENCODER_DIRECTION #endif diff --git a/Marlin/pins_EINSYRAMBO.h b/Marlin/pins_EINSYRAMBO.h index fd05e40ff..8074441b5 100644 --- a/Marlin/pins_EINSYRAMBO.h +++ b/Marlin/pins_EINSYRAMBO.h @@ -46,17 +46,42 @@ #define BOARD_X_MIN_PIN 12 #define BOARD_Y_MIN_PIN 11 #define BOARD_Z_MIN_PIN 10 +#if defined(LULZBOT_USE_EARLY_EINSY) + // EINY 0-.1 - EINSY 0.3 + #define BOARD_X_MAX_PIN 30 + #define BOARD_Y_MAX_PIN 24 + #define BOARD_Z_MAX_PIN 23 +#endif // // Limit Switches // -#if defined(LULZBOT_SENSORLESS_HOMING) +// EINY 0-.1 - EINSY 0.3 have MAX switches +#if defined(LULZBOT_USE_EARLY_EINSY) && defined(LULZBOT_SENSORLESS_HOMING) + #define X_MIN_PIN BOARD_X_DIAG_PIN + #define Y_MIN_PIN BOARD_Y_MIN_PIN + #define Z_MIN_PIN BOARD_Z_MIN_PIN + #define X_MAX_PIN BOARD_X_MAX_PIN + #define Y_MAX_PIN BOARD_Y_DIAG_PIN + #define Z_MAX_PIN BOARD_Z_MAX_PIN + +#elif defined(LULZBOT_USE_EARLY_EINSY) + #define X_MIN_PIN BOARD_X_MIN_PIN + #define Y_MIN_PIN BOARD_Y_MIN_PIN + #define Z_MIN_PIN BOARD_Z_MIN_PIN + #define X_MAX_PIN BOARD_X_MAX_PIN + #define Y_MAX_PIN BOARD_Y_MAX_PIN + #define Z_MAX_PIN BOARD_Z_MAX_PIN + +// Einsy 0.4+ lacks MAX switches +#elif defined(LULZBOT_SENSORLESS_HOMING) #define X_MIN_PIN BOARD_X_DIAG_PIN #define Y_MIN_PIN -1 #define Z_MIN_PIN BOARD_Y_MIN_PIN #define X_MAX_PIN -1 #define Y_MAX_PIN BOARD_Y_DIAG_PIN #define Z_MAX_PIN BOARD_X_MIN_PIN + #else #define X_MIN_PIN BOARD_X_MIN_PIN #define Y_MIN_PIN BOARD_Y_MIN_PIN @@ -133,8 +158,11 @@ // // Misc. Functions // -//#define SDSS 53 // EINY 0-.1 - EINSY 0.3 -#define SDSS 77 // EINSY 0.4 +#if defined(LULZBOT_USE_EARLY_EINSY) + #define SDSS 53 // EINY 0-.1 - EINSY 0.3 +#else + #define SDSS 77 // EINSY 0.4 +#endif #define LED_PIN 13 // @@ -150,12 +178,15 @@ #define BEEPER_PIN 84 #define LCD_PINS_RS 82 - // EINY 0.1- EINSY-0.3 - //#define LCD_PINS_ENABLE 18 - //#define LCD_PINS_D4 19 - // EINSY 0.4+ - #define LCD_PINS_ENABLE 61 - #define LCD_PINS_D4 59 + #if defined(LULZBOT_USE_EARLY_EINSY) + // EINY 0.1- EINSY-0.3 + #define LCD_PINS_ENABLE 18 + #define LCD_PINS_D4 19 + #else + // EINSY 0.4+ + #define LCD_PINS_ENABLE 61 + #define LCD_PINS_D4 59 + #endif #define LCD_PINS_D5 70 #define LCD_PINS_D6 85 #define LCD_PINS_D7 71 diff --git a/build-lulzbot-firmware.sh b/build-lulzbot-firmware.sh index afcc83ec2..e38505719 100755 --- a/build-lulzbot-firmware.sh +++ b/build-lulzbot-firmware.sh @@ -16,7 +16,7 @@ #### # The following variables list the models and toolheads to build for: -MINI_MODELS="Gladiola_Mini Hibiscus_Mini2 Gladiola_MiniLCD Hibiscus_Mini2LCD" +MINI_MODELS="Gladiola_Mini Hibiscus_Mini2 Gladiola_MiniLCD Hibiscus_Mini2LCD Gladiola_EinsyMini Hibiscus_EinsyMini2 Gladiola_EinsyMiniLCD Hibiscus_EinsyMini2LCD" MINI_TOOLHEADS="Gladiola_SingleExtruder Albatross_Flexystruder Finch_Aerostruder" TAZ_MODELS="Juniper_TAZ5 Oliveoil_TAZ6 Quiver_TAZ7"