ed@448: import serial edouard@453: import exceptions ed@448: from threading import Lock ed@448: Lolitech@545: class LPCProtoError(exceptions.Exception): ed@448: """Exception class""" ed@448: def __init__(self, msg): ed@448: self.msg = msg ed@448: ed@448: def __str__(self): ed@448: return "LPC communication error ! " + str(self.msg) ed@448: ed@448: class LPCProto: ed@448: def __init__(self, port, rate, timeout): edouard@453: # serialize access lock edouard@453: self.TransactionLock = Lock() ed@448: # open serial port edouard@453: # self.serialPort = serial.Serial( port, rate, timeout = timeout ) edouard@453: # Debugging serial stuff Lolitech@563: self.serialPort = serial.Serial( port, rate, timeout = timeout ) Lolitech@563: # class myser: Lolitech@563: # def read(self_,cnt): Lolitech@563: # res = self._serialPort.read(cnt) Lolitech@563: # if len(res) > 16: Lolitech@563: # print "Recv :", map(hex,map(ord,res[:16])), "[...]" Lolitech@563: # else: Lolitech@563: # print "Recv :", map(hex,map(ord,res)) Lolitech@563: # Lolitech@563: # return res Lolitech@563: # def write(self_, str): Lolitech@563: # if len(str) > 16: Lolitech@563: # print "Send :", map(hex,map(ord,str[:16])), "[...]" Lolitech@563: # else: Lolitech@563: # print "Send :", map(hex,map(ord,str)) Lolitech@563: # self._serialPort.write(str) Lolitech@563: # def flush(self_): Lolitech@563: # self._serialPort.flush() Lolitech@563: # self.serialPort = myser() edouard@453: # start with empty ed@448: self.serialPort.flush() ed@448: Lolitech@563: def __del__(self): Lolitech@563: if self.serialPort: Lolitech@563: self.serialPort.close() Lolitech@563: Lolitech@563: def close(self): Lolitech@563: self.serialPort.close() Lolitech@563: self.serialPort = None