This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC26X2R1: BLE mesh node elements and models configuration.

Part Number: LAUNCHXL-CC26X2R1
Other Parts Discussed in Thread: SYSCONFIG

Hi TI,

 1)     I have configured elements to my Mesh node using syscfg.  And some models to each element.   

I see that same configurations have not reflected on the node side when I have connected after flashing and setting up using Host PC tool.

       

I see only one element and 5 models to that particular element.

Can you please tell me what might be the issue or anything additional to be done for having multiple elements.

2)Consider a scenario I have transferred a message from particular mesh node(source say unicast 0002)  to particular node(destination say uincast 000F) now how does the source node(0002)  knew that the it's intended destination has received the message sent. Is there any acknowledgement process there.

3) what is maximum size of a message cache list on particular node. Please specify some number instead of factors involved.

4) What is the number of packets that can be pushed into a network at a time by a node or into the network?

  • Hi,

    I have assigned an expert to help with your query. In the meantime, can you provide the SDK version you are using?

    Best Regards,

    Jan

  • And one more question what is maximum size of a message cache list on particular node. Please specify some number instead of factors involved.

  • Hey Manikanth,

    Thanks for posting. Here's some feedback on your questions.

    I see that same configurations have not reflected on the node side when I have connected after flashing and setting up using Host PC tool

    I will have to look into this and follow up tomorrow. Upon initial tests, I was able to add 2 elements and see the change on the mobile app side using the embedded solution (not the Host PC tool). Can you try reducing the number of models to see if it comes up? Additionally, you can try to reset the network in the app and try the provisioning again just to ensure there isn't any stale info being pulled by the app (although I admit I don't suspect this to be an issue).

    3) what is maximum size of a message cache list on particular node. Please specify some number instead of factors involved.

    The message cache size has a max that is configurable in SysConfig. By default, it is set to 10. Navigate to SysConfig>BLE>BLE mesh>Network Layer Configuration to set this parameter. I apologize for not being able to go into specifics as to the true maximum, there is simple not a clear cut answer. In this case, the maximum will depend on how much space is needed for the application and the specific node configuration chosen.

    4) What is the number of packets that can be pushed into a network at a time by a node or into the network?

    Bluetooth Mesh works by managed flooding. So technically, I don't think there is a limit to the number of messages that can be sent to the network. There are mechanisms to control the flooding of messages in the network, like the TTL (time to live) parameter. There's some useful info posted by the SIG here.

    I will try to follow up soon with more information, I hope that's ok.

  • For mesh_init and choosing UUID I have used Host PC tool that Mesh_App_python script which we have discussed in the previous posts. Now you have mentioned some embedded solution can you please tell me what it is.

    Now coming to the aspects of elements. I have tried reducing models in element 0 restricting it to 3 models vendor, Generic OnOff Server &client but there is no update on the app side.I have reset the network and again provisioned it still the same.

    Just to give you better clarity I have aslo attached .syscfg file line where the elements description is given.

       

    Then comes adding the elements element 0 with 3 models and element 1 with 1 model I have configured but no replication on the app side.

    W.r.t cache you have mentioned number of cache messages but what is the size of each cache message can be just out of interest?

  • Hey Manikanth,

    To follow up on this question:

    2)Consider a scenario I have transferred a message from particular mesh node(source say unicast 0002)  to particular node(destination say uincast 000F) now how does the source node(0002)  knew that the it's intended destination has received the message sent. Is there any acknowledgement process there.

    This depends on the type of message, and whether or not the source node (0002 in your example) has subscribed to any updates. Some messages are unacknowledged, others are. If you are using a SIG defined model then this will be listed in the specification for that model.

    For mesh_init and choosing UUID I have used Host PC tool that Mesh_App_python script which we have discussed in the previous posts. Now you have mentioned some embedded solution can you please tell me what it is.

    The embedded solution is the same example as simple_mesh_node, with Network Processor Mode turned off.

    Can you clarify which mobile app you are using for testing?

    W.r.t cache you have mentioned number of cache messages but what is the size of each cache message can be just out of interest?

    Take a look at Mesh/zephyr/subsys/blueetooth/mesh/net.c where the network cache is defined as msg_cache[]. It stores the source address as well as the last 17 bits of the sequence number to track message duplicates.

    Hope this helps. I will look into your questions regarding the elements next.

  • In the above I have used nRF mesh android,

    This is TI simplerLink Starter application android

             

    This is SiLabs Bluetooth Mesh android application.

    All the three its same I have reset the network and tried thrice to check where it is going wrong still I get the same elements and models with no changes.

    But without Network processor mode on how can we make the mesh_app python script  able to work with and make the node advertise can you explain in detail what does this embedded solution is and how to use it.

    If it is ok can you please send your HEX files compiled with Network processor mode so that I can check whether it is an issue on myside or something else.

  • Hey Manikanth,

    After taking a look at the python app, it looks like that application fixes "elem_count=1" in the out of box demo. You can search for "mesh_init_unprovisioned_beacon" and you will find the call to "mesh_comp_data_init" where this gets set. This can certainly be modified as you expand on the application. What you're seeing is likely not an issue, rather by design.

    can you explain in detail what does this embedded solution is and how to use it.

    The embedded solution is: simply import simple_mesh_node example to your IDE. Open SysConfig and uncheck the Network Processor Mode. You will not need mesh_app_python in this approach. On the embedded side, you will need to open a serial terminal and use the right and left buttons on your Launchpad to navigate the menu. For this solution, when you make updates in SysConfig to add an element, you will not run into the limitation of the erpc example since erpc is not enabled. I will drive this limitation with our team internally so that the changes made in SysConfig are reflected on the embedded side. 

  • Thank god finally, it is going good Ammar  thank you so much for constant support, I request you to rectify all these things in the new SDK release from TI side so that it wont take much time for people to execute things and please provide proper README files in the examples with thorough explanation.

    I have further doubt I will raise it in a new thread.

  • Thanks for the feedback. I will file some tickets to cover the gaps we've discussed in this thread and bridge the gap in our documentation.

    The mesh_app_python was designed to configure nodes if the simple_mesh_node project is configured for Network Processor Mode. This means that any change to SysConfig will not necessarily be reflected when using the mesh_app_python based example.