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

The RSSI value printed from PUTTY is which one: central received RSSI or peripheral received RSSI ?

  switch (p_ble_evt->header.evt_id)
    {
      
        case BLE_GAP_EVT_CONNECTED:
             on_ble_gap_evt_connected(p_gap_evt);
            err_code = bsp_indication_set(BSP_INDICATE_CONNECTED);
            APP_ERROR_CHECK(err_code);
             m_conn_handle = p_ble_evt->evt.gap_evt.conn_handle;
             sd_ble_gap_rssi_start(m_conn_handle, 0x02, 0x00);
            break;
        case BLE_GAP_EVT_RSSI_CHANGED:
 //            NRF_LOG_INFO("rssi:%d\r\n",p_ble_evt->evt.gap_evt.params.rssi_changed.rssi);
            rssi_sum += p_ble_evt->evt.gap_evt.params.rssi_changed.rssi;
            rssi_count ++;
            break;
   NRF_LOG_INFO("Done.");
            NRF_LOG_INFO("=============================");
            NRF_LOG_INFO("Time: %u.%.2u seconds elapsed.", (time_ms / 1000), (time_ms % 1000));
            NRF_LOG_INFO("Throughput: " NRF_LOG_FLOAT_MARKER " Kbps.",
                         NRF_LOG_FLOAT(throughput_kbps));
            NRF_LOG_INFO("=============================");
            NRF_LOG_INFO("Sent %u bytes of ATT payload.", evt.bytes_transfered_cnt);
            NRF_LOG_INFO("Retrieving amount of bytes received from peer...");
           
if (rssi_count != 0)
            {
              NRF_LOG_INFO("rssi avg=%d.", rssi_sum / rssi_count);
            }
               rssi_sum = 0;
               rssi_count = 0;
  • It will be the whatever the code is running on.

  • In the throughput example the device is configured to be either central or peripheral.

    If the device is the central, it measures the RSSI based on the packet it received from the peripheral.

    If the device is the peripheral, it measures the RSSI based on the packet it received from the central.