Przeglądaj źródła

Add menu item Tune > Advance K (#16488)

thisiskeithb 5 lat temu
rodzic
commit
5beca89412

+ 24
- 32
Marlin/src/lcd/menu/menu_advanced.cpp Wyświetl plik

@@ -114,9 +114,8 @@ void menu_cancelobject();
114 114
       #if EXTRUDERS == 1
115 115
         EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
116 116
       #elif EXTRUDERS > 1
117
-        #define EDIT_ADVANCE_K(N) EDIT_ITEM_N(float52, N, MSG_ADVANCE_K_E, &planner.extruder_advance_K[N], 0, 999)
118 117
         for (uint8_t n = 0; n < EXTRUDERS; n++)
119
-          EDIT_ADVANCE_K(n);
118
+          EDIT_ITEM_N(float52, n, MSG_ADVANCE_K_E, &planner.extruder_advance_K[n], 0, 999);
120 119
       #endif
121 120
     #endif
122 121
 
@@ -124,12 +123,10 @@ void menu_cancelobject();
124 123
       EDIT_ITEM(bool, MSG_VOLUMETRIC_ENABLED, &parser.volumetric_enabled, planner.calculate_volumetric_multipliers);
125 124
 
126 125
       if (parser.volumetric_enabled) {
127
-        #if EXTRUDERS == 1
128
-          EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
129
-        #elif EXTRUDERS > 1
130
-          #define EDIT_FIL_DIAM(N) EDIT_ITEM_FAST_N(float43, N, MSG_FILAMENT_DIAM_E, &planner.filament_size[N], 1.5f, 3.25f, planner.calculate_volumetric_multipliers)
131
-          EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
132
-          for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_DIAM(n);
126
+        EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
127
+        #if EXTRUDERS > 1
128
+          for (uint8_t n = 0; n < EXTRUDERS; n++)
129
+            EDIT_ITEM_FAST_N(float43, n, MSG_FILAMENT_DIAM_E, &planner.filament_size[n], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
133 130
         #endif
134 131
       }
135 132
     #endif
@@ -143,20 +140,16 @@ void menu_cancelobject();
143 140
         #endif
144 141
       ;
145 142
 
146
-      #if EXTRUDERS == 1
147
-        EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength);
148
-      #elif EXTRUDERS > 1
149
-        #define EDIT_FIL_UNLOAD(N) EDIT_ITEM_FAST_N(float3, N, MSG_FILAMENTUNLOAD_E, &fc_settings[N].unload_length, 0, extrude_maxlength)
150
-        EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
151
-        for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_UNLOAD(n);
143
+      EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
144
+      #if EXTRUDERS > 1
145
+        for (uint8_t n = 0; n < EXTRUDERS; n++)
146
+          EDIT_ITEM_FAST_N(float3, n, MSG_FILAMENTUNLOAD_E, &fc_settings[n].unload_length, 0, extrude_maxlength);
152 147
       #endif
153 148
 
154
-      #if EXTRUDERS == 1
155
-        EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength);
156
-      #elif EXTRUDERS > 1
157
-        #define EDIT_FIL_LOAD(N) EDIT_ITEM_FAST_N(float3, N, MSG_FILAMENTLOAD_E, &fc_settings[N].load_length, 0, extrude_maxlength)
158
-        EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
159
-        for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_LOAD(n);
149
+      EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
150
+      #if EXTRUDERS > 1
151
+        for (uint8_t n = 0; n < EXTRUDERS; n++)
152
+          EDIT_ITEM_FAST_N(float3, n, MSG_FILAMENTLOAD_E, &fc_settings[n].load_length, 0, extrude_maxlength);
160 153
       #endif
161 154
     #endif
162 155
 
@@ -385,12 +378,12 @@ void menu_cancelobject();
385 378
     EDIT_VMAX(B);
386 379
     EDIT_VMAX(C);
387 380
 
388
-    #if ENABLED(DISTINCT_E_FACTORS)
389
-      #define EDIT_VMAX_E(N) EDIT_ITEM_FAST_N(float3, N, MSG_VMAX_EN, &planner.settings.max_feedrate_mm_s[E_AXIS_N(N)], 1, max_fr_edit_scaled.e)
381
+    #if E_STEPPERS
390 382
       EDIT_ITEM_FAST(float3, MSG_VMAX_E, &planner.settings.max_feedrate_mm_s[E_AXIS_N(active_extruder)], 1, max_fr_edit_scaled.e);
391
-      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_VMAX_E(n);
392
-    #elif E_STEPPERS
393
-      EDIT_ITEM_FAST(float3, MSG_VMAX_E, &planner.settings.max_feedrate_mm_s[E_AXIS], 1, max_fr_edit_scaled.e);
383
+    #endif
384
+    #if ENABLED(DISTINCT_E_FACTORS)
385
+      for (uint8_t n = 0; n < E_STEPPERS; n++)
386
+        EDIT_ITEM_FAST_N(float3, n, MSG_VMAX_EN, &planner.settings.max_feedrate_mm_s[E_AXIS_N(n)], 1, max_fr_edit_scaled.e);
394 387
     #endif
395 388
 
396 389
     // M205 S Min Feedrate
@@ -434,15 +427,14 @@ void menu_cancelobject();
434 427
     #endif
435 428
 
436 429
     #define EDIT_AMAX(Q,L) EDIT_ITEM_FAST(long5_25, MSG_AMAX_##Q, &planner.settings.max_acceleration_mm_per_s2[_AXIS(Q)], L, max_accel_edit_scaled[_AXIS(Q)], []{ planner.reset_acceleration_rates(); })
437
-
438 430
     EDIT_AMAX(A,100);
439 431
     EDIT_AMAX(B,100);
440 432
     EDIT_AMAX(C, 10);
441 433
 
442 434
     #if ENABLED(DISTINCT_E_FACTORS)
443
-      #define EDIT_AMAX_E(N) EDIT_ITEM_FAST_N(long5_25, N, MSG_AMAX_EN, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(N)], 100, max_accel_edit_scaled.e, []{ _reset_e_acceleration_rate(MenuItemBase::itemIndex); })
444 435
       EDIT_ITEM_FAST(long5_25, MSG_AMAX_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(active_extruder)], 100, max_accel_edit_scaled.e, []{ planner.reset_acceleration_rates(); });
445
-      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_AMAX_E(n);
436
+      for (uint8_t n = 0; n < E_STEPPERS; n++)
437
+        EDIT_ITEM_FAST_N(long5_25, n, MSG_AMAX_EN, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(n)], 100, max_accel_edit_scaled.e, []{ _reset_e_acceleration_rate(MenuItemBase::itemIndex); });
446 438
     #elif E_STEPPERS
447 439
       EDIT_ITEM_FAST(long5_25, MSG_AMAX_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS], 100, max_accel_edit_scaled.e, []{ planner.reset_acceleration_rates(); });
448 440
     #endif
@@ -499,9 +491,9 @@ void menu_cancelobject();
499 491
     EDIT_QSTEPS(C);
500 492
 
501 493
     #if ENABLED(DISTINCT_E_FACTORS)
502
-      #define EDIT_ESTEPS(N) EDIT_ITEM_FAST_N(float51, N, MSG_EN_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(N)], 5, 9999, []{ _planner_refresh_e_positioning(MenuItemBase::itemIndex); })
503 494
       EDIT_ITEM_FAST(float51, MSG_E_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(active_extruder)], 5, 9999, []{ planner.refresh_positioning(); });
504
-      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_ESTEPS(n);
495
+      for (uint8_t n = 0; n < E_STEPPERS; n++)
496
+        EDIT_ITEM_FAST_N(float51, n, MSG_EN_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(n)], 5, 9999, []{ _planner_refresh_e_positioning(MenuItemBase::itemIndex); });
505 497
     #elif E_STEPPERS
506 498
       EDIT_ITEM_FAST(float51, MSG_E_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS], 5, 9999, []{ planner.refresh_positioning(); });
507 499
     #endif
@@ -571,8 +563,8 @@ void menu_advanced_settings() {
571 563
     #if EXTRUDERS == 1
572 564
       EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
573 565
     #elif EXTRUDERS > 1
574
-      #define EDIT_ADVANCE_K(N) EDIT_ITEM_N(float52, N, MSG_ADVANCE_K_E, &planner.extruder_advance_K[N], 0, 999)
575
-      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_ADVANCE_K(n);
566
+      for (uint8_t n = 0; n < E_STEPPERS; n++)
567
+        EDIT_ITEM_N(float52, n, MSG_ADVANCE_K_E, &planner.extruder_advance_K[n], 0, 999);
576 568
     #endif
577 569
   #endif
578 570
 

+ 2
- 2
Marlin/src/lcd/menu/menu_temperature.cpp Wyświetl plik

@@ -172,8 +172,8 @@ void menu_temperature() {
172 172
   #if HOTENDS == 1
173 173
     EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(0); });
174 174
   #elif HOTENDS > 1
175
-    #define EDIT_TARGET(N) EDIT_ITEM_FAST_N(int3, N, MSG_NOZZLE_N, &thermalManager.temp_hotend[N].target, 0, heater_maxtemp[N] - 15, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); })
176
-    HOTEND_LOOP() EDIT_TARGET(e);
175
+    HOTEND_LOOP()
176
+      EDIT_ITEM_FAST_N(int3, e, MSG_NOZZLE_N, &thermalManager.temp_hotend[e].target, 0, heater_maxtemp[e] - 15, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); });
177 177
   #endif
178 178
 
179 179
   #if ENABLED(SINGLENOZZLE)

+ 20
- 8
Marlin/src/lcd/menu/menu_tune.cpp Wyświetl plik

@@ -128,8 +128,8 @@ void menu_tune() {
128 128
   #if HOTENDS == 1
129 129
     EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(0); });
130 130
   #elif HOTENDS > 1
131
-    #define EDIT_NOZZLE(N) EDIT_ITEM_FAST_N(int3, N, MSG_NOZZLE_N, &thermalManager.temp_hotend[N].target, 0, heater_maxtemp[N] - 15, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); })
132
-    HOTEND_LOOP() EDIT_NOZZLE(e);
131
+    HOTEND_LOOP()
132
+      EDIT_ITEM_FAST_N(int3, e, MSG_NOZZLE_N, &thermalManager.temp_hotend[e].target, 0, heater_maxtemp[e] - 15, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); });
133 133
   #endif
134 134
 
135 135
   #if ENABLED(SINGLENOZZLE)
@@ -178,14 +178,26 @@ void menu_tune() {
178 178
 
179 179
   //
180 180
   // Flow:
181
-  // Flow [1-5]:
182 181
   //
183
-  #if EXTRUDERS == 1
184
-    EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[0], 10, 999, []{ planner.refresh_e_factor(0); });
185
-  #elif EXTRUDERS
182
+  #if EXTRUDERS
186 183
     EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[active_extruder], 10, 999, []{ planner.refresh_e_factor(active_extruder); });
187
-    #define EDIT_FLOW(N) EDIT_ITEM_N(int3, N, MSG_FLOW_N, &planner.flow_percentage[N], 10, 999, []{ planner.refresh_e_factor(MenuItemBase::itemIndex); })
188
-    for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FLOW(n);
184
+    // Flow En:
185
+    #if EXTRUDERS > 1
186
+      for (uint8_t n = 0; n < EXTRUDERS; n++)
187
+        EDIT_ITEM_N(int3, n, MSG_FLOW_N, &planner.flow_percentage[n], 10, 999, []{ planner.refresh_e_factor(MenuItemBase::itemIndex); });
188
+    #endif
189
+  #endif
190
+
191
+  //
192
+  // Advance K:
193
+  //
194
+  #if ENABLED(LIN_ADVANCE) && DISABLED(SLIM_LCD_MENUS)
195
+    #if EXTRUDERS == 1
196
+      EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
197
+    #elif EXTRUDERS > 1
198
+      for (uint8_t n = 0; n < EXTRUDERS; n++)
199
+        EDIT_ITEM_N(float52, n, MSG_ADVANCE_K_E, &planner.extruder_advance_K[n], 0, 999);
200
+    #endif
189 201
   #endif
190 202
 
191 203
   //

Ładowanie…
Anuluj
Zapisz