This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to understand the data linker layer and physical layer in the Mesh network?

Hi There,

I have a question now. If I want to alter the frame format in the data linker, how do I do? 

I try to find the source code of the data linker layer in the Mesh SDK, I cannot find it. I just find the bearer layer. 

Could you help me answer the question?

Best regards,

Gaosheng Liu

Parents
  • Hi,

    Few (if any) network specifications follow the OSI model completely, and Bluetooth mesh is no exception. What corresponds to the data link layer from the OSI model would be a combination of the bearer layer, some of the underlying BLE specification, and maybe even some of the network layer.

    The bearer layer consists of two options for bearer: BLE advertisements (ADV bearer) and BLE connections (GATT bearer). The format used follows the Bluetooth specification for those options. Changing this may be difficult, in particular the GATT bearer which uses the precompiled BLE stack (that we call "SoftDevice") which cannot be altered.

    Further, changing any part of the Bluetooth mesh stack will void the qualification.

    What is the purpose of changing anything in the bearer layer? Maybe there are other ways to achieve the same goal.

    Regards,
    Terje

  • Hi Terje,

    Can you help me? I have an emergency. How can I get the source code of the data linker layer? 

    Regards,

    Gaosheng Liu

  • Hi,

    If you are looking for the advertising packet itself, then the mesh stack uses its own implementation (it does not use the SoftDevice for that.) The data structure is packet_t found in packet.h. There is a folder <sdk_root>/mesh/bearer/src where all the source files for the bearer layer can be found. If, at any point, you see SoftDevice API calls, then the code performed by the SoftDevice is closed source and not something we share. The mesh stack part of things, however, are all to be found under <sdk_root>/mesh/

    Regards,
    Terje

Reply
  • Hi,

    If you are looking for the advertising packet itself, then the mesh stack uses its own implementation (it does not use the SoftDevice for that.) The data structure is packet_t found in packet.h. There is a folder <sdk_root>/mesh/bearer/src where all the source files for the bearer layer can be found. If, at any point, you see SoftDevice API calls, then the code performed by the SoftDevice is closed source and not something we share. The mesh stack part of things, however, are all to be found under <sdk_root>/mesh/

    Regards,
    Terje

Children
No Data
Related