Implement soft_endstops_enabled for clamping
This commit is contained in:
parent
e4649c9044
commit
d01b915085
@ -8982,6 +8982,7 @@ void ok_to_send() {
|
|||||||
* Constrain the given coordinates to the software endstops.
|
* Constrain the given coordinates to the software endstops.
|
||||||
*/
|
*/
|
||||||
void clamp_to_software_endstops(float target[XYZ]) {
|
void clamp_to_software_endstops(float target[XYZ]) {
|
||||||
|
if (!soft_endstops_enabled) return;
|
||||||
#if ENABLED(min_software_endstops)
|
#if ENABLED(min_software_endstops)
|
||||||
NOLESS(target[X_AXIS], soft_endstop_min[X_AXIS]);
|
NOLESS(target[X_AXIS], soft_endstop_min[X_AXIS]);
|
||||||
NOLESS(target[Y_AXIS], soft_endstop_min[Y_AXIS]);
|
NOLESS(target[Y_AXIS], soft_endstop_min[Y_AXIS]);
|
||||||
|
@ -1596,9 +1596,20 @@ KeepDrawing:
|
|||||||
if (encoderPosition) {
|
if (encoderPosition) {
|
||||||
refresh_cmd_timeout();
|
refresh_cmd_timeout();
|
||||||
|
|
||||||
|
float min = current_position[axis] - 1000,
|
||||||
|
max = current_position[axis] + 1000;
|
||||||
|
|
||||||
|
#if HAS_SOFTWARE_ENDSTOPS
|
||||||
// Limit to software endstops, if enabled
|
// Limit to software endstops, if enabled
|
||||||
float min = (soft_endstops_enabled && min_software_endstops) ? soft_endstop_min[axis] : current_position[axis] - 1000,
|
if (soft_endstops_enabled) {
|
||||||
max = (soft_endstops_enabled && max_software_endstops) ? soft_endstop_max[axis] : current_position[axis] + 1000;
|
#if ENABLED(min_software_endstops)
|
||||||
|
min = soft_endstop_min[axis];
|
||||||
|
#endif
|
||||||
|
#if ENABLED(max_software_endstops)
|
||||||
|
max = soft_endstop_max[axis];
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Get the new position
|
// Get the new position
|
||||||
current_position[axis] += float((int32_t)encoderPosition) * move_menu_scale;
|
current_position[axis] += float((int32_t)encoderPosition) * move_menu_scale;
|
||||||
|
Loading…
Reference in New Issue
Block a user