diff options
Diffstat (limited to 'klippy/extras/virtual_sdcard.py')
-rw-r--r-- | klippy/extras/virtual_sdcard.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/klippy/extras/virtual_sdcard.py b/klippy/extras/virtual_sdcard.py index 4116d2c5..c25bbc78 100644 --- a/klippy/extras/virtual_sdcard.py +++ b/klippy/extras/virtual_sdcard.py @@ -146,6 +146,7 @@ class VirtualSD: self.gcode.respond_error("Unable to seek file") self.work_timer = None return self.reactor.NEVER + gcode_mutex = self.gcode.get_mutex() partial_input = "" lines = [] while not self.must_pause_work: @@ -170,12 +171,13 @@ class VirtualSD: lines.reverse() self.reactor.pause(self.reactor.NOW) continue + # Pause if any other request is pending in the gcode class + if gcode_mutex.test(): + self.reactor.pause(self.reactor.monotonic() + 0.100) + continue # Dispatch command try: - res = self.gcode.process_batch([lines[-1]]) - if not res: - self.reactor.pause(self.reactor.monotonic() + 0.100) - continue + self.gcode.run_script(lines[-1]) except self.gcode.error as e: break except: |