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

where to see the output of recieved data packets using Gazell protocol

hey, I am new to eval kit and i am asking a very basic question, i want to send the RSSI from PCA10001 board to usb dongle PCA10000.i am looking the examples in sdk for this purpose. now my question is that where we see the packets or bytes recieved in usb dongle...... whether we have to see in nrfgo studio, or some where else.

Parents
  • Hi,

    For each packet you receive (or ACK your receive), you can read out the rssi in the gazell callback(s):

    void nrf_gzll_host_rx_data_ready(uint32_t pipe, nrf_gzll_host_rx_info_t rx_info);
    

    where nrf_gzll_host_rx_info_t has the rssi:

    typedef struct
    {
      bool packet_removed_from_tx_fifo;
      ///<  A payload was received in the ACK.
      int16_t rssi;
      ///< Received signal strength indicator in dBm. @sa nrf_gzll_enable_rssi().
    } nrf_gzll_host_rx_info_t;
    

    On the gazell device side, you will see this callback:

    void nrf_gzll_device_tx_success(uint32_t pipe, nrf_gzll_device_tx_info_t tx_info);
    

    Where nrf_gzll_device_tx_info_t holds the rssi:

    typedef struct
    {
      bool payload_received_in_ack;   
      ///<  A payload was received in the ACK.
      uint16_t num_tx_attempts;
      ///< Number of attempts used on previous Device packet transmission.
      uint16_t num_channel_switches;
      ///< Number of channel switches needed during previous packet transmission.
      int16_t rssi;
      ///< Received signal strength indicator in dBm. @sa nrf_gzll_enable_rssi().
    } nrf_gzll_device_tx_info_t;
    

    You can use the simple-uart library to print these to your PC, and read them out using your choice of serial port terminal.

    Cheers, Håkon

  • Hi HAkon...... when i read out the RSSI from the callback on host side void nrf_gzll_host_rx_data_ready(uint32_t pipe, nrf_gzll_host_rx_info_t rx_info); the value of RSSI is static or constant value(e.g rx_info.rssi=0xFFD5) and it will not change even if the distance between the two boards got changed.. also I am calling this callback in a infinite while loop so that it can recieve continously the ack packets... same on device side the callback is called in an infinite loop so that it can send the datapayload continousy....... please help me in resolving this......

Reply
  • Hi HAkon...... when i read out the RSSI from the callback on host side void nrf_gzll_host_rx_data_ready(uint32_t pipe, nrf_gzll_host_rx_info_t rx_info); the value of RSSI is static or constant value(e.g rx_info.rssi=0xFFD5) and it will not change even if the distance between the two boards got changed.. also I am calling this callback in a infinite while loop so that it can recieve continously the ack packets... same on device side the callback is called in an infinite loop so that it can send the datapayload continousy....... please help me in resolving this......

Children
No Data
Related