VcExecutor reading a P201-9B Encoder via module serial (P02)

 
#!/bin/env python
#
import PyTango
import serial

class VC:
    def __init__(self):
        self.ser = serial.Serial('/dev/ttyUSB0')

    def __del__(self):
        self.ser.close()
    
    def dev_state(self):
        return PyTango.DevState.ON
        
    def read_Counts(self):
        val = 0
        try:
            self.ser.write('?\r')
            #ser.write('1111011101101001011101011011101100110000\r')
            val_bin = self.ser.read(41)
            val_raw = int(val_bin[:26], 2)
            val = val_raw*360. / 2**26
        except Exception as e:
            print( "exception")
            print( repr( e))
            val = -1
        return val

    def write_Counts(self, argin):
        return 1
    
    def Reset(self):
        return True