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.

LAUNCHXL-CC2640R2: How to configure Launchpad cc2640r2f to achieve long range.

Part Number: LAUNCHXL-CC2640R2
Other Parts Discussed in Thread: BLE-STACK

I have 2 Launchpad boards with me, one configured as BLE5 central and other as BLE5 peripheral. I am working on requirement to achieve long range using BLE 5. Please help me out with steps to configure launchpad board for long range.

  • Hi Prashant,

    Please see the PHY chapter of the BLE5-Stack User's Guide: dev.ti.com/.../phy.html
  • Hi Marie,
    Thanks for your reply.
    I have gone through link sent by you it was informative.
    I have seen a video by Espen Wium where it is claimed 1.5 km LOS range using the same boards(one configured as central and other as peripheral).
    I have 2 queries,
    Q1: Whatever 1.5km range claimed in the video is for connected mode(Both boards connected) or non connected mode(both boards Advertising but not connected).?
    Q2: Please share me the sample code used for the demo for my reference

    Thanks
    Prashant V Achari
  • Part Number: LAUNCHXL-CC2640R2

    Hi,
    I have viewed the video of BLE 1.5Km range. I am working on requirement where i need long range using BLE 5. I have installed sdk 2.30.00.28 and configured one Launchpad cc2640R2 board as central and other board as peripheral, but didnt achieve long range(got 150m LOS). The sequence of operations i followed is as follows,
    1. Power on both boards
    2. Discover for devices using the button
    3. Connect to the discovered device
    4. select work with option
    5. select Start RSSI reading
    6. Select preferred PHY as coded
    7. Read the RSSI

    Please let me know if i am missing any sequence to configure Long range

    Thank you!

  • Hi Prashant,

    1) Connected
    2) The demo used in the video is found here: github.com/.../simplelink_sdk-1.40 (Long range demo).
    However this demo is based on SDK 1.40. In my opinion you should use the newest SDK (2.30), since this contains the certified Bluetooth 5 stack.
  • Hi Marie,
    Thanks for your response, below are my queries for your response
    1) In connected mode if range claimed 1.5km, then what range we can expect in broadcast mode..?
    2) I have installed sdk 2.30.00.28 and imported examples of simple peripheral and central from BLE 5 examples, but got range of 180m LOS in broadcast(Non-connected mode) and around 140m inn connected mode. I am using Launchpad R2 boards.
    Note: I have configured PHY of both boards to coded while testing.
    please suggest me how can i achieve longer range

    Thanks,
    Prashant V Achari
  • Hi Prashant,

    1) The range should be the same. (One factor here can be packet length, longer packets will give higher packet loss.)
    2) - I think there might be a chance that your devices are not using LE Coded PHY. Can you use Host_test+BTool as the master device, to confirm that the devices are using the LE Coded PHY?
    - Are you using LE Coded S=2 or S=8?
  • Hi Marie,
    1) Ok thanks

    2) By default the coding is s2 as seen in gap_advertiser.h file, please see below

    /// Default parameters for long range, connectable, advertising extension
    #define GAPADV_PARAMS_AE_LONG_RANGE_CONN { \
    .eventProps = GAP_ADV_PROP_CONNECTABLE, \
    .primIntMin = 160, \
    .primIntMax = 160, \
    .primChanMap = GAP_ADV_CHAN_ALL, \
    .peerAddrType = PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID, \
    .peerAddr = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa }, \
    .filterPolicy = GAP_ADV_WL_POLICY_ANY_REQ, \
    .txPower = GAP_ADV_TX_POWER_NO_PREFERENCE, \
    .primPhy = GAP_ADV_PRIM_PHY_CODED_S2, \
    .secPhy = GAP_ADV_SEC_PHY_CODED_S2, \
    .sid = 0


    in the above part of code i replaced S2 to S8 to change the coding from S2 to S8. Please confirm am i doing it right or i need to change some other parameter..?

    3) I tried changing tx power from default 0dbm to 5 dbm by replacing DEFAULT_TX_POWER 7(0dbm) with 12(5dbm) in ble_user_config.c.
    Note: Getting same current when i measured the current consumption when DEFAULT_TX_POWER was 7 and when DEFAULT_TX_POWER was 12.
    Please let me know what i need to do to change TX power.

    Thanks
    Prashant V Achari
  • Hi Marie,

      Please do reply to my queries.

    Thanks

    Prashant V Achari

  • Hi Marie,

    Please do reply to my queries.

    Thank you,

     Prashant V Achari

  • Hi Prashant,

    2) For advertising you don't have to make any other changes than changing the primPhy  and secPhy parameters of the advertising parameters.

    For the connection to use LE Coded PHY you need to change the supported PHYs of the devices, as well as change what PHY the master device is scanning on and forming the connection on.

    3) Please use HCI_EXT_SetTxPowerCmd() to change the output power.

  • Hi Marie,

         2) Thanks i will try out and will let you know.

         3) Please provide me a sample code as to how to use  HCI_EXT_SetTxPowerCmd() .

    Thanks,

        Marie

       

  • Hi Prashant,

    You can fin documentation for HCI_EXT_SetTxPowerCmd() in the BLE-Stack API Guide ( dev.ti.com/.../group___h_c_i.html )
  • Hi Marie,

          2) How to configure S2 and S8 coding in simple peripheral code?. I mean please tell me which function/macro/variable i need to call/set to change PHY coding from S2 to S8 and vice versa.

    Thanks 

      Prashant V Achari

  • Hi Prashant,

    Please see the PHY chapter of the BLE5-Stack User's Guide: dev.ti.com/.../phy.html