From 5baa74a42539227fd803aa04915fbf8d672a0f05 Mon Sep 17 00:00:00 2001 From: RoboMagus <68224306+RoboMagus@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:53:06 +0100 Subject: [PATCH] Add M118 Gcode support --- Firmware/Marlin_main.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 1ed194f62..62c6c2b3c 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3903,6 +3903,7 @@ extern uint8_t st_backlash_y; //!@n M114 - Output current position to serial port //!@n M115 - Capabilities string //!@n M117 - display message +//!@n M118 - Serial print //!@n M119 - Output Endstop status to serial port //!@n M123 - Tachometer value //!@n M126 - Solenoid Air Valve Open (BariCUDA support by jmil) @@ -6459,6 +6460,31 @@ Sigma_Exit: } break; + /*! + ### M118 - Serial print M118: Serial print + */ + case 118: { + bool hasE, hasA = false; + char *p = strchr_pointer; + + for (uint8_t i = 2; i--;) { + // A1, E1, and Pn are always parsed out + if (!((p[0] == 'A' || p[0] == 'E') && p[1] == '1')) break; + switch (p[0]) { + case 'A': hasA = true; break; + case 'E': hasE = true; break; + } + p += 2; + while (*p == ' ') ++p; + } + + if (hasE) SERIAL_ECHO_START; + if (hasA) SERIAL_ECHO("//"); + + SERIAL_ECHOLN(p); + } + break; + #ifdef M120_M121_ENABLED /*! ### M120 - Enable endstops M120: Enable endstop detection