Handle GCode errors with out losing state
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Tue, 27 Nov 2018 23:06:55 +0000 (15:06 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Tue, 27 Nov 2018 23:06:55 +0000 (15:06 -0800)
src/py/bbctrl/Mach.py
src/py/bbctrl/Planner.py

index 0247d105e49ceee27802403097f8b200ced6836f..ac38a7916926ac51f9a34bf326886167f95d462d 100644 (file)
@@ -175,9 +175,7 @@ class Mach(Comm):
         self.unpausing = True
 
 
-    def _reset(self):
-        self.planner.reset()
-        self.ctrl.state.reset()
+    def _reset(self): self.planner.reset()
 
 
     def _i2c_block(self, block):
index a0e0f711a0b887b10047bd32aafb471b5e4250e3..e1f892e8ab1f678b08ccad97fa5250b90a1c26ff 100644 (file)
@@ -331,6 +331,7 @@ class Planner():
         self.planner.set_logger(self._log_cb, 1, 'LinePlanner:3')
         self.cmdq.clear()
         self.reset_times()
+        self.ctrl.state.reset()
 
 
     def mdi(self, cmd, with_limits = True):
@@ -377,7 +378,7 @@ class Planner():
 
         except Exception as e:
             log.exception(e)
-            self.reset()
+            self.stop()
 
 
     def next(self):
@@ -389,7 +390,4 @@ class Planner():
 
         except Exception as e:
             log.exception(e)
-            self.reset()
-
-            log.info('running: %s active %s' % (self.is_running(),
-                                                self.cmdq.is_active()))
+            self.stop()