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

Mesh-BLE Coexist Issue

Hello,

I am having issues integrating mesh functionality into a preexisting BLE project.

My project is based around an nRF53832, with SoftDevice S132 and uses nRF5_SDK_17.0.0_9d13099. At this stage, I'm simply trying to add SDK for Mesh v5.0.0 files to the project and get the thing to build successfully; however, I keep getting the following error message: 

After following the instructions found here, I added all the relevant paths (including mesh/core/api where nrf_mesh.h from the error message is found) to the user include directory list and followed the rest of the instructions (adding source files and macros etc.).

I suppose my questions are: 

  • Are the steps in the link outdated for the Mesh SDK v5.0.0?
  • Is the Mesh SDK v5.0,0 compatible with the nRF SDK v17.0.0? Or, do I need an earlier version of the Mesh SDK?
  • Are there any extra steps I may have missed that are not outlined in the link? Since I am trying to add Mesh to my own project rather than an example.

Many thanks in advance for any help given! 

Parents
  • Hi,

    Are the steps in the link outdated for the Mesh SDK v5.0.0?

    The link you referred to is for Mesh SDK v2.2.0. I would check out this for latest documentation for Mesh SDK v5.0.0.

    Is the Mesh SDK v5.0,0 compatible with the nRF SDK v17.0.0? Or, do I need an earlier version of the Mesh SDK?

    Yes, the latest Mesh SDK should be compatible with nRF5 SDK v17.0.0. But there have been bug fixes from v17.0.0 to v17.0.2, so I strongly recommend you to move to v17.0.2 instead. It shouldn't be hard moving over to v17.0.2 from 17.0.0, API and examples are the same.

    Are there any extra steps I may have missed that are not outlined in the link? Since I am trying to add Mesh to my own project rather than an example.

    I suggest you check out the link I referred to above.

Reply
  • Hi,

    Are the steps in the link outdated for the Mesh SDK v5.0.0?

    The link you referred to is for Mesh SDK v2.2.0. I would check out this for latest documentation for Mesh SDK v5.0.0.

    Is the Mesh SDK v5.0,0 compatible with the nRF SDK v17.0.0? Or, do I need an earlier version of the Mesh SDK?

    Yes, the latest Mesh SDK should be compatible with nRF5 SDK v17.0.0. But there have been bug fixes from v17.0.0 to v17.0.2, so I strongly recommend you to move to v17.0.2 instead. It shouldn't be hard moving over to v17.0.2 from 17.0.0, API and examples are the same.

    Are there any extra steps I may have missed that are not outlined in the link? Since I am trying to add Mesh to my own project rather than an example.

    I suggest you check out the link I referred to above.

Children
  • Hi,  apologies for the delay in this response.

    I appreciate your input so far, they were great suggestions, and I took on board all the points you made but I am still seeing the same issue, unfortunately.

    I have a few follow up questions (Apologies in advance, I think these are quite trivial):

    • Where it says "Add the following preprocessor symbols to the nRF5 SDK example's project file" in the link you sent me. Does this refer to global macros or preprocessor definitions? I took it to be preprocessor definitions, but just to be sure.
    • Does nrf_mesh_weak.c need to be added in place of each unused .c file (/mesh feature), or does it simply need to be included once in the project in the case that any one or more mesh features are unused? 
    • More generally, are there any other typical pitfalls with coexistence that people see when adding mesh functionality to an existing project that utilises BLE? Perhaps something that's not mentioned in the above link?

    Again, many thanks!  

  • Hi,

    1. Yes, you are correct, it is referring to the preprocessor definitions.

    2. You only have to add the nrf_mesh_weak.c once. Weak functions (no matter how many) will automatically be replaced by regular functions if they are found in code.

    3. I am not aware of any other pitfalls, the documentation should cover the do's and the dont's regarding coexistence. As mentioned in the documentation, the biggest issue with coexistence is the radio time contention.

  • Thanks so much for getting back to me on this.

    The issue has disappeared; however, I can't explain why, unfortunately. I excluded all the files related to the error from my build, then compiled the project just to see what would happen - a plethora of errors took its place, but I kind of expected that because I disabled some key files. After re-enabling the files then compiling the project again, my error disappeared strangely.

  • That's strange but glad it worked out for you :)

Related