Hey, I have a problem understanding BLE behavior
I had a product was running in BLE phy 1M, and I wanted to convert it into PHY CODED.
It just sniffs all the advertisement around and choose specific devices to get the data from using filter match.
PHY 1M | 6.20 mA |
PHY CODED and 1M | 8.04 mA |
PHY CODED | 6.17 mA |
I managed to successfully convert the phy 1M into coded (thanks to your great libraries it was so easy)
But using ppk2 to compare the power, I've found that the power is lower in the CODED one, and I expected the opposite.
in the initialization i use the following struct in the BLE PHY 1M
const struct bt_le_scan_param scan_param = { .type = BT_LE_SCAN_TYPE_PASSIVE, .options = BT_LE_SCAN_OPT_FILTER_DUPLICATE, .interval = BT_GAP_SCAN_FAST_INTERVAL, .window = BT_GAP_SCAN_FAST_WINDOW, };

and in the CODED BLE I used
const struct bt_le_scan_param scan_param = { .type = BT_LE_SCAN_TYPE_PASSIVE, .options = BT_LE_SCAN_OPT_FILTER_DUPLICATE | BT_LE_SCAN_OPT_CODED | BT_LE_SCAN_OPT_NO_1M, .interval = BT_GAP_SCAN_FAST_INTERVAL, .window = BT_GAP_SCAN_FAST_WINDOW, };

Lastly I tried to sniff both 1M and CODED
const struct bt_le_scan_param scan_param = { .type = BT_LE_SCAN_TYPE_PASSIVE, .options = BT_LE_SCAN_OPT_FILTER_DUPLICATE | BT_LE_SCAN_OPT_CODED, .interval = BT_GAP_SCAN_FAST_INTERVAL, .window = BT_GAP_SCAN_FAST_WINDOW, };
