Browse Source

🚸 Set M122 interval only with S0 or Pn

Scott Lahteine 4 years ago
parent
commit
25d5d2ab50
1 changed files with 7 additions and 4 deletions
  1. 7
    4
      Marlin/src/gcode/feature/trinamic/M122.cpp

+ 7
- 4
Marlin/src/gcode/feature/trinamic/M122.cpp View File

@@ -43,10 +43,13 @@ void GcodeSuite::M122() {
43 43
 
44 44
   #if ENABLED(TMC_DEBUG)
45 45
     #if ENABLED(MONITOR_DRIVER_STATUS)
46
-      uint16_t interval = MONITOR_DRIVER_STATUS_INTERVAL_MS;
47
-      if (parser.seen('S') && !parser.value_bool()) interval = 0;
48
-      if (parser.seenval('P')) NOMORE(interval, parser.value_ushort());
49
-      tmc_set_report_interval(interval);
46
+      const bool sflag = parser.seen_test('S'), sval = sflag && parser.value_bool();
47
+      if (sflag && !sval)
48
+        tmc_set_report_interval(0);
49
+      else if (parser.seenval('P'))
50
+        tmc_set_report_interval(_MAX(250, parser.value_ushort()));
51
+      else if (sval)
52
+        tmc_set_report_interval(MONITOR_DRIVER_STATUS_INTERVAL_MS);
50 53
     #endif
51 54
 
52 55
     if (parser.seen_test('V'))

Loading…
Cancel
Save