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

GAZELLE_ERROR_CODE_CHECK

when I call nrf_gzll_add_packet_to_tx_fifo after I recive a nrf_gzll_host_rx_data_ready() I get a Error 33542

how can I see what type of error that is?

I was hoping to get a nrf_gzll_error_code_t type, can I print it out or??

Parents
  • Hi,

     

    33542 = 0x8300 + 6.

    0x8300 is the gazell error base:

    #define NRF_ERROR_GAZELLE_ERR_BASE          (0x8300)

     

    That function adds the base to the error enum:

    #define GAZELLE_ERROR_CODE_CHECK(GZLL_RESULT)                                       \
        do                                                                              \
        {                                                                               \
            if ((GZLL_RESULT) == false)                                                 \
            {                                                                           \
                nrf_gzll_error_code_t gzll_error_code = nrf_gzll_get_error_code();      \
                ret_code_t error_code = gzll_error_code + NRF_ERROR_GAZELLE_ERR_BASE;   \
                APP_ERROR_HANDLER(error_code);                                          \
            }                                                                           \
        } while (0)

     

    The error is this one:

    NRF_GZLL_ERROR_CODE_INVALID_PAYLOAD_LENGTH              =  6, ///< An invalid payload length was given as an input to a function.

     

    This indicates that the length field has been corrupted (ie: > 32 byte, or equal to 0). Could you add a check on the length before adding to the TX FIFO?

      

    Kind regards,

    Håkon

Reply
  • Hi,

     

    33542 = 0x8300 + 6.

    0x8300 is the gazell error base:

    #define NRF_ERROR_GAZELLE_ERR_BASE          (0x8300)

     

    That function adds the base to the error enum:

    #define GAZELLE_ERROR_CODE_CHECK(GZLL_RESULT)                                       \
        do                                                                              \
        {                                                                               \
            if ((GZLL_RESULT) == false)                                                 \
            {                                                                           \
                nrf_gzll_error_code_t gzll_error_code = nrf_gzll_get_error_code();      \
                ret_code_t error_code = gzll_error_code + NRF_ERROR_GAZELLE_ERR_BASE;   \
                APP_ERROR_HANDLER(error_code);                                          \
            }                                                                           \
        } while (0)

     

    The error is this one:

    NRF_GZLL_ERROR_CODE_INVALID_PAYLOAD_LENGTH              =  6, ///< An invalid payload length was given as an input to a function.

     

    This indicates that the length field has been corrupted (ie: > 32 byte, or equal to 0). Could you add a check on the length before adding to the TX FIFO?

      

    Kind regards,

    Håkon

Children
Related