I use nrf51822 sdk130 (central device) and nrf51822 sdk110(peripheral device). I want to get rssi value of the peripheral device using the central device without connection. Is it possible to read rssi value of peripheral device without connection?
I use nrf51822 sdk130 (central device) and nrf51822 sdk110(peripheral device). I want to get rssi value of the peripheral device using the central device without connection. Is it possible to read rssi value of peripheral device without connection?
Sure, each scanning event (when you receive ADV_xxx packet) has RSSI value in the event data structure.
Normally process going like this;
static void button_handler(uint8_t pin_no, uint8_t button_action)
{
if(button_action == APP_BUTTON_PUSH || button_action == BSP_BUTTON_ACTION_LONG_PUSH || BSP_BUTTON_ACTION_RELEASE)
{
switch(pin_no)
{
case BUTTON_1:
scan_start();
break;
default:
break;
}
}
}
THEN
static void on_ble_evt(ble_evt_t * p_ble_evt)
{
uint32_t err_code;
const ble_gap_evt_t * p_gap_evt = &p_ble_evt->evt.gap_evt;
switch (p_ble_evt->header.evt_id)
{
case BLE_GAP_EVT_ADV_REPORT:
.
.
case BLE_GAP_EVT_CONNECTED:
.
.
Normally process going like this;
static void button_handler(uint8_t pin_no, uint8_t button_action)
{
if(button_action == APP_BUTTON_PUSH || button_action == BSP_BUTTON_ACTION_LONG_PUSH || BSP_BUTTON_ACTION_RELEASE)
{
switch(pin_no)
{
case BUTTON_1:
scan_start();
break;
default:
break;
}
}
}
THEN
static void on_ble_evt(ble_evt_t * p_ble_evt)
{
uint32_t err_code;
const ble_gap_evt_t * p_gap_evt = &p_ble_evt->evt.gap_evt;
switch (p_ble_evt->header.evt_id)
{
case BLE_GAP_EVT_ADV_REPORT:
.
.
case BLE_GAP_EVT_CONNECTED:
.
.