|
@@ -83,15 +83,18 @@ void Temperature::lcd_preheat(const int16_t e, const int8_t indh, const int8_t i
|
83
|
83
|
ACTION_ITEM_N_P(E, msg_preheat_h[M], []{ _preheat_both(M, MenuItemBase::itemIndex); }); \
|
84
|
84
|
ACTION_ITEM_N_P(E, msg_preheat_end_e[M], []{ _preheat_end(M, MenuItemBase::itemIndex); }); \
|
85
|
85
|
}while(0)
|
86
|
|
- #if HAS_HEATED_BED
|
|
86
|
+
|
|
87
|
+ #if HAS_MULTI_HOTEND
|
87
|
88
|
#define PREHEAT_ITEMS(M,E) _PREHEAT_ITEMS(M,E)
|
88
|
89
|
#endif
|
89
|
|
- #else
|
90
|
|
- #define PREHEAT_ITEMS(M,E) ACTION_ITEM_N(E, msg_preheat_h[M], []{ _preheat_end(M, MenuItemBase::itemIndex); })
|
|
90
|
+
|
|
91
|
+ #elif HAS_MULTI_HOTEND
|
|
92
|
+
|
|
93
|
+ #define PREHEAT_ITEMS(M,E) ACTION_ITEM_N_P(E, msg_preheat_h[M], []{ _preheat_end(M, MenuItemBase::itemIndex); })
|
|
94
|
+
|
91
|
95
|
#endif
|
92
|
96
|
|
93
|
97
|
void menu_preheat_m(const uint8_t m) {
|
94
|
|
- editable.int8 = m;
|
95
|
98
|
#if HOTENDS == 1
|
96
|
99
|
PGM_P msg_preheat[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1), GET_TEXT(MSG_PREHEAT_2), GET_TEXT(MSG_PREHEAT_3), GET_TEXT(MSG_PREHEAT_4), GET_TEXT(MSG_PREHEAT_5));
|
97
|
100
|
PGM_P msg_preheat_end[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1_END), GET_TEXT(MSG_PREHEAT_2_END), GET_TEXT(MSG_PREHEAT_3_END), GET_TEXT(MSG_PREHEAT_4_END), GET_TEXT(MSG_PREHEAT_5_END));
|
|
@@ -99,31 +102,44 @@ void Temperature::lcd_preheat(const int16_t e, const int8_t indh, const int8_t i
|
99
|
102
|
PGM_P msg_preheat_all[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1_ALL), GET_TEXT(MSG_PREHEAT_2_ALL), GET_TEXT(MSG_PREHEAT_3_ALL), GET_TEXT(MSG_PREHEAT_4_ALL), GET_TEXT(MSG_PREHEAT_5_ALL));
|
100
|
103
|
#endif
|
101
|
104
|
PGM_P msg_preheat_end_e[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1_END_E), GET_TEXT(MSG_PREHEAT_2_END_E), GET_TEXT(MSG_PREHEAT_3_END_E), GET_TEXT(MSG_PREHEAT_4_END_E), GET_TEXT(MSG_PREHEAT_5_END_E));
|
102
|
|
- PGM_P msg_preheat_bed[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1_BEDONLY), GET_TEXT(MSG_PREHEAT_2_BEDONLY), GET_TEXT(MSG_PREHEAT_3_BEDONLY), GET_TEXT(MSG_PREHEAT_4_BEDONLY), GET_TEXT(MSG_PREHEAT_5_BEDONLY));
|
103
|
|
- PGM_P msg_preheat_h[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1_H), GET_TEXT(MSG_PREHEAT_2_H), GET_TEXT(MSG_PREHEAT_3_H), GET_TEXT(MSG_PREHEAT_4_H), GET_TEXT(MSG_PREHEAT_5_H));
|
|
105
|
+
|
|
106
|
+ #if HAS_MULTI_HOTEND
|
|
107
|
+ PGM_P msg_preheat_h[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1_H), GET_TEXT(MSG_PREHEAT_2_H), GET_TEXT(MSG_PREHEAT_3_H), GET_TEXT(MSG_PREHEAT_4_H), GET_TEXT(MSG_PREHEAT_5_H));
|
|
108
|
+ #endif
|
|
109
|
+
|
|
110
|
+ MenuItemBase::itemIndex = m;
|
104
|
111
|
|
105
|
112
|
START_MENU();
|
106
|
113
|
BACK_ITEM(MSG_TEMPERATURE);
|
|
114
|
+
|
107
|
115
|
#if HOTENDS == 1
|
|
116
|
+
|
108
|
117
|
#if HAS_HEATED_BED
|
109
|
|
- ACTION_ITEM_P(msg_preheat[m], []{ _preheat_both(editable.int8, 0); });
|
110
|
|
- ACTION_ITEM_P(msg_preheat_end[m], []{ _preheat_end(editable.int8, 0); });
|
|
118
|
+ ACTION_ITEM_P(msg_preheat[m], []{ _preheat_both(MenuItemBase::itemIndex, 0); });
|
|
119
|
+ ACTION_ITEM_P(msg_preheat_end[m], []{ _preheat_end(MenuItemBase::itemIndex, 0); });
|
111
|
120
|
#else
|
112
|
|
- ACTION_ITEM_P(msg_preheat[m], []{ _preheat_end(editable.int8, 0); });
|
|
121
|
+ ACTION_ITEM_P(msg_preheat[m], []{ _preheat_end(MenuItemBase::itemIndex, 0); });
|
113
|
122
|
#endif
|
|
123
|
+
|
114
|
124
|
#elif HAS_MULTI_HOTEND
|
|
125
|
+
|
115
|
126
|
#if HAS_HEATED_BED
|
116
|
|
- _PREHEAT_ITEMS(editable.int8,0);
|
|
127
|
+ _PREHEAT_ITEMS(MenuItemBase::itemIndex,0);
|
117
|
128
|
#endif
|
118
|
|
- LOOP_S_L_N(n, 1, HOTENDS) PREHEAT_ITEMS(editable.int8,n);
|
|
129
|
+
|
|
130
|
+ LOOP_S_L_N(n, 1, HOTENDS) PREHEAT_ITEMS(MenuItemBase::itemIndex,n);
|
119
|
131
|
ACTION_ITEM_P(msg_preheat_all[m], []() {
|
120
|
|
- TERN_(HAS_HEATED_BED, _preheat_bed(editable.int8));
|
121
|
|
- HOTEND_LOOP() thermalManager.setTargetHotend(ui.material_preset[editable.int8].hotend_temp, e);
|
|
132
|
+ TERN_(HAS_HEATED_BED, _preheat_bed(MenuItemBase::itemIndex));
|
|
133
|
+ HOTEND_LOOP() thermalManager.setTargetHotend(ui.material_preset[MenuItemBase::itemIndex].hotend_temp, e);
|
122
|
134
|
});
|
123
|
|
- #endif // HAS_MULTI_HOTEND
|
|
135
|
+
|
|
136
|
+ #endif
|
|
137
|
+
|
124
|
138
|
#if HAS_HEATED_BED
|
125
|
|
- ACTION_ITEM_P(msg_preheat_bed[m], []{ _preheat_bed(editable.int8); });
|
|
139
|
+ PGM_P msg_preheat_bed[] = ARRAY_N(PREHEAT_COUNT, GET_TEXT(MSG_PREHEAT_1_BEDONLY), GET_TEXT(MSG_PREHEAT_2_BEDONLY), GET_TEXT(MSG_PREHEAT_3_BEDONLY), GET_TEXT(MSG_PREHEAT_4_BEDONLY), GET_TEXT(MSG_PREHEAT_5_BEDONLY));
|
|
140
|
+ ACTION_ITEM_P(msg_preheat_bed[m], []{ _preheat_bed(MenuItemBase::itemIndex); });
|
126
|
141
|
#endif
|
|
142
|
+
|
127
|
143
|
END_MENU();
|
128
|
144
|
}
|
129
|
145
|
|