For two years or so, I have been using successive versions of
SynaSer in a Windows 7/64 PC application that communicates with an
Arduino Mega2560. The application has run continuously almost all
that time. Communication (9600, 8, N, no flow control) uses only the
Connect, Config, SendByte, SendString, and RcvPacket calls.
Every so often, averaging about once a day, communication freezes,
with persistent timeouts in SendBuffer. I can detect a freeze by
using a timer interrupt on the PC, but I don't know what I can then
do to recover under program control. Restarting the application
doesn't help, nor does rebooting the Arduino. The only ways to
resume operation of the application are
* to reboot the PC, or
* In the Windows Device Manager, to Disable and then re-Enable
the affected port.
My first choice would of course be to eliminate the freezes, but
they are sufficiently rare that I am pessimistic about figuring out
what is causing them. I'd be satisfied to find a way to add to the
application some new code that might, as needed, imitate the Device
Manager's Disable/Enable sequence. My knowledge of Windows internals
is not sufficient to do this. Can it be done using the existing
apparatus of SynaSer?
Robert R. Fenichel, M.D.
reply to b...@fenichel.net
see also http://www.fenichel.net
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
synalist-public mailing list
synalist-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synalist-public