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

Get no response from connectivity program running on custom board with pc-ble-driver hrc v5 example host

Hi, 

I'm expecting using a custom board with nrf52832 running connectivity program as a host to connect to the perpheral, and the hrc v5 example of pc-ble-driver is used as the pc host.

When trying to connect the pc program hrc_v5 to the board, the message (maybe just the first few bytes) can be reicived by the custom board, but the custom board just never response.

The SDK version used is 14.2.0. PC host progaram compiled with VS2017.

Did I missed anything? Or the custom board is just not supported by the connectivity ( as I've seen the uart is connected to the interface MCU but there's no such MCU on my custerm board)

Any comments are appriciated

Parents
  •  

    Hi Seven,

    Can you confirm that you have connected RTS and CTS?

    Have you modified the connectivity firmware to fit your custom board?

    Like using the correct version , which comes with the pc-ble-driver "hex-folder". (It's a patch-file there which you have to run on the SDK example)

    For example, choose the correct one according to your SoftDevice.

    (you can find that through the "tags"-tab:)

     

    (If you are using nrf52832 you can use the project : examples/connectivity/ble_connectivity/pca10040/ser_s132_hci )


    1. Download the correct version of the SDK

    2. Use the .patch file in "pc-ble-driver/hex" (to get the patched version of connectivity)

    3. Do the necessary changes based on your custom card. (Change to BOARD_CUSTOM instead of PCA10040, and change what suits your card (crystals, pins etc.))

     

Reply
  •  

    Hi Seven,

    Can you confirm that you have connected RTS and CTS?

    Have you modified the connectivity firmware to fit your custom board?

    Like using the correct version , which comes with the pc-ble-driver "hex-folder". (It's a patch-file there which you have to run on the SDK example)

    For example, choose the correct one according to your SoftDevice.

    (you can find that through the "tags"-tab:)

     

    (If you are using nrf52832 you can use the project : examples/connectivity/ble_connectivity/pca10040/ser_s132_hci )


    1. Download the correct version of the SDK

    2. Use the .patch file in "pc-ble-driver/hex" (to get the patched version of connectivity)

    3. Do the necessary changes based on your custom card. (Change to BOARD_CUSTOM instead of PCA10040, and change what suits your card (crystals, pins etc.))

     

Children
  • Hi Martin,

    Sorry for bothering you again.

    Here is the schematic of my ev board, I think the RTS and CTS might be considered as connected (surely JP1s are all connected). And I do modified the connectivity code to match the board.

    Now I'm trying to follow you guide step by step but get some stupid questions (forgive me as a rookie if they do are stupid enough Disappointed)

    0. I downloaded the tag v3.0.1 as suggested, then found out the patch file, then I realized that I don't know which version of the SDK should be used as nowhere has stated this.

    1. since the patch file name is 'sdk140_connectivity.patch', so I downloaded SDK 'nRF5_SDK_14.0.0_3bcc1f7' as a zip file.

    2. when I was about to apply the patch, I suddenly realized that I don't know how to... so here is the problem, I tried to follow the step searched from web, but only found this :

        a. copied the patch file <pc-ble-driver-3.0.1\hex\sd_api_v5\sdk140_connectivity.patch> to nRF5_SDK_14.0.0_3bcc1f7\

        b. tried to apply the patch by doing this:

    Seven@DESKTOP-61IHFS2 MINGW64 /d/Projects/BT/nRF5_SDK_14.0.0_3bcc1f7
    $ git apply --stat sdk140_connectivity.patch
    .../serialization/common/ble_serialization.h | 2 +
    components/serialization/common/ser_config.h | 7 ++--
    .../transport/ser_phy/config/ser_phy_config_conn.h | 8 ++---
    .../common/transport/ser_phy/ser_phy_hci.c | 8 ++++-
    .../connectivity/ser_conn_error_handling.c | 2 +
    .../pca10040/ser_s132_hci/config/sdk_config.h | 4 ++
    examples/connectivity/ble_connectivity/main.c | 33 ++++++++++++++++++++
    .../ble_connectivity_s132_hci_pca10040.uvprojx | 4 +-
    .../armgcc/ble_connectivity_gcc_nrf52.ld | 2 +
    9 files changed, 56 insertions(+), 14 deletions(-)

    Seven@DESKTOP-61IHFS2 MINGW64 /d/Projects/BT/nRF5_SDK_14.0.0_3bcc1f7
    $ git apply --check sdk140_connectivity.patch
    error: patch failed: components/serialization/common/ble_serialization.h:166
    error: components/serialization/common/ble_serialization.h: patch does not apply
    error: patch failed: components/serialization/common/ser_config.h:66
    error: components/serialization/common/ser_config.h: patch does not apply
    error: patch failed: components/serialization/common/transport/ser_phy/config/se r_phy_config_conn.h:65
    error: components/serialization/common/transport/ser_phy/config/ser_phy_config_c onn.h: patch does not apply
    error: patch failed: components/serialization/common/transport/ser_phy/ser_phy_h ci.c:39
    error: components/serialization/common/transport/ser_phy/ser_phy_hci.c: patch do es not apply
    error: patch failed: components/serialization/connectivity/ser_conn_error_handli ng.c:101
    error: components/serialization/connectivity/ser_conn_error_handling.c: patch do es not apply
    error: patch failed: examples/connectivity/ble_connectivity/pca10040/ser_s132_hc i/config/sdk_config.h:48
    error: examples/connectivity/ble_connectivity/pca10040/ser_s132_hci/config/sdk_c onfig.h: patch does not apply
    error: patch failed: examples/connectivity/ble_connectivity/main.c:57
    error: examples/connectivity/ble_connectivity/main.c: patch does not apply
    error: patch failed: examples/connectivity/ble_connectivity/pca10040/ser_s132_hc i/arm5_no_packs/ble_connectivity_s132_hci_pca10040.uvprojx:329
    error: examples/connectivity/ble_connectivity/pca10040/ser_s132_hci/arm5_no_pack s/ble_connectivity_s132_hci_pca10040.uvprojx: patch does not apply
    error: patch failed: examples/connectivity/ble_connectivity/pca10040/ser_s132_hc i/armgcc/ble_connectivity_gcc_nrf52.ld:6
    error: examples/connectivity/ble_connectivity/pca10040/ser_s132_hci/armgcc/ble_c onnectivity_gcc_nrf52.ld: patch does not apply

     

    So by now I'm choked here, please save me Disappointed

    And one more question, there are 2 possible connectivity projects <ser_s132_uart> and <ser_s132_hci>, which one should be used?

  • Hi Seven,

    I'm more or less on the same development and integration track of Nordic products and facing the same hurdles when trying to setup  UART communication between a custom board running the PC BLE driver applic and the Nordic DK nRF5 (PCA10040) running the Connectivity applic.

    I would suggest you start from the PC BLE driver source tree from the Nordic GIT hub project.

    You don't have to download yourself the SDK. 

    So just run the windows batch file when building on Windows OS, it will download automatically the correct SDK v15 (remark this will not be the latest release of V15) and will apply the patch automatically, the build will fail as you are not using KEIL, but that doesnot matter as you will have the patched sources you can build in your preferred IDE.

    Just one important remark, the patch will adapt the UART pins to the standard ones, you will need to revert these patch changes back to the serialize UART pins: 23,24,25 and 02 at least if you are no using the standard UART of the Nordic board.

    BTW the ser132hci must be used as I depends on the H5 protocol (the protocol the PC BLE driver applic implements too)  to ensure more reliability for UART communication. 

    Good luck!

    Best regards,

    Frank

  • Hi Frank, Many thanks for your help, got so much infomation from your comments

Related