2019-09-11 03:28 AM
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]);
2019-12-01 06:50 AM
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?
2019-12-03 03:03 AM
Hello,
Can anyone help about it?
2021-03-07 04:13 AM
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);