Files
mxsc/script/devices/BarcodeReader.py
gac-S_Changer 51858eb819
2018-06-22 11:09:37 +02:00

48 lines
1.1 KiB
Python

class BarcodeReader(DeviceBase):
def doInitialize(self):
self.disable()
def enable(self):
microscan_cmd.write("<H>")
self.setState(State.Ready)
def disable(self):
microscan_cmd.write("<I>")
self.setState(State.Disabled)
def get(self,timeout=1.0):
self.state.assertReady()
try:
self.setState(State.Busy)
ret = microscan.waitString(int(timeout * 1000))
self.setCache(ret, None)
return ret
except:
self.setCache(None, None)
return None
finally:
self.setState(State.Ready)
def doUpdate(self):
self.get()
def read(self,timeout=1.0):
initial = self.state
if initial == State.Disabled:
self.enable()
try:
return self.get()
finally:
if initial == State.Disabled:
self.disable()
add_device(BarcodeReader("barcode_reader"), force = True)