浏览代码

Fix keypad-related compile error (#12306)

Ludy 6 年前
父节点
当前提交
5ba6607181

+ 1
- 1
Marlin/src/gcode/feature/trinamic/M906.cpp 查看文件

39
   bool report = true;
39
   bool report = true;
40
 
40
 
41
   #if AXIS_IS_TMC(X) || AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z) || AXIS_IS_TMC(Z2) || AXIS_IS_TMC(Z3)
41
   #if AXIS_IS_TMC(X) || AXIS_IS_TMC(X2) || AXIS_IS_TMC(Y) || AXIS_IS_TMC(Y2) || AXIS_IS_TMC(Z) || AXIS_IS_TMC(Z2) || AXIS_IS_TMC(Z3)
42
-    const uint8_t index = parser.byteval('I'); 
42
+    const uint8_t index = parser.byteval('I');
43
   #endif
43
   #endif
44
 
44
 
45
   LOOP_XYZE(i) if (uint16_t value = parser.intval(axis_codes[i])) {
45
   LOOP_XYZE(i) if (uint16_t value = parser.intval(axis_codes[i])) {

+ 1
- 1
Marlin/src/inc/Conditionals_LCD.h 查看文件

44
 
44
 
45
 #elif ENABLED(ZONESTAR_LCD)
45
 #elif ENABLED(ZONESTAR_LCD)
46
 
46
 
47
+  #define ADC_KEYPAD
47
   #define REPRAPWORLD_KEYPAD
48
   #define REPRAPWORLD_KEYPAD
48
   #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
49
   #define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0
49
-  #define ADC_KEYPAD
50
   #define ADC_KEY_NUM 8
50
   #define ADC_KEY_NUM 8
51
   #define ULTIPANEL
51
   #define ULTIPANEL
52
 
52
 

+ 30
- 92
Marlin/src/lcd/ultralcd.cpp 查看文件

224
   volatile uint8_t buttons_reprapworld_keypad;
224
   volatile uint8_t buttons_reprapworld_keypad;
225
 #endif
225
 #endif
226
 
226
 
227
-#if ENABLED(REPRAPWORLD_KEYPAD) || ENABLED(ADC_KEYPAD)
228
-  #define REPRAPWORLD_BTN_OFFSET         0 // bit offset into buttons for shift register values
229
-
230
-  #define BLEN_REPRAPWORLD_KEYPAD_F3     0
231
-  #define BLEN_REPRAPWORLD_KEYPAD_F2     1
232
-  #define BLEN_REPRAPWORLD_KEYPAD_F1     2
233
-
234
-  #define BLEN_REPRAPWORLD_KEYPAD_DOWN   3
235
-  #define BLEN_REPRAPWORLD_KEYPAD_RIGHT  4
236
-  #define BLEN_REPRAPWORLD_KEYPAD_MIDDLE 5
237
-  #define BLEN_REPRAPWORLD_KEYPAD_UP     6
238
-  #define BLEN_REPRAPWORLD_KEYPAD_LEFT   7
239
-  #define EN_REPRAPWORLD_KEYPAD_DOWN     (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_DOWN))
240
-  #define EN_REPRAPWORLD_KEYPAD_RIGHT    (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_RIGHT))
241
-  #define EN_REPRAPWORLD_KEYPAD_MIDDLE   (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_MIDDLE))
242
-  #define EN_REPRAPWORLD_KEYPAD_UP       (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_UP))
243
-  #define EN_REPRAPWORLD_KEYPAD_LEFT     (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_LEFT))
244
-  
245
-#endif // REPRAPWORLD_KEYPAD || ADC_KEYPAD
246
-
247
 #if ENABLED(ADC_KEYPAD)
227
 #if ENABLED(ADC_KEYPAD)
248
 
228
 
249
   inline bool handle_adc_keypad() {
229
   inline bool handle_adc_keypad() {
251
     if (buttons_reprapworld_keypad) {
231
     if (buttons_reprapworld_keypad) {
252
       lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
232
       lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
253
       if (encoderDirection == -1) { // side effect which signals we are inside a menu
233
       if (encoderDirection == -1) { // side effect which signals we are inside a menu
254
-        if      (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_DOWN)  encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
255
-        else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_UP)    encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
256
-        else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_LEFT)  { menu_action_back(); lcd_quick_feedback(true); }
257
-        else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_RIGHT) { lcd_return_to_status(); lcd_quick_feedback(true); }
234
+        if      (RRK(EN_REPRAPWORLD_KEYPAD_DOWN))   encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
235
+        else if (RRK(EN_REPRAPWORLD_KEYPAD_UP))     encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
236
+        else if (RRK(EN_REPRAPWORLD_KEYPAD_LEFT))   { menu_action_back();     lcd_quick_feedback(true); }
237
+        else if (RRK(EN_REPRAPWORLD_KEYPAD_RIGHT))  { lcd_return_to_status(); lcd_quick_feedback(true); }
258
       }
238
       }
259
-      else {
260
-        if (buttons_reprapworld_keypad & (EN_REPRAPWORLD_KEYPAD_DOWN|EN_REPRAPWORLD_KEYPAD_UP|EN_REPRAPWORLD_KEYPAD_RIGHT)) {
261
-               if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_DOWN)  encoderPosition += ENCODER_PULSES_PER_STEP;
262
-          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_UP)    encoderPosition -= ENCODER_PULSES_PER_STEP;
263
-          else if (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_RIGHT) encoderPosition = 0;
264
-        }
265
-      }
266
-      #if ENABLED(ADC_KEYPAD_DEBUG)
267
-        SERIAL_PROTOCOLLNPAIR("buttons_reprapworld_keypad = ", (uint32_t)buttons_reprapworld_keypad);
268
-        SERIAL_PROTOCOLLNPAIR("encoderPosition = ", (uint32_t)encoderPosition);
269
-      #endif
239
+      else if (RRK(EN_REPRAPWORLD_KEYPAD_DOWN))     encoderPosition += ENCODER_PULSES_PER_STEP;
240
+      else if (RRK(EN_REPRAPWORLD_KEYPAD_UP))       encoderPosition -= ENCODER_PULSES_PER_STEP;
241
+      else if (RRK(EN_REPRAPWORLD_KEYPAD_RIGHT))    encoderPosition = 0;
242
+
270
       next_button_update_ms = millis() + ADC_MIN_KEY_DELAY;
243
       next_button_update_ms = millis() + ADC_MIN_KEY_DELAY;
271
       return true;
244
       return true;
272
     }
245
     }
276
 
249
 
277
 #elif ENABLED(REPRAPWORLD_KEYPAD)
250
 #elif ENABLED(REPRAPWORLD_KEYPAD)
278
 
251
 
279
-  #define KEYPAD_HOME EN_REPRAPWORLD_KEYPAD_F1
280
-  #define KEYPAD_EN_C EN_REPRAPWORLD_KEYPAD_MIDDLE
281
-
282
-  #define EN_REPRAPWORLD_KEYPAD_F1        (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_F1))
283
-  #define EN_REPRAPWORLD_KEYPAD_F2        (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_F2))
284
-  #define EN_REPRAPWORLD_KEYPAD_F3        (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_F3))
285
-  
286
-  #define REPRAPWORLD_KEYPAD_MOVE_Z_UP    (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_F2)
287
-  #define REPRAPWORLD_KEYPAD_MOVE_Z_DOWN  (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_F3)
288
-  #define REPRAPWORLD_KEYPAD_MOVE_Y_DOWN  (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_DOWN)
289
-  #define REPRAPWORLD_KEYPAD_MOVE_X_RIGHT (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_RIGHT)
290
-  #define REPRAPWORLD_KEYPAD_MOVE_Y_UP    (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_UP)
291
-  #define REPRAPWORLD_KEYPAD_MOVE_X_LEFT  (buttons_reprapworld_keypad & EN_REPRAPWORLD_KEYPAD_LEFT)
292
-
293
-  #define REPRAPWORLD_KEYPAD_MOVE_HOME    (buttons_reprapworld_keypad & KEYPAD_HOME)
294
-  #define REPRAPWORLD_KEYPAD_MOVE_MENU    (buttons_reprapworld_keypad & KEYPAD_EN_C)
295
-
296
-  #define REPRAPWORLD_KEYPAD_PRESSED      (buttons_reprapworld_keypad & ( \
297
-                                            EN_REPRAPWORLD_KEYPAD_F1 | \
298
-                                            EN_REPRAPWORLD_KEYPAD_F2 | \
299
-                                            EN_REPRAPWORLD_KEYPAD_F3 | \
300
-                                            EN_REPRAPWORLD_KEYPAD_DOWN | \
301
-                                            EN_REPRAPWORLD_KEYPAD_RIGHT | \
302
-                                            EN_REPRAPWORLD_KEYPAD_MIDDLE | \
303
-                                            EN_REPRAPWORLD_KEYPAD_UP | \
304
-                                            EN_REPRAPWORLD_KEYPAD_LEFT) \
305
-                                          )
306
-
307
   void lcd_move_x();
252
   void lcd_move_x();
308
   void lcd_move_y();
253
   void lcd_move_y();
309
   void lcd_move_z();
254
   void lcd_move_z();
318
       default: break;
263
       default: break;
319
     }
264
     }
320
   }
265
   }
321
-  inline void reprapworld_keypad_move_z_up()    { _reprapworld_keypad_move(Z_AXIS,  1); }
322
-  inline void reprapworld_keypad_move_z_down()  { _reprapworld_keypad_move(Z_AXIS, -1); }
323
-  inline void reprapworld_keypad_move_x_left()  { _reprapworld_keypad_move(X_AXIS, -1); }
324
-  inline void reprapworld_keypad_move_x_right() { _reprapworld_keypad_move(X_AXIS,  1); }
325
-  inline void reprapworld_keypad_move_y_up()    { _reprapworld_keypad_move(Y_AXIS, -1); }
326
-  inline void reprapworld_keypad_move_y_down()  { _reprapworld_keypad_move(Y_AXIS,  1); }
327
-  inline void reprapworld_keypad_move_home()    { enqueue_and_echo_commands_P(PSTR("G28")); } // move all axes home and wait
328
-  inline void reprapworld_keypad_move_menu()    { lcd_goto_screen(menu_move); }
329
 
266
 
330
   inline void handle_reprapworld_keypad() {
267
   inline void handle_reprapworld_keypad() {
331
 
268
 
332
     static uint8_t keypad_debounce = 0;
269
     static uint8_t keypad_debounce = 0;
333
 
270
 
334
-    if (!REPRAPWORLD_KEYPAD_PRESSED) {
271
+    if (!RRK( EN_REPRAPWORLD_KEYPAD_F1    | EN_REPRAPWORLD_KEYPAD_F2
272
+            | EN_REPRAPWORLD_KEYPAD_F3    | EN_REPRAPWORLD_KEYPAD_DOWN
273
+            | EN_REPRAPWORLD_KEYPAD_RIGHT | EN_REPRAPWORLD_KEYPAD_MIDDLE
274
+            | EN_REPRAPWORLD_KEYPAD_UP    | EN_REPRAPWORLD_KEYPAD_LEFT )
275
+    ) {
335
       if (keypad_debounce > 0) keypad_debounce--;
276
       if (keypad_debounce > 0) keypad_debounce--;
336
     }
277
     }
337
     else if (!keypad_debounce) {
278
     else if (!keypad_debounce) {
338
       keypad_debounce = 2;
279
       keypad_debounce = 2;
339
 
280
 
340
-      if (REPRAPWORLD_KEYPAD_MOVE_MENU)       reprapworld_keypad_move_menu();
281
+      if (RRK(EN_REPRAPWORLD_KEYPAD_MIDDLE))  lcd_goto_screen(menu_move);
341
 
282
 
342
       #if DISABLED(DELTA) && Z_HOME_DIR == -1
283
       #if DISABLED(DELTA) && Z_HOME_DIR == -1
343
-        if (REPRAPWORLD_KEYPAD_MOVE_Z_UP)     reprapworld_keypad_move_z_up();
284
+        if (RRK(EN_REPRAPWORLD_KEYPAD_F2))    _reprapworld_keypad_move(Z_AXIS,  1);
344
       #endif
285
       #endif
345
 
286
 
346
       if (all_axes_homed()) {
287
       if (all_axes_homed()) {
347
         #if ENABLED(DELTA) || Z_HOME_DIR != -1
288
         #if ENABLED(DELTA) || Z_HOME_DIR != -1
348
-          if (REPRAPWORLD_KEYPAD_MOVE_Z_UP)   reprapworld_keypad_move_z_up();
289
+          if (RRK(EN_REPRAPWORLD_KEYPAD_F2))  _reprapworld_keypad_move(Z_AXIS,  1);
349
         #endif
290
         #endif
350
-        if (REPRAPWORLD_KEYPAD_MOVE_Z_DOWN)   reprapworld_keypad_move_z_down();
351
-        if (REPRAPWORLD_KEYPAD_MOVE_X_LEFT)   reprapworld_keypad_move_x_left();
352
-        if (REPRAPWORLD_KEYPAD_MOVE_X_RIGHT)  reprapworld_keypad_move_x_right();
353
-        if (REPRAPWORLD_KEYPAD_MOVE_Y_DOWN)   reprapworld_keypad_move_y_down();
354
-        if (REPRAPWORLD_KEYPAD_MOVE_Y_UP)     reprapworld_keypad_move_y_up();
291
+        if (RRK(EN_REPRAPWORLD_KEYPAD_F3))    _reprapworld_keypad_move(Z_AXIS, -1);
292
+        if (RRK(EN_REPRAPWORLD_KEYPAD_LEFT))  _reprapworld_keypad_move(X_AXIS, -1);
293
+        if (RRK(EN_REPRAPWORLD_KEYPAD_RIGHT)) _reprapworld_keypad_move(X_AXIS,  1);
294
+        if (RRK(EN_REPRAPWORLD_KEYPAD_DOWN))  _reprapworld_keypad_move(Y_AXIS,  1);
295
+        if (RRK(EN_REPRAPWORLD_KEYPAD_UP))    _reprapworld_keypad_move(Y_AXIS, -1);
355
       }
296
       }
356
-      else if (REPRAPWORLD_KEYPAD_MOVE_HOME)  reprapworld_keypad_move_home();
297
+      else if (RRK(EN_REPRAPWORLD_KEYPAD_F1)) enqueue_and_echo_commands_P(PSTR("G28"));
357
     }
298
     }
358
   }
299
   }
359
 
300
 
1038
 
979
 
1039
   static const _stADCKeypadTable_ stADCKeyTable[] PROGMEM = {
980
   static const _stADCKeypadTable_ stADCKeyTable[] PROGMEM = {
1040
     // VALUE_MIN, VALUE_MAX, KEY
981
     // VALUE_MIN, VALUE_MAX, KEY
1041
-    { 4000, 4096, BLEN_REPRAPWORLD_KEYPAD_F1 + 1 },     // F1
1042
-    { 4000, 4096, BLEN_REPRAPWORLD_KEYPAD_F2 + 1 },     // F2
1043
-    { 4000, 4096, BLEN_REPRAPWORLD_KEYPAD_F3 + 1 },     // F3
1044
-    {  300,  500, BLEN_REPRAPWORLD_KEYPAD_LEFT + 1 },   // LEFT
1045
-    { 1900, 2200, BLEN_REPRAPWORLD_KEYPAD_RIGHT + 1 },  // RIGHT
1046
-    {  570,  870, BLEN_REPRAPWORLD_KEYPAD_UP + 1 },     // UP
1047
-    { 2670, 2870, BLEN_REPRAPWORLD_KEYPAD_DOWN + 1 },   // DOWN
1048
-    { 1150, 1450, BLEN_REPRAPWORLD_KEYPAD_MIDDLE + 1 }, // ENTER
982
+    { 4000, 4096, 1 + BLEN_REPRAPWORLD_KEYPAD_F1     }, // F1
983
+    { 4000, 4096, 1 + BLEN_REPRAPWORLD_KEYPAD_F2     }, // F2
984
+    { 4000, 4096, 1 + BLEN_REPRAPWORLD_KEYPAD_F3     }, // F3
985
+    {  300,  500, 1 + BLEN_REPRAPWORLD_KEYPAD_LEFT   }, // LEFT
986
+    { 1900, 2200, 1 + BLEN_REPRAPWORLD_KEYPAD_RIGHT  }, // RIGHT
987
+    {  570,  870, 1 + BLEN_REPRAPWORLD_KEYPAD_UP     }, // UP
988
+    { 2670, 2870, 1 + BLEN_REPRAPWORLD_KEYPAD_DOWN   }, // DOWN
989
+    { 1150, 1450, 1 + BLEN_REPRAPWORLD_KEYPAD_MIDDLE }, // ENTER
1049
   };
990
   };
1050
 
991
 
1051
   uint8_t get_ADC_keyValue(void) {
992
   uint8_t get_ADC_keyValue(void) {
1052
     if (thermalManager.ADCKey_count >= 16) {
993
     if (thermalManager.ADCKey_count >= 16) {
1053
       const uint16_t currentkpADCValue = thermalManager.current_ADCKey_raw >> 2;
994
       const uint16_t currentkpADCValue = thermalManager.current_ADCKey_raw >> 2;
1054
-      #if ENABLED(ADC_KEYPAD_DEBUG)
1055
-        SERIAL_PROTOCOLLN(currentkpADCValue);
1056
-      #endif
1057
       thermalManager.current_ADCKey_raw = 0;
995
       thermalManager.current_ADCKey_raw = 0;
1058
       thermalManager.ADCKey_count = 0;
996
       thermalManager.ADCKey_count = 0;
1059
       if (currentkpADCValue < 4000)
997
       if (currentkpADCValue < 4000)

+ 33
- 6
Marlin/src/lcd/ultralcd.h 查看文件

408
 #endif
408
 #endif
409
 
409
 
410
 #if ENABLED(REPRAPWORLD_KEYPAD)
410
 #if ENABLED(REPRAPWORLD_KEYPAD)
411
+  #define REPRAPWORLD_BTN_OFFSET          0 // Bit offset into buttons for shift register values
412
+
413
+  #define BLEN_REPRAPWORLD_KEYPAD_F3      0
414
+  #define BLEN_REPRAPWORLD_KEYPAD_F2      1
415
+  #define BLEN_REPRAPWORLD_KEYPAD_F1      2
416
+  #define BLEN_REPRAPWORLD_KEYPAD_DOWN    3
417
+  #define BLEN_REPRAPWORLD_KEYPAD_RIGHT   4
418
+  #define BLEN_REPRAPWORLD_KEYPAD_MIDDLE  5
419
+  #define BLEN_REPRAPWORLD_KEYPAD_UP      6
420
+  #define BLEN_REPRAPWORLD_KEYPAD_LEFT    7
421
+
422
+  #define EN_REPRAPWORLD_KEYPAD_F1        (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_F1))
423
+  #define EN_REPRAPWORLD_KEYPAD_F2        (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_F2))
424
+  #define EN_REPRAPWORLD_KEYPAD_F3        (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_F3))
425
+  #define EN_REPRAPWORLD_KEYPAD_DOWN      (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_DOWN))
426
+  #define EN_REPRAPWORLD_KEYPAD_RIGHT     (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_RIGHT))
427
+  #define EN_REPRAPWORLD_KEYPAD_MIDDLE    (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_MIDDLE))
428
+  #define EN_REPRAPWORLD_KEYPAD_UP        (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_UP))
429
+  #define EN_REPRAPWORLD_KEYPAD_LEFT      (_BV(REPRAPWORLD_BTN_OFFSET + BLEN_REPRAPWORLD_KEYPAD_LEFT))
430
+
431
+  #define RRK(B) (buttons_reprapworld_keypad & (B))
432
+
411
   #ifdef EN_C
433
   #ifdef EN_C
412
-    #define LCD_CLICKED() ((buttons & EN_C) || REPRAPWORLD_KEYPAD_MOVE_MENU)
434
+    #define LCD_CLICKED() ((buttons & EN_C) || RRK(EN_REPRAPWORLD_KEYPAD_MIDDLE))
413
   #else
435
   #else
414
-    #define LCD_CLICKED() REPRAPWORLD_KEYPAD_MOVE_MENU
436
+    #define LCD_CLICKED() RRK(EN_REPRAPWORLD_KEYPAD_MIDDLE)
437
+  #endif
438
+
439
+#endif // REPRAPWORLD_KEYPAD
440
+
441
+#ifndef LCD_CLICKED
442
+  #ifdef EN_C
443
+    #define LCD_CLICKED() (buttons & EN_C)
444
+  #else
445
+    #define LCD_CLICKED() false
415
   #endif
446
   #endif
416
-#elif defined(EN_C)
417
-  #define LCD_CLICKED() (buttons & EN_C)
418
-#else
419
-  #define LCD_CLICKED() false
420
 #endif
447
 #endif
421
 
448
 
422
 extern uint8_t lcd_status_update_delay;
449
 extern uint8_t lcd_status_update_delay;

+ 1
- 0
Marlin/src/module/temperature.cpp 查看文件

1831
   static uint8_t pwm_count = _BV(SOFT_PWM_SCALE);
1831
   static uint8_t pwm_count = _BV(SOFT_PWM_SCALE);
1832
   // avoid multiple loads of pwm_count
1832
   // avoid multiple loads of pwm_count
1833
   uint8_t pwm_count_tmp = pwm_count;
1833
   uint8_t pwm_count_tmp = pwm_count;
1834
+
1834
   #if ENABLED(ADC_KEYPAD)
1835
   #if ENABLED(ADC_KEYPAD)
1835
     static unsigned int raw_ADCKey_value = 0;
1836
     static unsigned int raw_ADCKey_value = 0;
1836
   #endif
1837
   #endif

正在加载...
取消
保存