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

Read RSSI value

Hello,

I'm using 2 nRF58840 dev kit with SDK 14.2.0. I'm trying to read the RSSI value of the second board from the first board using LE Coded PHY in both modules.

I started with the "ATT_MTU Throughput" example which worked correctly when choosing the LE coded PHY.

I changed the "DEVICE_NAME" so that no connection will be established. In the BLE_GAP_EVT_ADV_REPORT event, I put this below line to display the RSSI value

if ( p_gap_evt->params.adv_report.scan_rsp )
       NRF_LOG_INFO("rssi =%d dBm",p_gap_evt->params.rssi_changed.rssi);

When running this code no BLE_GAP_EVT_ADV_REPORT event corresponds to the scan_rsp. also no BLE_GATTS_EVT_TIMEOUT events aswell.

My questions are :

  • any thoughts of what might be wrong in my configuration ?

  • When executing sd_ble_gap_scan_start(), the BLE_GAP_EVT_ADV_REPORT will be set each time a device is discovered or it after 'scan window' time ?

-When using only the LE coded PHY, the nRF module will only see modules advertising on the same physical layer ?

  • sd_ble_gap_rssi_start() function require a connection, is there another function that scans for the RSSI of visible devices ?

Any helps would be very appreciated

Thank You Chaabane

Parents
  • Q1: I didn't read your code carefully enough. You should use p_ble_evt->evt.gap_evt.params.adv_report.rssi to get the RSSI. Then you will get it in every adv report, not just the scan reports.

    Q3: Not really. If the phone doesn't support 2Mbps or coded phy it is simply not physically possible. It is possible though, that your module is designed to advertise on 1Mbps phy and then switch to coded phy after you have connected.

Reply
  • Q1: I didn't read your code carefully enough. You should use p_ble_evt->evt.gap_evt.params.adv_report.rssi to get the RSSI. Then you will get it in every adv report, not just the scan reports.

    Q3: Not really. If the phone doesn't support 2Mbps or coded phy it is simply not physically possible. It is possible though, that your module is designed to advertise on 1Mbps phy and then switch to coded phy after you have connected.

Children
Related