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

nRF52832 s132 SDK15 - Scan not working with ble_connectivity over uart

Hi,

I am trying to build the ble_connectivity code "ble_connectivity/pca10040/ser_s132_uart" to test the serialization part. The scan is not working. I am using PCA10040 board(same board is working fine with other ble application) to check the BLE connectivity over uart using serialization.   

I didn't see anything apart from this call nrf_sdh_enable_request(). Do we need to do anything explicitly to enable BLE and soft-device? Am I missing anything here?

 If so, why is this example not included this part?

My exception is that, I should be able to receive scan results , If I (1) connect PCA10040 to host over uart (2) flash the  "ble_connectivity_s132_uart_pca10040.hex" and (3) Run my serializer application my embedded host. Correct me if my understanding is wrong.

I am using nRF5_SDK_15.0.0_a53641a, armgcc, PCA10040 board, s132 SD, Ubuntu16.04 as build environment  and serializer is running on ARM based target with ubuntu.   

Br,

GGotta

  • Hi, you should check out the pc-ble-driver. It provides the connectivity FW and examples on how to use it. You can interface it directly through C, or using the nodeJS or python wrappers.

  • Dear Stian / Nordic Team,

    Thank you for the response.

    I am sorry, it didn't answer my question. The sample in pc_ble_driver is working fine, tried to run the test code, but we have our production software running the serializer, so may not possible to switch on to pc_ble_driver at this point. Although this takes good amount of effort to move, just to know more: (1) Does ps_ble supports all the functionalities in the SDK15/v6.x.x APIs? (2) Is there any significant value addition?

    Having said that, as of now serializer on nRF52 with SDK15 is my first priority. Is there any known issues in SDK15 examples. your inputs would help us to move further.

    "ser_s132_uart" is working in SDK14 with below calls in main.c:

    
    
     err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &ram_start);
     err_code = nrf_sdh_ble_enable(&ram_start);
    AND with below config:

    #define NRF_SDH_BLE_PERIPHERAL_LINK_COUNT 0

    #define NRF_SDH_BLE_CENTRAL_LINK_COUNT 1

    #define NRF_SDH_BLE_GAP_EVENT_LENGTH 320

    #define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247

    #define NRF_SDH_BLE_VS_UUID_COUNT 4

    Why should we change anything on top of the example given? they expected be working fine as the are, is't  it? Did I pick a wrong example?

    Br,

    Govind

  • Hello Govind,

    Stian is out of office.

     

    May I suggest that you try to run one of the simpler examples from SDK15 in serialization, just to find the source of the issue.

    If you have two DKs, you can try to program one with the ble_connectivity firmware and the softdevice s132, and the other with e.g. 

    SDK15\examples\ble_peripheral\ble_app_hrs\pca10040\ser_s132_uart

    And connect it like explained here.

    If that works, you know that you have a setup that works.

     

    Then you can try to run the SDK\examples\ble_central\ble_app_hrs_c\ser_s132_uart and see if that also runs fine, still using a DK as the application chip. If it does, proceed to run these projects from your embedded host. Does that work?

     

    Best regards,

    Edvin

  • Hi,

    Unfortunately we have one board with us! I can't experiment this part now!

    Or if you are sure from your side that the given example working for you, I will try debugging further. 

    Br,

    Ggotta

  • Hello There,

    Still I didn't get proper answer for this question. I have taken the ser_s132_uart code and rebuild the application and fleshed.

    When I try to scan below is the response;

    REQ: 12 00 00 8A 01 00 00 01 00 00 00 00 00 44 00 22 00 00 00 00

    RESP: 06 00 01 8a 01 30 00 00

    uint32_t ram_start = 0;
    err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG, &ram_start);
    APP_ERROR_CHECK(err_code);^M

    /* Enable BLE stack. */
    err_code = nrf_sdh_ble_enable(&ram_start);
    APP_ERROR_CHECK(err_code);

    /* Open serialization HAL Transport layer and subscribe for HAL Transport events. */
    err_code = ser_hal_transport_open(ser_conn_hal_transport_event_handle);
    APP_ERROR_CHECK(err_code);

    Then I got the below response: 06 00 01 8a 10 00 00 00

    Are you sure this example is validated?

Related