From 418743cf6aaf3372ff1ec6610028db7cbcd9fc94 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <thinkyhead@users.noreply.github.com>
Date: Tue, 10 Aug 2021 02:53:28 -0500
Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=B8=20Set=20M122=20interval=20only=20w?=
 =?UTF-8?q?ith=20S0=20or=20Pn?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Marlin/src/gcode/feature/trinamic/M122.cpp | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/Marlin/src/gcode/feature/trinamic/M122.cpp b/Marlin/src/gcode/feature/trinamic/M122.cpp
index 52a6920f051..fdab5487743 100644
--- a/Marlin/src/gcode/feature/trinamic/M122.cpp
+++ b/Marlin/src/gcode/feature/trinamic/M122.cpp
@@ -43,10 +43,13 @@ void GcodeSuite::M122() {
 
   #if ENABLED(TMC_DEBUG)
     #if ENABLED(MONITOR_DRIVER_STATUS)
-      uint16_t interval = MONITOR_DRIVER_STATUS_INTERVAL_MS;
-      if (parser.seen('S') && !parser.value_bool()) interval = 0;
-      if (parser.seenval('P')) NOMORE(interval, parser.value_ushort());
-      tmc_set_report_interval(interval);
+      const bool sflag = parser.seen_test('S'), sval = sflag && parser.value_bool();
+      if (sflag && !sval)
+        tmc_set_report_interval(0);
+      else if (parser.seenval('P'))
+        tmc_set_report_interval(_MAX(250, parser.value_ushort()));
+      else if (sval)
+        tmc_set_report_interval(MONITOR_DRIVER_STATUS_INTERVAL_MS);
     #endif
 
     if (parser.seen_test('V'))