Why is the number of connectable advertisements related to the maximum number of peripheral connections?

I need to send different types of advertisements in my application using NCS 2.9.0 on a nRF52833 and I noticed that I have to increase CONFIG_BT_CTLR_SDC_PERIPHERAL_COUNT (and therefore CONFIG_BT_MAX_CONN) to the number of connectable advertisements. I have six different advertisements (CONFIG_BT_EXT_ADV_MAX_ADV_SET=6) and ideally all of them would be connectable. But increasing CONFIG_BT_MAX_CONN increases the amount of reserved RAM considerably, requiring about 3236 bytes per connection.

Why are these configurations related to each other? I would believe that I could have several different connectable advertisements, and still only accept one peripheral connection.

Is there a configuration option or any workaround which would allow this?

Parents
  • Hi Bruno, 
    I don't think you have an option to do so. 

    How do you reject a 2nd connection when you already in a connection ? The stack automatically accept a connection before notifying the application. 
    Think about the situation that all 6 connectable advertisement receive 6 connect requests at the same time (not happen usually, but can happen) , the stack need to be configured to handle all 6 connections at the same time. 

Reply
  • Hi Bruno, 
    I don't think you have an option to do so. 

    How do you reject a 2nd connection when you already in a connection ? The stack automatically accept a connection before notifying the application. 
    Think about the situation that all 6 connectable advertisement receive 6 connect requests at the same time (not happen usually, but can happen) , the stack need to be configured to handle all 6 connections at the same time. 

Children
Related