Modified to remove direct manimpulation of serial port using termios
[uccvend-vendserver.git] / sql-edition / servers / SerialClient.py
1 import os, termios
2 from time import sleep
3 import logging
4 from serial import *
5
6 class SerialClientException(Exception): pass
7
8 class SerialClient:
9         def __init__(self, port = '/dev/ttyS1', baud = 9600):
10                 self.ser = Serial(
11                         port = port,
12                         baudrate = baud,
13                         bytesize=EIGHTBITS,     #number of databits
14                         parity=PARITY_NONE,     #enable parity checking
15                         stopbits=STOPBITS_ONE,  #number of stopbits
16                         timeout=1,           #set a timeout value, None for waiting forever, return on read
17                         xonxoff=0,              #enable software flow control
18                         rtscts=0,               #enable RTS/CTS flow control
19                 )
20         
21
22                 self.rfh = self.ser
23                 self.wfh = self.ser
24                 self.wfh.write('B\n')
25
26         def get_fh(self):
27                 return (self.rfh, self.wfh)
28
29         def __del__(self):
30             pass
31
32
33 if __name__ == '__main__':
34         s = SerialClient("/dev/ttyS1", 9600)
35         
36         (rfh, wfh) = s.get_fh()
37
38         wfh.write('B\n')
39         print rfh.read()
40
41

UCC git Repository :: git.ucc.asn.au