This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RSSI values in SimpleBLECentral project

Hi.

I'm currently working on the SimpleBLECentral project and will like to know whether there is a way to receive RSSI values without establishing a connection with a certain peripheral device. Can I receive a RSSI value when a device is found during the scanning operation ?. 

  • Hello. Yes, this is possible. The advertising report structure that gets forwarded to the application contains the RSSI of the advertisement:

    // LE Advertising Report Event
    typedef struct
    {
      uint8  eventType;                       // advertisment or scan response event type
      uint8  addrType;                        // public or random address type
      uint8  addr[B_ADDR_LEN];                // device address
      uint8  dataLen;                         // length of report data
      uint8  rspData[B_MAX_ADV_LEN];          // report data given by dataLen
      int8   rssi;                            // report RSSI
    } hciEvt_DevInfo_t;
    

    In simpleBLEcentral, for example, these are processed in the GAP_DEVICE_INFO_EVENT case of the simpleBLECentralEventCB() function