Patch MBL feedback and event handling
This commit is contained in:
		
							parent
							
								
									ef2fbaec98
								
							
						
					
					
						commit
						3fbf67e5ce
					
				| @ -342,10 +342,10 @@ inline void lcd_save_previous_menu() { | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| static void lcd_goto_previous_menu() { | ||||
| static void lcd_goto_previous_menu(bool feedback=false) { | ||||
|   if (menu_history_depth > 0) { | ||||
|     --menu_history_depth; | ||||
|     lcd_goto_menu(menu_history[menu_history_depth].menu_function, true | ||||
|     lcd_goto_menu(menu_history[menu_history_depth].menu_function, feedback | ||||
|       #if ENABLED(ULTIPANEL) | ||||
|         , menu_history[menu_history_depth].encoder_position | ||||
|       #endif | ||||
| @ -928,24 +928,23 @@ void lcd_cooldown() { | ||||
|         mbl.set_z(ix, iy, current_position[Z_AXIS]); | ||||
|         _lcd_level_bed_position++; | ||||
|         if (_lcd_level_bed_position == (MESH_NUM_X_POINTS) * (MESH_NUM_Y_POINTS)) { | ||||
|           current_position[Z_AXIS] = MESH_HOME_SEARCH_Z; | ||||
|           mbl_wait_for_move = true; | ||||
|           line_to_current(Z_AXIS); | ||||
|           st_synchronize(); | ||||
|           mbl.active = 1; | ||||
|           enqueue_and_echo_commands_P(PSTR("G28")); | ||||
|           mbl_wait_for_move = false; | ||||
|           lcd_return_to_status(); | ||||
|           #if ENABLED(NEWPANEL) | ||||
|             lcd_quick_feedback(); | ||||
|           #endif | ||||
|           LCD_ALERTMESSAGEPGM(MSG_LEVEL_BED_DONE); | ||||
|           #if HAS_BUZZER | ||||
|             buzz(200, 659); | ||||
|             buzz(200, 698); | ||||
|           #endif | ||||
|           current_position[Z_AXIS] = MESH_HOME_SEARCH_Z; | ||||
|           line_to_current(Z_AXIS); | ||||
|           st_synchronize(); | ||||
|           mbl.active = 1; | ||||
|           enqueue_and_echo_commands_P(PSTR("G28")); | ||||
|         } | ||||
|         else { | ||||
|           #if ENABLED(NEWPANEL) | ||||
|             lcd_quick_feedback(); | ||||
|           #endif | ||||
|           mbl_wait_for_move = true; | ||||
|           current_position[Z_AXIS] = MESH_HOME_SEARCH_Z; | ||||
|           line_to_current(Z_AXIS); | ||||
|           ix = _lcd_level_bed_position % (MESH_NUM_X_POINTS); | ||||
| @ -954,6 +953,9 @@ void lcd_cooldown() { | ||||
|           current_position[X_AXIS] = mbl.get_x(ix); | ||||
|           current_position[Y_AXIS] = mbl.get_y(iy); | ||||
|           line_to_current(manual_feedrate[X_AXIS] <= manual_feedrate[Y_AXIS] ? X_AXIS : Y_AXIS); | ||||
|           st_synchronize(); | ||||
|           mbl_wait_for_move = false; | ||||
|           encoderPosition = 0; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
| @ -972,7 +974,7 @@ void lcd_cooldown() { | ||||
|       current_position[Y_AXIS] = MESH_MIN_Y; | ||||
|       line_to_current(manual_feedrate[X_AXIS] <= manual_feedrate[Y_AXIS] ? X_AXIS : Y_AXIS); | ||||
|       _lcd_level_bed_position = 0; | ||||
|       lcd_goto_menu(_lcd_level_bed_procedure, true); | ||||
|       lcd_goto_menu(_lcd_level_bed_procedure); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
| @ -994,7 +996,7 @@ void lcd_cooldown() { | ||||
|     axis_known_position[X_AXIS] = axis_known_position[Y_AXIS] = axis_known_position[Z_AXIS] = false; | ||||
|     mbl.reset(); | ||||
|     enqueue_and_echo_commands_P(PSTR("G28")); | ||||
|     lcd_goto_menu(_lcd_level_bed_homing, true); | ||||
|     lcd_goto_menu(_lcd_level_bed_homing); | ||||
|   } | ||||
| 
 | ||||
|   /**
 | ||||
| @ -1759,7 +1761,7 @@ static void lcd_control_volumetric_menu() { | ||||
|       lcd_implementation_drawedit(editLabel, _strFunc(((_type)((int32_t)encoderPosition + minEditValue)) / scale)); \ | ||||
|     if (isClicked) { \ | ||||
|       *((_type*)editValue) = ((_type)((int32_t)encoderPosition + minEditValue)) / scale; \ | ||||
|       lcd_goto_previous_menu(); \ | ||||
|       lcd_goto_previous_menu(true); \ | ||||
|     } \ | ||||
|     return isClicked; \ | ||||
|   } \ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user