examples/bluetooth/bluedroid/ble_50/ble_pawr_synchronizer/README.md
| Supported Targets | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 |
|---|
This example demonstrates Periodic Advertising with Responses (PAwR) on the synchronizer side.
esp_ble_gap_set_periodic_sync_subevent().esp_ble_gap_set_periodic_adv_response_data().This example should be paired with ble_pawr_advertiser or ble_pawr_advertiser_conn for testing.
Test Setup:
ble_pawr_advertiser or ble_pawr_advertiser_conn exampleble_pawr_synchronizer exampleSteps:
Build and flash advertiser example to Device A:
cd examples/bluetooth/bluedroid/ble_50/ble_pawr_advertiser
idf.py set-target <chip_name>
idf.py -p <PORT_A> build flash monitor
Build and flash synchronizer example to Device B:
cd examples/bluetooth/bluedroid/ble_50/ble_pawr_synchronizer
idf.py set-target <chip_name>
idf.py -p <PORT_B> build flash monitor
Power on Device A first (advertiser starts broadcasting)
Power on Device B (synchronizer starts scanning)
Device B will automatically detect Device A by device name "ESP_EXTPAwR_ADV"
Device B creates periodic sync and selects subevents
Both devices exchange PAwR data
Expected Log Hints:
On Synchronizer (Device B):
Extended scanning start, status 0Local address cached: XX:XX:XX:XX:XX:XX, type = XCreate sync with the peer device ESP_EXTPAwR_ADVPeriodic advertising sync establish, status 0PA sync subevent, status 0create attribute table successfully, the number handle = XService started, service_handle = XSet PA response data, status 0 (repeatedly when sending responses)[Connection established], conn_id = 0xXXXX (when advertiser connects)On Advertiser (Device A):
PAwR advertising started successfully[Request] data: 0x00, subevt start:0, subevt count:5[Response] adv_handle:0, subevent:0, tx_status:0, num_rsp:1