浏览代码

Disallow REPRAPWORLD_KEYPAD moves on Delta/SCARA until homed

Scott Lahteine 9 年前
父节点
当前提交
5fc6daba2b
共有 1 个文件被更改,包括 17 次插入8 次删除
  1. 17
    8
      Marlin/ultralcd.cpp

+ 17
- 8
Marlin/ultralcd.cpp 查看文件

1842
     lcd_move_y();
1842
     lcd_move_y();
1843
   }
1843
   }
1844
   static void reprapworld_keypad_move_home() {
1844
   static void reprapworld_keypad_move_home() {
1845
-    enqueue_and_echo_commands_P((PSTR("G28"))); // move all axis home
1845
+    enqueue_and_echo_commands_P(PSTR("G28")); // move all axes home
1846
   }
1846
   }
1847
 #endif // REPRAPWORLD_KEYPAD
1847
 #endif // REPRAPWORLD_KEYPAD
1848
 
1848
 
2091
     #if ENABLED(ULTIPANEL)
2091
     #if ENABLED(ULTIPANEL)
2092
 
2092
 
2093
       #if ENABLED(REPRAPWORLD_KEYPAD)
2093
       #if ENABLED(REPRAPWORLD_KEYPAD)
2094
-        if (REPRAPWORLD_KEYPAD_MOVE_Z_UP)     reprapworld_keypad_move_z_up();
2095
-        if (REPRAPWORLD_KEYPAD_MOVE_Z_DOWN)   reprapworld_keypad_move_z_down();
2096
-        if (REPRAPWORLD_KEYPAD_MOVE_X_LEFT)   reprapworld_keypad_move_x_left();
2097
-        if (REPRAPWORLD_KEYPAD_MOVE_X_RIGHT)  reprapworld_keypad_move_x_right();
2098
-        if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN)   reprapworld_keypad_move_y_down();
2099
-        if (REPRAPWORLD_KEYPAD_MOVE_Y_UP)     reprapworld_keypad_move_y_up();
2100
-        if (REPRAPWORLD_KEYPAD_MOVE_HOME)     reprapworld_keypad_move_home();
2094
+
2095
+        #if ENABLED(DELTA) || ENABLED(SCARA)
2096
+          #define _KEYPAD_MOVE_ALLOWED (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
2097
+        #else
2098
+          #define _KEYPAD_MOVE_ALLOWED true
2099
+        #endif
2100
+
2101
+        if (REPRAPWORLD_KEYPAD_MOVE_HOME)       reprapworld_keypad_move_home();
2102
+        if (_KEYPAD_MOVE_ALLOWED) {
2103
+          if (REPRAPWORLD_KEYPAD_MOVE_Z_UP)     reprapworld_keypad_move_z_up();
2104
+          if (REPRAPWORLD_KEYPAD_MOVE_Z_DOWN)   reprapworld_keypad_move_z_down();
2105
+          if (REPRAPWORLD_KEYPAD_MOVE_X_LEFT)   reprapworld_keypad_move_x_left();
2106
+          if (REPRAPWORLD_KEYPAD_MOVE_X_RIGHT)  reprapworld_keypad_move_x_right();
2107
+          if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN)   reprapworld_keypad_move_y_down();
2108
+          if (REPRAPWORLD_KEYPAD_MOVE_Y_UP)     reprapworld_keypad_move_y_up();
2109
+        }
2101
       #endif
2110
       #endif
2102
 
2111
 
2103
       bool encoderPastThreshold = (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP);
2112
       bool encoderPastThreshold = (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP);

正在加载...
取消
保存