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

Gazell nrf24 host, nrf52 device compatibility

Hi,

We have a product with nrf24L01p Gazell (LastChangedRevision: 133) that acts as a Host. At the moment I'm trying to pair with this host via a PCA10040 Devkit (nRF52832) that acts as a device. For this I'm using the SDK15.3 example: gzll_dynamic_pairing_device_pca10040

Should this setup pair out-of-the-box? Or can I expect some compatibility issues with this setup? At the moment it does not pair at all. Secret key, PIPE addresses and so on are equal.

Parents
  • Thanks! I suspect that the issue can be in the pipe addresses, this part:

    /*****************************************************************************/
    /** @name Default Address configuration */
    /*****************************************************************************/
    
    /*
    Corresponds to Legacy nRFgo SDK Gazell config:
    #define GZLL_DEFAULT_ADDRESS_PIPE0 {0x01, 0x04, 0x07, 0x0A, 0x0D}
    #define GZLL_DEFAULT_ADDRESS_PIPE1 {0x02, 0x05, 0x08, 0x0B, 0x0E}
    #define GZLL_DEFAULT_ADDRESS_PIPE2 3
    #define GZLL_DEFAULT_ADDRESS_PIPE3 4
    #define GZLL_DEFAULT_ADDRESS_PIPE4 5
    #define GZLL_DEFAULT_ADDRESS_PIPE5 6
    */
    
    #define NRF_GZLL_DEFAULT_FULL_ADDRESS_PIPE0  {0x01, 0x04, 0x07, 0x0A, 0x0D}   ///< Corresponding legacy Gazell pipe 0 address.
    #define NRF_GZLL_DEFAULT_BASE_ADDRESS_0      0x0D0A0704                       ///< Default base address 0.
    #define NRF_GZLL_DEFAULT_BASE_ADDRESS_1      0x0E0B0805                       ///< Default base address 1.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_0       1                                ///< Default prefix address pipe 0.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_1       2                                ///< Default prefix address pipe 1.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_2       3                                ///< Default prefix address pipe 2.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_3       4                                ///< Default prefix address pipe 3.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_4       5                                ///< Default prefix address pipe 4.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_5       6                                ///< Default prefix address pipe 5.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_6       7                                ///< Default prefix address pipe 6.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_7       8                                ///< Default prefix address pipe 7.
    #define NRF_GZLL_DEFAULT_BASE_ADDRESS_LENGTH NRF_GZLL_BASE_ADDRESS_LENGTH_4B  ///< Default on-air base address length.
    #define NRF_GZLL_DEFAULT_RX_PIPES_ENABLED    0x000000FF                       ///< Enabled Rx pipes. See nrf_gzll_set_rx_pipes_enabled().
    /** @} */

    We are using the "legacy" pipe configuration, how should I modify this part to use the legacy addresses? During the pairing the host and device are on top of each other Slight smile Or should this part also be backwards compatible already?

    Edit: I'm able to pair between 2 NRF52 dev kits, but that's obvious of course.

Reply
  • Thanks! I suspect that the issue can be in the pipe addresses, this part:

    /*****************************************************************************/
    /** @name Default Address configuration */
    /*****************************************************************************/
    
    /*
    Corresponds to Legacy nRFgo SDK Gazell config:
    #define GZLL_DEFAULT_ADDRESS_PIPE0 {0x01, 0x04, 0x07, 0x0A, 0x0D}
    #define GZLL_DEFAULT_ADDRESS_PIPE1 {0x02, 0x05, 0x08, 0x0B, 0x0E}
    #define GZLL_DEFAULT_ADDRESS_PIPE2 3
    #define GZLL_DEFAULT_ADDRESS_PIPE3 4
    #define GZLL_DEFAULT_ADDRESS_PIPE4 5
    #define GZLL_DEFAULT_ADDRESS_PIPE5 6
    */
    
    #define NRF_GZLL_DEFAULT_FULL_ADDRESS_PIPE0  {0x01, 0x04, 0x07, 0x0A, 0x0D}   ///< Corresponding legacy Gazell pipe 0 address.
    #define NRF_GZLL_DEFAULT_BASE_ADDRESS_0      0x0D0A0704                       ///< Default base address 0.
    #define NRF_GZLL_DEFAULT_BASE_ADDRESS_1      0x0E0B0805                       ///< Default base address 1.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_0       1                                ///< Default prefix address pipe 0.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_1       2                                ///< Default prefix address pipe 1.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_2       3                                ///< Default prefix address pipe 2.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_3       4                                ///< Default prefix address pipe 3.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_4       5                                ///< Default prefix address pipe 4.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_5       6                                ///< Default prefix address pipe 5.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_6       7                                ///< Default prefix address pipe 6.
    #define NRF_GZLL_DEFAULT_PREFIX_BYTE_7       8                                ///< Default prefix address pipe 7.
    #define NRF_GZLL_DEFAULT_BASE_ADDRESS_LENGTH NRF_GZLL_BASE_ADDRESS_LENGTH_4B  ///< Default on-air base address length.
    #define NRF_GZLL_DEFAULT_RX_PIPES_ENABLED    0x000000FF                       ///< Enabled Rx pipes. See nrf_gzll_set_rx_pipes_enabled().
    /** @} */

    We are using the "legacy" pipe configuration, how should I modify this part to use the legacy addresses? During the pairing the host and device are on top of each other Slight smile Or should this part also be backwards compatible already?

    Edit: I'm able to pair between 2 NRF52 dev kits, but that's obvious of course.

Children
Related