- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Currently using 20737tag with SDK2.0.1, we implement a mechanism by handset triggering a series of indication/confirmation
data exchange by calling bleprofile_sendIndication() in device. But unfortunately, once client tries to disconnect the link while
device is in wait state of confirmation signal after indication has been started. Then the new re-connection will fail to trigger
indication/confirmation machine again owing to that lower layer of device still recognizes as waiting of confirmation state.
Is there any BLE API to reset 737tag's indication/confirmation state machine or reset; otherwise it can be a problem like this.
Solved! Go to Solution.
- Labels:
-
Debug
-
MasterSlave
-
SDK 2.X
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In your connection_down() callback function, try this:
void application_conn_down(void)
{
// ... all other connection down.
extern void leatt_timeoutCallback( UINT32 );
leatt_timeoutCallback(0);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In your connection_down() callback function, try this:
void application_conn_down(void)
{
// ... all other connection down.
extern void leatt_timeoutCallback( UINT32 );
leatt_timeoutCallback(0);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Arvinds,
That function works and thx a lot.
BTW, from SDK 2, i only see API notes in bleprofile.h but can not find any
other API note like leatt_timeoutCallback() or other useful functions for app. designers.
Is there any doc. related or notes about BLE stack api.? Thx.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Arvinds,
I got similar case that indication is failed to send out even the api 'bleprofile_sendIndication' has been called in our retry logic.
My device is connected to one client, and sending some sensor information periodically via indication.
From the sniffer side, it shows the evidence of no indication is found even function 'bleprofile_sendIndication' is called several times in 20737 device. And it won't be recovered until reset to device.
Will this be probably same chaos happen at controller side?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
It turns out that we got this similar case under the same 'disconnection' scenario.
So, this workaround works for us as well.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, hardy,
Then we can discuss some problems which we meet currently for the next step.
Nice to meet u.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi arvinds and leo,
Got to come back to this issue.
Will this function 'leatt_timeoutCallback(0);' is also required (or ok) for 20737 as being an central role that is disconnected from peripherals?
I still have similar issue, which is 20737 is not able to connect to peripherals sometimes.
Even I add same function call as highlighted in bold as below, but it doesn't help.
Any comment from this?
here is some code snippet from my side:
if (dev_info [conn_idx].role == RBS_ROLE_SLAVE)
{
leatt_timeoutCallback (0); // workaround for report from http://community.broadcom.com/message/6856#6856
}
else
{
leatt_timeoutCallback (0); // workaround for report from http://community.broadcom.com/message/6856#6856
}