|
@ -2818,7 +2818,10 @@ void kill_screen(const char* lcd_msg) { |
|
|
manual_move_offset = 0.0; |
|
|
manual_move_offset = 0.0; |
|
|
manual_move_axis = (int8_t)NO_AXIS; |
|
|
manual_move_axis = (int8_t)NO_AXIS; |
|
|
|
|
|
|
|
|
// Set a blocking flag so no new moves can be added until all segments are done
|
|
|
// DELTA and SCARA machines use segmented moves, which could fill the planner during the call to
|
|
|
|
|
|
// move_to_destination. This will cause idle() to be called, which can then call this function while the
|
|
|
|
|
|
// previous invocation is being blocked. Modifications to manual_move_offset shouldn't be made while
|
|
|
|
|
|
// processing_manual_move is true or the planner will get out of sync.
|
|
|
processing_manual_move = true; |
|
|
processing_manual_move = true; |
|
|
prepare_move_to_destination(); // will call set_current_from_destination()
|
|
|
prepare_move_to_destination(); // will call set_current_from_destination()
|
|
|
processing_manual_move = false; |
|
|
processing_manual_move = false; |
|
@ -2930,11 +2933,11 @@ void kill_screen(const char* lcd_msg) { |
|
|
} |
|
|
} |
|
|
encoderPosition = 0; |
|
|
encoderPosition = 0; |
|
|
if (lcdDrawUpdate) { |
|
|
if (lcdDrawUpdate) { |
|
|
const float pos = current_position[axis] |
|
|
const float pos = (processing_manual_move ? destination[axis] : current_position[axis] |
|
|
#if IS_KINEMATIC |
|
|
#if IS_KINEMATIC |
|
|
+ manual_move_offset |
|
|
+ manual_move_offset |
|
|
#endif |
|
|
#endif |
|
|
; |
|
|
); |
|
|
lcd_implementation_drawedit(name, move_menu_scale >= 0.1 ? ftostr41sign(pos) : ftostr43sign(pos)); |
|
|
lcd_implementation_drawedit(name, move_menu_scale >= 0.1 ? ftostr41sign(pos) : ftostr43sign(pos)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|