Przeglądaj źródła

Fix Tune/Fan edit items

- Fixes #19617
- Followup to #18400
Scott Lahteine 3 lat temu
rodzic
commit
d4b6542ce1

+ 2
- 2
Marlin/src/lcd/language/language_en.h Wyświetl plik

@@ -657,8 +657,8 @@ namespace Language_en {
657 657
 
658 658
 #if FAN_COUNT == 1
659 659
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
660
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
660
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
661 661
 #else
662 662
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
663
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
663
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
664 664
 #endif

+ 2
- 2
Marlin/src/lcd/language/language_hu.h Wyświetl plik

@@ -623,8 +623,8 @@ namespace Language_hu {
623 623
 
624 624
 #if FAN_COUNT == 1
625 625
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
626
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
626
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
627 627
 #else
628 628
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
629
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
629
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
630 630
 #endif

+ 2
- 2
Marlin/src/lcd/language/language_ro.h Wyświetl plik

@@ -631,8 +631,8 @@ namespace Language_ro {
631 631
 
632 632
 #if FAN_COUNT == 1
633 633
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
634
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
634
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
635 635
 #else
636 636
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
637
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
637
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
638 638
 #endif

+ 2
- 2
Marlin/src/lcd/language/language_ru.h Wyświetl plik

@@ -767,8 +767,8 @@ namespace Language_ru {
767 767
 
768 768
 #if FAN_COUNT == 1
769 769
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
770
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
770
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
771 771
 #else
772 772
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
773
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
773
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
774 774
 #endif

+ 2
- 2
Marlin/src/lcd/language/language_tr.h Wyświetl plik

@@ -590,8 +590,8 @@ namespace Language_tr {
590 590
 
591 591
 #if FAN_COUNT == 1
592 592
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
593
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
593
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
594 594
 #else
595 595
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
596
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
596
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
597 597
 #endif

+ 2
- 2
Marlin/src/lcd/language/language_uk.h Wyświetl plik

@@ -762,8 +762,8 @@ namespace Language_uk {
762 762
 
763 763
 #if FAN_COUNT == 1
764 764
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
765
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
765
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
766 766
 #else
767 767
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
768
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
768
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
769 769
 #endif

+ 2
- 2
Marlin/src/lcd/language/language_zh_CN.h Wyświetl plik

@@ -630,8 +630,8 @@ namespace Language_zh_CN {
630 630
 
631 631
 #if FAN_COUNT == 1
632 632
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
633
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
633
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
634 634
 #else
635 635
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
636
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
636
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
637 637
 #endif

+ 2
- 2
Marlin/src/lcd/language/language_zh_TW.h Wyświetl plik

@@ -501,8 +501,8 @@ namespace Language_zh_TW {
501 501
 
502 502
 #if FAN_COUNT == 1
503 503
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
504
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
504
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
505 505
 #else
506 506
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
507
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
507
+  #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
508 508
 #endif

+ 28
- 0
Marlin/src/lcd/menu/menu_item.h Wyświetl plik

@@ -452,3 +452,31 @@ class MenuItem_bool : public MenuEditItemBase {
452 452
 #if ENABLED(LEVEL_BED_CORNERS)
453 453
   void _lcd_level_bed_corners();
454 454
 #endif
455
+
456
+#if HAS_FAN
457
+
458
+  #include "../../module/temperature.h"
459
+
460
+  inline void on_fan_update() {
461
+    thermalManager.set_fan_speed(MenuItemBase::itemIndex, editable.uint8);
462
+  }
463
+
464
+  #if ENABLED(EXTRA_FAN_SPEED)
465
+    #define EDIT_EXTRA_FAN_SPEED(V...) EDIT_ITEM_FAST_N(V)
466
+  #else
467
+    #define EDIT_EXTRA_FAN_SPEED(...)
468
+  #endif
469
+
470
+  #define _FAN_EDIT_ITEMS(F,L) do{ \
471
+    editable.uint8 = thermalManager.fan_speed[F]; \
472
+    EDIT_ITEM_FAST_N(percent, F, MSG_##L, &editable.uint8, 0, 255, on_fan_update); \
473
+    EDIT_EXTRA_FAN_SPEED(percent, F, MSG_EXTRA_##L, &thermalManager.new_fan_speed[F], 3, 255); \
474
+  }while(0)
475
+
476
+  #if FAN_COUNT > 1
477
+    #define FAN_EDIT_ITEMS(F) _FAN_EDIT_ITEMS(F,FAN_SPEED_N)
478
+  #endif
479
+
480
+  #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N)
481
+
482
+#endif // HAS_FAN

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

@@ -191,25 +191,6 @@ void menu_temperature() {
191 191
   //
192 192
   #if HAS_FAN
193 193
 
194
-    auto on_fan_update = []{
195
-      thermalManager.set_fan_speed(MenuItemBase::itemIndex, editable.uint8);
196
-    };
197
-
198
-    #if ENABLED(EXTRA_FAN_SPEED)
199
-      #define EDIT_EXTRA_FAN_SPEED(V...) EDIT_ITEM_FAST_N(V)
200
-    #else
201
-      #define EDIT_EXTRA_FAN_SPEED(...)
202
-    #endif
203
-
204
-    #if FAN_COUNT > 1
205
-      #define FAN_EDIT_ITEMS(F) do{ \
206
-        editable.uint8 = thermalManager.fan_speed[F]; \
207
-        EDIT_ITEM_FAST_N(percent, F, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update); \
208
-        EDIT_EXTRA_FAN_SPEED(percent, F, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[F], 3, 255); \
209
-      }while(0)
210
-    #endif
211
-
212
-    #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N)
213 194
     #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7)
214 195
       auto singlenozzle_item = [&](const uint8_t f) {
215 196
         editable.uint8 = singlenozzle_fan_speed[f];
@@ -218,11 +199,7 @@ void menu_temperature() {
218 199
     #endif
219 200
 
220 201
     #if HAS_FAN0
221
-      editable.uint8 = thermalManager.fan_speed[0];
222
-      EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update);
223
-      #if ENABLED(EXTRA_FAN_SPEED)
224
-        EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
225
-      #endif
202
+      _FAN_EDIT_ITEMS(0,FIRST_FAN_SPEED);
226 203
     #endif
227 204
     #if HAS_FAN1
228 205
       FAN_EDIT_ITEMS(1);
@@ -232,32 +209,32 @@ void menu_temperature() {
232 209
     #if HAS_FAN2
233 210
       FAN_EDIT_ITEMS(2);
234 211
     #elif SNFAN(2)
235
-      singlenozzle_item(1);
212
+      singlenozzle_item(2);
236 213
     #endif
237 214
     #if HAS_FAN3
238 215
       FAN_EDIT_ITEMS(3);
239 216
     #elif SNFAN(3)
240
-      singlenozzle_item(1);
217
+      singlenozzle_item(3);
241 218
     #endif
242 219
     #if HAS_FAN4
243 220
       FAN_EDIT_ITEMS(4);
244 221
     #elif SNFAN(4)
245
-      singlenozzle_item(1);
222
+      singlenozzle_item(4);
246 223
     #endif
247 224
     #if HAS_FAN5
248 225
       FAN_EDIT_ITEMS(5);
249 226
     #elif SNFAN(5)
250
-      singlenozzle_item(1);
227
+      singlenozzle_item(5);
251 228
     #endif
252 229
     #if HAS_FAN6
253 230
       FAN_EDIT_ITEMS(6);
254 231
     #elif SNFAN(6)
255
-      singlenozzle_item(1);
232
+      singlenozzle_item(6);
256 233
     #endif
257 234
     #if HAS_FAN7
258 235
       FAN_EDIT_ITEMS(7);
259 236
     #elif SNFAN(7)
260
-      singlenozzle_item(1);
237
+      singlenozzle_item(7);
261 238
     #endif
262 239
 
263 240
   #endif // HAS_FAN

+ 14
- 33
Marlin/src/lcd/menu/menu_tune.cpp Wyświetl plik

@@ -142,21 +142,6 @@ void menu_tune() {
142 142
   //
143 143
   #if HAS_FAN
144 144
 
145
-    auto on_fan_update = []{
146
-      thermalManager.set_fan_speed(MenuItemBase::itemIndex, editable.uint8);
147
-    };
148
-
149
-    #if HAS_FAN1 || HAS_FAN2 || HAS_FAN3 || HAS_FAN4 || HAS_FAN5 || HAS_FAN6 || HAS_FAN7
150
-      auto fan_edit_items = [&](const uint8_t f) {
151
-        editable.uint8 = thermalManager.fan_speed[f];
152
-        EDIT_ITEM_FAST_N(percent, f, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, on_fan_update);
153
-        #if ENABLED(EXTRA_FAN_SPEED)
154
-          EDIT_ITEM_FAST_N(percent, f, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[f], 3, 255);
155
-        #endif
156
-      };
157
-    #endif
158
-
159
-    #define SNFAN(N) (ENABLED(SINGLENOZZLE_STANDBY_FAN) && !HAS_FAN##N && EXTRUDERS > N)
160 145
     #if SNFAN(1) || SNFAN(2) || SNFAN(3) || SNFAN(4) || SNFAN(5) || SNFAN(6) || SNFAN(7)
161 146
       auto singlenozzle_item = [&](const uint8_t f) {
162 147
         editable.uint8 = singlenozzle_fan_speed[f];
@@ -165,46 +150,42 @@ void menu_tune() {
165 150
     #endif
166 151
 
167 152
     #if HAS_FAN0
168
-      editable.uint8 = thermalManager.fan_speed[0];
169
-      EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, on_fan_update);
170
-      #if ENABLED(EXTRA_FAN_SPEED)
171
-        EDIT_ITEM_FAST_N(percent, 0, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
172
-      #endif
153
+      _FAN_EDIT_ITEMS(0,FIRST_FAN_SPEED);
173 154
     #endif
174 155
     #if HAS_FAN1
175
-      fan_edit_items(1);
156
+      FAN_EDIT_ITEMS(1);
176 157
     #elif SNFAN(1)
177 158
       singlenozzle_item(1);
178 159
     #endif
179 160
     #if HAS_FAN2
180
-      fan_edit_items(2);
161
+      FAN_EDIT_ITEMS(2);
181 162
     #elif SNFAN(2)
182
-      singlenozzle_item(1);
163
+      singlenozzle_item(2);
183 164
     #endif
184 165
     #if HAS_FAN3
185
-      fan_edit_items(3);
166
+      FAN_EDIT_ITEMS(3);
186 167
     #elif SNFAN(3)
187
-      singlenozzle_item(1);
168
+      singlenozzle_item(3);
188 169
     #endif
189 170
     #if HAS_FAN4
190
-      fan_edit_items(4);
171
+      FAN_EDIT_ITEMS(4);
191 172
     #elif SNFAN(4)
192
-      singlenozzle_item(1);
173
+      singlenozzle_item(4);
193 174
     #endif
194 175
     #if HAS_FAN5
195
-      fan_edit_items(5);
176
+      FAN_EDIT_ITEMS(5);
196 177
     #elif SNFAN(5)
197
-      singlenozzle_item(1);
178
+      singlenozzle_item(5);
198 179
     #endif
199 180
     #if HAS_FAN6
200
-      fan_edit_items(6);
181
+      FAN_EDIT_ITEMS(6);
201 182
     #elif SNFAN(6)
202
-      singlenozzle_item(1);
183
+      singlenozzle_item(6);
203 184
     #endif
204 185
     #if HAS_FAN7
205
-      fan_edit_items(7);
186
+      FAN_EDIT_ITEMS(7);
206 187
     #elif SNFAN(7)
207
-      singlenozzle_item(1);
188
+      singlenozzle_item(7);
208 189
     #endif
209 190
 
210 191
   #endif // HAS_FAN

Ładowanie…
Anuluj
Zapisz