Explorar el Código

Only clamp panel movements if software endstops are enabled

Guillaume Seguin hace 12 años
padre
commit
aa65c20d1f
Se han modificado 1 ficheros con 6 adiciones y 6 borrados
  1. 6
    6
      Marlin/ultralcd.cpp

+ 6
- 6
Marlin/ultralcd.cpp Ver fichero

357
     if (encoderPosition != 0)
357
     if (encoderPosition != 0)
358
     {
358
     {
359
         current_position[X_AXIS] += float((int)encoderPosition) * move_menu_scale;
359
         current_position[X_AXIS] += float((int)encoderPosition) * move_menu_scale;
360
-        if (current_position[X_AXIS] < X_MIN_POS)
360
+        if (min_software_endstops && current_position[X_AXIS] < X_MIN_POS)
361
             current_position[X_AXIS] = X_MIN_POS;
361
             current_position[X_AXIS] = X_MIN_POS;
362
-        if (current_position[X_AXIS] > X_MAX_POS)
362
+        if (max_software_endstops && current_position[X_AXIS] > X_MAX_POS)
363
             current_position[X_AXIS] = X_MAX_POS;
363
             current_position[X_AXIS] = X_MAX_POS;
364
         encoderPosition = 0;
364
         encoderPosition = 0;
365
         plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
365
         plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
381
     if (encoderPosition != 0)
381
     if (encoderPosition != 0)
382
     {
382
     {
383
         current_position[Y_AXIS] += float((int)encoderPosition) * move_menu_scale;
383
         current_position[Y_AXIS] += float((int)encoderPosition) * move_menu_scale;
384
-        if (current_position[Y_AXIS] < Y_MIN_POS)
384
+        if (min_software_endstops && current_position[Y_AXIS] < Y_MIN_POS)
385
             current_position[Y_AXIS] = Y_MIN_POS;
385
             current_position[Y_AXIS] = Y_MIN_POS;
386
-        if (current_position[Y_AXIS] > Y_MAX_POS)
386
+        if (max_software_endstops && current_position[Y_AXIS] > Y_MAX_POS)
387
             current_position[Y_AXIS] = Y_MAX_POS;
387
             current_position[Y_AXIS] = Y_MAX_POS;
388
         encoderPosition = 0;
388
         encoderPosition = 0;
389
         plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
389
         plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
405
     if (encoderPosition != 0)
405
     if (encoderPosition != 0)
406
     {
406
     {
407
         current_position[Z_AXIS] += float((int)encoderPosition) * move_menu_scale;
407
         current_position[Z_AXIS] += float((int)encoderPosition) * move_menu_scale;
408
-        if (current_position[Z_AXIS] < Z_MIN_POS)
408
+        if (min_software_endstops && current_position[Z_AXIS] < Z_MIN_POS)
409
             current_position[Z_AXIS] = Z_MIN_POS;
409
             current_position[Z_AXIS] = Z_MIN_POS;
410
-        if (current_position[Z_AXIS] > Z_MAX_POS)
410
+        if (max_software_endstops && current_position[Z_AXIS] > Z_MAX_POS)
411
             current_position[Z_AXIS] = Z_MAX_POS;
411
             current_position[Z_AXIS] = Z_MAX_POS;
412
         encoderPosition = 0;
412
         encoderPosition = 0;
413
         plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 60, active_extruder);
413
         plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 60, active_extruder);

Loading…
Cancelar
Guardar