Add G7
gcode command to move between UBL mesh points
- can be augmented in the future to enable for other leveling systems Quite simple, but did not want to modify `G1` as the additional checking would slow it down. Tested & working.
This commit is contained in:
parent
43c24f0027
commit
13599a73c7
1 changed files with 38 additions and 0 deletions
|
@ -3395,6 +3395,34 @@ inline void gcode_G4() {
|
||||||
|
|
||||||
#endif // BEZIER_CURVE_SUPPORT
|
#endif // BEZIER_CURVE_SUPPORT
|
||||||
|
|
||||||
|
#if ENABLED(AUTO_BED_LEVELING_UBL) //todo: enable for other leveling systems?
|
||||||
|
/**
|
||||||
|
* G7: Move X & Y axes to mesh coordinates
|
||||||
|
*/
|
||||||
|
inline void gcode_G7(
|
||||||
|
#if IS_SCARA
|
||||||
|
bool fast_move=false
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
|
if (IsRunning()) {
|
||||||
|
destination[X_AXIS] = code_seen('I') ? pgm_read_float(&ubl.mesh_index_to_xpos[code_has_value() ? code_value_int() : 0]) : current_position[X_AXIS];
|
||||||
|
destination[Y_AXIS] = code_seen('J') ? pgm_read_float(&ubl.mesh_index_to_ypos[code_has_value() ? code_value_int() : 0]) : current_position[Y_AXIS];
|
||||||
|
destination[Z_AXIS] = current_position[Z_AXIS]; //todo: perhaps add Z-move support?
|
||||||
|
destination[E_AXIS] = current_position[E_AXIS];
|
||||||
|
|
||||||
|
if (code_seen('F') && code_value_linear_units() > 0.0)
|
||||||
|
feedrate_mm_s = MMM_TO_MMS(code_value_linear_units());
|
||||||
|
|
||||||
|
#if IS_SCARA
|
||||||
|
fast_move ? prepare_uninterpolated_move_to_destination() : prepare_move_to_destination();
|
||||||
|
#else
|
||||||
|
prepare_move_to_destination();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if ENABLED(FWRETRACT)
|
#if ENABLED(FWRETRACT)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9982,6 +10010,16 @@ void process_next_command() {
|
||||||
break;
|
break;
|
||||||
#endif // BEZIER_CURVE_SUPPORT
|
#endif // BEZIER_CURVE_SUPPORT
|
||||||
|
|
||||||
|
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
|
case 7:
|
||||||
|
#if IS_SCARA
|
||||||
|
gcode_G7(codenum == 0);
|
||||||
|
#else
|
||||||
|
gcode_G7();
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENABLED(FWRETRACT)
|
#if ENABLED(FWRETRACT)
|
||||||
case 10: // G10: retract
|
case 10: // G10: retract
|
||||||
case 11: // G11: retract_recover
|
case 11: // G11: retract_recover
|
||||||
|
|
Reference in a new issue