cancel
Showing results for 
Search instead for 
Did you mean: 

How does one interpret the 3 byte raw RSSI returned by ACI_HAL_READ_RAW_RSSI?

SRobs
Associate

Hi,

I am using the STM32WB55 Nucleo board for development (latest STM32Cube V1.2.0 FW). I need to obtain the RSSI value from iBeacon advertisements.

I am doing a scan using ACI_GAP_START_GENERAL_DISCOVERY_PROC. The RSSI value returned in the HCI_LE_ADVERTISING_REPORT_EVENT seems to be garbage. I then started calling ACI_HAL_READ_RAW_RSSI, which does return data, but I can't seem to find any information on how to interpret the 3 byte array returned. Neither the application note (AN5270 rev3 June 2019) or the header file ble_hal_aci.h provide any details.

Any information on how to interpret the raw RSSI data or alternate advice on how to get the RSSI from the received advertisement would be greatly appreciated.

ble_hal_aci.h

/**

 * @brief This command returns the raw value of the RSSI

 * @param[out] Value RAW RSSI value

 * @retval Value indicating success or error code.

*/

tBleStatus aci_hal_read_raw_rssi(uint8_t Value[3]);

3 REPLIES 3
eng23
Senior

I'm in the same boat... the numbers returned in  Value[3] doesn't have any sense.. is almost random.

Could you find the solution?

eng23
Senior

Hello,

Can anyone help about it?

Santoli.Massimo
Associate II

I guess it has been solved, since it is in the comments of the code examples...

Anyway this is the solution:

int8_t RSSI;

RSSI = *(uint8_t*) (adv_report_data + le_advertising_event->Advertising_Report[0].Length_Data);