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