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

Concurrent actions BLE s130 SDK 11

Hi !

I'm using S130 softdevice on SDK 11 as central. I'm wondering if there are any conflits in the stack I should be warned. I know it is not allowed to start connection and scanning at the same time, and it is not allowed to start more than one connection at a time but,

Is it allowed (safe ?) to start connection while sending write request and/or receiving notification ? Is it allowed (safe ?) to start scanning while sending write request and/or receiving notification ?

I have multiple peripheral devices which can enter or exit the area, and time is a critical ressource in my case. I must know which task i can parallelize or not ?

Thanks a lot for your help

Parents
  • As soon as a connection is established it's ok to use this link. The scheduler will handle conflicts between the existing connection and scanning. In case a packet is dropped in a connection due to scanning, it will be retransmitted in the next connection event, if the packet is dropped multiple times and you get closer to the connection supervision timeout the priority of the link will be increased to avoid dropping the connection. But it's still a good idea to make sure scan intervals and connection intervals doesn't interfere each other. You can take a look at the scheduler chapter in the Softdevice specification for more details on this.

  • To add to this: Apart from the few things we state that you shall not do, no operations should crash the SoftDevice. Instead, the SoftDevice will return an error code stating that something went wrong. So all operations should be safe, but it is possible to lose performance and efficiency by not being careful.

    All the links are also independent, so any write operation on link 1 will never affect what you can call on link 2. But it can affect performance and throughput.

Reply
  • To add to this: Apart from the few things we state that you shall not do, no operations should crash the SoftDevice. Instead, the SoftDevice will return an error code stating that something went wrong. So all operations should be safe, but it is possible to lose performance and efficiency by not being careful.

    All the links are also independent, so any write operation on link 1 will never affect what you can call on link 2. But it can affect performance and throughput.

Children
No Data
Related