Observer Role#
The Observer role receives advertising (including extended and periodic advertising) without acting as a connection central. This page also focuses on periodic advertising synchronization from the observer side. For beacon-style broadcasting, see Broadcaster role. For extended advertising setup and scanning, see Extended advertising.
Receiving Advertising (Observer)#
An observer uses scanning to receive advertising packets and does not initiate connections. For passive and active scanning, scan parameters, and legacy advertisement reports (rsi_ble_event_adv_report_t), see Central role — Scanning. For extended scanning and extended advertising reports (rsi_ble_ae_adv_report_t), see Extended advertising.
Periodic Advertising Sync#
Periodic advertising in Bluetooth Low Energy (BLE) 5.0 and later enables synchronized data transmission without maintaining a connection. The Broadcaster transmits periodic advertising, and the Observer synchronizes to receive it. To configure periodic advertising on a broadcaster device, see Broadcaster role and Extended advertising.
Periodic Advertising Synchronization (Observer)#
Synchronizing to Periodic Advertising:
Discover extended advertising using extended scanning (see Extended advertising)
Receive extended advertising reports through
rsi_ble_ae_report_complete_tcallback (containsrsi_ble_ae_adv_report_tstructure) with periodic advertising informationEstablish synchronization using
rsi_ble_ae_set_periodic_sync()with type=1 (begin sync)Receive sync establishment confirmation through
rsi_ble_ae_per_adv_sync_estbl_tcallback (containsrsi_ble_per_adv_sync_estbl_tstructure)Receive periodic advertising data through
rsi_ble_ae_per_adv_report_tcallback (containsrsi_ble_per_adv_report_tstructure)
Synchronization Management:
Add device to periodic advertising list using
rsi_ble_ae_dev_to_periodic_list()Query periodic advertising list size using
rsi_ble_ae_read_periodic_adv_list_size()Handle sync establishment events through
rsi_ble_ae_per_adv_sync_estbl_tcallback (containsrsi_ble_per_adv_sync_estbl_tstructure)Handle synchronization lost events through
rsi_ble_ae_per_adv_sync_lost_tcallback (containsrsi_ble_per_adv_sync_lost_tstructure)Cancel sync in progress using
rsi_ble_ae_set_periodic_sync()with type=2 (cancel)Terminate established sync using
rsi_ble_ae_set_periodic_sync()with type=3 (terminate)Register callbacks using
rsi_ble_adv_ext_events_register_callbacks()before starting extended scanning
APIs Used in This Section#
Topic | APIs / symbols | Reference |
|---|---|---|
Observer |
| |
Periodic sync |
|