@ -4,20 +4,20 @@
 
			
		
	
		
			
				
					// Change printer model and toolhead here
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# define LULZBOT_Oliveoil_TAZ_6  
			
		
	
		
			
				
					# define TOOLHEAD_ Angelfish_Aero  
			
		
	
		
			
				
					# define TOOLHEAD_ Oliveoil_SingleExtruder  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					/* We define the LULZBOT_ values based on which print  head or printer variants we are compiling for, 
 
			
		
	
		
			
				
					 *  these  constants  are  then  placed  where  appropriate  in  the  following  files : 
 
			
		
	
		
			
				
					/* We define the LULZBOT_ values based on which print er or toolhead variants we are compiling 
 
			
		
	
		
			
				
					 *  for ,  these  constants  are  then  placed  where  appropriate  in  the  following  files : 
 
			
		
	
		
			
				
					 * 
 
			
		
	
		
			
				
					 *     -  Configuration . h 
 
			
		
	
		
			
				
					 *     -  Configuration_adv . h 
 
			
		
	
		
			
				
					 *     -  pins . h 
 
			
		
	
		
			
				
					 *     -  Default_Version . h 
 
			
		
	
		
			
				
					 * 
 
			
		
	
		
			
				
					 *  Using  our  own  set  of  constants  make it  easier  to  keep  track  of  changes  from  upstream .  
 
			
		
	
		
			
				
					 *  values  are  prefixed  with  LULZBOT_  so  that  it  is  easy  to  see  what  was  changed  and  where .  
 
			
		
	
		
			
				
					 *  a  setting  is  commented  out ,  we  define  a  LULZBOT_ { SETTING } _DISABLED  here ,  just  so  
 
			
		
	
		
			
				
					 *  have  a  record  of  things  that  got  disabled . 
 
			
		
	
		
			
				
					 *  Using  our  own  set  of  constants  and limiting  modification  to  Marlin ' s  files  makes  it  easier  to  
 
			
		
	
		
			
				
					 *  merge from  upstream .   All values  are  prefixed  with  LULZBOT_  so  that  it  is  easy  to  see  what 
 
			
		
	
		
			
				
					 *  was changed  and  where .   If a  setting  is  commented  out ,  we  define  a  LULZBOT_ { SETTING } _DISABLED 
 
			
		
	
		
			
				
					 *  here,  just  so   we have  a  record  of  things  that  got  disabled . 
 
			
		
	
		
			
				
					 */ 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if ( \  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -27,6 +27,8 @@
 
			
		
	
		
			
				
					    ! defined ( LULZBOT_Huerfano_TAZ_7 )  \
 
			
		
	
		
			
				
					)  | |  (  \ 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Gladiola_SingleExtruder )  & &  \
 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Albatross_Flexystruder )  & &  \
 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Heather_Aero )  & &  \
 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Oliveoil_SingleExtruder )  & &  \
 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Kanyu_Flexystruder )  & &  \
 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Opah_Moarstruder )  & &  \
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -35,26 +37,30 @@
 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Yellowfin_DualExtruder )  & &  \
 
			
		
	
		
			
				
					    ! defined ( TOOLHEAD_Angelfish_Aero )  \
 
			
		
	
		
			
				
					)  
			
		
	
		
			
				
					# error Must specify model and toolhead to build:  
			
		
	
		
			
				
					# error  
			
		
	
		
			
				
					# error   make clean  
			
		
	
		
			
				
					# error   make MODEL=<model> TOOLHEAD=<toolhead>  
			
		
	
		
			
				
					# error  
			
		
	
		
			
				
					# error   Model Choices:  
			
		
	
		
			
				
					# error      Gladiola_Mini     // Lulzbot Mini  (Gladiola)
  
			
		
	
		
			
				
					# error      Huerfano_Mini     // Lulzbot Mini  (Huerfano)
  
			
		
	
		
			
				
					# error      Oliveoil_TAZ_6    // Lulzbot TAZ 6 (Olive Oil)
  
			
		
	
		
			
				
					# error      Huerfano_TAZ_7    // Lulzbot TAZ 7 (Huerfano)
  
			
		
	
		
			
				
					# error  
			
		
	
		
			
				
					# error   Toolhead Choices:  
			
		
	
		
			
				
					# error      Gladiola_SingleExtruder   // Standard Single Extruder (Gladiola)
  
			
		
	
		
			
				
					# error      Oliveoil_SingleExtruder   // Standard Single Extruder (TAZ Olive)
  
			
		
	
		
			
				
					# error      Kanyu_Flexystruder        // Flexystruder (Kanyu)
  
			
		
	
		
			
				
					# error      Opah_Moarstruder          // Moarstruder (Opah)
  
			
		
	
		
			
				
					# error      Javelin_DualExtruder      // Dual Extruder v2 (Javelin)
  
			
		
	
		
			
				
					# error      Longfin_FlexyDually       // FlexyDually (Longfin)
  
			
		
	
		
			
				
					# error      Yellowfin_DualExtruder    // Dual Extruder v3 (Yellowfin)
  
			
		
	
		
			
				
					# error      Angelfish_Aero            // Titan AERO (Angelfish)
  
			
		
	
		
			
				
					    # error Must specify model and toolhead to build: 
 
			
		
	
		
			
				
					    # error 
 
			
		
	
		
			
				
					    # error   make clean 
 
			
		
	
		
			
				
					    # error   make MODEL=<model> TOOLHEAD=<toolhead> 
 
			
		
	
		
			
				
					    # error 
 
			
		
	
		
			
				
					    # error   Printer Model Choices: 
 
			
		
	
		
			
				
					    # error      Gladiola_Mini             // Lulzbot Mini  (Gladiola)
 
 
			
		
	
		
			
				
					    # error      Huerfano_Mini             // Lulzbot Mini  (Huerfano)
 
 
			
		
	
		
			
				
					    # error      Oliveoil_TAZ_6            // Lulzbot TAZ 6 (Olive Oil)
 
 
			
		
	
		
			
				
					    # error      Huerfano_TAZ_7            // Lulzbot TAZ 7 (Huerfano)
 
 
			
		
	
		
			
				
					    # error 
 
			
		
	
		
			
				
					    # error   Mini Toolhead Choices: 
 
			
		
	
		
			
				
					    # error      Gladiola_SingleExtruder   // Standard Single Extruder (Gladiola)
 
 
			
		
	
		
			
				
					    # error      Albatross_Flexystruder    // Flexystruder (Albatross)
 
 
			
		
	
		
			
				
					    # error      Heather_Aero              // Titan AERO (Heather)
 
 
			
		
	
		
			
				
					    # error 
 
			
		
	
		
			
				
					    # error   TAZ Toolhead Choices: 
 
			
		
	
		
			
				
					    # error      Oliveoil_SingleExtruder   // Standard Single Extruder (TAZ Olive)
 
 
			
		
	
		
			
				
					    # error      Kanyu_Flexystruder        // Flexystruder (Kanyu)
 
 
			
		
	
		
			
				
					    # error      Opah_Moarstruder          // Moarstruder (Opah)
 
 
			
		
	
		
			
				
					    # error      Javelin_DualExtruder      // Dual Extruder v2 (Javelin)
 
 
			
		
	
		
			
				
					    # error      Longfin_FlexyDually       // FlexyDually (Longfin)
 
 
			
		
	
		
			
				
					    # error      Yellowfin_DualExtruder    // Dual Extruder v3 (Yellowfin)
 
 
			
		
	
		
			
				
					    # error      Angelfish_Aero            // Titan AERO (Angelfish)
 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# define LULZBOT_FW_VERSION ".1"  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -62,25 +68,31 @@
 
			
		
	
		
			
				
					// Select options based on printer model
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Gladiola_Mini)  
			
		
	
		
			
				
					# define LULZBOT_CUSTOM_MACHINE_NAME "Mini"  
			
		
	
		
			
				
					    # define LULZBOT_CUSTOM_MACHINE_NAME "Mini" 
 
			
		
	
		
			
				
					    # define LULZBOT_IS_MINI 
 
			
		
	
		
			
				
					    # define LULZBOT_MINI_BED 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Huerfano_Mini)  
			
		
	
		
			
				
					    # define LULZBOT_CUSTOM_MACHINE_NAME "Mini Too" 
 
			
		
	
		
			
				
					    # define LULZBOT_MINI_Z_BELT 
 
			
		
	
		
			
				
					    // Prototype Mini w/ Z-Belt
 
 
			
		
	
		
			
				
					    # define LULZBOT_CUSTOM_MACHINE_NAME "Mini" 
 
			
		
	
		
			
				
					    # define LULZBOT_IS_MINI 
 
			
		
	
		
			
				
					    # define LULZBOT_MINI_BED 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Oliveoil_TAZ_6)  
			
		
	
		
			
				
					    # define LULZBOT_CUSTOM_MACHINE_NAME "TAZ 6" 
 
			
		
	
		
			
				
					    # define LULZBOT_IS_TAZ 
 
			
		
	
		
			
				
					    # define LULZBOT_TAZ_BED 
 
			
		
	
		
			
				
					    # define LULZBOT_USE_LCD_DISPLAY 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Huerfano_TAZ_7)  
			
		
	
		
			
				
					    // Prototype TAZ w/ Z-Belt
 
 
			
		
	
		
			
				
					    # define LULZBOT_CUSTOM_MACHINE_NAME "TAZ 7" 
 
			
		
	
		
			
				
					    # define LULZBOT_ TAZ_Z_BELT 
 
			
		
	
		
			
				
					    # define LULZBOT_ IS_ TAZ
 
			
		
	
		
			
				
					    # define LULZBOT_TAZ_BED 
 
			
		
	
		
			
				
					    # define LULZBOT_USE_LCD_DISPLAY 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					// Shared values
  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -114,12 +126,12 @@
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					// Motherboard specifics and custom pins for probing.
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_ Gladiola_Mini) || defined(LULZBOT_Huerfano_Mini ) 
			
		
	
		
			
				
					# if defined(LULZBOT_ IS_MINI ) 
			
		
	
		
			
				
					    # define LULZBOT_MOTHERBOARD                   BOARD_MINIRAMBO 
 
			
		
	
		
			
				
					    # define LULZBOT_CONTROLLER_FAN_PIN            FAN_1_PIN   // Digital pin 6
 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_ Oliveoil_TAZ_6) || defined(LULZBOT_Huerfano_TAZ_7 ) 
			
		
	
		
			
				
					# elif defined(LULZBOT_ IS_TAZ ) 
			
		
	
		
			
				
					    # define LULZBOT_MOTHERBOARD                   BOARD_RAMBO 
 
			
		
	
		
			
				
					    # define LULZBOT_CONTROLLER_FAN_PIN            FAN_2_PIN   // Digital pin 2
 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_PROBE_ENDSTOP 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -133,39 +145,39 @@
 
			
		
	
		
			
				
					# define LULZBOT_USE_YMAX_PLUG  
			
		
	
		
			
				
					# define LULZBOT_USE_ZMAX_PLUG  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Gladiola_Mini) || defined(LULZBOT_Huerfano_Mini)  
			
		
	
		
			
				
					/* Endstop settings are determined by printer model, except for the
  
			
		
	
		
			
				
					 *  X_MAX  which  varies  by  toolhead .  */ 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Gladiola_Mini)  
			
		
	
		
			
				
					    # define LULZBOT_X_MIN_ENDSTOP_INVERTING       true 
 
			
		
	
		
			
				
					    # define LULZBOT_Y_MIN_ENDSTOP_INVERTING       true 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_ENDSTOP_INVERTING       true 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_PROBE_ENDSTOP_INVERTING true 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING       true 
 
			
		
	
		
			
				
					    # define LULZBOT_Y_MAX_ENDSTOP_INVERTING       true 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MAX_ENDSTOP_INVERTING       true 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_ Oliveoil_TAZ_6) || defined(LULZBOT_Huerfano_TAZ_7 ) 
			
		
	
		
			
				
					# elif defined(LULZBOT_ IS_TAZ) || defined(LULZBOT_Huerfano_Mini ) 
			
		
	
		
			
				
					    # define LULZBOT_X_MIN_ENDSTOP_INVERTING       false 
 
			
		
	
		
			
				
					    # define LULZBOT_Y_MIN_ENDSTOP_INVERTING       false 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_ENDSTOP_INVERTING       true 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_PROBE_ENDSTOP_INVERTING true 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING       false 
 
			
		
	
		
			
				
					    # define LULZBOT_Y_MAX_ENDSTOP_INVERTING       false 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MAX_ENDSTOP_INVERTING       false 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# define LULZBOT_INVERT_X_DIR                  false  
			
		
	
		
			
				
					# define LULZBOT_INVERT_Y_DIR                  true  
			
		
	
		
			
				
					# define LULZBOT_INVERT_Z_DIR                  false  
			
		
	
		
			
				
					# define LULZBOT_INVERT_E0_DIR                 true  
			
		
	
		
			
				
					# define LULZBOT_INVERT_E1_DIR                 true  
			
		
	
		
			
				
					# define LULZBOT_Z_MIN_ENDSTOP_INVERTING           true  
			
		
	
		
			
				
					# define LULZBOT_Z_MIN_PROBE_ENDSTOP_INVERTING     true  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Gladiola_Mini) || defined(LULZBOT_Huerfano_Mini)  
			
		
	
		
			
				
					# define LULZBOT_INVERT_X_DIR                      false  
			
		
	
		
			
				
					# define LULZBOT_INVERT_Y_DIR                      true  
			
		
	
		
			
				
					# define LULZBOT_INVERT_Z_DIR                      false  
			
		
	
		
			
				
					# define LULZBOT_INVERT_E0_DIR                     true  
			
		
	
		
			
				
					# define LULZBOT_INVERT_E1_DIR                     true  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_IS_MINI)  
			
		
	
		
			
				
					    # define LULZBOT_HOMING_Z_WITH_PROBE           false 
 
			
		
	
		
			
				
					    # define LULZBOT_INVERT_X_HOME_DIR             -1 
 
			
		
	
		
			
				
					    # define LULZBOT_INVERT_Y_HOME_DIR              1 
 
			
		
	
		
			
				
					    # define LULZBOT_INVERT_Z_HOME_DIR              1 
 
			
		
	
		
			
				
					    # define LULZBOT_QUICKHOME 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_ Oliveoil_TAZ_6) || defined(LULZBOT_Huerfano_TAZ_7 ) 
			
		
	
		
			
				
					# elif defined(LULZBOT_ IS_TAZ ) 
			
		
	
		
			
				
					    # define LULZBOT_HOMING_Z_WITH_PROBE           true 
 
			
		
	
		
			
				
					    # define LULZBOT_INVERT_X_HOME_DIR             -1 
 
			
		
	
		
			
				
					    # define LULZBOT_INVERT_Y_HOME_DIR              1 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -176,8 +188,8 @@
 
			
		
	
		
			
				
					# if defined(LULZBOT_MINI_BED)  
			
		
	
		
			
				
					    # define LULZBOT_LEFT_PROBE_BED_POSITION        0 
 
			
		
	
		
			
				
					    # define LULZBOT_RIGHT_PROBE_BED_POSITION     164 
 
			
		
	
		
			
				
					    # define LULZBOT_FRONT_PROBE_BED_POSITION      -6 
 
			
		
	
		
			
				
					    # define LULZBOT_BACK_PROBE_BED_POSITION      162 
 
			
		
	
		
			
				
					    # define LULZBOT_FRONT_PROBE_BED_POSITION      -6 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    # define LULZBOT_HOMING_FEEDRATE_XY            (30*60) 
 
			
		
	
		
			
				
					    # define LULZBOT_HOMING_FEEDRATE_Z             (12*60) 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -191,6 +203,7 @@
 
			
		
	
		
			
				
					    # define LULZBOT_HOMING_FEEDRATE_XY            (50*60) 
 
			
		
	
		
			
				
					    # define LULZBOT_HOMING_FEEDRATE_Z             (8*60) 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    // Only the TAZ models have a Z-homing button
 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_SAFE_HOMING 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_SAFE_HOMING_X_POINT         (-19) 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_SAFE_HOMING_Y_POINT         (258) 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -198,13 +211,15 @@
 
			
		
	
		
			
				
					    # define LULZBOT_RAISE_AFTER_HOME  // Not in upstream Marlin.
 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_MINI_BED)  
			
		
	
		
			
				
					# if 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 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# else defined(LULZBOT_TAZ_BED)  
			
		
	
		
			
				
					# elif 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 
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -239,58 +254,110 @@
 
			
		
	
		
			
				
					# define LULZBOT_Z_CLEARANCE_DEPLOY_PROBE      5  
			
		
	
		
			
				
					# define LULZBOT_Z_CLEARANCE_BETWEEN_PROBES    5  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					/* Enable the probe pins only only when homing/probing.
  
			
		
	
		
			
				
					/* Enable the probe pins only only when homing/probing,
  
			
		
	
		
			
				
					 *  as  this  helps  reduce  EMI  by  grounding  the  lines . 
 
			
		
	
		
			
				
					 * 
 
			
		
	
		
			
				
					 *  On  Mini : 
 
			
		
	
		
			
				
					 *    Z_MIN_PIN  are  the  bed  washers . 
 
			
		
	
		
			
				
					 * 
 
			
		
	
		
			
				
					 *  On  TAZ : 
 
			
		
	
		
			
				
					 *    Z_MIN_PIN  corresponds  to  the  Z - Home  push  button . 
 
			
		
	
		
			
				
					 *    LULZBOT_Z_MIN_PROBE_PIN  are  the  bed  washers . 
 
			
		
	
		
			
				
					 */ 
 
			
		
	
		
			
				
					# define LULZBOT_ENABLE_PROBE_PINS(enable) { \  
			
		
	
		
			
				
					    if ( enable )  {  \
 
			
		
	
		
			
				
					      /* Set both as inputs with pull-up resistor */  \
 
			
		
	
		
			
				
					      SET_INPUT ( LULZBOT_Z_MIN_PROBE_PIN ) ;  \
 
			
		
	
		
			
				
					      WRITE ( LULZBOT_Z_MIN_PROBE_PIN ,  HIGH ) ;  \
 
			
		
	
		
			
				
					      SET_INPUT ( Z_MIN_PIN ) ;  \
 
			
		
	
		
			
				
					      WRITE ( Z_MIN_PIN ,  HIGH ) ;  \
 
			
		
	
		
			
				
					    }  else  {  \
 
			
		
	
		
			
				
					      /* Ground both pins to prevent EMI */  \
 
			
		
	
		
			
				
					      SET_OUTPUT ( LULZBOT_Z_MIN_PROBE_PIN ) ;  \
 
			
		
	
		
			
				
					      WRITE ( LULZBOT_Z_MIN_PROBE_PIN ,  LOW ) ;  \
 
			
		
	
		
			
				
					      SET_OUTPUT ( Z_MIN_PIN ) ;  \
 
			
		
	
		
			
				
					      WRITE ( Z_MIN_PIN ,  LOW ) ;  \
 
			
		
	
		
			
				
					    }  \
 
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					# if defined(LULZBOT_MINI_BED)  
			
		
	
		
			
				
					    # define LULZBOT_ENABLE_PROBE_PINS(enable) { \ 
 
			
		
	
		
			
				
					        if ( enable )  {  \
 
			
		
	
		
			
				
					          /* Set as inputs with pull-up resistor */  \
 
			
		
	
		
			
				
					          SET_INPUT ( Z_MIN_PIN ) ;  \
 
			
		
	
		
			
				
					          WRITE ( Z_MIN_PIN ,  HIGH ) ;  \
 
			
		
	
		
			
				
					        }  else  {  \
 
			
		
	
		
			
				
					          /* Ground to prevent EMI */  \
 
			
		
	
		
			
				
					          SET_OUTPUT ( Z_MIN_PIN ) ;  \
 
			
		
	
		
			
				
					          WRITE ( Z_MIN_PIN ,  LOW ) ;  \
 
			
		
	
		
			
				
					        }  \
 
			
		
	
		
			
				
					    } 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_TAZ_BED)  
			
		
	
		
			
				
					    # define LULZBOT_ENABLE_PROBE_PINS(enable) { \ 
 
			
		
	
		
			
				
					        if ( enable )  {  \
 
			
		
	
		
			
				
					          /* Set both as inputs with pull-up resistor */  \
 
			
		
	
		
			
				
					          SET_INPUT ( LULZBOT_Z_MIN_PROBE_PIN ) ;  \
 
			
		
	
		
			
				
					          WRITE ( LULZBOT_Z_MIN_PROBE_PIN ,  HIGH ) ;  \
 
			
		
	
		
			
				
					          SET_INPUT ( Z_MIN_PIN ) ;  \
 
			
		
	
		
			
				
					          WRITE ( Z_MIN_PIN ,  HIGH ) ;  \
 
			
		
	
		
			
				
					        }  else  {  \
 
			
		
	
		
			
				
					          /* Ground both pins to prevent EMI */  \
 
			
		
	
		
			
				
					          SET_OUTPUT ( LULZBOT_Z_MIN_PROBE_PIN ) ;  \
 
			
		
	
		
			
				
					          WRITE ( LULZBOT_Z_MIN_PROBE_PIN ,  LOW ) ;  \
 
			
		
	
		
			
				
					          SET_OUTPUT ( Z_MIN_PIN ) ;  \
 
			
		
	
		
			
				
					          WRITE ( Z_MIN_PIN ,  LOW ) ;  \
 
			
		
	
		
			
				
					        }  \
 
			
		
	
		
			
				
					    } 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# define LULZBOT_FAN_KICKSTART_TIME          100  
			
		
	
		
			
				
					# define LULZBOT_FAN_MIN_PWM                  70  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# define LULZBOT_REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER  
			
		
	
		
			
				
					# define LULZBOT_SDSUPPORT  
			
		
	
		
			
				
					# define LULZBOT_XYZ_HOLLOW_FRAME_DISABLE  
			
		
	
		
			
				
					# define LULZBOT_MENU_HOLLOW_FRAME_DISABLE  
			
		
	
		
			
				
					# define LULZBOT_USE_SMALL_INFOFONT  
			
		
	
		
			
				
					# define LULZBOT_BABYSTEPPING  
			
		
	
		
			
				
					# define LULZBOT_BABYSTEP_ZPROBE_OFFSET  
			
		
	
		
			
				
					# define LULZBOT_SHOW_CUSTOM_BOOTSCREEN  
			
		
	
		
			
				
					# define LULZBOT_HOST_KEEPALIVE_FEATURE_DISABLED  
			
		
	
		
			
				
					# define LULZBOT_MENU_BED_LEVELING_GCODE       "G28 XY\nM109 S175\nG28 Z\nM109 R145\nG12\nG29\nM104 S0"  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Gladiola_SingleExtruder)  
			
		
	
		
			
				
					# if defined(LULZBOT_USE_LCD_DISPLAY)  
			
		
	
		
			
				
					    # define LULZBOT_REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER 
 
			
		
	
		
			
				
					    # define LULZBOT_SDSUPPORT 
 
			
		
	
		
			
				
					    # define LULZBOT_XYZ_HOLLOW_FRAME_DISABLE 
 
			
		
	
		
			
				
					    # define LULZBOT_MENU_HOLLOW_FRAME_DISABLE 
 
			
		
	
		
			
				
					    # define LULZBOT_USE_SMALL_INFOFONT 
 
			
		
	
		
			
				
					    # define LULZBOT_BABYSTEPPING 
 
			
		
	
		
			
				
					    # define LULZBOT_BABYSTEP_ZPROBE_OFFSET 
 
			
		
	
		
			
				
					    # define LULZBOT_SHOW_CUSTOM_BOOTSCREEN 
 
			
		
	
		
			
				
					    # define LULZBOT_MENU_BED_LEVELING_GCODE "G28 XY\nM109 S175\nG28 Z\nM109 R145\nG12\nG29\nM104 S0" 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					/*********************************************** COMMON TOOLHEADS PARAMETERS *****************************/  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# define LULZBOT_DEFAULT_EJERK                10.0  
			
		
	
		
			
				
					# if defined(LULZBOT_IS_TAZ)  
			
		
	
		
			
				
					    # define LULZBOT_E_STEPS                  830 
 
			
		
	
		
			
				
					# elif defined(LULZBOT_IS_MINI)  
			
		
	
		
			
				
					    # define LULZBOT_E_STEPS                  833 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					/*********************************************** MINI TOOLHEADS *******************************************/  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Gladiola_SingleExtruder) || defined(TOOLHEAD_Albatross_Flexystruder) || defined(TOOLHEAD_Heather_Aero)  
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_VER               VERSION_STRING 
 
			
		
	
		
			
				
					    # define LULZBOT_UUID                       "351487b6-ca9a-4c1a-8765-d668b1da6585" 
 
			
		
	
		
			
				
					    # define LULZBOT_PWM_MOTOR_CURRENT          {1300, 1630, 1250}  // Values in milliamps
 
 
			
		
	
		
			
				
					    # define LULZBOT_EXTRUDERS                  1 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    false 
 
			
		
	
		
			
				
					    # 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_AO_Hexagon 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    # define PWM_MOTOR_CURRENT_E               1250 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Gladiola_SingleExtruder || TOOLHEAD_Albatross_Flexystruder || TOOLHEAD_Heather_Aero */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Gladiola_SingleExtruder)  
			
		
	
		
			
				
					    # define LULZBOT_LCD_TOOLHEAD_NAME              "Single Extruder" 
 
			
		
	
		
			
				
					//          16 chars max                            ^^^^^^^^^^^^^^^
  
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING        true 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Gladiola_SingleExtruder */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Albatross_Flexystruder)  
			
		
	
		
			
				
					    # define LULZBOT_LCD_TOOLHEAD_NAME              "Flexystruder" 
 
			
		
	
		
			
				
					//          16 chars max                            ^^^^^^^^^^^^^^^
  
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING        true 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Albatross_Flexystruder */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Heather_Aero)  
			
		
	
		
			
				
					    // Prototype Aero toolhead for Mini
 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING        false 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Heather_Aero */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					/*********************************************** TAZ TOOLHEADS *******************************************/  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Oliveoil_SingleExtruder) || defined(TOOLHEAD_Angelfish_Aero)  
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_VER               VERSION_STRING 
 
			
		
	
		
			
				
					    # define LULZBOT_UUID                       "845f003c-aebd-4e53-a6b9-7d0984fde609" 
 
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_VER                      VERSION_STRING
 
			
		
	
		
			
				
					    # define LULZBOT_UUID                              "845f003c-aebd-4e53-a6b9-7d0984fde609"
 
			
		
	
		
			
				
					    # define LULZBOT_EXTRUDERS                  1 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    false 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_POS                  300 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MIN_POS                  -20 
 
			
		
	
		
			
				
					    # define LULZBOT_Y_MAX_POS                  303 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -299,28 +366,30 @@
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Oliveoil_SingleExtruder || TOOLHEAD_Angelfish_Aero */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Oliveoil_SingleExtruder)  
			
		
	
		
			
				
					    # define LULZBOT_ TOOLHEAD_NAME              "Single Extruder"
 
			
		
	
		
			
				
					//          16 chars max                         ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_ LCD_ TOOLHEAD_NAME              "Single Extruder"
 
			
		
	
		
			
				
					//          16 chars max                              ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_BUILD_VARIANT              " LulzBot" 
 
			
		
	
		
			
				
					    # define LULZBOT_DIGIPOT_MOTOR_CURRENT      {175,175,200,135,135}  // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					    # define DIGIPOT_MOTOR_CURRENT_E            135,135   // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    false 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Oliveoil_SingleExtruder */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Angelfish_Aero)  
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_NAME              "Titan AERO" 
 
			
		
	
		
			
				
					//          16 chars max                        ^^^^^^^^^^^^^^^
  
			
		
	
		
			
				
					    // Prototype Aero for TAZ
 
 
			
		
	
		
			
				
					    # define LULZBOT_LCD_TOOLHEAD_NAME              "Titan AERO" 
 
			
		
	
		
			
				
					//          16 chars max                            ^^^^^^^^^^^^^^^
  
			
		
	
		
			
				
					    # define LULZBOT_BUILD_VARIANT              " LulzBot AERO" 
 
			
		
	
		
			
				
					    # define LULZBOT_DIGIPOT_MOTOR_CURRENT      {175,175,200,160,160}  // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					    # define DIGIPOT_MOTOR_CURRENT_E            160   // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    false 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Angelfish_Aero */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Kanyu_Flexystruder)  
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_VER               VERSION_STRING" Flexystruder" 
 
			
		
	
		
			
				
					    # define LULZBOT_ TOOLHEAD_NAME              "Flexystruder"
 
			
		
	
		
			
				
					//          16 chars max                         ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_ LCD_ TOOLHEAD_NAME              "Flexystruder"
 
			
		
	
		
			
				
					//          16 chars max                              ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_BUILD_VARIANT              " LulzBot Flexy" 
 
			
		
	
		
			
				
					    # define  LULZBOT_DIGIPOT_MOTOR_CURRENT      {175,175,200,67,135} 
 
			
		
	
		
			
				
					    # define  DIGIPOT_MOTOR_CURRENT_E            67  // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
  
 
			
		
	
		
			
				
					    # define LULZBOT_EXTRUDERS                  1 
 
			
		
	
		
			
				
					    # define LULZBOT_UUID                       "564bab1c-704c-4225-b329-ac1a093d2638" 
 
			
		
	
		
			
				
					    # undef  LULZBOT_X_MAX_ENDSTOP_INVERTING 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    true 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_POS                  288 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MIN_POS                  -27 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -331,15 +400,13 @@
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Opah_Moarstruder)  
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_VER               VERSION_STRING 
 
			
		
	
		
			
				
					    # define LULZBOT_ TOOLHEAD_NAME              "MOARstruder"
 
			
		
	
		
			
				
					//          16 chars max                         ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_ LCD_ TOOLHEAD_NAME              "MOARstruder"
 
			
		
	
		
			
				
					//          16 chars max                              ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_BUILD_VARIANT              " LulzBot MOAR" 
 
			
		
	
		
			
				
					    # undef  LULZBOT_DEFAULT_ACCELERATION 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ACCELERATION       250 
 
			
		
	
		
			
				
					    # define  LULZBOT_DIGIPOT_MOTOR_CURRENT      {175,175,200,135,135}  // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					    # define  DIGIPOT_MOTOR_CURRENT_E            135   // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					    # define LULZBOT_EXTRUDERS                  1 
 
			
		
	
		
			
				
					    # define LULZBOT_UUID                       "d651819d-4a79-4b73-bc5b-ae1fe1aab36b" 
 
			
		
	
		
			
				
					    # undef  LULZBOT_X_MAX_ENDSTOP_INVERTING 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    true 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_POS                  290 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MIN_POS                  -20 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -351,12 +418,10 @@
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Javelin_DualExtruder) || defined(TOOLHEAD_Longfin_FlexyDually) || defined(TOOLHEAD_Yellowfin_DualExtruder)  
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_VER               VERSION_STRING" Dual" 
 
			
		
	
		
			
				
					    # define LULZBOT_BUILD_VARIANT              " LulzBot Dual" 
 
			
		
	
		
			
				
					    # define LULZBOT_SWAP_FAN_PINS_6_AND_8 
 
			
		
	
		
			
				
					    # define  LULZBOT_DIGIPOT_MOTOR_CURRENT      {175,175,200,160,160}  // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					    # define LULZBOT_SWAP_FAN_PINS_6_AND_8       // For backwards compatibility
  
 
			
		
	
		
			
				
					    # 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" 
 
			
		
	
		
			
				
					    # undef  LULZBOT_X_MAX_ENDSTOP_INVERTING 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    true 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_POS                     288 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MIN_POS                     -22 
 
			
		
	
		
			
				
					    # define LULZBOT_Y_MAX_POS                     303 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -366,29 +431,31 @@
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Javelin_DualExtruder || TOOLHEAD_Longfin_FlexyDually || TOOLHEAD_Yellowfin_DualExtruder */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Javelin_DualExtruder)  
			
		
	
		
			
				
					    # define LULZBOT_ TOOLHEAD_NAME              "Dual Extruder 2"
 
			
		
	
		
			
				
					//          16 chars max                         ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_ LCD_ TOOLHEAD_NAME              "Dual Extruder 2"
 
			
		
	
		
			
				
					//          16 chars max                              ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # undef  LULZBOT_WIPE_Y2 
 
			
		
	
		
			
				
					    # define LULZBOT_WIPE_Y2                    73 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    true 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Javelin_DualExtruder */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Longfin_FlexyDually)  
			
		
	
		
			
				
					    # define LULZBOT_ TOOLHEAD_NAME              "FlexyDually v2"
 
			
		
	
		
			
				
					//          16 chars max                         ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # define LULZBOT_ LCD_ TOOLHEAD_NAME              "FlexyDually v2"
 
			
		
	
		
			
				
					//          16 chars max                              ^^^^^^^^^^^^^^^
 
			
		
	
		
			
				
					    # undef  LULZBOT_WIPE_Y2 
 
			
		
	
		
			
				
					    # define LULZBOT_WIPE_Y2                    73 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING    true 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Longfin_FlexyDually */  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(TOOLHEAD_Yellowfin_DualExtruder)  
			
		
	
		
			
				
					    # define LULZBOT_TOOLHEAD_NAME              "Dual Extruder 3" 
 
			
		
	
		
			
				
					//          16 chars max                        ^^^^^^^^^^^^^^^
  
			
		
	
		
			
				
					    // Prototype Dual v3 for TAZ.
 
 
			
		
	
		
			
				
					    # define LULZBOT_LCD_TOOLHEAD_NAME              "Dual Extruder 3" 
 
			
		
	
		
			
				
					//          16 chars max                            ^^^^^^^^^^^^^^^
  
			
		
	
		
			
				
					    # define LULZBOT_AFTER_Z_PROBE_CMD               "G92 Z15.5"  // Correction for raised homing button
 
 
			
		
	
		
			
				
					    # undef  LULZBOT_WIPE_X1 
 
			
		
	
		
			
				
					    # undef  LULZBOT_WIPE_X2 
 
			
		
	
		
			
				
					    # define LULZBOT_WIPE_X1                       -22 
 
			
		
	
		
			
				
					    # define LULZBOT_WIPE_X2                       -22 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING     false    // Yellowfin toolhead has a normally closed endstop
 
 
			
		
	
		
			
				
					    # undef  LULZBOT_Z_HOMING_HEIGHT 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_HOMING_HEIGHT                10 
 
			
		
	
		
			
				
					    # undef  LULZBOT_Z_SAFE_HOMING_X_POINT 
 
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -397,6 +464,7 @@
 
			
		
	
		
			
				
					    # define LULZBOT_Z_SAFE_HOMING_Y_POINT        (260)     // Y point for Z homing when homing all axis (G28)
 
 
			
		
	
		
			
				
					    # undef  LULZBOT_X_MAX_POS 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_POS                      290 
 
			
		
	
		
			
				
					    # define LULZBOT_X_MAX_ENDSTOP_INVERTING       false 
 
			
		
	
		
			
				
					    # define LULZBOT_AO_Hexagon 
 
			
		
	
		
			
				
					# endif  /* TOOLHEAD_Yellowfin_DualExtruder */  
			
		
	
		
			
				
					
 
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -430,75 +498,104 @@
 
			
		
	
		
			
				
					  # define LULZBOT_DEFAULT_bedKd                 382 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					//  Acceleration, feedrate and E-Steps 
 
			
		
	
		
			
				
					//  Nozzle wiping points (varies by toolhead, as the nozzle position varies) 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# ifdef defined(LULZBOT_Huerfano_TAZ_7)  
			
		
	
		
			
				
					    // Z-belt driven TAZ 7
 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_MAX_FEEDRATE          {800, 800, 600, 40}    // (mm/sec)
 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_MAX_ACCELERATION      {9000,9000,10,10000} 
 
			
		
	
		
			
				
					    # define LULZBOT_XY_STEPS                      100.5 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_STEPS                       1790.08264463 
 
			
		
	
		
			
				
					    # define LULZBOT_E_STEPS                       760 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ACCELERATION          500 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_TRAVEL_ACCELERATION   3000 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_XJERK                 8.0 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_YJERK                 8.0 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ZJERK                 0.4 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_EJERK                10.0 
 
			
		
	
		
			
				
					# 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}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MAX_POS                     290 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_POS                       0 
 
			
		
	
		
			
				
					// 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.
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_Gladiola_Mini)  
			
		
	
		
			
				
					# if defined(LULZBOT_IS_MINI)  
			
		
	
		
			
				
					    # define PWM_MOTOR_CURRENT_XY                  1300 
 
			
		
	
		
			
				
					    # define LULZBOT_XY_STEPS                      100.5 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_MAX_FEEDRATE          {800, 800, 8, 40}       // (mm/sec)
 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000} 
 
			
		
	
		
			
				
					    # define LULZBOT_XY_STEPS                      100.5 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_STEPS                       1600 
 
			
		
	
		
			
				
					    # define LULZBOT_E_STEPS                       833 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ACCELERATION          2000 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_TRAVEL_ACCELERATION   3000 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_XJERK                 12.0 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_YJERK                 12.0 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ZJERK                  0.4 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_EJERK                 10.0 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ACCELERATION          2000 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_TRAVEL_ACCELERATION   3000 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MAX_POS                      159 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_POS                       -2 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_Oliveoil_TAZ_6)  
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_MAX_FEEDRATE          {800, 800, 3, 40}       // (mm/sec)
 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000} 
 
			
		
	
		
			
				
					# elif defined(LULZBOT_IS_TAZ)  
			
		
	
		
			
				
					    # define DIGIPOT_MOTOR_CURRENT_XY              175 
 
			
		
	
		
			
				
					    # define LULZBOT_XY_STEPS                      100.5 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_STEPS                       1600 
 
			
		
	
		
			
				
					    # define LULZBOT_E_STEPS                       830 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ACCELERATION          500 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_TRAVEL_ACCELERATION   3000 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_XJERK                 8.0 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_YJERK                 8.0 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_ZJERK                 0.4 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_EJERK                10.0 
 
			
		
	
		
			
				
					    # if not defined(LULZBOT_DEFAULT_ACCELERATION) 
 
			
		
	
		
			
				
					        # define LULZBOT_DEFAULT_ACCELERATION      500 
 
			
		
	
		
			
				
					    # endif 
 
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_TRAVEL_ACCELERATION   3000 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_POS                       0 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if defined(LULZBOT_Gladiola_Mini)  
			
		
	
		
			
				
					    # define PWM_MOTOR_CURRENT_Z                   1630 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_STEPS                       1600 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_Huerfano_Mini)  
			
		
	
		
			
				
					    # define PWM_MOTOR_CURRENT_Z                   1000 
 
			
		
	
		
			
				
					    // Prototype Z-Belt Mini
 
 
			
		
	
		
			
				
					    # define Z_FULL_STEPS_PER_ROTATION             200 
 
			
		
	
		
			
				
					    # define Z_MICROSTEPS                          16 
 
			
		
	
		
			
				
					    # define Z_BELT_PITCH                          2 
 
			
		
	
		
			
				
					    # 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)) 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# 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 
 
			
		
	
		
			
				
					    # define LULZBOT_Z_MIN_POS                       0 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(LULZBOT_Huerfano_TAZ_7)  
			
		
	
		
			
				
					    # define DIGIPOT_MOTOR_CURRENT_Z               175 
 
			
		
	
		
			
				
					    // Prototype Z-belt driven TAZ 7
 
 
			
		
	
		
			
				
					    # 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  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					// default steps per unit for LulzBot TAZ
  
			
		
	
		
			
				
					# if defined(PWM_MOTOR_CURRENT_XY) && defined(PWM_MOTOR_CURRENT_Z) && defined(PWM_MOTOR_CURRENT_E)  
			
		
	
		
			
				
					    # define LULZBOT_PWM_MOTOR_CURRENT { \ 
 
			
		
	
		
			
				
					        PWM_MOTOR_CURRENT_XY ,  \
 
			
		
	
		
			
				
					        PWM_MOTOR_CURRENT_Z ,  \
 
			
		
	
		
			
				
					        PWM_MOTOR_CURRENT_E  \
 
			
		
	
		
			
				
					    }  // Values in milliamps
 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# elif defined(DIGIPOT_MOTOR_CURRENT_XY) && defined(DIGIPOT_MOTOR_CURRENT_Z) && defined(DIGIPOT_MOTOR_CURRENT_E)  
			
		
	
		
			
				
					    # define LULZBOT_DIGIPOT_MOTOR_CURRENT { \ 
 
			
		
	
		
			
				
					        DIGIPOT_MOTOR_CURRENT_XY ,  \
 
			
		
	
		
			
				
					        DIGIPOT_MOTOR_CURRENT_XY ,  \
 
			
		
	
		
			
				
					        DIGIPOT_MOTOR_CURRENT_Z ,  \
 
			
		
	
		
			
				
					        DIGIPOT_MOTOR_CURRENT_E  \
 
			
		
	
		
			
				
					    }  // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A)
 
 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# else  
			
		
	
		
			
				
					    # error Motor currents not defined 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if LULZBOT_EXTRUDERS == 1  
			
		
	
		
			
				
					// default steps per unit for LulzBot TAZ.
  
			
		
	
		
			
				
					// LULZBOT_ESTEPS_PER_EXTRUDER is required for the tuning of FlexyDually
  
			
		
	
		
			
				
					// but currently is not implemented in Marlin 1.1.4.
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# if LULZBOT_EXTRUDERS == 1 || not defined(LULZBOT_ESTEPS_PER_EXTRUDER)  
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_AXIS_STEPS_PER_UNIT   {LULZBOT_XY_STEPS,LULZBOT_XY_STEPS,LULZBOT_Z_STEPS,LULZBOT_E_STEPS} 
 
			
		
	
		
			
				
					# elif LULZBOT_EXTRUDERS == 2  
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_AXIS_STEPS_PER_UNIT   {LULZBOT_XY_STEPS,LULZBOT_XY_STEPS,LULZBOT_Z_STEPS,LULZBOT_E_STEPS,LULZBOT_E_STEPS} 
 
			
		
	
		
			
				
					# elif LULZBOT_EXTRUDERS == 3  
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_AXIS_STEPS_PER_UNIT   {LULZBOT_XY_STEPS,LULZBOT_XY_STEPS,LULZBOT_Z_STEPS,LULZBOT_E_STEPS,LULZBOT_E_STEPS,LULZBOT_E_STEPS} 
 
			
		
	
		
			
				
					# elif LULZBOT_EXTRUDERS == 4  
			
		
	
		
			
				
					    # define LULZBOT_DEFAULT_AXIS_STEPS_PER_UNIT   {LULZBOT_XY_STEPS,LULZBOT_XY_STEPS,LULZBOT_Z_STEPS,LULZBOT_E_STEPS,LULZBOT_E_STEPS,830,LULZBOT_E_STEPS} 
 
			
		
	
		
			
				
					# endif  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					// Nozzle wiping points
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# 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}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					// Gralco's customized Z Offset overlay (also requires dogm_bitmaps_Lulzbot.h)
  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					# define LULZBOT_ZOFFSET_OVERLAY(zprobe_zoffset) \  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -537,7 +634,7 @@
 
			
		
	
		
			
				
					        u8g . setFont ( u8g_font_6x13 ) ;  \
 
			
		
	
		
			
				
					        u8g . drawStr ( 61 , 17 , LULZBOT_CUSTOM_MACHINE_NAME ) ;  \
 
			
		
	
		
			
				
					        u8g . setFont ( u8g_font_04b_03 ) ;  \
 
			
		
	
		
			
				
					        u8g . drawStr ( 62 , 28 , LULZBOT_ TOOLHEAD_NAME) ;  \
 
			
		
	
		
			
				
					        u8g . drawStr ( 62 , 28 , LULZBOT_ LCD_ TOOLHEAD_NAME) ;  \
 
			
		
	
		
			
				
					        u8g . setFont ( u8g_font_5x8 ) ;  \
 
			
		
	
		
			
				
					        u8g . drawStr ( 63 , 41 , " LulzBot.com " ) ;  \
 
			
		
	
		
			
				
					        u8g . setFont ( u8g_font_5x8 ) ;  \