I would like recieve all advertisement in my way, and I development my application on the DK PCA10056. My code as below:
__ALIGN(4) static uint8_t m_ble_rx_buffer[320];
void ww_radio_rx( void )
{
nrf_radio_packet_conf_t pkt_cnf;
pkt_cnf.lflen = 1; // 8bits length filed
pkt_cnf.s0len = 1; // 1byte S0 filed
pkt_cnf.s1len = 0; // No S1 filed
pkt_cnf.s1incl = RADIO_PCNF0_S1INCL_Automatic; //Do not include S1 filed
pkt_cnf.cilen = 0; // No Code Indicator
pkt_cnf.plen = NRF_RADIO_PREAMBLE_LENGTH_8BIT;
pkt_cnf.crcinc = RADIO_PCNF0_CRCINC_Exclude;
pkt_cnf.termlen = 0; //TERM Filed Length=0
pkt_cnf.maxlen = 255; //max payload size=255
pkt_cnf.big_endian = 0; //Little endian
pkt_cnf.whiteen = 1; //whiten
pkt_cnf.statlen = 0; //static filed length=0
nrf_radio_power_set( 0 );
nrf_radio_power_set( 1 );
nrf_radio_packet_configure( &pkt_cnf );
nrf_radio_base0_set( 0x89BED600 );
nrf_radio_base1_set( 0x8E8E8E8E );
nrf_radio_txpower_set( NRF_RADIO_TXPOWER_0DBM );
nrf_radio_frequency_set( 2402 );
nrf_radio_mode_set( NRF_RADIO_MODE_BLE_1MBIT );
nrf_radio_shorts_set( NRF_RADIO_SHORT_READY_START_MASK | NRF_RADIO_SHORT_END_DISABLE_MASK );
nrf_radio_txaddress_set( 0 );
nrf_radio_rxaddresses_set( 1 );
nrf_radio_crc_configure( RADIO_CRCCNF_LEN_Three, NRF_RADIO_CRC_ADDR_SKIP, 0x1000065B );
nrf_radio_crcinit_set( 0x555555 );
nrf_radio_ifs_set( 150 );
nrf_radio_datawhiteiv_set( 37 );
nrf_radio_modecnf0_set( 1, 0 );
//nrf_radio_int_enable( NRF_RADIO_INT_ADDRESS_MASK );
//nrf_radio_int_enable( NRF_RADIO_INT_END_MASK );
NVIC_SetPriority(RADIO_IRQn, 0);
NVIC_EnableIRQ(RADIO_IRQn);
NVIC_ClearPendingIRQ(RADIO_IRQn);
nrf_radio_event_clear( NRF_RADIO_EVENT_DISABLED );
nrf_radio_task_trigger( NRF_RADIO_TASK_DISABLE );
while( !nrf_radio_event_check( NRF_RADIO_EVENT_DISABLED ) )
{
}
nrf_radio_packetptr_set( m_ble_rx_buffer );
nrf_radio_event_clear( NRF_RADIO_EVENT_END );
nrf_radio_task_trigger( NRF_RADIO_TASK_RXEN );
while( !nrf_radio_event_check( NRF_RADIO_EVENT_END ) )
{
}
nrf_radio_event_clear( NRF_RADIO_EVENT_END );
nrf_radio_int_disable( NRF_RADIO_INT_END_MASK );
}
But, I can't recieve any valid advertisement!
Tks!