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/

Reply via email to