5 class SerialClientException(Exception): pass
16 19200: termios.B19200,
17 38400: termios.B38400,
18 57600: termios.B57600,
19 115200: termios.B115200,
22 def __init__(self, port = '/dev/ttyS0', baud = 9600):
26 self.handle = os.open(port, os.O_RDWR)
28 raise SerialClientException('Unable to open port')
29 self.oldmode = termios.tcgetattr(self.handle)
30 cc = [0]*len(self.oldmode[6])
33 termios.tcsetattr(self.handle, termios.TCSANOW,
35 termios.IGNPAR, # c_iflag
37 termios.CS8|termios.CLOCAL|termios.CREAD, # c_cflag
39 self.BaudRates[self.baud], # c_ispeed
40 self.BaudRates[self.baud], # c_ospeed
42 self.rfh = os.fdopen(self.handle, 'r')
43 self.wfh = os.fdopen(self.handle, 'w')
47 return (self.rfh, self.wfh)