def _make_async_queue_wait_for_buffered_queue(self): logging.info("queueing async-to-buffered sync event") wait_event = self.printer.path_planner.native_planner.queueWaitEvent() buffered = Sync.BufferedSyncEvent(self.printer, wait_event) buffered_gcode = Gcode({ "message": "SyncAsyncToBuffered_Buffered", "prot": "internal" }) buffered_gcode.command = buffered self.printer.commands.put(buffered_gcode) logging.info("done queueing async-to-buffered sync event")
def _make_buffered_queue_wait_for_async_queue(self): logging.info("queueing buffered-to-async sync event") event = Event() callback = SyncCallback(event) self.printer.path_planner.native_planner.queueSyncEvent( callback, False) buffered = Sync.BufferedWaitEvent(self.printer, event) buffered_gcode = Gcode({ "message": "SyncBufferedToAsync_Buffered", "prot": "internal" }) buffered_gcode.command = buffered # buffered doesn't actually use this, but we need it to stay alive per the garbage collector buffered.native_callback = callback self.printer.commands.put(buffered_gcode) logging.info("done queueing buffered-to-async sync event")