@ -77,6 +77,7 @@ static void menu_action_setting_edit_callback_float52(const char* pstr, float* p
 
			
		
	
		
		
			
				
					
					static  void  menu_action_setting_edit_callback_long5 ( const  char *  pstr ,  unsigned  long *  ptr ,  unsigned  long  minValue ,  unsigned  long  maxValue ,  menuFunc_t  callbackFunc ) ; static  void  menu_action_setting_edit_callback_long5 ( const  char *  pstr ,  unsigned  long *  ptr ,  unsigned  long  minValue ,  unsigned  long  maxValue ,  menuFunc_t  callbackFunc ) ;  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					# define ENCODER_STEPS_PER_MENU_ITEM 5 # define ENCODER_STEPS_PER_MENU_ITEM 5  
			
		
	
		
		
			
				
					
					# define ENCODER_FEEDRATE_DEADZONE 10  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					/* Helper macros for menus */ /* Helper macros for menus */  
			
		
	
		
		
			
				
					
					# define START_MENU() do { \ # define START_MENU() do { \  
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -158,10 +159,34 @@ static void lcd_status_screen()
 
			
		
	
		
		
			
				
					
					    if  ( LCD_CLICKED ) 
    if  ( LCD_CLICKED ) 
 
			
		
	
		
		
			
				
					
					    { 
    { 
 
			
		
	
		
		
			
				
					
					        currentMenu  =  lcd_main_menu ; 
        currentMenu  =  lcd_main_menu ; 
 
			
		
	
		
		
			
				
					
							encoderPosition  =  0 ; 
 
			
		
	
		
		
			
				
					
					        lcd_quick_feedback ( ) ; 
        lcd_quick_feedback ( ) ; 
 
			
		
	
		
		
			
				
					
					    } 
    } 
 
			
		
	
		
		
			
				
					
					    feedmultiply  + =  int ( encoderPosition ) ; 
 
			
				
				
			
		
	
		
		
			
				
					
					    encoderPosition  =  0 ; 
	// Dead zone at 100% feedrate
 
 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
						if  ( feedmultiply  <  100  & &  ( feedmultiply  +  int ( encoderPosition ) )  >  100  | | 
 
			
		
	
		
		
			
				
					
								feedmultiply  >  100  & &  ( feedmultiply  +  int ( encoderPosition ) )  <  100 ) 
 
			
		
	
		
		
			
				
					
						{ 
 
			
		
	
		
		
			
				
					
							encoderPosition  =  0 ; 
 
			
		
	
		
		
			
				
					
							feedmultiply  =  100 ; 
 
			
		
	
		
		
			
				
					
						} 
 
			
		
	
		
		
			
				
					
						
 
			
		
	
		
		
			
				
					
						if  ( feedmultiply  = =  100  & &  int ( encoderPosition )  >  ENCODER_FEEDRATE_DEADZONE ) 
 
			
		
	
		
		
			
				
					
						{ 
 
			
		
	
		
		
			
				
					
							feedmultiply  + =  int ( encoderPosition )  -  ENCODER_FEEDRATE_DEADZONE ; 
 
			
		
	
		
		
			
				
					
							encoderPosition  =  0 ; 
 
			
		
	
		
		
			
				
					
						} 
 
			
		
	
		
		
			
				
					
						else  if  ( feedmultiply  = =  100  & &  int ( encoderPosition )  <  - ENCODER_FEEDRATE_DEADZONE ) 
 
			
		
	
		
		
			
				
					
						{ 
 
			
		
	
		
		
			
				
					
							feedmultiply  + =  int ( encoderPosition )  +  ENCODER_FEEDRATE_DEADZONE ; 
 
			
		
	
		
		
			
				
					
							encoderPosition  =  0 ; 	
 
			
		
	
		
		
			
				
					
						} 
 
			
		
	
		
		
			
				
					
						else  if  ( feedmultiply  ! =  100 ) 
 
			
		
	
		
		
			
				
					
						{ 
 
			
		
	
		
		
			
				
					
					    	feedmultiply  + =  int ( encoderPosition ) ; 
 
			
		
	
		
		
			
				
					
							encoderPosition  =  0 ; 
 
			
		
	
		
		
			
				
					
					    } 
 
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    if  ( feedmultiply  <  10 ) 
    if  ( feedmultiply  <  10 ) 
 
			
		
	
		
		
			
				
					
					        feedmultiply  =  10 ; 
        feedmultiply  =  10 ; 
 
			
		
	
		
		
			
				
					
					    if  ( feedmultiply  >  999 ) 
    if  ( feedmultiply  >  999 )