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

ESB Timeslot 2 PTX

Hello, I am doing a project that involves getting data from 2 PTX nodes from the slaves via ESB and sending the data obtained to my android phone via BLE. I am doing so by utilizing the timeslot API provided. However, I am having problems with getting the data from the slaves. I am setting data with a frequency of 500hz. These are my parameters when I am sending the ESB data.

nrf_esb_config_t nrf_esb_config         = NRF_ESB_DEFAULT_CONFIG;
nrf_esb_config.protocol                 = NRF_ESB_PROTOCOL_ESB_DPL;
nrf_esb_config.retransmit_delay         = 300;
nrf_esb_config.bitrate                  = NRF_ESB_BITRATE_2MBPS;
nrf_esb_config.event_handler            = nrf_esb_event_handler;
nrf_esb_config.mode                     = NRF_ESB_MODE_PTX;
nrf_esb_config.selective_auto_ack       = false;
		nrf_esb_config.retransmit_count = 8;

And there are the parameters for the timeslot api

#define TS_LEN_US                          					  (800UL)
#define TX_LEN_EXTENSION_US                 	(1500UL)
#define TS_SAFETY_MARGIN_US                  	(200UL)    /**< The timeslot activity should be finished with this much to spare. */
#define TS_EXTEND_MARGIN_US                  (300UL) 
m_timeslot_request.params.earliest.timeout_us  = 1800;

I am only getting 50% of the data and the rest of the data is not being received. Is there a way I can synchronize the receiving sequence so I can at least get like 90% of success rate? I been playing around with the number in the timeslot API and ESB parameters but i am not getting an improvement. I am open for any tips

Related