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

s130-0.5.0 disconnect when central fail to connect another central

there are 3 modules to test(A1,B1,C1)


*2. A1 connect with B1(B1 is master, A1 is slave), C1 is power off, B1 as slave attempt to connect C1 with BLE_GAP_ADV_TYPE_ADV_IND(Connectable undirected), get BLE_GAP_EVT_TIMEOUT, src is BLE_GAP_TIMEOUT_SRC_ADVERTISING, connection between A1 and B1 still alive

*3. A1 connect with B1(B1 is master, A1 is slave), C1 is power off, B1 as slave attempt to connect C1 with BLE_GAP_ADV_TYPE_ADV_DIRECT_IND(Connectable directed), get BLE_GAP_EVT_TIMEOUT, src is BLE_GAP_TIMEOUT_SRC_ADVERTISING, but connection between A1 and B1 is terminated

*4. A1 connect with B1(B1 is master, A1 is slave), C1 is power on, B1 as slave can connect C1 with BLE_GAP_ADV_TYPE_ADV_IND or BLE_GAP_ADV_TYPE_ADV_DIRECT_IND, after this, connection between A1 and B1 still alive

after use s130-1.0.0


but issue (2.3.4) remained

thanks.

Parents
  • I'm assuming you are using High Duty Cycle Directed Advertising, please see Vol 6, Part B, Section 4.4.2.4.2 in the Bluetooth Core Specification.

    It seems to me the behaviour actually is as expected. Please see this section in the S130 SoftDevice Specification:

    Directed advertiser is different compared to other advertiser types because it is not periodic. The scheduling of the single event required by directed advertiser is done in the same way as other advertiser type events. Directed advertiser is also started as early as possible, and its priority (refer to Table 1) is raised if it is blocked by other roles multiple times.

    The directed advertiser event will be scheduled as a single event, and it will require a timeslot of 1.28s. In this timeslot no other events will be handled. This means that with a connection supervision timeout of 100ms you will lose the connection.

    If you need to use High Duty Cycle Directed Advertising I think you need to increase the connection supervision timeout. You can also look into Low Duty Cycle Directed Advertising, described in Vol 6, Part B, Section 4.4.2.4.1 in the Bluetooth Core Specification.

Reply
  • I'm assuming you are using High Duty Cycle Directed Advertising, please see Vol 6, Part B, Section 4.4.2.4.2 in the Bluetooth Core Specification.

    It seems to me the behaviour actually is as expected. Please see this section in the S130 SoftDevice Specification:

    Directed advertiser is different compared to other advertiser types because it is not periodic. The scheduling of the single event required by directed advertiser is done in the same way as other advertiser type events. Directed advertiser is also started as early as possible, and its priority (refer to Table 1) is raised if it is blocked by other roles multiple times.

    The directed advertiser event will be scheduled as a single event, and it will require a timeslot of 1.28s. In this timeslot no other events will be handled. This means that with a connection supervision timeout of 100ms you will lose the connection.

    If you need to use High Duty Cycle Directed Advertising I think you need to increase the connection supervision timeout. You can also look into Low Duty Cycle Directed Advertising, described in Vol 6, Part B, Section 4.4.2.4.1 in the Bluetooth Core Specification.

Children
No Data
Related