|
@@ -93,6 +93,10 @@ public:
|
93
|
93
|
bool dryrun,
|
94
|
94
|
reenable;
|
95
|
95
|
|
|
96
|
+ #if HAS_MULTI_HOTEND
|
|
97
|
+ uint8_t tool_index;
|
|
98
|
+ #endif
|
|
99
|
+
|
96
|
100
|
#if EITHER(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
97
|
101
|
int abl_probe_index;
|
98
|
102
|
#endif
|
|
@@ -263,7 +267,10 @@ G29_TYPE GcodeSuite::G29() {
|
263
|
267
|
*/
|
264
|
268
|
if (!g29_in_progress) {
|
265
|
269
|
|
266
|
|
- TERN_(HAS_MULTI_HOTEND, if (active_extruder) tool_change(0));
|
|
270
|
+ #if HAS_MULTI_HOTEND
|
|
271
|
+ abl.tool_index = active_extruder;
|
|
272
|
+ if (active_extruder != 0) tool_change(0, true);
|
|
273
|
+ #endif
|
267
|
274
|
|
268
|
275
|
#if EITHER(PROBE_MANUALLY, AUTO_BED_LEVELING_LINEAR)
|
269
|
276
|
abl.abl_probe_index = -1;
|
|
@@ -891,6 +898,8 @@ G29_TYPE GcodeSuite::G29() {
|
891
|
898
|
|
892
|
899
|
TERN_(HAS_DWIN_E3V2_BASIC, DWIN_CompletedLeveling());
|
893
|
900
|
|
|
901
|
+ TERN_(HAS_MULTI_HOTEND, if (abl.tool_index != 0) tool_change(abl.tool_index));
|
|
902
|
+
|
894
|
903
|
report_current_position();
|
895
|
904
|
|
896
|
905
|
TERN_(FULL_REPORT_TO_HOST_FEATURE, set_and_report_grblstate(M_IDLE));
|