[nRF52833] [gzll] gzll problem

We use nrf52833, and the SDK is 17.1.0. We have the following questions about gzll:

1. How to count packets_num and timeouts_num in Packets Statistics?

   timeouts_num Where is the timeout time  set?

2. When we use gzll as a device to transmit IMU data, we encounter a problem. If the IMU is not moving, the packet loss rate is good. If the IMU is in motion, the packet loss rate is high,What is the reason and how to resolve it?

  • Hi,

     

    1. How to count packets_num and timeouts_num in Packets Statistics?

       timeouts_num Where is the timeout time  set?

    Here's the documentation and how to enable and interpret this feature:

    https://infocenter.nordicsemi.com/topic/sdk_nrf5_v17.1.0/gzll_02_user_guide.html?cp=8_1_5_4#gzll_transmission_statictics

     

    The max amount of transmissions per packet is set in nrf_gzll_set_max_tx_attempts()

    2. When we use gzll as a device to transmit IMU data, we encounter a problem. If the IMU is not moving, the packet loss rate is good. If the IMU is in motion, the packet loss rate is high,What is the reason and how to resolve it?

    It sounds like the interrupt function for the sensor is configured with an equal or higher interrupt priority than the interrupts in gazell. Can you try to adjust the interrupt priority of this IMU IRQ?

     

    Kind regards,

    Håkon

  • HI Hakon,

    1、How to determine the interrupt priority of IMU with gzll's NRF_GZLL_LOW_IRQ_PRIORITY

    2、Can we directly send IMU data to the host at fixed time intervals regardless of whether we receive the ACK from the host?

    tks

  • austin said:
    1、How to determine the interrupt priority of IMU with gzll's NRF_GZLL_LOW_IRQ_PRIORITY

    Use NVIC_GetPriority to see the interrupt priority of your wanted _IRQn.

    Use NVIC_SetPriority(_IRQn) to set it to another value. Since Gazell uses 0 and 1, I recommend a lower value (2-7).

    austin said:

    2、Can we directly send IMU data to the host at fixed time intervals regardless of whether we receive the ACK from the host?

    You can push it to the TX fifo, but you'll then need to handle any return code that isn't successful.

    You can also setup a lower max tx attempts, in cases where the data is no longer valid, or whichever fits your application best.

     

    Kind regards,

    Håkon

Related