I'm using the Serial manager to establish a serial connection to a
proprietary device that doesn't provide any flow control.  I'm testing on
different palm devices and found that my application works on some and
doesn't work on others.  For example it works on a Palm Vx, T2, and Zire71
but fails to work on a m515 and T3.

I've discovered that the models that work show pin-8 (RTS) toggled low, and
the models that fail to work show it high.  I'm able to get the models that
fail to work by jumping pin-8 to pin-7 to fake it into thinking the CTS bit
is toggled on.  This tells me that it's still trying to use flow control
even though I said not to.

Here's the connection code, nothing too exciting:

Err rc = Open(serPortCradlePort, 19200);
if (!rc)
{
    // Explicitly set the serial port control settings
    //  8 BitPerChar
    //  1 StopBit
    //  0 Parity
    //  No Flow control
    //  No Hardware Handshaking (RTS/CTS)
    UInt32 flags = srmSettingsFlagBitsPerChar8 |
                   srmSettingsFlagStopBits1;
    UInt16 flagsSize = sizeof(flags);
    rc = Control(srmCtlSetFlags, &flags, flagsSize);

Has anyone seen this before, or have any insight as to why different
hardware models behave differently?  Is there anything I can do in software
to work around it?

Thanks in advance

================================
Steven Pomerleau



-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to