Browse Source

Implement soft_endstops_enabled for clamping

pull/1/head
Scott Lahteine 8 years ago
parent
commit
d01b915085
  1. 1
      Marlin/Marlin_main.cpp
  2. 15
      Marlin/ultralcd.cpp

1
Marlin/Marlin_main.cpp

@ -8982,6 +8982,7 @@ void ok_to_send() {
* Constrain the given coordinates to the software endstops.
*/
void clamp_to_software_endstops(float target[XYZ]) {
if (!soft_endstops_enabled) return;
#if ENABLED(min_software_endstops)
NOLESS(target[X_AXIS], soft_endstop_min[X_AXIS]);
NOLESS(target[Y_AXIS], soft_endstop_min[Y_AXIS]);

15
Marlin/ultralcd.cpp

@ -1596,9 +1596,20 @@ KeepDrawing:
if (encoderPosition) {
refresh_cmd_timeout();
float min = current_position[axis] - 1000,
max = current_position[axis] + 1000;
#if HAS_SOFTWARE_ENDSTOPS
// Limit to software endstops, if enabled
float min = (soft_endstops_enabled && min_software_endstops) ? soft_endstop_min[axis] : current_position[axis] - 1000,
max = (soft_endstops_enabled && max_software_endstops) ? soft_endstop_max[axis] : current_position[axis] + 1000;
if (soft_endstops_enabled) {
#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
current_position[axis] += float((int32_t)encoderPosition) * move_menu_scale;

Loading…
Cancel
Save