This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Enable RF interrupt and RF interrupt API

Hi,

I use sdk16 and nRF52832.I want to change advertising in the air:

void advertising_init(void)
{
    uint32_t               err_code;
    ble_advertising_init_t init;

    m_Tlm_pdu_data(m_hardcode_enc_advdata);
    memcpy( m_adv_dat.adv_data.p_data , m_hardcode_enc_advdata , BLE_GAP_ADV_SET_DATA_SIZE_MAX );
    m_adv_dat.adv_data.len = BLE_GAP_ADV_SET_DATA_SIZE_MAX;

    m_adv_dat.scan_rsp_data.p_data = NULL;
    m_adv_dat.scan_rsp_data.len = 0;

    ble_gap_adv_params_t adv_params;

    memset( &adv_params , 0 , sizeof(ble_gap_adv_params_t) );
    adv_params.primary_phy = BLE_GAP_PHY_1MBPS;
    adv_params.duration = APP_ADV_DURATION;
    adv_params.properties.type = BLE_GAP_ADV_TYPE_CONNECTABLE_SCANNABLE_UNDIRECTED;
    adv_params.p_peer_addr = NULL;
    adv_params.filter_policy = BLE_GAP_ADV_FP_ANY;
    adv_params.interval = APP_ADV_INTERVAL;

    err_code = sd_ble_gap_adv_set_configure( &m_ble_handle , &m_adv_dat , &adv_params );
    APP_ERROR_CHECK(err_code);
}

static void timer_timeout_handler(void * p_context)
{

    adv_fly_change();
}

Now I'm using the timer to change the adv.But I want to change adv with RF interrupt.

Like this:

Advertising(A) ---RF interrupt (change Advert content B )---Advertising(B)---RF interrupt (change Advert content A )---Advertising(A)

So how to Enable RF and RF interrupt API?

Related