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

queries regrading ESB RF communication examples

Hi,

I have some queries about ESB RF Communications.

1.The address : is it possible change RF communication to one node(Tx) to multiple nodes(Rx). If Yes, Where can I change the code in ESB RF Communication(How to access the registers or structure)? is it possible change RF communication to one node(Tx) to a particular node(Rx)? If Yes, Where can I change the code in ESB RF Communication(How to access the registers or structure)?

  1. Frequency Settings : is it possible change RF communication channel. If Yes, Where can I change the code in ESB RF Communication(How to access the registers or structure)?

  2. whether we can access ACK (mode) in RF communication. If Yes, Where can I change the code in ESB RF Communication(How to access the registers or structure)?

  • Hi

    The node you access is controlled by the RF address. If you configure the TX and RX with the same address then the RX should receive packet sent by the TX. To send to multiple RX's at once they need to be configured with the same RF address, but in this case you should disable the ACK feature since having multiple receivers sending ACK's could lead to unpredictable behavior.

    Changing the address is handled by the following functions (copied from the standard examples): uint32_t nrf_esb_set_base_address_0(uint8_t const * p_addr); uint32_t nrf_esb_set_base_address_1(uint8_t const * p_addr); uint32_t nrf_esb_update_prefix(uint8_t pipe, uint8_t prefix);

    1. Yes, you can change the RF channel by calling: uint32_t nrf_esb_set_rf_channel(uint32_t channel);

    2. Assuming you enable dynamic ACK during the init phase you can turn on and off ACK on a per packet basis by setting the noack field in the nrf_esb_payload_t structure.

    Best regards
    Torbjørn

  • Hi, is there any difference in power on tx with ACK and without ACK..? if it is there, can please you provide the numbers.

  • There is a difference on the PTX side for sure, but how much difference depends on various factors, so it's hard to provide an exact number.

    If the TX packet is short you cut the average current more or less in half on the PTX side. With longer packets the difference becomes smaller, since the ACK packet is normally empty (it only contains the address, the 9-bit ESB header, and the CRC).

Related