This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Hi, Do the S140 version 6.1.1 SoftDevice does have full support for S=2(500 kbps) ?

if yes how can i choose between S=2 and S=8, where the change should take place, at the advertising init ?

Parents
  • Hi.

    SoftDevice S140 version 6.1.0 is able to receive at 125 kbps (S=8) and 500 kbps (S=2). But it can only transmit at 125 kbps (S=8).

    These rates are fixed, you only have to set your scanning or advertising phys to BLE_GAP_PHY_CODED,

    Like this in nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_blinky\main.c :

    Line 256:
    adv_params.primary_phy     = BLE_GAP_PHY_1MBPS;
    
    Change this line to:
    
    adv_params.primary_phy     = BLE_GAP_PHY_CODED;

    For scanning, you should for example in nRF5_SDK_15.2.0_9412b96\examples\ble_central\ble_app_gatts\, edit scan_phys in m_scan_param in main.c

    FROM THIS:
    
    /**< Scan parameters requested for scanning and connection. */
    static ble_gap_scan_params_t const m_scan_param =
    {
        .active        = 0x01,
        .interval      = NRF_BLE_SCAN_SCAN_INTERVAL,
        .window        = NRF_BLE_SCAN_SCAN_WINDOW,
        .filter_policy = BLE_GAP_SCAN_FP_WHITELIST,
        .timeout       = SCAN_DURATION_WITELIST,
        .scan_phys     = BLE_GAP_PHY_1MBPS,
    };
    
    TO THIS:
    
    /**< Scan parameters requested for scanning and connection. */
    static ble_gap_scan_params_t const m_scan_param =
    {
        .active        = 0x01,
        .interval      = NRF_BLE_SCAN_SCAN_INTERVAL,
        .window        = NRF_BLE_SCAN_SCAN_WINDOW,
        .filter_policy = BLE_GAP_SCAN_FP_WHITELIST,
        .timeout       = SCAN_DURATION_WITELIST,
        .scan_phys     = BLE_GAP_PHY_CODED,
    };

    Best regards,

    Andreas

  • Hi AndreasF , the ble central change worked , but the the ble peripheral didn't.

    the change in ble app blinky causes the sd_ble_gap_adv_set_configure() function to return error code 7 , think it is a NRF_ERROR_INVALID_PARAM

    what should i change also to make this works for the central and the peripheral ?

  • Hi.

    I can't compile neither of these projects, and I don't see that you have called sd_ble_gap_adv_set_configure() in either one of them.

    Best regards,

    Andreas

  • Hi,

    thanks for your reply

    in order to compile these projects you need to add them to the SDK 15.2 as the other examples.

    the function : sd_ble_gap_adv_set_configure() is called by ble_advertising_init() that called by the advertising_init() in main.c

    I appreciate your help

    Best regards

    Jawad

  • Hi.

    I was able to compile the projects in SDK 15.0, and debug them. But I did not get any errors, here is my output:

    Central:

    <info> app: BLE UART central example started.
    <info> app: ADV. report
    <info> app: ADV. report
    <info> app: ADV. report
    <info> app: ADV. report
    <info> app: ADV. report
    <info> app: ADV. report
    <info> app: ADV. report
    <info> app: Connecting to target 914819FB65EE
    <info> app: Connected to target
    <info> app: RSSI : -35 dBm
    <info> app: ATT MTU exchange completed.
    <info> app: Ble NUS max data length set to 0xF4(244)
    <info> app: Discovery complete.
    <info> app: Connected to device with Nordic UART Service.
    <info> app: RSSI : -25 dBm
    <info> app: RSSI : -36 dBm
    <info> app: RSSI : -26 dBm
    <info> app: Disconnected.
    <info> app: ADV. report
    <info> app: ADV. report
    <info> app: Connecting to target 914819FB65EE
    <info> app: Connected to target
    <info> app: RSSI : -24 dBm
    <info> app: ATT MTU exchange completed.
    <info> app: Ble NUS max data length set to 0xF4(244)
    <info> app: Discovery complete.
    <info> app: Connected to device with Nordic UART Service.
    

    Peripheral:

    <info> app: Debug logging for UART over RTT started.
    <info> app: Connected
    <info> app: Data len is set to 0xF4(244)
    <info> app: Debug logging for UART over RTT started.
    <info> app: Connected
    <info> app: Data len is set to 0xF4(244)
    

    Is the problem still NRF_ERROR_INVALID_PARAM? I'm a bit unsure what the problem is now.

    Best regards,

    Andreas

  • Hi , now there is no problem regards the range I get after testing Long Range

    In long range I got 75 meter range between two ntf52840 ...

    In normal with BLE_GAP_PHY_1MBPS I got the same range ( 75 meters )

    Is there any problem with the code ?

    Regards

    Jawad K

  • Hi.

    I don't think you have configured the PHY correctly then. Can you use a sniffer to sniff for BLE packets? They should be marked with CODED_PHY if they are CODED_PHY.

    The worst case range you should expect in open air is atleast double distance from BLE_GAP_PHY_1MBPS

    Best regards,

    Andreas

Reply Children
No Data
Related