Hi all, I'm using SDK 13 and after turning on the HF clock, calling the following code. When I queue a TX packet, there are no errors from any of the nrf_esb_...() calls, yet the event handler is never called. I've changed NRF_ESB_MAX_PAYLOAD_LENGTH to 128 in nrf_esb.h.
Any suggestions would be welcome!
static void esb_event_handler(nrf_esb_evt_t const * p_event)
{
...
}
uint8_t base_addr_0[4] = { 0xE7, 0xE7, 0xE7, 0xE7 };
uint8_t base_addr_1[4] = { 0xC2, 0xC2, 0xC2, 0xC2 };
uint8_t addr_prefix[8] = { 0xE7, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8 };
nrf_esb_config_t nrf_esb_config = NRF_ESB_DEFAULT_CONFIG;
nrf_esb_config.payload_length = 128;
nrf_esb_config.protocol = NRF_ESB_PROTOCOL_ESB_DPL;
nrf_esb_config.bitrate = NRF_ESB_BITRATE_1MBPS;
nrf_esb_config.mode = NRF_ESB_MODE_PTX;
nrf_esb_config.event_handler = esb_event_handler;
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);
err_code = nrf_esb_write_payload(&tx_payload);
VERIFY_SUCCESS(err_code);