Tuesday, March 15, 2011

serproxy random crashes

For those of you using serproxy.exe to convert serial IO to TCP messages for serial port communication with Adobe Flash scripts, I would avoid using a USB to Serial adapter if at all possible. Stick with the serial port on your motherboard, if you have a desktop computer that still has one.

As I found out while working on some pieces for OMSI's Design Zone exhibit, 2-4 hours of constant serial communication can cause USB to Serial Adapter drivers to raise unhandled serial port errors, thus locking serialproxy.exe, and breaking communication from the Adobe Flash Movies I created to the hardware.

If you are in a situation where you need to use a USB to Serial adapter, the next step would be to update serproxy.exe to properly use ClearCommError() to constantly clear out errors. Without this, writefile() (the function call that communicates directly with the serial port driver) will crash serialproxy.exe.