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

Is there any differences between NRF52832 and NRF52810 with ESB transmission?

In my plan, I have used NRF52832  IC as the transmitter and the NRF24LU1P+ as the receiver. I have tested  the wireless transmission successfully.In order to reduce consts,I need to use NRF52810 instead of NRF52832. All the code of  esb configurations is the same,but I find  the Wireless transmission failure.

void nrf_esb_event_handler(nrf_esb_evt_t const * p_event)
{
    uint8_t i;
	
	  switch (p_event->evt_id)
    {
        case NRF_ESB_EVENT_TX_SUCCESS:
            break;
        case NRF_ESB_EVENT_TX_FAILED:
			for(i=0;i<4;i++)
			{
		    	nrf_gpio_pin_clear(S_MOTION);
				nrf_delay_us(10);
				nrf_gpio_pin_set(S_MOTION);
				nrf_delay_us(10);
			}
			(void) nrf_esb_flush_tx();
			(void) nrf_esb_start_tx();
            break;
        case NRF_ESB_EVENT_RX_RECEIVED:
            break;
    }
}


uint32_t esb_init( void )
{
    uint32_t err_code;
    uint8_t base_addr_0[4] = {0xE4, 0xE3, 0xE2, 0xE1};   
    uint8_t base_addr_1[4] = {0xC2, 0xC2, 0xC2, 0xC2};
    uint8_t addr_prefix[8] = {0xE5, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8 };
    nrf_esb_config_t nrf_esb_config         = NRF_ESB_DEFAULT_CONFIG;
    nrf_esb_config.payload_length           = 32;
    nrf_esb_config.protocol                 = NRF_ESB_PROTOCOL_ESB_DPL;
    nrf_esb_config.bitrate                  = RADIO_MODE_MODE_Nrf_2Mbit; 
    nrf_esb_config.mode                     = NRF_ESB_MODE_PTX;            
    nrf_esb_config.event_handler            = nrf_esb_event_handler;       
    nrf_esb_config.selective_auto_ack       = false;

    err_code = nrf_esb_init(&nrf_esb_config);
    VERIFY_SUCCESS(err_code);

    
	err_code = nrf_esb_set_base_address_0(base_addr_0);
    VERIFY_SUCCESS(err_code);

    err_code = nrf_esb_set_base_address_1(base_addr_1);
    VERIFY_SUCCESS(err_code);

    err_code = nrf_esb_set_prefixes(addr_prefix, 8);
    VERIFY_SUCCESS(err_code);
     
    return err_code;
}

Parents Reply Children
  • Hi 

    We are planning to add official support for the nRF52810 pretty soon, yes. 

    I just tested the ESB examples in the SDK, and they worked fine both on the nRF52810 and the nRF52832. I only had to change the RAM size, to accommodate the smaller RAM in the nRF52810. 

    Have you tested your board with any other examples, to make sure it works properly?

    Can you run simpler examples, like the blinky example?

    If only the radio is non functional it could be an issue with the high frequency clock. 

    Best regards
    Torbjørn

Related