diff options
author | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2002-02-14 01:33:08 +0000 |
---|---|---|
committer | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2002-02-14 01:33:08 +0000 |
commit | d0b8b2733d027e2a68a87df92697e2cb7aa3c79d (patch) | |
tree | 8b11bde48e480c5f8cefbc62b4ea727961c50d71 | |
parent | 65ec6396d663382c9b230b8151c3925c7d8cf6d6 (diff) | |
download | pyserial-git-d0b8b2733d027e2a68a87df92697e2cb7aa3c79d.tar.gz |
bugfix when no timout is specified
FileLike base class is now used for readline etc.
-rw-r--r-- | pyserial/serial/serialwin32.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/pyserial/serial/serialwin32.py b/pyserial/serial/serialwin32.py index ea19b4b..c4aa142 100644 --- a/pyserial/serial/serialwin32.py +++ b/pyserial/serial/serialwin32.py @@ -1,16 +1,17 @@ #! python #serial driver for win32 -#see serial.py +#see __init__.py # -#(C) 2001 Chris Liechti <cliechti@gmx.net> +#(C) 2001-2002 Chris Liechti <cliechti@gmx.net> # this is distributed under a free software license, see license.txt import win32file # The base COM port and file IO functions. import win32event # We use events and the WaitFor[Single|Multiple]Objects functions. import win32con # constants. import sys, string +import serialutil -VERSION = string.split("$Revision: 1.2 $")[1] #extract CVS version +VERSION = string.split("$Revision: 1.3 $")[1] #extract CVS version PARITY_NONE, PARITY_EVEN, PARITY_ODD = range(3) STOPBITS_ONE, STOPBITS_TWO = (1, 2) @@ -18,7 +19,7 @@ FIVEBITS, SIXBITS, SEVENBITS, EIGHTBITS = (5,6,7,8) portNotOpenError = ValueError('port not open') -class Serial: +class Serial(serialutil.FileLike): def __init__(self, port, #number of device, numbering starts at #zero. if everything fails, the user @@ -64,7 +65,8 @@ class Serial: timeouts = (timeout*1000, 0, timeout*1000, 0, 0) else: #timeouts = (win32con.MAXDWORD, 1, 0, 1, 0) - timeouts = (win32con.MAXDWORD, 0, 0, 0, 1000) + #timeouts = (win32con.MAXDWORD, 0, 0, 0, 1000) + timeouts = (0, 0, 0, 0, 0) win32file.SetCommTimeouts(self.hComPort, timeouts) #win32file.SetCommMask(self.hComPort, win32file.EV_RXCHAR | win32file.EV_TXEMPTY | @@ -206,6 +208,7 @@ class Serial: win32file.ClearCommBreak(self.hComPort) def setRTS(self,level=1): + """set terminal status line""" if not self.hComPort: raise portNotOpenError comDCB = win32file.GetCommState(self.hComPort) if level: @@ -215,6 +218,7 @@ class Serial: win32file.SetCommState(self.hComPort, comDCB) def setDTR(self,level=1): + """set terminal status line""" if not self.hComPort: raise portNotOpenError comDCB = win32file.GetCommState(self.hComPort) if level: @@ -224,16 +228,26 @@ class Serial: win32file.SetCommState(self.hComPort, comDCB) def getCTS(self): + """read terminal status line""" if not self.hComPort: raise portNotOpenError comDCB = win32file.GetCommState(self.hComPort) return comDCB.fOutxCtsFlow def getDSR(self): + """read terminal status line""" if not self.hComPort: raise portNotOpenError comDCB = win32file.GetCommState(self.hComPort) return comDCB.fOutxDsrFlow + def getRI(self): + """read terminal status line""" + if not self.hComPort: raise portNotOpenError + raise NotImplementedError + def getCD(self): + """read terminal status line""" + if not self.hComPort: raise portNotOpenError + raise NotImplementedError #Nur Testfunktion!! if __name__ == '__main__': |