def on_event(self, event, payload):
# Early abort in case of out ot filament when start printing, as we
# can't change with a cold nozzle
if event is Events.PRINT_STARTED and self.no_filament():
self._logger.info("Printing aborted: no filament detected!")
self._printer.cancel_print()
# Enable sensor
if event in (
Events.PRINT_STARTED,
Events.PRINT_RESUMED
):
self._logger.info("%s: Enabling filament sensor." % (event))
if self.sensor_enabled():
GPIO.remove_event_detect(self.pin)
GPIO.add_event_detect(
self.pin, GPIO.BOTH,
callback=self.sensor_callback,
bouncetime=self.bounce
)
# Disable sensor
elif event in (
Events.PRINT_DONE,
Events.PRINT_FAILED,
Events.PRINT_CANCELLED,
Events.ERROR
):
self._logger.info("%s: Disabling filament sensor." % (event))
GPIO.remove_event_detect(self.pin)
评论列表
文章目录