Hello i read RSSI in beacon_evt_handler() hrs_scanner project:
printf("RSSI: %d\n\n\n",p_evt->rcv_adv_packet.adv_data.rssi);
but he show me a wrong value of RSSI: 4539
how i can fix this??
Best Regards
Nelson
Hello i read RSSI in beacon_evt_handler() hrs_scanner project:
printf("RSSI: %d\n\n\n",p_evt->rcv_adv_packet.adv_data.rssi);
but he show me a wrong value of RSSI: 4539
how i can fix this??
Best Regards
Nelson
I use hrs_scanner example with s130 softdevice, i read a wrong rssi value in:
static void beacon_evt_handler(ble_scan_beacon_evt_t * p_evt) { uint32_t err_code;
if (p_evt->rcv_adv_packet.adv_data.manuf_id==0x59){
printf("********************************************************");
printf("App company id: %x\r\n",p_evt->rcv_adv_packet.adv_data.manuf_id);
unsigned short major=p_evt->rcv_adv_packet.adv_data.major;
major=(major>>8) | (major<<8);
unsigned short minor=p_evt->rcv_adv_packet.adv_data.minor;
minor=(minor>>8) | (minor<<8);
printf("Major: %d\r\n",major);
printf("Minor: %d\r\n",minor);
int8_t rssi=p_evt->rcv_adv_packet.adv_data.rssi;
printf("RSSI: %d\n",rssi);//WRONG VALUE
for (int i=0;i<sizeof(p_evt->rcv_adv_packet.adv_data.uuid.uuid128);i++){
printf("%02X",p_evt->rcv_adv_packet.adv_data.uuid.uuid128[i]);
}
printf("\n\n");
}
if((p_evt->rcv_adv_packet.adv_data.major == SEARCHED_MAJOR)
&&(p_evt->rcv_adv_packet.adv_data.minor == SEARCHED_MINOR)
&&(p_evt->rcv_adv_packet.adv_data.manuf_id == APP_COMPANY_IDENTIFIER))
{
err_code = bsp_indication_set(BSP_INDICATE_ALERT_3);
APP_ERROR_CHECK(err_code);
}else{
///printf("beacon no detectado\r\n");
}
}
Serial monitor output:
App company id: 59 Major: 3584 Minor: 35409 RSSI: -69 ------------->WRONG VALUE DONT CHANGE 0112233445566778899AABBCCDDEEFF0
I use hrs_scanner example with s130 softdevice, i read a wrong rssi value in:
static void beacon_evt_handler(ble_scan_beacon_evt_t * p_evt) { uint32_t err_code;
if (p_evt->rcv_adv_packet.adv_data.manuf_id==0x59){
printf("********************************************************");
printf("App company id: %x\r\n",p_evt->rcv_adv_packet.adv_data.manuf_id);
unsigned short major=p_evt->rcv_adv_packet.adv_data.major;
major=(major>>8) | (major<<8);
unsigned short minor=p_evt->rcv_adv_packet.adv_data.minor;
minor=(minor>>8) | (minor<<8);
printf("Major: %d\r\n",major);
printf("Minor: %d\r\n",minor);
int8_t rssi=p_evt->rcv_adv_packet.adv_data.rssi;
printf("RSSI: %d\n",rssi);//WRONG VALUE
for (int i=0;i<sizeof(p_evt->rcv_adv_packet.adv_data.uuid.uuid128);i++){
printf("%02X",p_evt->rcv_adv_packet.adv_data.uuid.uuid128[i]);
}
printf("\n\n");
}
if((p_evt->rcv_adv_packet.adv_data.major == SEARCHED_MAJOR)
&&(p_evt->rcv_adv_packet.adv_data.minor == SEARCHED_MINOR)
&&(p_evt->rcv_adv_packet.adv_data.manuf_id == APP_COMPANY_IDENTIFIER))
{
err_code = bsp_indication_set(BSP_INDICATE_ALERT_3);
APP_ERROR_CHECK(err_code);
}else{
///printf("beacon no detectado\r\n");
}
}
Serial monitor output:
App company id: 59 Major: 3584 Minor: 35409 RSSI: -69 ------------->WRONG VALUE DONT CHANGE 0112233445566778899AABBCCDDEEFF0