I am designing/developing a wireless telemetry network, using a QNX box as
the network controller. I communicate with a RF controller card using a
serial port. We are running a full duplex protocol at 57,600 baud using
hardware handshaking, with messages being acknowledged in both directions.
On average, we will be transmitting well over 100,000 packets per hour (each
with a payload of 30 to 40 bytes. I have completed development of the
RS-232 protocol, but I have noticed that after running for a few days
flawlessly, my program simply stops working.
When I go to debug the application, I notice that the inbound thread is
blocked on “readcond()”, yet the computer’s RTS signal to the RF Controller
card is not asserted, thereby prohibiting the card from sending data to the
computer. I am using TX, RX, RTS and CTS signals as well as FG. I have
even tried tying DSR, DCD and RI to the computer’s DTR output to see if the
“floating” signals were causing any problems.
Does anyone understand the exact workings of the devc-ser8250 driver? I
suspect that the hardware handshaking is causing problems.