Skip to main content
SRobs
Visitor II
September 11, 2019
Question

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

  • September 11, 2019
  • 3 replies
  • 1236 views

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
December 1, 2019

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
December 3, 2019

Hello,

Can anyone help about it?

Santoli.Massimo
Associate II
March 7, 2021

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