[pyserial - winXP] Serial port stop receiving data after a few hours, raise no error

P

pauland80

My soft passively listen to a device sending +- 300 bytes of data each
second. After several hours of work, the soft abruptly stops receiving
data without any error, (while the device sends properly, of course)
and I need to restart it (the python soft) to "reactivate" the ports.

I read that when the serial port encounters an error (frame error or
so, I imagine?) it stop receiving data until the library function
"getCommError()" is called.

Am I on the good track? Can I call this function from my pyserial
code?

Why pyserial does'nt raise a serial.SerialException in this case?

Notes:
---------
I'm not working with plain serial ports, I use serial over USB (FTDI
or so) and serial over Ethernet (moxa.com).
I'm in 115k 8N1 and I use 4 ports simultaneously
I use python 2.4 with pyserial 2.2 on Windows XP.
<snip>



Late thanks for your both answers! (Please excuse me for that)

The problem was a bug in the device firmware.
But before finding this, I dugg lightly in the pyserial source and
found (to take with care!) :

+ getCommError(...) is (?) no more implemented in the win32 API (it
was in the win16 API) ; it is replaced by GetCommState(...) ; pyserial
use GetCommState(...) in _reconfigurePort()

+ pyserial use ClearCommError in the functions read(...) and
inWaiting(...) ; it takes somewhat different arguments than
GetCommState(...) but return the same (?) info AND clear the errors
(getcomm(Error|State) doesn't (?)).

+ the errors on the serial flow (overrun and so) seem just cleared
away and not followed to the application by pyserial.

PA

the links :
delta win 16/32 on msdn : http://msdn2.microsoft.com/en-us/library/aa383678.aspx
GetCommState() on msdn : http://msdn2.microsoft.com/en-us/library/aa363260.aspx
ClearCommError() on msdn : http://msdn2.microsoft.com/en-us/library/aa363180.aspx
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,905
Latest member
Kristy_Poole

Latest Threads

Top