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

Coexistence examples: SDK UART coexistence example

Greetings...

Please help me understand why PB-GATT support is removed from SDK UART coexistence example?

The dilemma I am facing is as follows:

1. No PB-GATT for SDK UART coexistence example;

2. Mesh LPN supports only PB-GATT;

How can I solve this problem such that I can have a Mesh Network which supports LPN nodes provisioning?

Thank you!

M.

  • Hello,

    It is correct. The SDK coexistance uart example doesn't support PB-GATT out of the box, but it is possible to add it. Just look at how it is done in the light switch client or server examples.

    Best regards,

    Edvin

  • Hello Edvin,

    Thanks for the response. I was able to build, however, I got this error below:

    <info> app: Debug logging for UART over RTT started.
    <error> app: ERROR 4 [NRF_ERROR_NO_MEM] at ......\nRF5SDK.15.3.0\nrf5SDKforMeshv320src/examples/common/src/mesh_adv.c:147
    PC at: 0x0005C62D
    <error> app: End of error report

    What does it mean?

    1. I am out of memory?

    2. I have not allocated memory?

    3. How do I work around it?

    Thanks.

    M.

  • Try to increase NRF_SDH_BLE_VS_UUID_COUNT in sdk_config.h

    What SDK version are you using, and what is the function that returned err_code = 4 that was passed onto APP_ERROR_CHECK(err_code) before line 147 in mesh_adv.c. Was it sd_ble_gap_adv_set_configure()?

    If so, it says on line 1802 in ble_gap.h (the description of sd_ble_gap_adv_set_configure() ):

    * @retval ::NRF_ERROR_NO_MEM                          Not enough memory to configure a new advertising handle. Update an existing advertising handle instead.

    How are you including the PG-GATT service? Do you add a new advertising set, or just add the service?

  • Hi Edvin,

    What you said above is true. Below is the call stack trace for your reference:

    As for your question: "How are you including the PG-GATT service? Do you add a new advertising set, or just add the service?"

    It is beyond my ability to answer for now since I just started working  with nRF for about couple weeks. But I am sure you may figure it out from the call stack above. My guess is that the code is trying to add the service to an existing advertising set, since we do have an advertising set to support the standard PB-ADV already in the coexistence example.

    If "Not enough memory to configure a new advertising handle", will it make more difficult to create a new advertising set?

    I tried increase NRF_SDH_BLE_VS_UUID_COUNT = 4, it gave me the same error.

    Was this an educated guess? Please feel free to correct me...

    I appreciate your help!

    M.

  • Hi Edvin,

    I understand that having both PB-ADV and PB-GATT is a luxury...Will it be possible for future Mesh SDK supports dynamic provisioning? Either based on initial configuration or signal sensing, to support one instead of both to save valuable resources?

    Just a layman's thought...

    Thanks.

    M.

Related