I solved the problem finally, and it was caused by not
providing enough credits to the slave IR device.
Here's what I did to fix the problem:
1. When making a TinyTP connect request I passed an
initial credit value of 1.
Example: if (IrConnectReq(irRefNum_, &irConnect_,
&irPacket_, 1) != IR_STATUS_PENDING)
{...}
2. Whenever I receive the LEVENT_DATA_IND event, I
immediately give 1 credit to the slave IR device.
Example: (code snippet)
void IrCallback(IrConnect *connect, IrCallBackParms
*parms)
{
switch(parms->event)
{
case LEVENT_DATA_IND:
// give 1 credit to the slave IR device
IrAdvanceCredit(&irConnect_, 1);
// >> Process received data
//
break;
}
}
--- Adam Plasun <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I've been working on a program that
> communicates to an ACTiSYS IR interface,
> using the TinyTP service. My program
> sends and receives data very well until
> it reaches around 5k of data. Then the Palm
> suddenly stops receiving data and times out. I've
> checked the flow of data and the ACTiSYS device
> receives my requests but no response is sent back,
> or
> maybe a response is sent but not received on the
> Palm
> end. I looked everywhere and I can't figure out
> the
> problem. It always stops in the same spot (around
> 5k of data transmitted). I guess it would help if
> I
> was an expert in IrDA but I'm not. I've read
> somewhere that maybe the problem is caused by TinyTP
> credits, but I don't know how-to or when or what to
> do
> with these credits (IrAdvanceCredit()???).
>
> If anyone knows how to solve this problem I would
> greatly appreciate it. Thank you in advance for
> your response,
>
> Adam Plasun
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/