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

See RSSI values for all 3 advertising channels like on nRF Sniffer

When I use the nRF Sniffer on a 52840 or 52832 with Wireshark I can see the RSSI values for each advertising message for all 3 channels (37, 38, 39).
So for each advertising message I have all 3 RSSI values.

Now when I program a scanner on the 52840 DK with the S140 soft device, I get only 1 RSSI value for each advertising message.

How can I get all three RSSI values for each single advertising message received?

Parents
  • Hi,

    You can get both the channel and RSSI from the ble_gap_evt_adv_report_t struct. I added this in the nrf_ble_scan_on_adv_report in the nrf_scan module to view info from all advertising packets, but you can use similar directly in BLE_GAP_EVT_ADV_REPORT event if you do not use the scanning library:

    NRF_LOG_INFO("CH: %d, RSSI: %d", p_adv_report->ch_index, p_adv_report->rssi);

    Typically the scanner will only receive the advertising packet on one channel per advertising interval. The scanner will change the scanning channel each scan window (given that the channel mask is set to scan on multiple/all channels).

    Best regards,
    Jørgen

Reply
  • Hi,

    You can get both the channel and RSSI from the ble_gap_evt_adv_report_t struct. I added this in the nrf_ble_scan_on_adv_report in the nrf_scan module to view info from all advertising packets, but you can use similar directly in BLE_GAP_EVT_ADV_REPORT event if you do not use the scanning library:

    NRF_LOG_INFO("CH: %d, RSSI: %d", p_adv_report->ch_index, p_adv_report->rssi);

    Typically the scanner will only receive the advertising packet on one channel per advertising interval. The scanner will change the scanning channel each scan window (given that the channel mask is set to scan on multiple/all channels).

    Best regards,
    Jørgen

Children
Related