Browse Source

Reduce Reprapworld Keypad move code size

Scott Lahteine 9 years ago
parent
commit
06ac1f3bcf
1 changed files with 15 additions and 33 deletions
  1. 15
    33
      Marlin/ultralcd.cpp

+ 15
- 33
Marlin/ultralcd.cpp View File

2310
    *
2310
    *
2311
    */
2311
    */
2312
   #if ENABLED(REPRAPWORLD_KEYPAD)
2312
   #if ENABLED(REPRAPWORLD_KEYPAD)
2313
-    static void reprapworld_keypad_move_z_up() {
2314
-      encoderPosition = 1;
2313
+    static void _reprapworld_keypad_move(AxisEnum axis, int dir) {
2315
       move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
2314
       move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
2316
-      lcd_move_z();
2317
-    }
2318
-    static void reprapworld_keypad_move_z_down() {
2319
-      encoderPosition = -1;
2320
-      move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
2321
-      lcd_move_z();
2322
-    }
2323
-    static void reprapworld_keypad_move_x_left() {
2324
-      encoderPosition = -1;
2325
-      move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
2326
-      lcd_move_x();
2327
-    }
2328
-    static void reprapworld_keypad_move_x_right() {
2329
-      encoderPosition = 1;
2330
-      move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
2331
-      lcd_move_x();
2332
-    }
2333
-    static void reprapworld_keypad_move_y_down() {
2334
-      encoderPosition = 1;
2335
-      move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
2336
-      lcd_move_y();
2337
-    }
2338
-    static void reprapworld_keypad_move_y_up() {
2339
-      encoderPosition = -1;
2340
-      move_menu_scale = REPRAPWORLD_KEYPAD_MOVE_STEP;
2341
-      lcd_move_y();
2342
-    }
2343
-    static void reprapworld_keypad_move_home() {
2344
-      enqueue_and_echo_commands_P(PSTR("G28")); // move all axes home
2315
+      encoderPosition = dir;
2316
+      switch (axis) {
2317
+        case X_AXIS: lcd_move_x(); break;
2318
+        case Y_AXIS: lcd_move_y(); break;
2319
+        case Z_AXIS: lcd_move_z();
2320
+      }
2345
     }
2321
     }
2322
+    static void reprapworld_keypad_move_z_up()    { _reprapworld_keypad_move(Z_AXIS,  1); }
2323
+    static void reprapworld_keypad_move_z_down()  { _reprapworld_keypad_move(Z_AXIS, -1); }
2324
+    static void reprapworld_keypad_move_x_left()  { _reprapworld_keypad_move(X_AXIS, -1); }
2325
+    static void reprapworld_keypad_move_x_right() { _reprapworld_keypad_move(X_AXIS,  1); }
2326
+    static void reprapworld_keypad_move_y_up()    { _reprapworld_keypad_move(Y_AXIS, -1); }
2327
+    static void reprapworld_keypad_move_y_down()  { _reprapworld_keypad_move(Y_AXIS,  1); }
2328
+    static void reprapworld_keypad_move_home()    { enqueue_and_echo_commands_P(PSTR("G28")); } // move all axes home and wait
2346
   #endif // REPRAPWORLD_KEYPAD
2329
   #endif // REPRAPWORLD_KEYPAD
2347
 
2330
 
2348
-
2349
   /**
2331
   /**
2350
    *
2332
    *
2351
    * Audio feedback for controller clicks
2333
    * Audio feedback for controller clicks
2657
         return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS;
2639
         return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS;
2658
         lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
2640
         lcdDrawUpdate = LCDVIEW_REDRAW_NOW;
2659
       }
2641
       }
2660
-    #endif //ULTIPANEL
2642
+    #endif // ULTIPANEL
2661
 
2643
 
2662
     // We arrive here every ~100ms when idling often enough.
2644
     // We arrive here every ~100ms when idling often enough.
2663
     // Instead of tracking the changes simply redraw the Info Screen ~1 time a second.
2645
     // Instead of tracking the changes simply redraw the Info Screen ~1 time a second.

Loading…
Cancel
Save