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