import ch.psi.pshell.device.DiscretePositionerBase as DiscretePositionerBase class LedPositioner(DiscretePositionerBase): def __init__(self): DiscretePositionerBase.__init__(self, "led_ctrl", ["On", "Off"]) self.setState(State.Ready) self.val = self.doReadReadback() def doRead(self): return self.val def doReadReadback(self): return "On" if get_led_state() else "Off" def doWrite(self, val): self.val = val if self.val == "On": set_led_state(True) else: set_led_state(False) add_device(LedPositioner(), True) led_ctrl.polling = 1000