@ -279,21 +279,6 @@
# define LULZBOT_Z_HOMING_HEIGHT 0
# endif // LULZBOT_USE_HOME_BUTTON
# if defined(LULZBOT_USE_AUTOLEVELING) && defined(LULZBOT_MINI_BED)
// Mini has a horizontal wiping pad on the back of the bed
# define LULZBOT_WIPE_X1 115
# define LULZBOT_WIPE_X2 45
# define LULZBOT_WIPE_Y1 173
# define LULZBOT_WIPE_Y2 173
# elif defined(LULZBOT_USE_AUTOLEVELING) && defined(LULZBOT_TAZ_BED)
// TAZ has a vertical wiping pad on the left side of the bed
# define LULZBOT_WIPE_X1 -16
# define LULZBOT_WIPE_X2 -16
# define LULZBOT_WIPE_Y1 95
# define LULZBOT_WIPE_Y2 25
# endif
# if defined(LULZBOT_USE_AUTOLEVELING)
# define LULZBOT_NOZZLE_CLEAN_FEATURE
// Select type of leveling to use:
@ -447,12 +432,17 @@
# define LULZBOT_TOOLHEAD_VER VERSION_STRING
# define LULZBOT_UUID "351487b6-ca9a-4c1a-8765-d668b1da6585"
# define LULZBOT_EXTRUDERS 1
# define LULZBOT_X_MAX_POS 175
# define LULZBOT_X_MIN_POS 0
# define LULZBOT_Y_MAX_POS 191
# define LULZBOT_Y_MIN_POS -10
# define LULZBOT_TOOLHEAD_X_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_X_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Y_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Y_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y2_ADJ 0
# define LULZBOT_AO_Hexagon
# define PWM_MOTOR_CURRENT_E 1250
# endif /* TOOLHEAD_Gladiola_SingleExtruder || TOOLHEAD_Albatross_Flexystruder || TOOLHEAD_Finch_Aero */
@ -481,10 +471,16 @@
# define LULZBOT_TOOLHEAD_VER VERSION_STRING
# define LULZBOT_UUID "845f003c-aebd-4e53-a6b9-7d0984fde609"
# define LULZBOT_EXTRUDERS 1
# define LULZBOT_X_MAX_POS 300
# define LULZBOT_X_MIN_POS -20
# define LULZBOT_Y_MAX_POS 303
# define LULZBOT_Y_MIN_POS -20
# define LULZBOT_TOOLHEAD_X_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_X_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Y_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Y_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y2_ADJ 0
# define LULZBOT_AO_Hexagon
# endif /* TOOLHEAD_Tilapia_SingleExtruder || TOOLHEAD_Angelfish_Aero */
@ -514,10 +510,16 @@
# define LULZBOT_EXTRUDERS 1
# define LULZBOT_UUID "564bab1c-704c-4225-b329-ac1a093d2638"
# define LULZBOT_X_MAX_ENDSTOP_INVERTING true
# define LULZBOT_X_MAX_POS 288
# define LULZBOT_X_MIN_POS -27
# define LULZBOT_Y_MAX_POS 302
# define LULZBOT_Y_MIN_POS -20
# define LULZBOT_TOOLHEAD_X_MAX_ADJ 12
# define LULZBOT_TOOLHEAD_X_MIN_ADJ 7
# define LULZBOT_TOOLHEAD_Y_MAX_ADJ 1
# define LULZBOT_TOOLHEAD_Y_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y2_ADJ 0
# define LULZBOT_AO_Hexagon
# endif /* TOOLHEAD_Kanyu_Flexystruder */
@ -531,10 +533,16 @@
# define LULZBOT_EXTRUDERS 1
# define LULZBOT_UUID "d651819d-4a79-4b73-bc5b-ae1fe1aab36b"
# define LULZBOT_X_MAX_ENDSTOP_INVERTING true
# define LULZBOT_X_MAX_POS 290
# define LULZBOT_X_MIN_POS -20
# define LULZBOT_Y_MAX_POS 303
# define LULZBOT_Y_MIN_POS -20
# define LULZBOT_TOOLHEAD_X_MAX_ADJ 10
# define LULZBOT_TOOLHEAD_X_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Y_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Y_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y2_ADJ 0
# define LULZBOT_Moarstruder
# endif /* TOOLHEAD_Opah_Moarstruder */
@ -545,11 +553,17 @@
# define DIGIPOT_MOTOR_CURRENT_E 160, 160 // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
# define LULZBOT_EXTRUDERS 2
# define LULZBOT_UUID "c5077702-4ecd-4532-beaf-6acf94acc404"
# define LULZBOT_X_MAX_POS 288
# define LULZBOT_X_MIN_POS -22
# define LULZBOT_Y_MAX_POS 303
# define LULZBOT_Y_MIN_POS -20
# define LULZBOT_TEMP_SENSOR_1 5
# define LULZBOT_TOOLHEAD_X_MAX_ADJ 12
# define LULZBOT_TOOLHEAD_X_MIN_ADJ 2
# define LULZBOT_TOOLHEAD_Y_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Y_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MAX_ADJ 0
# define LULZBOT_TOOLHEAD_Z_MIN_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y2_ADJ 0
# define LULZBOT_TEMP_SENSOR_1 5
# define LULZBOT_AO_Hexagon
# define LULZBOT_NO_HOME_ON_TOOLHEAD_CHANGE
# endif /* TOOLHEAD_Javelin_DualExtruder || TOOLHEAD_Longfin_FlexyDually || TOOLHEAD_Yellowfin_DualExtruder */
@ -557,16 +571,20 @@
# if defined(TOOLHEAD_Javelin_DualExtruder)
# define LULZBOT_LCD_TOOLHEAD_NAME "Dual Extruder 2"
// 16 chars max ^^^^^^^^^^^^^^^
# undef LULZBOT_WIPE_Y2
# define LULZBOT_WIPE_Y2 73
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y2_ADJ 48
# define LULZBOT_X_MAX_ENDSTOP_INVERTING true
# endif /* TOOLHEAD_Javelin_DualExtruder */
# if defined(TOOLHEAD_Longfin_FlexyDually)
# define LULZBOT_LCD_TOOLHEAD_NAME "FlexyDually v2"
// 16 chars max ^^^^^^^^^^^^^^^
# undef LULZBOT_WIPE_Y2
# define LULZBOT_WIPE_Y2 73
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_TOOLHEAD_WIPE_Y2_ADJ 48
# define LULZBOT_X_MAX_ENDSTOP_INVERTING true
# define LULZBOT_DISTINCT_E_FACTORS
# endif /* TOOLHEAD_Longfin_FlexyDually */
@ -580,10 +598,10 @@
# define LULZBOT_AFTER_Z_HOME_Z_RAISE 16
# undef LULZBOT_AFTER_Z_HOME_Z_ORIGIN
# define LULZBOT_AFTER_Z_HOME_Z_ORIGIN 5.5
# undef LULZBOT_WIPE_X1
# undef LULZBOT_WIPE_X2
# define LULZBOT_ WIPE_X1 -22
# define LULZBOT_ WIPE_X2 -22
# define LULZBOT_TOOLHEAD_WIPE_X1_ADJ -6
# define LULZBOT_TOOLHEAD_WIPE_X2_ADJ -6
# define LULZBOT_ TOOLHEAD_WIPE_Y1_ADJ 0
# define LULZBOT_ TOOLHEAD_WIPE_Y2_ADJ 0
# undef LULZBOT_Z_HOMING_HEIGHT
# define LULZBOT_Z_HOMING_HEIGHT 10
# undef LULZBOT_Z_CLEARANCE_DEPLOY_PROBE
@ -596,8 +614,8 @@
# undef LULZBOT_Z_SAFE_HOMING_Y_POINT
# define LULZBOT_Z_SAFE_HOMING_X_POINT (-22) // X point for Z homing when homing all axis (G28)
# define LULZBOT_Z_SAFE_HOMING_Y_POINT (265) // Y point for Z homing when homing all axis (G28)
# undef LULZBOT_ X_MAX_POS
# define LULZBOT_ X_MAX_POS 29 0
# undef LULZBOT_ TOOLHEAD_X_MAX_ADJ
# define LULZBOT_ TOOLHEAD_X_MAX_ADJ 1 0
# define LULZBOT_X_MAX_ENDSTOP_INVERTING false
# define LULZBOT_SWAP_EXTRUDERS
# undef LULZBOT_INVERT_E1_DIR
@ -607,6 +625,88 @@
# define LULZBOT_AO_Hexagon
# endif /* TOOLHEAD_Yellowfin_DualExtruder */
/*********************************** AXIS TRAVEL LIMITS *******************************************/
/* Define min and max travel limits based on the printer model using a standard
* toolhead , then define adjustments from the standard for alternative toolheads .
* This allows us to accomodate toolheads that might be wider or taller than the
* standard .
*/
# if defined(LULZBOT_IS_MINI)
# define LULZBOT_STANDARD_X_MAX_POS 175
# define LULZBOT_STANDARD_X_MIN_POS 0
# define LULZBOT_STANDARD_Y_MAX_POS 191
# define LULZBOT_STANDARD_Y_MIN_POS -10
# elif defined(LULZBOT_IS_TAZ)
# define LULZBOT_STANDARD_X_MAX_POS 300
# define LULZBOT_STANDARD_X_MIN_POS -20
# define LULZBOT_STANDARD_Y_MAX_POS 303
# define LULZBOT_STANDARD_Y_MIN_POS -20
# endif
# if defined(LULZBOT_Gladiola_Mini) || defined(LULZBOT_Gladiola_GLCD)
# define LULZBOT_STANDARD_Z_MIN_POS 0
# define LULZBOT_STANDARD_Z_MAX_POS 160
# elif defined(LULZBOT_Hibiscus_Mini) || defined(LULZBOT_Hibiscus_GLCD)
# define LULZBOT_STANDARD_Z_MIN_POS 0
# define LULZBOT_STANDARD_Z_MAX_POS 178
# elif defined(LULZBOT_Juniper_TAZ_5)
# define LULZBOT_STANDARD_Z_MIN_POS 0
# define LULZBOT_STANDARD_Z_MAX_POS 270
# elif defined(LULZBOT_Oliveoil_TAZ_6)
# define LULZBOT_STANDARD_Z_MIN_POS 0
# define LULZBOT_STANDARD_Z_MAX_POS 270
# elif defined(LULZBOT_Quiver_TAZ_7)
# define LULZBOT_STANDARD_Z_MIN_POS 0
# define LULZBOT_STANDARD_Z_MAX_POS 290
# endif
# define LULZBOT_X_MAX_POS (LULZBOT_STANDARD_X_MAX_POS - LULZBOT_TOOLHEAD_X_MAX_ADJ)
# define LULZBOT_X_MIN_POS (LULZBOT_STANDARD_X_MIN_POS - LULZBOT_TOOLHEAD_X_MIN_ADJ)
# define LULZBOT_Y_MAX_POS (LULZBOT_STANDARD_Y_MAX_POS - LULZBOT_TOOLHEAD_Y_MAX_ADJ)
# define LULZBOT_Y_MIN_POS (LULZBOT_STANDARD_Y_MIN_POS - LULZBOT_TOOLHEAD_Y_MIN_ADJ)
# define LULZBOT_Z_MAX_POS (LULZBOT_STANDARD_Z_MAX_POS - LULZBOT_TOOLHEAD_Z_MAX_ADJ)
# define LULZBOT_Z_MIN_POS (LULZBOT_STANDARD_Z_MIN_POS - LULZBOT_TOOLHEAD_Z_MIN_ADJ)
/*********************************** WIPER PAD **********************************/
// Nozzle wiping points (varies by toolhead, as the nozzle position varies)
# if defined(LULZBOT_USE_AUTOLEVELING) && defined(LULZBOT_MINI_BED)
// Mini has a horizontal wiping pad on the back of the bed
# define LULZBOT_STANDARD_WIPE_X1 115
# define LULZBOT_STANDARD_WIPE_X2 45
# define LULZBOT_STANDARD_WIPE_Y1 173
# define LULZBOT_STANDARD_WIPE_Y2 173
# elif defined(LULZBOT_USE_AUTOLEVELING) && defined(LULZBOT_TAZ_BED)
// TAZ has a vertical wiping pad on the left side of the bed
# define LULZBOT_STANDARD_WIPE_X1 -16
# define LULZBOT_STANDARD_WIPE_X2 -16
# define LULZBOT_STANDARD_WIPE_Y1 95
# define LULZBOT_STANDARD_WIPE_Y2 25
# endif
# define LULZBOT_NOZZLE_CLEAN_START_POINT { \
LULZBOT_STANDARD_WIPE_X1 + LULZBOT_TOOLHEAD_WIPE_X1_ADJ , \
LULZBOT_STANDARD_WIPE_Y1 + LULZBOT_TOOLHEAD_WIPE_Y1_ADJ , \
1 \
}
# define LULZBOT_NOZZLE_CLEAN_END_POINT { \
LULZBOT_STANDARD_WIPE_X2 + LULZBOT_TOOLHEAD_WIPE_X2_ADJ , \
LULZBOT_STANDARD_WIPE_Y2 + LULZBOT_TOOLHEAD_WIPE_Y2_ADJ , \
1 \
}
/*********************************** HEATING ELEMENTS ****************************/
/* HOTEND Variants */
# if defined(LULZBOT_Moarstruder)
@ -637,15 +737,8 @@
# define LULZBOT_DEFAULT_bedKd 382
# endif
// Nozzle wiping points (varies by toolhead, as the nozzle position varies)
# define LULZBOT_NOZZLE_CLEAN_START_POINT {LULZBOT_WIPE_X1, LULZBOT_WIPE_Y1, 1}
# define LULZBOT_NOZZLE_CLEAN_END_POINT {LULZBOT_WIPE_X2, LULZBOT_WIPE_Y2, 1}
// Acceleration, feedrate, motor steps and motor currents for XYZ vary
// by printer model (steps and motor currents for E vary by toolhead).
// Z values additionally vary depending on whether the Z assembly is
// rod or belt driven.
# if defined(LULZBOT_IS_MINI)
# define PWM_MOTOR_CURRENT_XY 1300
@ -660,9 +753,6 @@
# define LULZBOT_DEFAULT_ACCELERATION 2000
# define LULZBOT_DEFAULT_TRAVEL_ACCELERATION 3000
# define LULZBOT_Z_MAX_POS 160
# define LULZBOT_Z_MIN_POS 0
# define LULZBOT_Z_PROBE_OFFSET_FROM_EXTRUDER -1.43
# elif defined(LULZBOT_IS_TAZ)
@ -675,8 +765,6 @@
# define LULZBOT_DEFAULT_ACCELERATION 500
# endif
# define LULZBOT_DEFAULT_TRAVEL_ACCELERATION 3000
# define LULZBOT_Z_MIN_POS 0
# define LULZBOT_Z_PROBE_OFFSET_FROM_EXTRUDER -1.5
# endif
@ -693,8 +781,6 @@
# define Z_PULLEY_TEETH 24
# define Z_MOTOR_GEAR_REDUCTION 26.8512396694
# define LULZBOT_Z_STEPS (Z_FULL_STEPS_PER_ROTATION * Z_MICROSTEPS * Z_MOTOR_GEAR_REDUCTION / double(Z_BELT_PITCH) / double(Z_PULLEY_TEETH))
# undef LULZBOT_Z_MAX_POS
# define LULZBOT_Z_MAX_POS 178
# undef LULZBOT_DEFAULT_MAX_FEEDRATE
# define LULZBOT_DEFAULT_MAX_FEEDRATE {800, 800, 16, 40} // (mm/sec)
@ -704,14 +790,12 @@
# define LULZBOT_DEFAULT_MAX_FEEDRATE {800, 800, 3, 40} // (mm/sec)
# define LULZBOT_DEFAULT_MAX_ACCELERATION {9000,9000,100,10000}
# define LULZBOT_Z_STEPS 1600
# define LULZBOT_Z_MAX_POS 270
# elif defined(LULZBOT_Oliveoil_TAZ_6)
# define DIGIPOT_MOTOR_CURRENT_Z 200
# define LULZBOT_DEFAULT_MAX_FEEDRATE {800, 800, 3, 40} // (mm/sec)
# define LULZBOT_DEFAULT_MAX_ACCELERATION {9000,9000,100,10000}
# define LULZBOT_Z_STEPS 1600
# define LULZBOT_Z_MAX_POS 270
# elif defined(LULZBOT_Quiver_TAZ_7)
# define DIGIPOT_MOTOR_CURRENT_Z 175
@ -719,7 +803,6 @@
# define LULZBOT_DEFAULT_MAX_FEEDRATE {800, 800, 600, 40} // (mm/sec)
# define LULZBOT_DEFAULT_MAX_ACCELERATION {9000,9000,10,10000}
# define LULZBOT_Z_STEPS 1790.08264463
# define LULZBOT_Z_MAX_POS 290
# endif
# if defined(PWM_MOTOR_CURRENT_XY) && defined(PWM_MOTOR_CURRENT_Z) && defined(PWM_MOTOR_CURRENT_E)