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


P

pauland80

Hello,

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.


TIA,
Paul André
 
Ad

Advertisements

T

Troels Thomsen

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.

Troels:
I think you are right


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?

Troels:
Well , you have the source, don't you ?
The serial lib has a handle somwhere.
Call getCommError with that ? Or ?

tpt
 
Ad

Advertisements

H

Hendrik van Rooyen

Hello,

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.
ooooh! - I am not sure of this, but I have heard rumours that
the USB drivers are responsible...

Its unlikely to be the Python - so far when I have had Serial
Hassles - its been either finger trouble on my part, or some
underlying thing freaking out - four ports at 115200
means a char potentially every 21 microsecs - not quite trivial.

- Hendrik
 

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

Top