diff --git a/Marlin/src/gcode/control/T.cpp b/Marlin/src/gcode/control/T.cpp index fa0476192ffc5..c5ebbcf50e7f2 100644 --- a/Marlin/src/gcode/control/T.cpp +++ b/Marlin/src/gcode/control/T.cpp @@ -41,8 +41,8 @@ * S1 Don't move the tool in XY after change * * For PRUSA_MMU2(S) and EXTENDABLE_EMU_MMU2(S) - * T[n] Gcode to extrude at least 38.10 mm at feedrate 19.02 mm/s must follow immediately to load to extruder wheels. - * T? Gcode to extrude shouldn't have to follow. Load to extruder wheels is done automatically. + * T[n] G-code to extrude at least 38.10 mm at feedrate 19.02 mm/s must follow immediately to load to extruder wheels. + * T? G-code to extrude shouldn't have to follow. Load to extruder wheels is done automatically. * Tx Same as T?, but nozzle doesn't have to be preheated. Tc requires a preheated nozzle to finish filament load. * Tc Load to nozzle after filament was prepared by Tc and nozzle is already heated. */ @@ -50,7 +50,7 @@ void GcodeSuite::T(const int8_t tool_index) { #if HAS_MULTI_EXTRUDER // For 'T' with no parameter report the current tool. - if (tool_index == 255) { + if (parser.string_arg && *parser.string_arg == '*') { SERIAL_ECHOLNPGM(STR_ACTIVE_EXTRUDER, active_extruder); return; } diff --git a/Marlin/src/gcode/parser.cpp b/Marlin/src/gcode/parser.cpp index da2b67626f046..d9178b658e601 100644 --- a/Marlin/src/gcode/parser.cpp +++ b/Marlin/src/gcode/parser.cpp @@ -191,9 +191,9 @@ void GCodeParser::parse(char *p) { // Bail if there's no command code number if (!TERN(SIGNED_CODENUM, NUMERIC_SIGNED(*p), NUMERIC(*p))) { if (TERN0(HAS_MULTI_EXTRUDER, letter == 'T')) { - p[0] = '2'; p[1] = '5'; p[2] = '5'; p[3] = '\0'; // Convert 'T' alone into T255 + *p = '*'; string_arg = p; // Convert 'T' alone into 'T*' } - else return; + return; } // Save the command letter at this point