@@ -244,7 +244,7 @@ void menu_backlash();
244
244
}
245
245
#endif
246
246
247
- #if BOTH(AUTOTEMP, HAS_TEMP_HOTEND) || EITHER (PID_AUTOTUNE_MENU, PID_EDIT_MENU)
247
+ #if BOTH(AUTOTEMP, HAS_TEMP_HOTEND) || ANY (PID_AUTOTUNE_MENU, PID_EDIT_MENU, MPC_AUTOTUNE_MENU, MPC_EDIT_MENU )
248
248
#define SHOW_MENU_ADVANCED_TEMPERATURE 1
249
249
#endif
250
250
@@ -253,7 +253,17 @@ void menu_backlash();
253
253
//
254
254
#if SHOW_MENU_ADVANCED_TEMPERATURE
255
255
256
+ #if ENABLED(MPC_EDIT_MENU)
257
+ #define MPC_EDIT_DEFS (N ) \
258
+ MPC_t &c = thermalManager.temp_hotend[N].constants; \
259
+ TERN (MPC_INCLUDE_FAN, editable.decimal = c.ambient_xfer_coeff_fan0 + c.fan255_adjustment)
260
+ #endif
261
+
256
262
void menu_advanced_temperature () {
263
+ #if ENABLED(MPC_EDIT_MENU) && !HAS_MULTI_HOTEND
264
+ MPC_EDIT_DEFS (0 );
265
+ #endif
266
+
257
267
START_MENU ();
258
268
BACK_ITEM (MSG_ADVANCED_SETTINGS);
259
269
@@ -330,6 +340,45 @@ void menu_backlash();
330
340
#endif
331
341
#endif
332
342
343
+ #if ENABLED(MPC_EDIT_MENU)
344
+
345
+ #define _MPC_EDIT_ITEMS (N ) \
346
+ EDIT_ITEM_FAST_N (float31sign, N, MSG_MPC_POWER_E, &c.heater_power , 1 , 200 ); \
347
+ EDIT_ITEM_FAST_N (float31sign, N, MSG_MPC_BLOCK_HEAT_CAPACITY_E, &c.block_heat_capacity , 0 , 40 ); \
348
+ EDIT_ITEM_FAST_N (float43, N, MSG_SENSOR_RESPONSIVENESS_E, &c.sensor_responsiveness , 0 , 1 ); \
349
+ EDIT_ITEM_FAST_N (float43, N, MSG_MPC_AMBIENT_XFER_COEFF_E, &c.ambient_xfer_coeff_fan0 , 0 , 1 )
350
+
351
+ #if ENABLED(MPC_INCLUDE_FAN)
352
+ #define MPC_EDIT_ITEMS (N ) \
353
+ _MPC_EDIT_ITEMS (N); \
354
+ EDIT_ITEM_FAST_N (float43, N, MSG_MPC_AMBIENT_XFER_COEFF_FAN255_E, &editable.decimal , 0 , 1 , []{ \
355
+ c.fan255_adjustment = editable.decimal - c.ambient_xfer_coeff_fan0 ; \
356
+ })
357
+ #else
358
+ #define MPC_EDIT_ITEMS _MPC_EDIT_ITEMS
359
+ #endif
360
+
361
+ #if HAS_MULTI_HOTEND
362
+ auto mpc_edit_hotend = [&](const uint8_t e) {
363
+ MPC_EDIT_DEFS (e);
364
+ START_MENU ();
365
+ BACK_ITEM (MSG_TEMPERATURE);
366
+ MPC_EDIT_ITEMS (e);
367
+ END_MENU ();
368
+ };
369
+ #define MPC_ENTRY (N ) SUBMENU_N(N, MSG_MPC_EDIT, []{ mpc_edit_hotend (MenuItemBase::itemIndex); });
370
+ #else
371
+ #define MPC_ENTRY MPC_EDIT_ITEMS
372
+ #endif
373
+
374
+ REPEAT (HOTENDS, MPC_ENTRY);
375
+
376
+ #endif // MPC_EDIT_MENU
377
+
378
+ #if ENABLED(MPC_AUTOTUNE_MENU)
379
+ ACTION_ITEM (MSG_MPC_AUTOTUNE, []{ queue.inject (F (" M306 T" )); ui.return_to_status (); });
380
+ #endif
381
+
333
382
#if ENABLED(PIDTEMPBED)
334
383
#if ENABLED(PID_EDIT_MENU)
335
384
_PID_EDIT_ITEMS_TMPL (H_BED, thermalManager.temp_bed );
0 commit comments