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

SDK for Mesh v2.0.1: Has anyone integrated into a sample app?

Hi

Let us say I wanted to integrate mesh capability into one of the existing GATT based sample apps - like say "ble_app_hts" so that I could publish the temperature over the mesh via a custom model and add GATY_PROXY capability.

That means softdevice ble events have to be fed into the mesh stack.

The current light switch proxy sample app uses "NRF_SDH_SOC_OBSERVER" to register a handler for ble events and I frankly do not understand how that works - complicated by the fact that I using Keil and not Segger IDE. 

My problem is related to this because when I try to provision using the iOS app it gets to 25% and then nothing more happens.

My guess is that soft device events are not getting to the mesh stack.

 

Basically I am trying to make things work without using NRF_SDH_SOC_OBSERVER so I need to explicitly feed softdevice events to the mesh. But frankly none of that is make clear

Look forward to hearing from you and my thanks in advance

Best regards
Mahendra

  • Hi Mahendra, 

    What exactly are you doing ? Are you combining the HTS model into the light switch proxy example we have. Or are you combining the mesh + mesh proxy into the ble_app_hts ? 

     

    I actually think adding ble_app_hts into proxy example is easier. 

    For mesh to work, nrf_mesh_on_sd_evt() need to be called some way, either by SD_EVT_IRQHandler() inside mesh_softdevice_init.c or by using NRF_SDH_SOC_OBSERVER() as in the light switch proxy example. 

     

    I actually made an example of integrating mesh into ble_app_uart here. Proxy is not included in the example. The one for SDK v15 is at the bottom. You can find I defined another NRF_SDH_SOC_OBSERVER() for mesh. It's only SES for now, but it shouldn't be too hard to convert to Keil. 

    You may want to apply the patches for GATT proxy and PBGATT implemented in this demo code (inside SDK_PATCH and mesh_provisionee.c )

Related