Reliability Issues with ESB

Hi,

I am working on some prototypes with nRF52840 MCUs (custom PCBs) on the receiver and the transmitter using the ESB protocol. Our application needs a 3m range without losing any data. So, I tuned the PCBs with a vector analyzer and I got a RSSI of -25dBm at 70cm (better that the eval boards. which is normal since I am using a dipole antenna on one PCB and a chip antenna on the other). At approximately 1.2m (-42dBm), I am starting to lose data. If I understand well (www.metageek.com/.../) at -62dBm the system shouldn't lose any data. I am starting to think that there is something wrong in the configuration of the ESB or I am messing something important related to the hardware.

nRF5 SDK version 17.1.0

Here is a part of the configuration of the transmitter: 

Package are send every: 9600us

tx_payload.length = 220;

uint32_t esb_init( void )
{
uint32_t err_code;
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.protocol = NRF_ESB_PROTOCOL_ESB_DPL;
nrf_esb_config.retransmit_delay = 880;
nrf_esb_config.retransmit_count = 10;
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.tx_output_power = NRF_ESB_TX_POWER_8DBM;

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, NRF_ESB_PIPE_COUNT);
VERIFY_SUCCESS(err_code);

return err_code;
}

Here is a part of the configuration of the reciver:

uint32_t esb_init( void )
{
uint32_t err_code;
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 = 32;
nrf_esb_config.protocol = NRF_ESB_PROTOCOL_ESB_DPL;
nrf_esb_config.bitrate = NRF_ESB_BITRATE_2MBPS;
nrf_esb_config.mode = NRF_ESB_MODE_PRX;
nrf_esb_config.event_handler = nrf_esb_event_handler;
nrf_esb_config.tx_output_power = NRF_ESB_TX_POWER_8DBM;
nrf_esb_config.selective_auto_ack = false;

err_code = nrf_esb_init(&nrf_esb_config);
err_code = nrf_esb_set_base_address_0(base_addr_0);
err_code = nrf_esb_set_base_address_1(base_addr_1);
err_code = nrf_esb_set_prefixes(addr_prefix, 8);

return err_code;
}