What is the recv_rssi and recv_ttl in bt_mesh_msg_ctx?

I’m using an nRF54L15 evaluation board obtained from a distributor and currently testing transmission and reception of large data chunks. I built a vender model and a custom function that print out the RSSI and TTL of the message received using recv_rssi and recv_ttl from ctx. 

From what I understand, Bluetooth Mesh messages longer than 8–11 bytes are segmented, and the resulting segments may reach the destination via different paths—for example, one segment might be relayed while another might arrive without going through a relay.

So what do recv_rssi and recv_ttl from bt_mesh_msg_ctx show? Which segment are they from? Can I view TTL of each segment individually?

Right now, I use bt_mesh_msg_ctx from handler function registered to bt_mesh_model_op.

Parents
  • Hi

    From what I can gather from the specification, it seems like the TTL in a segmented package will use the TTL of the segment that was received last, since the TTL is a Network PDU field, which the access layer will only receive one message upon reassembly.

    Refer to the sections on Segmentation and Reassembly as well as Upper Transport Layer and Network PDU in the Mesh specification.

    Best regards,

    Simon

Reply
  • Hi

    From what I can gather from the specification, it seems like the TTL in a segmented package will use the TTL of the segment that was received last, since the TTL is a Network PDU field, which the access layer will only receive one message upon reassembly.

    Refer to the sections on Segmentation and Reassembly as well as Upper Transport Layer and Network PDU in the Mesh specification.

    Best regards,

    Simon

Children
No Data
Related