This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1352P: BLE Multiple Slave Min and Max Connection Interval

Part Number: CC1352P
Other Parts Discussed in Thread: CC2652P

Dear TI,

We have used your CC1352P Launchpad to get data from 4 CC2652P slaves. The data comes at 100Hz Freq.

I just want to know few suggestions on these points-

1. When I keep 2 Slaves at 7.5-10 ms and 2 slaves at 12.5-15 ms I get good data but if any slaves gets disconnected it never reconnects.

2. When I keep 2 slaves at 7.5-12.5 ms and 2 at 15-20 ms I only get data from 7.5-12ms slaves.

3. When I keep all slaves at 12.5-15 ms I see reconnection but I see more data loss.


I am totally confused on this connection interval point.

Can you suggest me or help me decide the best connection interval where I can get data from all slaves and the slave should reconnect once disconnects.

My Central device CC1352P has 7.5-42.5ms and we are using 1M phy.


Thank you

  • Hi Ankit, 

    Please can you tell which SDK you are using and which code examples you are using to set up this network? 

    Regards,
    Siddanth

  • Hi Siddanth,

    I am using SDK version 4.10 and I am using simple peripheral.

  • Hi Ankit,

    I get the impression you are trying to send as much data as possible? Could you elaborate on how much data you are sending?

    In situation 1 where you have a very low connection interval, it sounds like your central device doesn't have time to scan for advertisements between each connection interval. That's why peripheral devices (slaves) are not able to reconnect.

    I would recommend you to reserve at least 15 ms for scanning when the central needs to connect to devices. This means 15 ms where there is no connection interval with any peripheral device. If you are trying to send as much data as possible, you are in danger of congesting the central with connection events so I'm not sure what this would mean for you in terms of what your configured connection interval should be.

    Some resources:

    - SimpleLink Academy about BLE connections: https://dev.ti.com/tirex/explore/node?node=AGH2hymWdy6qIWpn-9Em1w__BSEc4rl__LATEST

    - Throughput demo which demonstrates how to send with highest possible throughput over BLE (one connection only): https://github.com/ti-simplelink/ble_examples/tree/simplelink_cc13x2_26x2_sdk-5.10

    Cheers,

    Marie H.

  • Hi Marie,

    As I am new to this.

    Can you please tell me the following points.

    In simple peripheral side we have Min and Max Connection interval. Do you want me to start my connection from 15ms (Min conn. Interval).

    In Simple Central side we have Two parameters where we have min and max. These are " Central Configuration Configure Central Role Settings" and "Connection Update Request Params". What shoould be the diffference between min and max ?

    Also will all 4 slaves work with same connection interval ? I am sending 100 data per slave of 22 bits per second to central device.

    That's why peripheral devices (slaves) are not able to reconnect
  • Hi Ankit,

    The central device will ultimately decide the connection interval. What you set in the peripheral application doesn't really matter. Please see the SimpleLink Academy lab on BLE Connections that I linked above to learn how this works.

    I would recommend using the same connection interval on all four peripheral (slave) devices. This will give you the best balance.

    Cheers,

    Marie H.

  • Hello Marie,

    Thanks for the support.

    Just few more doubts.

    I used min - 15ms, max - 20ms across all connection interval. I got nearly no data loss. But again reconnecting issues again.
    I tried increasing connection interval but again I see data loss in that case.

    This is the only reason I am worried about the connection interval I am using as in my case I can clearly see impacting my data.

  • Hi Ankit,

    You can use a packet sniffer to see what connection interval is being used. Alternatively, you can read it in the CONNECTION_ESTABLISHED event.

    Cheers,

    Marie H

  • Hello Marie Thanks for your reply...

    Just want to know few more things related to connection Interval in CC1352P side.

    1. What is the difference between "Central Configuration Configure Central Role Settings" and "Connection Update Request Params" ?

    Can you please help me know both of these?

  • Hi Ankit,

    "Central Configuration Configure Central Role Settings" are used when forming a new connection.

    If desired, either the peripheral or the central device can send a connection parameter update request. The central decides whether it's accepted. You can see this beeing sent in the SimpleCentral_doConnUpdate() API in simple_central.c.

    Cheers,

    Marie H.