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

Multi-byte state values

My team was looking to transfer a 20-byte value (or 'message') between a mesh client and server, what is the best way to achieve this? I have practiced with the light_switch and dimming demos for Mesh, but we are not sure how to expand to a larger state size

How do you recommend to transfer this 20-byte message from the client to server?

  • Hi Justin, 

    When the payload is over 11 bytes, the package is automatically transferred using SAR (segmented and assembly) packets. On the model/application layer you don't need to do anything to send longer payload size. 

    Please read more about the SAR packets in the Bluetooth Mesh spec. Especially this discussion: 

  • Thank you for the clarity here, this cleans us up back into motion quickly, I appreciate the detail in your response!

    We are on entry to mesh now and stumbled a little, SAR is a sensible and clear solution this works very well

  • I found this useful -

    Lower Transport Layer: (loc)

    The lower transport layer takes PDUs from the upper transport layer and sends them to the lower transport layer on a peer device. Where required, it performs segmentation and reassembly of PDUs. For longer packets, which will not fit into a single Transport PDU, the lower transport layer will perform segmentation, splitting the PDU into multiple Transport PDUs. The receiving lower transport layer on the other device, will reassemble the segments into a single upper transport layer PDU and pass this up the stack.

    thanks!

Related