[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Sv: [bluetooth-dev] flow control



Hi Mandana,

If your processor is not fast enough handling data from the BT module, there is no other way than doing flow-controll on the HCI level.

I am not familiar with Axis' protocol stack, but I have done flow-control in the direction host controller -> host. This is how to do it:

When you initialize the BT modul, tell the module the size and quantity of you ACL and SCO buffers. This is done by a call to 
- Host_Buffer_Size() (see 4.7.41 in spec)

and enable flow-control:
- Set_Host_Controller_To_Host_Flow_Control() (see 4.7.40 in spec)

Now you have enabled flow-control in that direction, and have to tell the module when you have processed the contents of your ACL/SCO buffers. If you have f.ex. 10 ACL buffers, notify the module everytime you have processed 5 buffers. This is done by a command called:
- Host_Number_Of_Completed_Packets()  (see 4.7.42 in spec)

That should do it

/Michael


----- Original Message ----- 
From: Mandana Amiri <mamiri@xxxxxxx.com>
To: <bluetooth-dev@xxxxxxx.com>
Sent: Wednesday, June 06, 2001 10:13 PM
Subject: [bluetooth-dev] flow control


> 
> 
> Hi,
> 
> I have an embedded application running axis stack on Ericsson and trying to
> receive a file from DigiAnswer PCMCIA running neighborhood software.
> 
> My embedded application is slow in processing the recieved data and I want to
> use flow control to tell the other side to slow down the transmit, so I can
> process my data.
> I tried to use host_nbr_completed packets, but this is in HCI level. My question
> is how can we notify the lower layers to slow down from a higher layer like
> RFCOMM or application layer?
> 
> mandana
> 
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe bluetooth-dev" in
> the body of a message to majordomo@xxxxxxx.com

-
To unsubscribe from this list: send the line "unsubscribe bluetooth-dev" in
the body of a message to majordomo@xxxxxxx.com