|
@@ -2584,22 +2584,33 @@ void lcd_update() {
|
2584
|
2584
|
|
2585
|
2585
|
#if ENABLED(REPRAPWORLD_KEYPAD)
|
2586
|
2586
|
|
2587
|
|
- #if ENABLED(DELTA) || ENABLED(SCARA)
|
2588
|
|
- #define _KEYPAD_MOVE_ALLOWED (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS])
|
2589
|
|
- #else
|
2590
|
|
- #define _KEYPAD_MOVE_ALLOWED true
|
2591
|
|
- #endif
|
|
2587
|
+ static uint8_t keypad_debounce = 0;
|
2592
|
2588
|
|
2593
|
|
- if (REPRAPWORLD_KEYPAD_MOVE_HOME) reprapworld_keypad_move_home();
|
2594
|
|
- if (_KEYPAD_MOVE_ALLOWED) {
|
2595
|
|
- if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up();
|
2596
|
|
- if (REPRAPWORLD_KEYPAD_MOVE_Z_DOWN) reprapworld_keypad_move_z_down();
|
2597
|
|
- if (REPRAPWORLD_KEYPAD_MOVE_X_LEFT) reprapworld_keypad_move_x_left();
|
2598
|
|
- if (REPRAPWORLD_KEYPAD_MOVE_X_RIGHT) reprapworld_keypad_move_x_right();
|
2599
|
|
- if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN) reprapworld_keypad_move_y_down();
|
2600
|
|
- if (REPRAPWORLD_KEYPAD_MOVE_Y_UP) reprapworld_keypad_move_y_up();
|
|
2589
|
+ if (!REPRAPWORLD_KEYPAD_PRESSED) {
|
|
2590
|
+ if (keypad_debounce > 0) keypad_debounce--;
|
2601
|
2591
|
}
|
2602
|
|
- #endif
|
|
2592
|
+ else if (!keypad_debounce) {
|
|
2593
|
+ keypad_debounce = 2;
|
|
2594
|
+
|
|
2595
|
+ #if DISABLED(DELTA) && Z_HOME_DIR == -1
|
|
2596
|
+ if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up();
|
|
2597
|
+ #endif
|
|
2598
|
+
|
|
2599
|
+ if (axis_homed[X_AXIS] && axis_homed[Y_AXIS] && axis_homed[Z_AXIS]) {
|
|
2600
|
+ #if ENABLED(DELTA) || Z_HOME_DIR != -1
|
|
2601
|
+ if (REPRAPWORLD_KEYPAD_MOVE_Z_UP) reprapworld_keypad_move_z_up();
|
|
2602
|
+ #endif
|
|
2603
|
+ if (REPRAPWORLD_KEYPAD_MOVE_Z_DOWN) reprapworld_keypad_move_z_down();
|
|
2604
|
+ if (REPRAPWORLD_KEYPAD_MOVE_X_LEFT) reprapworld_keypad_move_x_left();
|
|
2605
|
+ if (REPRAPWORLD_KEYPAD_MOVE_X_RIGHT) reprapworld_keypad_move_x_right();
|
|
2606
|
+ if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN) reprapworld_keypad_move_y_down();
|
|
2607
|
+ if (REPRAPWORLD_KEYPAD_MOVE_Y_UP) reprapworld_keypad_move_y_up();
|
|
2608
|
+ }
|
|
2609
|
+ else {
|
|
2610
|
+ if (REPRAPWORLD_KEYPAD_MOVE_HOME) reprapworld_keypad_move_home();
|
|
2611
|
+ }
|
|
2612
|
+ }
|
|
2613
|
+ #endif // REPRAPWORLD_KEYPAD
|
2603
|
2614
|
|
2604
|
2615
|
bool encoderPastThreshold = (abs(encoderDiff) >= ENCODER_PULSES_PER_STEP);
|
2605
|
2616
|
if (encoderPastThreshold || LCD_CLICKED) {
|