Travel distance definitions changed.

Travel distances for toolheads are now specified as an adjustment
to the standard travel distance of a given printer. This will allow
for the definition of toolheads that can work on both the Mini and
TAZ.
master
Marcio Teixeira 7 years ago
parent 77d1b8f604
commit 4834a93915

@ -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 290
#undef LULZBOT_TOOLHEAD_X_MAX_ADJ
#define LULZBOT_TOOLHEAD_X_MAX_ADJ 10
#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)

@ -338,11 +338,6 @@ LD_PREFIX=-nodefaultlibs
LD_SUFFIX=-lm -lgcc -lc -lgcc
endif
#Disabling the timestamp is useful for diffing binaries between different builds.
ifeq ($(NO_TIMESTAMP), 1)
CDEFS +=-D__DATE__="??? ?? ????" -D__TIME__="??:??:??"
endif
#Check for Arduino 1.0.0 or higher and use the correct source files for that version
ifeq ($(shell [ $(ARDUINO_VERSION) -ge 100 ] && echo true), true)
CXXSRC += main.cpp
@ -380,6 +375,12 @@ MV = mv -f
CDEFS = -DF_CPU=$(F_CPU) ${addprefix -D , $(DEFINES)}
CXXDEFS = $(CDEFS)
#Disabling the timestamp is useful for diffing binaries between different builds.
ifeq ($(NO_TIMESTAMP), 1)
#CDEFS +=-D__DATE__="??? ?? ????" -D__TIME__="??:??:??"
CDEFS +=-D__DATE__='"Aug 17 2017"' -D__TIME__='"08:59:30"'
endif
ifeq ($(HARDWARE_VARIANT), Teensy)
CDEFS += -DUSB_SERIAL
SRC += usb.c pins_teensy.c

@ -22,6 +22,16 @@ MINI_TOOLHEADS="Gladiola_SingleExtruder Albatross_Flexystruder Finch_Aero"
TAZ_MODELS="Juniper_TAZ_5 Oliveoil_TAZ_6 Quiver_TAZ_7"
TAZ_TOOLHEADS="Tilapia_SingleExtruder Kanyu_Flexystruder Opah_Moarstruder Javelin_DualExtruder Longfin_FlexyDually Yellowfin_DualExtruder Angelfish_Aero"
####
# usage
#
# Prints out a usage summary
#
usage() {
echo "Usage: $0 [--no-timestamps] [printer_model toolhead_name]"
exit
}
####
# build_firmware <printer> <toolhead>
#
@ -141,18 +151,28 @@ build_summary() {
# MAIN SCRIPT
############################################
while true
do
case $1 in
--no-timestamps)
MAKEOPTS="NO_TIMESTAMP=1"
shift
;;
--*)
usage
;;
*)
break
;;
esac
done
locate_avr_tools
check_avr_tools
rm -rf build
mkdir build
if [ "$1" = "--no-timestamp" ]
then
shift
MAKEOPTS="NO_TIMESTAMP=1"
fi
if [ $# -eq 2 ]
then
build_firmware $1 $2

Loading…
Cancel
Save