Ejemplo n.º 1
0
    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")
Ejemplo n.º 2
0
    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")