1
# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
2
# See LICENSE for details.
12
# all of them require pyserial at the moment, so check that first
14
from serial import PARITY_NONE, PARITY_EVEN, PARITY_ODD
15
from serial import STOPBITS_ONE, STOPBITS_TWO
16
from serial import FIVEBITS, SIXBITS, SEVENBITS, EIGHTBITS
18
# common code for serial ports
20
def setBaudRate(self, baudrate):
21
if hasattr(self._serial, "setBaudrate"):
22
self._serial.setBaudrate(baudrate)
24
self._serial.setBaudRate(baudrate)
27
return self._serial.inWaiting()
30
self._serial.flushInput()
32
def flushOutput(self):
33
self._serial.flushOutput()
36
self._serial.sendBreak()
39
return self._serial.getDSR()
42
return self._serial.getCD()
45
return self._serial.getRI()
48
return self._serial.getCTS()
50
def setDTR(self, on = 1):
51
self._serial.setDTR(on)
53
def setRTS(self, on = 1):
54
self._serial.setRTS(on)
56
class SerialPort(BaseSerialPort):
59
# replace SerialPort with appropriate serial port
60
if os.name == 'posix':
61
from twisted.internet._posixserialport import SerialPort
62
elif os.name == 'java':
63
from twisted.internet._javaserialport import SerialPort
64
elif sys.platform == 'win32':
65
from twisted.internet._win32serialport import SerialPort