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

SDK15 long advertising and long range connect

Hello all,

    I used SDK15 and nRF52840 DK made a long range advertising and long range connected.

    I modified the ble_app_uart_c and ble_app_uart example, the long range advertising I modified is ok(the smartphone nRF connect is can't scan this device), and the ble_app_uart_c is modified ok(the central is scan this device ok).

    I modified the long range connect found in SDK14.2 I used 

    ble_opt_t  opts;

    opts.gap_opt.preferred_phys.tx_phys = BLE_GAP_PHY_CODED;

    opts.gap_opt.preferred_phys.rx_phys = BLE_GAP_PHY_CODED;

    sd_ble_opt_set(BLE_GAP_OPT_PREFERRED_PHYS_SET, &opts);

    I found the SDK15 has not this set.

    And in SDK15, the central and peripheral connected , and central call the sd_ble_gap_phy_update(m_conn_handle, &phy_request_params)(In SDK14.2 is sd_ble_gap_phy_request); to update the params, but the peripheral is not received the BLE_GAP_EVT_PHY_UPDATE or BLE_GAP_EVT_PHY_UPDATE_REQUEST.  in contrast, peripheral call this function ,central also not receive this event.  But central call this function themself is enter the BLE_GAP_EVT_PHY_UPDATE function. If peripheral call this function themself is enter the BLE_GAP_EVT_PHY_UPDATE function too, and in this BLE_GAP_EVT_PHY_UPDATE case printf the phys is -4(BLE_GAP_PHY_CODED), update success ?  But I used SEGGER  Embedded studio debug watch the Radio register, the MODE register is always 0 (always 1Mbps)

    So I have some question,

    1. How to achieve long range connected?

    2. I used long range advertising (BLE_GAP_PHY_CODED)  I want to know the send connect request(ble_app_uart_c) is used 1Mbps or 125kbps ?Whether could I modified the send connect request used physical channel?

    3.Except used SEGGER  Embedded studio debug to watch the Radio register whether I could used software printf this register to see the value?

    4. Call the sd_ble_gap_phy_update() is modified the physical channel is for themself or Both sides?

    5. I see the central is could receice the extend advertising but the peripheral is always adv length limited?(or not used ble_advertising.c used softdevice function)

Best Regards,

Tina

    

Parents Reply Children
No Data
Related