ESB PTX and PRX with no ACK - how to wait for TX ready

Hi,

we have ESB PTX and PRX couple from nRF54H20

nRF54H20DK (rev. 0.9.1), SDK: v2.9.0-nRF54H20-rc2 and the same Toolchain, IDE: VSCode + nRF Connect plugin

build for CPURAD


configured to 4Mbps
noACK and never disable TX radio

I need transmit about 10kBytes of data so speed as possible. When we used (ACK was activated) K_SEM() in PTX for TX ready detecting it was works good, but real data rate (including overhead) was about 2.3Mbps.
After this we deactivated the ACK, but ESB handler is not serviced in this mode.
I tried to check ESB TX ready by functions esb_tx_full() and esb_is_idle() but without success.
How can I check in PTX when is ESB ready for next TX?

Another, similar question - how to check in PRX whether ESB packet is received? (I hope that ESB handler works as usual (with AKC), but I am not sure).

My complementary question: How to set up config.slective_auto_ack for the right work with NoAck?

my prj.conf

CONFIG_NCS_SAMPLES_DEFAULTS=y
CONFIG_ESB=y
CONFIG_DK_LIBRARY=y
CONFIG_CLOCK_CONTROL=y

CONFIG_ESB_MAX_PAYLOAD_LENGTH=251
CONFIG_ESB_TX_FIFO_SIZE=256
CONFIG_ESB_RX_FIFO_SIZE=256
CONFIG_CRC=y
CONFIG_ESB_FAST_CHANNEL_SWITCHING=y
CONFIG_ESB_FAST_SWITCHING=y
CONFIG_ESB_NEVER_DISABLE_TX=y

Here is my project: ESB_noACK tetsing.ZIP

There is the  directory "ConfigInfo" with build info.

BR

Parents Reply Children
No Data
Related