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

Fragmentation of notifications - should I combine them?

Suppose I have a lot of very small characteristics (1 or 2 bytes) to send lots of notifications on. They are all updated simultaneously, though the central doesn't care about that.

When I notify them, does each notification go into a separate BLE packet? Or are they concatenated into a framed stream, and then fragmented into BLE packets by L2CAP? If so what is the overhead per characteristic?

I'm basically working out if it is worth making "combined" characteristics that contain the data from several logical characteristics.

Parents
  • They are packet into different L2CAP packets and I think in theory there is nothing that prevents an BLE implementation from packing more than one L2CAP SDU into one link layer PDU.

    But I doubt that there are existing implementations that do this. You could just try it out. Beside your idea of using one "combined" characteristic, you could use one characteristic (an integer for example) that gets changed when ever any of the othere characteristics get changed.

Reply
  • They are packet into different L2CAP packets and I think in theory there is nothing that prevents an BLE implementation from packing more than one L2CAP SDU into one link layer PDU.

    But I doubt that there are existing implementations that do this. You could just try it out. Beside your idea of using one "combined" characteristic, you could use one characteristic (an integer for example) that gets changed when ever any of the othere characteristics get changed.

Children
No Data
Related