I would like to speed up my serial communication. For the moment, it works, but it takes 20 seconds to transfert 100 strings from PC to Palm Tungsten (through cradle on serial)
To open the port, I do an ExtOpen, change the params, and set receive buffer :
===================================================
config.baud=115200;
config.function=serFncUndefined;
config.drvrDataP=NULL;
config.drvrDataSize=0;
config.sysReserved1=0;
config.sysReserved2=0;
SrmExtOpen(
serPortCradlePort,
&config,
sizeof(config),
&port);Int32 sett=
srmSettingsFlagStopBits1 |
srmSettingsFlagBitsPerChar8;
UInt16 size=sizeof(Int32);
SrmControl(port,srmCtlSetFlags,&sett,&size);UInt8 *sync_buf=(UInt8 *)MemPtrNew(4096); SrmSetReceiveBuffer(port,sync_buf,4096); ===================================================
Of course I set the same params on the PC : same speed, 1 bit stop, 8 bit data, and no parity, no control.
To exchange data, I simply receive bytes with SrmReceiveWait/SrmReceive, then send an aknowledge single byte = 1 with SrmSend
It appears that if I set the timeout to 20 ticks, communication will stop before end (no data received within the timeout). If the timeout is 40 ticks, the communication goes until the end, but it is so slow !
I'm not an expert in serial comm, thanks for any information about speed.
PS: I do send acknowledge byte to be able to work with slow devices like previous palms. A non acknowledged data sent did not work on palm515 while it worked on palm tungsten.
-- Riccardo Cohen
Articque Les Roches 37230 Fondettes France web = http://www.articque.com tel: +33 02 47 49 90 49 fax: +33 02 47 49 91 49
-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
