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

Transmitting 6 packets

Hi there,

I am trying to send six 20 byte packets per connection interval. Is changing the length of charecteristic simply

attr_char_value.init_len     = sizeof(uint8_t)*20;
attr_char_value.max_len      = sizeof(uint8_t)*20;

and then also the gatts value length to

gatts_value.len = sizeof(uint8_t)*20;

how do i send 6 packets as apose to 1? will a data stream just fill six 20 byte chars sequentially untill they are full and then send that?

Parents
  • Hi Wass,

    The maximum payload length for a connection packet with our stack is 20 bytes. You can send more than 1 packet per connection interval up to 6 packets.

    The way to do it is to queue as much as possible notification or write command until the buffer is full. And queue more again after the buffer has free slot.

    You can have a look at this case. We also have an through put test example on github. It's pretty old though.

    Note that not all central device support 6 packets per connection event. As far as I know iOS device (iOS8.x), Nexus 5, etc support 6 packets when other device usually support only 4 packets.

    [EDITED] (changed from 2 TX packet to 1 TX packet, the S120 scheduller doesn't support 2 packets) Our S120 supports 1 RX packet and 1 TX packet (S120 -> S110 direction) per connection interval.

  • Hi thanks for your reply, i am trying currently to send 6 packets per connection interval of 20 bytes over to a central S120 device. Does this mean that i will not be able to acheive this with the S120 softdevice? It will only receive 1 packet of 20 bytes per connection interval?

Reply Children
No Data
Related