Hello, I have some devices based on NRF51822 using ESB lib and developed with Nrf51 SDK v10 (no softdevice). Since Nrf5 SDK v11 is released, the new device will be developed with SDK v11. All device use ESB protocol. It seems that there is some problem of compatibility between NRF5 SDK v11 and NRF51 SDK v10. I have tested the PTX use SDK V11 and PRX use SDK V10. The PTX send message, the PRX can receive the message, but PTX always have tx failed event. It seems like the ptx could not receive ack message. The program is tested with two device using SDK v10 and work well. Any idea what is the problem or esb lib of v10 and v11 are not compatibility?
Thanks
This is my configuration of esb.
PTX: Nrf51822 with SDK v11:
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 = 600;
nrf_esb_config.bitrate = RADIO_MODE_MODE_Nrf_1Mbit;
nrf_esb_config.event_handler = nrf_esb_event_handler;
nrf_esb_config.mode =NRF_ESB_MODE_PTX;
nrf_esb_config.selective_auto_ack =true;
nrf_esb_config.crc=NRF_ESB_CRC_8BIT;
nrf_esb_config.tx_output_power=RADIO_TXPOWER_TXPOWER_Pos4dBm;
BASE_ADDRESS0 =0xF0F0F0F0;
ADDR_PREfIX = {0X01,0X02,0X03,0X04,0X05,0X06,0X07,0X08};
nrf_esb_set_prefixes(ADDR_PREfIX, 8);
nrf_esb_set_rf_channel (50);
tx_payload.data[0]='v';
tx_payload.length=1;
tx_payload.noack=false;
tx_payload.pipe=1;
nrf_esb_write_payload(&tx_payload);
PRX: Nrf51822 with SDK v10:
nrf_esb_init(NRF_ESB_MODE_PRX);
nrf_esb_set_datarate(NRF_ESB_DATARATE_1_MBPS);
nrf_esb_set_base_address_0 (base_address0);
nrf_esb_set_base_address_1 (base_address1);
nrf_esb_set_address_prefix_byte ( 3, 0X01);
nrf_esb_set_enabled_prx_pipes (0X08);
nrf_esb_set_channel (50);
nrf_esb_enable_dyn_ack();
nrf_esb_set_output_power(NRF_ESB_OUTPUT_POWER_4_DBM);
nrf_esb_set_crc_length (NRF_ESB_CRC_LENGTH_1_BYTE);