@ -13,7 +13,7 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 *  got  disabled . 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 */ 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# define LULZBOT_FW_VERSION ".4 0 " // Change this with each update
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# define LULZBOT_FW_VERSION ".4 1 " // Change this with each update
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# if ( \ 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ! defined ( LULZBOT_Gladiola_Mini )  & &  \
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -150,6 +150,9 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_SENSORLESS_HOMING 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_Z_BELT 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_SERIES_Z_MOTORS 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_32_MICROSTEPS_ON_Z 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_TMC_COOLSTEP 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_TMC_STEALTHCHOP 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_BAUDRATE 250000 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_PRINTCOUNTER 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_UUID "1b8d32d3-0596-4335-8cd4-f3741a095087" 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -168,6 +171,9 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_SENSORLESS_HOMING 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_Z_BELT 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_SERIES_Z_MOTORS 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_32_MICROSTEPS_ON_Z 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_TMC_COOLSTEP 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_USE_TMC_STEALTHCHOP 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_BAUDRATE 250000 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_PRINTCOUNTER 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_UUID "1b8d32d3-0596-4335-8cd4-f3741a095087" 
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1240,9 +1246,22 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_COOLSTEP_DISABLED 1024UL * 1024UL - 1UL 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # if defined(LULZBOT_USE_TMC_COOLSTEP) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # if defined(LULZBOT_USE_TMC_COOLSTEP)   && defined(LULZBOT_USE_TMC_STEALTHCHOP) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // If both using COOLSTEP and STEALTHCHOP, then set a transition velocity
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_COOLSTEP_MIN 200UL 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_STEALTHCHOP 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # elif defined(LULZBOT_USE_TMC_COOLSTEP) && !defined(LULZBOT_USE_TMC_STEALTHCHOP) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // Enable COOLSTEP for all velocities
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_COOLSTEP_MIN 1UL 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # elif !defined(LULZBOT_USE_TMC_COOLSTEP) && defined(LULZBOT_USE_TMC_STEALTHCHOP) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // Disable COOLSTEP for all velocities
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_COOLSTEP_MIN LULZBOT_COOLSTEP_DISABLED 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_STEALTHCHOP 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # else 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // Disable COOLSTEP for all velocities
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_COOLSTEP_MIN LULZBOT_COOLSTEP_DISABLED 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # endif 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1261,7 +1280,6 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        st . sg_min ( 1 ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        st . sg_max ( 10 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_TMC_REPORT(AXIS) \ 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        {  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            uint32_t  DRVSTATUS   =  stepper # # AXIS . DRV_STATUS ( ) ;  \
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1303,6 +1321,8 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  else  {  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                SERIAL_ECHOPGM ( "  stealth " ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            SERIAL_ECHOPGM ( "  tstep_avg: " ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            SERIAL_ECHO ( sum_tstep_ # # AXIS / num_sg ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if ( ! drv_enn )  SERIAL_ECHOPGM ( "  en " ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if ( stst )      SERIAL_ECHOPGM ( "  st " ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if ( olb )       SERIAL_ECHOPGM ( "  olb " ) ;  \
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1321,7 +1341,8 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					       stallguard  values  during  a  planner  move  */ 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_TMC_STALLGUARD_AVG_VARS \ 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        static  uint8_t    current_tail ,  tally_freq  =  10 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        static  uint32_t   sum_sg_X  =  0 ,  sum_sg_Y  =  0 ,  sum_sg_Z  =  0 ,  sum_sg_E0  =  0 ,  num_sg  =  0 ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        static  uint32_t   sum_sg_X  =  0 ,  sum_sg_Y  =  0 ,  sum_sg_Z  =  0 ,  sum_sg_E0  =  0 ,  num_sg  =  0 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        static  uint32_t   sum_tstep_X  =  0 ,  sum_tstep_Y  =  0 ,  sum_tstep_Z  =  0 ,  sum_tstep_E0  =  0 ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_TMC_STALLGUARD_AVG_FUNC \ 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ( - - tally_freq  = =  0 )  {  \
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1330,13 +1351,18 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                /* Reset accumulators at the start of each movement */  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                if ( current_tail  ! =  planner . block_buffer_tail )  {  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    current_tail  =  planner . block_buffer_tail ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    sum_sg_X  =  sum_sg_Y  =  sum_sg_Z  =  sum_sg_E0  =  num_sg  =  0 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    sum_sg_X  =  sum_sg_Y  =  sum_sg_Z  =  sum_sg_E0  =  0 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    sum_tstep_X  =  sum_tstep_Y  =  sum_tstep_Z  =  sum_tstep_E0  =  num_sg  =  0 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                /* While in motion, accumulate sg values */  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_X   + =  stepperX . DRV_STATUS ( )   &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_Y   + =  stepperY . DRV_STATUS ( )   &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_Z   + =  stepperZ . DRV_STATUS ( )   &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_E0  + =  stepperE0 . DRV_STATUS ( )  &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_tstep_X  + =  stepperX . TSTEP ( ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_tstep_Y  + =  stepperY . TSTEP ( ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_tstep_Z  + =  stepperZ . TSTEP ( ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_tstep_E0  + =  stepperE0 . TSTEP ( ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_X     + =  stepperX . DRV_STATUS ( )   &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_Y     + =  stepperY . DRV_STATUS ( )   &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_Z     + =  stepperZ . DRV_STATUS ( )   &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                sum_sg_E0    + =  stepperE0 . DRV_STATUS ( )  &  0 b111111111 ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                num_sg + + ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } 
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1401,8 +1427,9 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        stepperZ . hend ( LULZBOT_Z_HEND ) ;        /* HEND   = [0..15]  */  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        stepperZ . tbl ( LULZBOT_Z_TBL ) ;          /* TBL    = [0..3]   */  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        /* Set Z homing sensitivity */  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        stepperZ . sg_stall_value ( LULZBOT_Z_HOMING_SENSITIVITY ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        stepperZ . sg_stall_value ( LULZBOT_Z_HOMING_SENSITIVITY ) ;  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        /* Always disable STEALHCHOP on E0 */  \
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        LULZBOT_ENABLE_STALLGUARD ( stepperE0 ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_TMC2130_ADV { \ 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            LULZBOT_MOTOR_INIT_XY  \
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1465,8 +1492,6 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // stallguard is never cleared.
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    //#define LULZBOT_ENDSTOP_INTERRUPTS_FEATURE
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    //#define LULZBOT_STEALTHCHOP
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # undef LULZBOT_ENDSTOPS_ALWAYS_ON_DEFAULT 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    // According to Jason at UltiMachine, setting the lower the
 
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1625,8 +1650,13 @@
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_Z_MICROSTEPS                  16 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					# elif defined(LULZBOT_IS_MINI) && defined(LULZBOT_USE_Z_BELT) && !defined(LULZBOT_USE_Z_GEARBOX) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_Z_STEPS                       201 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_Z_MICROSTEPS                  32 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # if defined(LULZBOT_USE_32_MICROSTEPS_ON_Z) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_Z_STEPS                       201 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_Z_MICROSTEPS                  32 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # else 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_Z_STEPS                       100.5 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        # define LULZBOT_Z_MICROSTEPS                  16 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # endif 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_DEFAULT_MAX_FEEDRATE          {300, 300, 300, 40}       // (mm/sec)
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    # define LULZBOT_DEFAULT_MAX_ACCELERATION      {9000,9000,200,1000}