Synchronization#

Synchronization.

Provides the base functionality of periodic advertising synchronization. Use bluetooth_feature_sync_scanner and/or bluetooth_feature_past_receiver components to include the synchronization mechanisms that the application requires. Use bluetooth_feature_periodic_sync to include support for trains that do not have subevents or response slots, and/or bluetooth_feature_pawr_sync to include support for Periodic Advertising with Responses (PAwR) trains.

Modules#

sl_bt_evt_sync_closed

Enumerations#

enum
sl_bt_sync_report_none = 0x0
sl_bt_sync_report_all = 0x1
}

Specifies the mode for periodic advertising reports.

enum
sl_bt_sync_clock_accuracy_500 = 0x1f4
sl_bt_sync_clock_accuracy_250 = 0xfa
sl_bt_sync_clock_accuracy_150 = 0x96
sl_bt_sync_clock_accuracy_100 = 0x64
sl_bt_sync_clock_accuracy_75 = 0x4b
sl_bt_sync_clock_accuracy_50 = 0x32
sl_bt_sync_clock_accuracy_30 = 0x1e
sl_bt_sync_clock_accuracy_20 = 0x14
}

These values indicate the advertiser clock accuracy in a periodic advertising synchronization.

Functions#

sl_status_t
sl_bt_sync_set_reporting_mode(uint16_t sync, uint8_t reporting_mode)
sl_status_t
sl_bt_sync_update_sync_parameters(uint16_t sync, uint16_t skip, uint16_t timeout)
sl_status_t
sl_bt_sync_close(uint16_t sync)

Enumeration Documentation#

sl_bt_sync_reporting_mode_t#

sl_bt_sync_reporting_mode_t

Specifies the mode for periodic advertising reports.

Enumerator
sl_bt_sync_report_none

(0x0) Data received in periodic advertising trains is not reported to the application.

sl_bt_sync_report_all

(0x1) Data received in periodic advertising trains is reported to the application.


Definition at line 3879 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_sync_advertiser_clock_accuracy_t#

sl_bt_sync_advertiser_clock_accuracy_t

These values indicate the advertiser clock accuracy in a periodic advertising synchronization.

Enumerator
sl_bt_sync_clock_accuracy_500

(0x1f4) Clock accuracy 500 ppm

sl_bt_sync_clock_accuracy_250

(0xfa) Clock accuracy 250 ppm

sl_bt_sync_clock_accuracy_150

(0x96) Clock accuracy 150 ppm

sl_bt_sync_clock_accuracy_100

(0x64) Clock accuracy 100 ppm

sl_bt_sync_clock_accuracy_75

(0x4b) Clock accuracy 75 ppm

sl_bt_sync_clock_accuracy_50

(0x32) Clock accuracy 50 ppm

sl_bt_sync_clock_accuracy_30

(0x1e) Clock accuracy 30 ppm

sl_bt_sync_clock_accuracy_20

(0x14) Clock accuracy 20 ppm


Definition at line 3891 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

Function Documentation#

sl_bt_sync_set_reporting_mode#

sl_status_t sl_bt_sync_set_reporting_mode (uint16_t sync, uint8_t reporting_mode)
Parameters
[in]sync

Periodic advertising synchronization handle

[in]reporting_mode

Enum sl_bt_sync_reporting_mode_t. Specifies the mode for reporting data received in the periodic advertising train. Values:

  • sl_bt_sync_report_none (0x0): Data received in periodic advertising trains is not reported to the application.

  • sl_bt_sync_report_all (0x1): Data received in periodic advertising trains is reported to the application.

Set data reporting mode of the periodic advertising synchronization.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.


Definition at line 3947 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_sync_update_sync_parameters#

sl_status_t sl_bt_sync_update_sync_parameters (uint16_t sync, uint16_t skip, uint16_t timeout)
Parameters
[in]sync

Periodic advertising synchronization handle

[in]skip

The maximum number of periodic advertising packets that can be skipped after a successful receive.

  • Range: 0x0000 to 0x01F3

  • Default : 0

[in]timeout

The maximum permitted time between successful receives. If this time is exceeded, synchronization is lost. Unit: 10 ms.

  • Range: 0x000A to 0x4000

  • Unit: 10 ms

  • Time range: 100 ms to 163.84 s

  • Default : 1000 ms

Update synchronization parameters for a periodic sync that was already established.

When a sync is established by scanning (see Periodic Advertising Sync Scanner) or by receiving Periodic Advertising Synchronization Transfer (see PAST Receiver), the sync gets the skip and timeout parameters that were configured in the corresponding class. The application can use this command sl_bt_sync_update_sync_parameters to update the values of a sync that has been established. The application can for example update the values to better match the actual interval of the periodic advertising train, or to increase the skip value to minimize wakeups when power saving is prioritized over receiving every periodic advertisement.

Irrespective of the value of the skip parameter, the Controller stops skipping packets if the skipping would cause a timeout.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.


Definition at line 3990 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_sync_close#

sl_status_t sl_bt_sync_close (uint16_t sync)
Parameters
[in]sync

Periodic advertising synchronization handle

Close a periodic advertising synchronization or cancel an ongoing attempt of establishing a synchronization.

Returns

  • SL_STATUS_OK if successful. Error code otherwise.

Events

  • sl_bt_evt_sync_closed - Triggered after a periodic advertising synchronization has been closed or canceled.


Definition at line 4008 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

Macro Definition Documentation#

sl_bt_cmd_sync_set_reporting_mode_id#

#define sl_bt_cmd_sync_set_reporting_mode_id
Value:
0x03420020

Definition at line 3869 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_cmd_sync_update_sync_parameters_id#

#define sl_bt_cmd_sync_update_sync_parameters_id
Value:
0x04420020

Definition at line 3870 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_cmd_sync_close_id#

#define sl_bt_cmd_sync_close_id
Value:
0x01420020

Definition at line 3871 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_rsp_sync_set_reporting_mode_id#

#define sl_bt_rsp_sync_set_reporting_mode_id
Value:
0x03420020

Definition at line 3872 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_rsp_sync_update_sync_parameters_id#

#define sl_bt_rsp_sync_update_sync_parameters_id
Value:
0x04420020

Definition at line 3873 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h

sl_bt_rsp_sync_close_id#

#define sl_bt_rsp_sync_close_id
Value:
0x01420020

Definition at line 3874 of file /mnt/raid/workspaces/ws.RGfN6W7IO/overlay/gsdk/protocol/bluetooth/build/native/sw/bgapi/inc/sl_bt_api.h