I've got a strange problem I can't figure out: T3 and Zodiac devices are
hanging (needing a soft reset) after receiving characters from raw IR
when I have an outstanding SrmPrimeWakeupHandler.
The same code works on most devices: all before Palm OS 5, the Zire 31,
etc. It's only the T3 and Zodiac that I see this on. I can receive
characters just fine if I don't use a wake up handler.
Here is what the code looks like:
// prime the wake up handler
err=SerSetWakeupHandler(serRef, serialWakeupHandler, (UInt32) &gSerialState);
err=SerPrimeWakeupHandler(serRef, 1);
// The wakeup handler. As far as I can tell, this never gets called: the
crash happens first.
void serialWakeupHandler(UInt32 refCon) //03.06.02 GH
{
Boolean *serialStatePtr = (UInt8 *) refCon;
//dbug("serialWakeupHandler");
*serialStatePtr = kSerialWaitingForData;
EvtEnqueueKey('S', 1, commandKeyMask); //2004.10.06 GWH magic values
used in keyDownEvent
EvtWakeup();
}
Any ideas of what it might be or interesting things I could try?
George Henne
NS BASIC Corporation
http://www.nsbasic.com
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/