Skip to main content
SRobs
Visitor II
Sep 11, 2019 10:28 AM UTC
Question

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

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]);

This topic has been closed for replies.

3 replies

eng23
Senior
Dec 1, 2019 2:50 PM UTC

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
Dec 3, 2019 11:03 AM UTC

Hello,

Can anyone help about it?

Santoli.Massimo
Associate II
Mar 7, 2021 12:13 PM UTC

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);