Browse Source

Merge pull request #8178 from thinkyhead/bf2_config_tweak

[2.0.x] Faster menu navigation for Anet A8
Scott Lahteine 7 years ago
parent
commit
84b93d941f
No account linked to committer's email address
1 changed files with 9 additions and 11 deletions
  1. 9
    11
      Marlin/src/lcd/ultralcd.cpp

+ 9
- 11
Marlin/src/lcd/ultralcd.cpp View File

4329
   #if ENABLED(ADC_KEYPAD)
4329
   #if ENABLED(ADC_KEYPAD)
4330
 
4330
 
4331
     inline bool handle_adc_keypad() {
4331
     inline bool handle_adc_keypad() {
4332
-      static uint8_t adc_steps = 0;
4332
+      #define ADC_MIN_KEY_DELAY 100
4333
       if (buttons_reprapworld_keypad) {
4333
       if (buttons_reprapworld_keypad) {
4334
-        if (adc_steps < 20) ++adc_steps;
4335
-        lcd_quick_feedback();
4336
         lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
4334
         lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
4337
         if (encoderDirection == -1) { // side effect which signals we are inside a menu
4335
         if (encoderDirection == -1) { // side effect which signals we are inside a menu
4338
           if      (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_DOWN)  encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
4336
           if      (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_DOWN)  encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
4339
           else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_UP)    encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
4337
           else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_UP)    encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
4340
-          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_LEFT)  menu_action_back();
4341
-          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_RIGHT) lcd_return_to_status();
4338
+          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_LEFT)  { menu_action_back(); lcd_quick_feedback(); }
4339
+          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_RIGHT) { lcd_return_to_status(); lcd_quick_feedback(); }
4342
         }
4340
         }
4343
         else {
4341
         else {
4344
-          const int8_t step = adc_steps > 19 ? 100 : adc_steps > 10 ? 10 : 1;
4345
-               if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_DOWN)  encoderPosition += ENCODER_PULSES_PER_STEP * step;
4346
-          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_UP)    encoderPosition -= ENCODER_PULSES_PER_STEP * step;
4347
-          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_RIGHT) encoderPosition = 0;
4342
+          if (buttons_reprapworld_keypad & (EN_REPRAPWORLD_KEYPAD_DOWN|EN_REPRAPWORLD_KEYPAD_UP|EN_REPRAPWORLD_KEYPAD_RIGHT)) {
4343
+                 if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_DOWN)  encoderPosition += ENCODER_PULSES_PER_STEP;
4344
+            else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_UP)    encoderPosition -= ENCODER_PULSES_PER_STEP;
4345
+            else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_RIGHT) encoderPosition = 0;
4346
+          }
4348
         }
4347
         }
4349
         #if ENABLED(ADC_KEYPAD_DEBUG)
4348
         #if ENABLED(ADC_KEYPAD_DEBUG)
4350
           SERIAL_PROTOCOLLNPAIR("buttons_reprapworld_keypad = ", (uint32_t)buttons_reprapworld_keypad);
4349
           SERIAL_PROTOCOLLNPAIR("buttons_reprapworld_keypad = ", (uint32_t)buttons_reprapworld_keypad);
4351
           SERIAL_PROTOCOLLNPAIR("encoderPosition = ", (uint32_t)encoderPosition);
4350
           SERIAL_PROTOCOLLNPAIR("encoderPosition = ", (uint32_t)encoderPosition);
4352
         #endif
4351
         #endif
4352
+        next_button_update_ms = millis() + ADC_MIN_KEY_DELAY;
4353
         return true;
4353
         return true;
4354
       }
4354
       }
4355
-      else if (!thermalManager.current_ADCKey_raw)
4356
-        adc_steps = 0; // reset stepping acceleration
4357
 
4355
 
4358
       return false;
4356
       return false;
4359
     }
4357
     }

Loading…
Cancel
Save