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

nRFL24LE1, nRF24L01+ interoperability

Hi, I have an nRF24LE1 based sensor, transmitting to an nR24L01+ connected to an arduino (i know you don't supportit). I have LE1 to LE1 TX/RX working (as a test case). I'm using the RF24 arduino library, which shows the L01+ status as shown below (reading is set to pipe 1):

nRF24L01+:

STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0

RX_ADDR_P0-1 = 0x6c706d6953 0xe7e7e7e7e7

RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6

TX_ADDR = 0x6c706d6953

RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00

EN_AA = 0x3f

EN_RXADDR = 0x02

RF_CH = 0x4c

RF_SETUP = 0x27

CONFIG = 0x0a

DYNPD/FEATURE = 0x00 0x00

Data Rate = 250KBPS

Model = nRF24L01+

CRC Length = 8 bits

PA Power = PA_MAX

The config of the LE1 is:

  char xmsg[32];

  uint8_t adr[6] = {0xE7,0xE7,0xE7,0xE7,0xE7,0xE7} ;

  hal_nrf_set_rf_channel(0x4c);

  hal_nrf_set_crc_mode(HAL_NRF_CRC_8BIT);

  hal_nrf_set_auto_retr(3U, 750);

  hal_nrf_set_output_power(RF_POWER_DB);

  hal_nrf_set_address_width(5);

  hal_nrf_set_address(HAL_NRF_TX, adr);

  hal_nrf_set_datarate(HAL_NRF_1MBPS);

What am i doing wrong?

Thanks,

Mahesh

Parents
  • Hi Mahesh,

    In cases like these I always recommend to go for the minimum configuration to achieve communication, and then work from there.

    - The minimum configuration on a PRX is to set the operation mode to RX and the rx payload width of pipe0 to specific length (e.g. 3), then write PWR_UP bit to 1 (wait ~2ms), and set CE to 1.

    - The minimum configuration on a PTX is write PWR_UP bit to 1 (wait ~2ms), then write the TX payload with a specific length (e.g. 3), and toggle CE to start transmission.

    I do notice in your case it seems that data rate is different between LE1 and L01, but in any case good to start with the minimum configuration.

    Best regards,

    Kenneth

Reply
  • Hi Mahesh,

    In cases like these I always recommend to go for the minimum configuration to achieve communication, and then work from there.

    - The minimum configuration on a PRX is to set the operation mode to RX and the rx payload width of pipe0 to specific length (e.g. 3), then write PWR_UP bit to 1 (wait ~2ms), and set CE to 1.

    - The minimum configuration on a PTX is write PWR_UP bit to 1 (wait ~2ms), then write the TX payload with a specific length (e.g. 3), and toggle CE to start transmission.

    I do notice in your case it seems that data rate is different between LE1 and L01, but in any case good to start with the minimum configuration.

    Best regards,

    Kenneth

Children
No Data
Related