Browse Source

Reduce repetition in menu edit items

Scott Lahteine 6 years ago
parent
commit
3a935fd72b

+ 76
- 64
Marlin/src/lcd/menu/menu_advanced.cpp View File

83
       #if EXTRUDERS == 1
83
       #if EXTRUDERS == 1
84
         MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
84
         MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
85
       #elif EXTRUDERS > 1
85
       #elif EXTRUDERS > 1
86
-        MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E1, &planner.extruder_advance_K[0], 0, 999);
87
-        MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E2, &planner.extruder_advance_K[1], 0, 999);
86
+        #define EDIT_ADVANCE_K(N) MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E##N, &planner.extruder_advance_K[N-1], 0, 999)
87
+        EDIT_ADVANCE_K(1);
88
+        EDIT_ADVANCE_K(2);
88
         #if EXTRUDERS > 2
89
         #if EXTRUDERS > 2
89
-          MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E3, &planner.extruder_advance_K[2], 0, 999);
90
+          EDIT_ADVANCE_K(3);
90
           #if EXTRUDERS > 3
91
           #if EXTRUDERS > 3
91
-            MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E4, &planner.extruder_advance_K[3], 0, 999);
92
+            EDIT_ADVANCE_K(4);
92
             #if EXTRUDERS > 4
93
             #if EXTRUDERS > 4
93
-              MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E5, &planner.extruder_advance_K[4], 0, 999);
94
+              EDIT_ADVANCE_K(5);
94
               #if EXTRUDERS > 5
95
               #if EXTRUDERS > 5
95
-                MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E6, &planner.extruder_advance_K[5], 0, 999);
96
+                EDIT_ADVANCE_K(6);
96
               #endif // EXTRUDERS > 5
97
               #endif // EXTRUDERS > 5
97
             #endif // EXTRUDERS > 4
98
             #endif // EXTRUDERS > 4
98
           #endif // EXTRUDERS > 3
99
           #endif // EXTRUDERS > 3
107
         #if EXTRUDERS == 1
108
         #if EXTRUDERS == 1
108
           MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
109
           MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
109
         #else // EXTRUDERS > 1
110
         #else // EXTRUDERS > 1
111
+          #define EDIT_FIL_DIAM(N) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E##N, &planner.filament_size[N-1], 1.5f, 3.25f, planner.calculate_volumetric_multipliers)
110
           MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
112
           MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
111
-          MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E1, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
112
-          MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E2, &planner.filament_size[1], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
113
+          EDIT_FIL_DIAM(1);
114
+          EDIT_FIL_DIAM(2);
113
           #if EXTRUDERS > 2
115
           #if EXTRUDERS > 2
114
-            MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E3, &planner.filament_size[2], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
116
+            EDIT_FIL_DIAM(3);
115
             #if EXTRUDERS > 3
117
             #if EXTRUDERS > 3
116
-              MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E4, &planner.filament_size[3], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
118
+              EDIT_FIL_DIAM(4);
117
               #if EXTRUDERS > 4
119
               #if EXTRUDERS > 4
118
-                MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E5, &planner.filament_size[4], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
120
+                EDIT_FIL_DIAM(5);
119
                 #if EXTRUDERS > 5
121
                 #if EXTRUDERS > 5
120
-                  MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float43, MSG_FILAMENT_DIAM MSG_DIAM_E6, &planner.filament_size[5], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
122
+                  EDIT_FIL_DIAM(6);
121
                 #endif // EXTRUDERS > 5
123
                 #endif // EXTRUDERS > 5
122
               #endif // EXTRUDERS > 4
124
               #endif // EXTRUDERS > 4
123
             #endif // EXTRUDERS > 3
125
             #endif // EXTRUDERS > 3
138
       #if EXTRUDERS == 1
140
       #if EXTRUDERS == 1
139
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength);
141
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength);
140
       #else // EXTRUDERS > 1
142
       #else // EXTRUDERS > 1
143
+        #define EDIT_FIL_UNLOAD(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E##N, &fc_settings[N-1].unload_length, 0, extrude_maxlength)
141
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
144
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
142
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E1, &fc_settings[0].unload_length, 0, extrude_maxlength);
143
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E2, &fc_settings[1].unload_length, 0, extrude_maxlength);
145
+        EDIT_FIL_UNLOAD(1);
146
+        EDIT_FIL_UNLOAD(2);
144
         #if EXTRUDERS > 2
147
         #if EXTRUDERS > 2
145
-          MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E3, &fc_settings[2].unload_length, 0, extrude_maxlength);
148
+          EDIT_FIL_UNLOAD(3);
146
           #if EXTRUDERS > 3
149
           #if EXTRUDERS > 3
147
-            MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E4, &fc_settings[3].unload_length, 0, extrude_maxlength);
150
+            EDIT_FIL_UNLOAD(4);
148
             #if EXTRUDERS > 4
151
             #if EXTRUDERS > 4
149
-              MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E5, &fc_settings[4].unload_length, 0, extrude_maxlength);
152
+              EDIT_FIL_UNLOAD(5);
150
               #if EXTRUDERS > 5
153
               #if EXTRUDERS > 5
151
-                MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_UNLOAD MSG_DIAM_E6, &fc_settings[5].unload_length, 0, extrude_maxlength);
154
+                EDIT_FIL_UNLOAD(6);
152
               #endif // EXTRUDERS > 5
155
               #endif // EXTRUDERS > 5
153
             #endif // EXTRUDERS > 4
156
             #endif // EXTRUDERS > 4
154
           #endif // EXTRUDERS > 3
157
           #endif // EXTRUDERS > 3
158
       #if EXTRUDERS == 1
161
       #if EXTRUDERS == 1
159
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength);
162
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength);
160
       #else // EXTRUDERS > 1
163
       #else // EXTRUDERS > 1
164
+        #define EDIT_FIL_LOAD(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E##N, &fc_settings[N-1].load_length, 0, extrude_maxlength)
161
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
165
         MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
162
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E1, &fc_settings[0].load_length, 0, extrude_maxlength);
163
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E2, &fc_settings[1].load_length, 0, extrude_maxlength);
166
+        EDIT_FIL_LOAD(1);
167
+        EDIT_FIL_LOAD(2);
164
         #if EXTRUDERS > 2
168
         #if EXTRUDERS > 2
165
-          MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E3, &fc_settings[2].load_length, 0, extrude_maxlength);
169
+          EDIT_FIL_LOAD(3);
166
           #if EXTRUDERS > 3
170
           #if EXTRUDERS > 3
167
-            MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E4, &fc_settings[3].load_length, 0, extrude_maxlength);
171
+            EDIT_FIL_LOAD(4);
168
             #if EXTRUDERS > 4
172
             #if EXTRUDERS > 4
169
-              MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E5, &fc_settings[4].load_length, 0, extrude_maxlength);
173
+              EDIT_FIL_LOAD(5);
170
               #if EXTRUDERS > 5
174
               #if EXTRUDERS > 5
171
-                MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_FILAMENT_LOAD MSG_DIAM_E6, &fc_settings[5].load_length, 0, extrude_maxlength);
175
+                EDIT_FIL_LOAD(6);
172
               #endif // EXTRUDERS > 5
176
               #endif // EXTRUDERS > 5
173
             #endif // EXTRUDERS > 4
177
             #endif // EXTRUDERS > 4
174
           #endif // EXTRUDERS > 3
178
           #endif // EXTRUDERS > 3
388
     MENU_BACK(MSG_ADVANCED_SETTINGS);
392
     MENU_BACK(MSG_ADVANCED_SETTINGS);
389
 
393
 
390
     // M203 Max Feedrate
394
     // M203 Max Feedrate
391
-    MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.settings.max_feedrate_mm_s[A_AXIS], 1, 999);
392
-    MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_B, &planner.settings.max_feedrate_mm_s[B_AXIS], 1, 999);
393
-    MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_C, &planner.settings.max_feedrate_mm_s[C_AXIS], 1, 999);
395
+    #define EDIT_VMAX(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_A, &planner.settings.max_feedrate_mm_s[A_AXIS], 1, 999)
396
+    EDIT_VMAX(A);
397
+    EDIT_VMAX(B);
398
+    EDIT_VMAX(C);
394
 
399
 
395
     #if ENABLED(DISTINCT_E_FACTORS)
400
     #if ENABLED(DISTINCT_E_FACTORS)
396
-      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.settings.max_feedrate_mm_s[E_AXIS + active_extruder], 1, 999);
397
-      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E1, &planner.settings.max_feedrate_mm_s[E_AXIS], 1, 999);
398
-      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E2, &planner.settings.max_feedrate_mm_s[E_AXIS + 1], 1, 999);
401
+      #define EDIT_VMAX_E(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E##N, &planner.settings.max_feedrate_mm_s[E_AXIS_N(N-1)], 1, 999)
402
+      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E, &planner.settings.max_feedrate_mm_s[E_AXIS_N(active_extruder)], 1, 999);
403
+      EDIT_VMAX_E(1);
404
+      EDIT_VMAX_E(2);
399
       #if E_STEPPERS > 2
405
       #if E_STEPPERS > 2
400
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E3, &planner.settings.max_feedrate_mm_s[E_AXIS + 2], 1, 999);
406
+        EDIT_VMAX_E(3);
401
         #if E_STEPPERS > 3
407
         #if E_STEPPERS > 3
402
-          MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E4, &planner.settings.max_feedrate_mm_s[E_AXIS + 3], 1, 999);
408
+          EDIT_VMAX_E(4);
403
           #if E_STEPPERS > 4
409
           #if E_STEPPERS > 4
404
-            MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E5, &planner.settings.max_feedrate_mm_s[E_AXIS + 4], 1, 999);
410
+            EDIT_VMAX_E(5);
405
             #if E_STEPPERS > 5
411
             #if E_STEPPERS > 5
406
-              MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VMAX MSG_E6, &planner.settings.max_feedrate_mm_s[E_AXIS + 5], 1, 999);
412
+              EDIT_VMAX_E(6);
407
             #endif // E_STEPPERS > 5
413
             #endif // E_STEPPERS > 5
408
           #endif // E_STEPPERS > 4
414
           #endif // E_STEPPERS > 4
409
         #endif // E_STEPPERS > 3
415
         #endif // E_STEPPERS > 3
436
     MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.settings.travel_acceleration, 100, 99000);
442
     MENU_MULTIPLIER_ITEM_EDIT(float5, MSG_A_TRAVEL, &planner.settings.travel_acceleration, 100, 99000);
437
 
443
 
438
     // M201 settings
444
     // M201 settings
439
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_A, &planner.settings.max_acceleration_mm_per_s2[A_AXIS], 100, 99000, _reset_acceleration_rates);
440
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_B, &planner.settings.max_acceleration_mm_per_s2[B_AXIS], 100, 99000, _reset_acceleration_rates);
441
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_C, &planner.settings.max_acceleration_mm_per_s2[C_AXIS], 10, 99000, _reset_acceleration_rates);
445
+    #define EDIT_AMAX(Q,L) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_##Q, &planner.settings.max_acceleration_mm_per_s2[_AXIS(Q)], L, 99000, _reset_acceleration_rates)
446
+    EDIT_AMAX(A,100);
447
+    EDIT_AMAX(B,100);
448
+    EDIT_AMAX(C, 10);
442
 
449
 
443
     #if ENABLED(DISTINCT_E_FACTORS)
450
     #if ENABLED(DISTINCT_E_FACTORS)
444
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS + active_extruder], 100, 99000, _reset_acceleration_rates);
445
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E1, &planner.settings.max_acceleration_mm_per_s2[E_AXIS], 100, 99000, _reset_e0_acceleration_rate);
446
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E2, &planner.settings.max_acceleration_mm_per_s2[E_AXIS + 1], 100, 99000, _reset_e1_acceleration_rate);
451
+      #define EDIT_AMAX_E(N,E) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E##N, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(E)], 100, 99000, _reset_e##E##_acceleration_rate)
452
+      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(active_extruder)], 100, 99000, _reset_acceleration_rates);
453
+      EDIT_AMAX_E(1,0);
454
+      EDIT_AMAX_E(2,1);
447
       #if E_STEPPERS > 2
455
       #if E_STEPPERS > 2
448
-        MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E3, &planner.settings.max_acceleration_mm_per_s2[E_AXIS + 2], 100, 99000, _reset_e2_acceleration_rate);
456
+        EDIT_AMAX_E(3,2);
449
         #if E_STEPPERS > 3
457
         #if E_STEPPERS > 3
450
-          MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E4, &planner.settings.max_acceleration_mm_per_s2[E_AXIS + 3], 100, 99000, _reset_e3_acceleration_rate);
458
+          EDIT_AMAX_E(4,3);
451
           #if E_STEPPERS > 4
459
           #if E_STEPPERS > 4
452
-            MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E5, &planner.settings.max_acceleration_mm_per_s2[E_AXIS + 4], 100, 99000, _reset_e4_acceleration_rate);
460
+            EDIT_AMAX_E(5,4);
453
             #if E_STEPPERS > 5
461
             #if E_STEPPERS > 5
454
-              MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(long5, MSG_AMAX MSG_E6, &planner.settings.max_acceleration_mm_per_s2[E_AXIS + 5], 100, 99000, _reset_e5_acceleration_rate);
462
+              EDIT_AMAX_E(6,5);
455
             #endif // E_STEPPERS > 5
463
             #endif // E_STEPPERS > 5
456
           #endif // E_STEPPERS > 4
464
           #endif // E_STEPPERS > 4
457
         #endif // E_STEPPERS > 3
465
         #endif // E_STEPPERS > 3
476
       #endif
484
       #endif
477
     #endif
485
     #endif
478
     #if HAS_CLASSIC_JERK
486
     #if HAS_CLASSIC_JERK
479
-      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VA_JERK, &planner.max_jerk[A_AXIS], 1, 990);
480
-      MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VB_JERK, &planner.max_jerk[B_AXIS], 1, 990);
487
+      #define EDIT_JERK(N) MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_V##N##_JERK, &planner.max_jerk[_AXIS(N)], 1, 990)
488
+      EDIT_JERK(A);
489
+      EDIT_JERK(B);
481
       #if ENABLED(DELTA)
490
       #if ENABLED(DELTA)
482
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 1, 990);
491
+        EDIT_JERK(C);
483
       #else
492
       #else
484
         MENU_MULTIPLIER_ITEM_EDIT(float52sign, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1f, 990);
493
         MENU_MULTIPLIER_ITEM_EDIT(float52sign, MSG_VC_JERK, &planner.max_jerk[C_AXIS], 0.1f, 990);
485
       #endif
494
       #endif
486
       #if DISABLED(JUNCTION_DEVIATION) || DISABLED(LIN_ADVANCE)
495
       #if DISABLED(JUNCTION_DEVIATION) || DISABLED(LIN_ADVANCE)
487
-        MENU_MULTIPLIER_ITEM_EDIT(float3, MSG_VE_JERK, &planner.max_jerk[E_AXIS], 1, 990);
496
+        EDIT_JERK(E);
488
       #endif
497
       #endif
489
     #endif
498
     #endif
490
 
499
 
496
     START_MENU();
505
     START_MENU();
497
     MENU_BACK(MSG_ADVANCED_SETTINGS);
506
     MENU_BACK(MSG_ADVANCED_SETTINGS);
498
 
507
 
499
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ASTEPS, &planner.settings.axis_steps_per_mm[A_AXIS], 5, 9999, _planner_refresh_positioning);
500
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_BSTEPS, &planner.settings.axis_steps_per_mm[B_AXIS], 5, 9999, _planner_refresh_positioning);
501
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_CSTEPS, &planner.settings.axis_steps_per_mm[C_AXIS], 5, 9999, _planner_refresh_positioning);
508
+    #define EDIT_QSTEPS(Q) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_##Q##STEPS, &planner.settings.axis_steps_per_mm[_AXIS(Q)], 5, 9999, _planner_refresh_positioning)
509
+    EDIT_QSTEPS(A);
510
+    EDIT_QSTEPS(B);
511
+    EDIT_QSTEPS(C);
502
 
512
 
503
     #if ENABLED(DISTINCT_E_FACTORS)
513
     #if ENABLED(DISTINCT_E_FACTORS)
504
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ESTEPS, &planner.settings.axis_steps_per_mm[E_AXIS + active_extruder], 5, 9999, _planner_refresh_positioning);
505
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E1STEPS, &planner.settings.axis_steps_per_mm[E_AXIS], 5, 9999, _planner_refresh_e0_positioning);
506
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E2STEPS, &planner.settings.axis_steps_per_mm[E_AXIS + 1], 5, 9999, _planner_refresh_e1_positioning);
514
+      #define EDIT_ESTEPS(N,E) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E##N##STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(E)], 5, 9999, _planner_refresh_e##E##_positioning)
515
+      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_ESTEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(active_extruder)], 5, 9999, _planner_refresh_positioning);
516
+      EDIT_ESTEPS(1,0);
517
+      EDIT_ESTEPS(2,1);
507
       #if E_STEPPERS > 2
518
       #if E_STEPPERS > 2
508
-        MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E3STEPS, &planner.settings.axis_steps_per_mm[E_AXIS + 2], 5, 9999, _planner_refresh_e2_positioning);
519
+        EDIT_ESTEPS(3,2);
509
         #if E_STEPPERS > 3
520
         #if E_STEPPERS > 3
510
-          MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E4STEPS, &planner.settings.axis_steps_per_mm[E_AXIS + 3], 5, 9999, _planner_refresh_e3_positioning);
521
+          EDIT_ESTEPS(4,3);
511
           #if E_STEPPERS > 4
522
           #if E_STEPPERS > 4
512
-            MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E5STEPS, &planner.settings.axis_steps_per_mm[E_AXIS + 4], 5, 9999, _planner_refresh_e4_positioning);
523
+            EDIT_ESTEPS(5,4);
513
             #if E_STEPPERS > 5
524
             #if E_STEPPERS > 5
514
-              MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_E6STEPS, &planner.settings.axis_steps_per_mm[E_AXIS + 5], 5, 9999, _planner_refresh_e5_positioning);
525
+              EDIT_ESTEPS(6,5);
515
             #endif // E_STEPPERS > 5
526
             #endif // E_STEPPERS > 5
516
           #endif // E_STEPPERS > 4
527
           #endif // E_STEPPERS > 4
517
         #endif // E_STEPPERS > 3
528
         #endif // E_STEPPERS > 3
586
     #if EXTRUDERS == 1
597
     #if EXTRUDERS == 1
587
       MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
598
       MENU_ITEM_EDIT(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
588
     #elif EXTRUDERS > 1
599
     #elif EXTRUDERS > 1
589
-      MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E1, &planner.extruder_advance_K[0], 0, 999);
590
-      MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E2, &planner.extruder_advance_K[1], 0, 999);
600
+      #define EDIT_ADVANCE_K(N) MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E##N, &planner.extruder_advance_K[N-1], 0, 999)
601
+      EDIT_ADVANCE_K(1);
602
+      EDIT_ADVANCE_K(2);
591
       #if EXTRUDERS > 2
603
       #if EXTRUDERS > 2
592
-        MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E3, &planner.extruder_advance_K[2], 0, 999);
604
+        EDIT_ADVANCE_K(3);
593
         #if EXTRUDERS > 3
605
         #if EXTRUDERS > 3
594
-          MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E4, &planner.extruder_advance_K[3], 0, 999);
606
+          EDIT_ADVANCE_K(4);
595
           #if EXTRUDERS > 4
607
           #if EXTRUDERS > 4
596
-            MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E5, &planner.extruder_advance_K[4], 0, 999);
608
+            EDIT_ADVANCE_K(5);
597
             #if EXTRUDERS > 5
609
             #if EXTRUDERS > 5
598
-              MENU_ITEM_EDIT(float52, MSG_ADVANCE_K MSG_E6, &planner.extruder_advance_K[5], 0, 999);
610
+              EDIT_ADVANCE_K(6);
599
             #endif // EXTRUDERS > 5
611
             #endif // EXTRUDERS > 5
600
           #endif // EXTRUDERS > 4
612
           #endif // EXTRUDERS > 4
601
         #endif // EXTRUDERS > 3
613
         #endif // EXTRUDERS > 3

+ 9
- 7
Marlin/src/lcd/menu/menu_configuration.cpp View File

212
     dac_driver_getValues();
212
     dac_driver_getValues();
213
     START_MENU();
213
     START_MENU();
214
     MENU_BACK(MSG_CONTROL);
214
     MENU_BACK(MSG_CONTROL);
215
-    MENU_ITEM_EDIT_CALLBACK(int8, MSG_X " " MSG_DAC_PERCENT, &driverPercent[X_AXIS], 0, 100, dac_driver_commit);
216
-    MENU_ITEM_EDIT_CALLBACK(int8, MSG_Y " " MSG_DAC_PERCENT, &driverPercent[Y_AXIS], 0, 100, dac_driver_commit);
217
-    MENU_ITEM_EDIT_CALLBACK(int8, MSG_Z " " MSG_DAC_PERCENT, &driverPercent[Z_AXIS], 0, 100, dac_driver_commit);
218
-    MENU_ITEM_EDIT_CALLBACK(int8, MSG_E " " MSG_DAC_PERCENT, &driverPercent[E_AXIS], 0, 100, dac_driver_commit);
215
+    #define EDIT_DAC_PERCENT(N) MENU_ITEM_EDIT_CALLBACK(int8, MSG_##N " " MSG_DAC_PERCENT, &driverPercent[_AXIS(N)], 0, 100, dac_driver_commit)
216
+    EDIT_DAC_PERCENT(X);
217
+    EDIT_DAC_PERCENT(Y);
218
+    EDIT_DAC_PERCENT(Z);
219
+    EDIT_DAC_PERCENT(E);
219
     MENU_ITEM(function, MSG_DAC_EEPROM_WRITE, dac_commit_eeprom);
220
     MENU_ITEM(function, MSG_DAC_EEPROM_WRITE, dac_commit_eeprom);
220
     END_MENU();
221
     END_MENU();
221
   }
222
   }
229
   void menu_pwm() {
230
   void menu_pwm() {
230
     START_MENU();
231
     START_MENU();
231
     MENU_BACK(MSG_CONTROL);
232
     MENU_BACK(MSG_CONTROL);
233
+    #define EDIT_CURRENT_PWM(LABEL,I) MENU_ITEM_EDIT_CALLBACK(long5, LABEL, &stepper.motor_current_setting[I], 100, 2000, stepper.refresh_motor_power)
232
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
234
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
233
-      MENU_ITEM_EDIT_CALLBACK(long5, MSG_X MSG_Y, &stepper.motor_current_setting[0], 100, 2000, stepper.refresh_motor_power);
235
+      EDIT_CURRENT_PWM(MSG_X MSG_Y, 0);
234
     #endif
236
     #endif
235
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
237
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
236
-      MENU_ITEM_EDIT_CALLBACK(long5, MSG_Z, &stepper.motor_current_setting[1], 100, 2000, stepper.refresh_motor_power);
238
+      EDIT_CURRENT_PWM(MSG_Z, 1);
237
     #endif
239
     #endif
238
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
240
     #if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
239
-      MENU_ITEM_EDIT_CALLBACK(long5, MSG_E, &stepper.motor_current_setting[2], 100, 2000, stepper.refresh_motor_power);
241
+      EDIT_CURRENT_PWM(MSG_E, 2);
240
     #endif
242
     #endif
241
     END_MENU();
243
     END_MENU();
242
   }
244
   }

+ 8
- 6
Marlin/src/lcd/menu/menu_delta_calibrate.cpp View File

92
   START_MENU();
92
   START_MENU();
93
   MENU_BACK(MSG_DELTA_CALIBRATE);
93
   MENU_BACK(MSG_DELTA_CALIBRATE);
94
   MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10, delta_height + 10, _recalc_delta_settings);
94
   MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_HEIGHT, &delta_height, delta_height - 10, delta_height + 10, _recalc_delta_settings);
95
-  MENU_ITEM_EDIT_CALLBACK(float43, "Ex", &delta_endstop_adj[A_AXIS], -5, 5, _recalc_delta_settings);
96
-  MENU_ITEM_EDIT_CALLBACK(float43, "Ey", &delta_endstop_adj[B_AXIS], -5, 5, _recalc_delta_settings);
97
-  MENU_ITEM_EDIT_CALLBACK(float43, "Ez", &delta_endstop_adj[C_AXIS], -5, 5, _recalc_delta_settings);
95
+  #define EDIT_ENDSTOP_ADJ(LABEL,N) MENU_ITEM_EDIT_CALLBACK(float43, LABEL, &delta_endstop_adj[_AXIS(N)], -5, 5, _recalc_delta_settings)
96
+  EDIT_ENDSTOP_ADJ("Ex",A);
97
+  EDIT_ENDSTOP_ADJ("Ey",B);
98
+  EDIT_ENDSTOP_ADJ("Ez",C);
98
   MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5, delta_radius + 5, _recalc_delta_settings);
99
   MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_RADIUS, &delta_radius, delta_radius - 5, delta_radius + 5, _recalc_delta_settings);
99
-  MENU_ITEM_EDIT_CALLBACK(float43, "Tx", &delta_tower_angle_trim[A_AXIS], -5, 5, _recalc_delta_settings);
100
-  MENU_ITEM_EDIT_CALLBACK(float43, "Ty", &delta_tower_angle_trim[B_AXIS], -5, 5, _recalc_delta_settings);
101
-  MENU_ITEM_EDIT_CALLBACK(float43, "Tz", &delta_tower_angle_trim[C_AXIS], -5, 5, _recalc_delta_settings);
100
+  #define EDIT_ANGLE_TRIM(LABEL,N) MENU_ITEM_EDIT_CALLBACK(float43, LABEL, &delta_tower_angle_trim[_AXIS(N)], -5, 5, _recalc_delta_settings)
101
+  EDIT_ANGLE_TRIM("Tx",A);
102
+  EDIT_ANGLE_TRIM("Ty",B);
103
+  EDIT_ANGLE_TRIM("Tz",C);
102
   MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5, delta_diagonal_rod + 5, _recalc_delta_settings);
104
   MENU_ITEM_EDIT_CALLBACK(float52sign, MSG_DELTA_DIAG_ROD, &delta_diagonal_rod, delta_diagonal_rod - 5, delta_diagonal_rod + 5, _recalc_delta_settings);
103
   END_MENU();
105
   END_MENU();
104
 }
106
 }

+ 7
- 6
Marlin/src/lcd/menu/menu_temperature.cpp View File

310
   #if HOTENDS == 1
310
   #if HOTENDS == 1
311
     MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &thermalManager.target_temperature[0], 0, HEATER_0_MAXTEMP - 15, watch_temp_callback_E0);
311
     MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE, &thermalManager.target_temperature[0], 0, HEATER_0_MAXTEMP - 15, watch_temp_callback_E0);
312
   #else // HOTENDS > 1
312
   #else // HOTENDS > 1
313
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N1, &thermalManager.target_temperature[0], 0, HEATER_0_MAXTEMP - 15, watch_temp_callback_E0);
314
-    MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N2, &thermalManager.target_temperature[1], 0, HEATER_1_MAXTEMP - 15, watch_temp_callback_E1);
313
+    #define EDIT_TARGET(N,I) MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N##N, &thermalManager.target_temperature[I], 0, HEATER_##I##_MAXTEMP - 15, watch_temp_callback_E##I)
314
+    EDIT_TARGET(1,0);
315
+    EDIT_TARGET(2,1);
315
     #if HOTENDS > 2
316
     #if HOTENDS > 2
316
-      MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N3, &thermalManager.target_temperature[2], 0, HEATER_2_MAXTEMP - 15, watch_temp_callback_E2);
317
+      EDIT_TARGET(3,2);
317
       #if HOTENDS > 3
318
       #if HOTENDS > 3
318
-        MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N4, &thermalManager.target_temperature[3], 0, HEATER_3_MAXTEMP - 15, watch_temp_callback_E3);
319
+        EDIT_TARGET(4,3);
319
         #if HOTENDS > 4
320
         #if HOTENDS > 4
320
-          MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N5, &thermalManager.target_temperature[4], 0, HEATER_4_MAXTEMP - 15, watch_temp_callback_E4);
321
+          EDIT_TARGET(5,4);
321
           #if HOTENDS > 5
322
           #if HOTENDS > 5
322
-            MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(int3, MSG_NOZZLE MSG_N6, &thermalManager.target_temperature[5], 0, HEATER_5_MAXTEMP - 15, watch_temp_callback_E5);
323
+            EDIT_TARGET(6,5);
323
           #endif // HOTENDS > 5
324
           #endif // HOTENDS > 5
324
         #endif // HOTENDS > 4
325
         #endif // HOTENDS > 4
325
       #endif // HOTENDS > 3
326
       #endif // HOTENDS > 3

Loading…
Cancel
Save