This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR6843AOPEVM: Decoding info from DATA UART

Part Number: IWR6843AOPEVM

Hi all,

I have recently been testing the IWR6843AOPEVM evaluation kit and it is working great. I have loaded the high accuracy measuring lab following the tutorial online.

I'm looking to integrate the evaluation into into a compact package so I can do some field testing.

I have the evaluation kit connected to a raspberrypi and I can send commands to the chip using /dev/ttyUSB0 115200. This is working fine.

I can receive data from the chip on /dev/ttyUSB1 but I'm not sure how to decipher this data.

Can anyone point me to where I can find the format of the returned data? Would it be inside the code or is there a standard format returned for that chip?

Thanks

  • Ok answering my own question.

    I found the code in mss_main.c

    /**************************************************************************
    ************************* Millimeter Wave Demo Functions **********************
    **************************************************************************/


    /** @brief Transmits detection data over UART
    *
    * The following data is transmitted:
    * 1. Header (size = 32bytes), including "Magic word", (size = 8 bytes)
    * and icluding the number of TLV items
    * TLV Items:
    * 2. If detectedObjects flag is set, pbjOut structure containing range,
    * doppler, and X,Y,Z location for detected objects,
    * size = sizeof(objOut_t) * number of detected objects
    * 3. If logMagRange flag is set, rangeProfile,
    * size = number of range bins * sizeof(uint16_t)
    * 4. If noiseProfile flag is set, noiseProfile,
    * size = number of range bins * sizeof(uint16_t)
    * 7. If rangeAzimuthHeatMap flag is set, the zero Doppler column of the
    * range cubed matrix, size = number of Rx Azimuth virtual antennas *
    * number of chirps per frame * sizeof(uint32_t)
    * 8. If rangeDopplerHeatMap flag is set, the log magnitude range-Doppler matrix,
    * size = number of range bins * number of Doppler bins * sizeof(uint16_t)
    * 9. If statsInfo flag is set, the stats information
    * @param[in] uartHandle UART driver handle
    * @param[in] obj Pointer data path object MmwDemo_DataPathObj
    */

  • Hello Patrick,

    Thankyou for posting the solution for the wider audience on the forum. 

    Regards,

    Ishita

  • Hi Patrick,

    Thanks for posting the solution.

    We are trying to use Jetson Nano (also Linux/ARM64) with IWR6843AOPEVM.  

    Have you been able to use the SDK on Raspberry Pi? Are you able to get range and/or point cloud out of the IWR6843AOPEVM through USB (UART) without the SDK?

    Thanks gain for sharing your findings.

    Best regards,

    POUYA

  • Hi POUYA,

    No I haven't used the SDK on the Raspberry PI but it is very easy to directly connect to the UARTS using pyserial.

    See example below in python to get you started.

    https://paste.ofcode.org/HbkK2yp9R2vjhipvmchfT5

    In my case I modified the MSS code so that it only returns the range values.

    Patrick

  • Hi Patrick,

    Thanks a lot for the response and the code.

    We will try a similar approach on Jetson Nano and let you know our findings.

    Thanks again for helping and please keep in touch.

    Best regards,

    Pouya

  • Hi Patrick,

    I work with Pouya and unfortunately we still have the same issue as before. We connected the sesnor to our linux processor through UART the aim is to have a single distance measurement not a point cloud. So the question is that does the board send the distance value itself or do we have to process the 1-D fft? 

    best,

    Hedieh

  • Hi Hedieh,

    I assume that you are using the firmware for the high accuracy measuring lab?

    Basically as a default, everything that you can see in the visualiser is send over the UART. That includes the 3 largest/closest points, range profile, statistics etc... So to answer your question you don't need to do the fft yourself, the distance to the 3 largest objects is sent over the UART.

    You can modify the firmware code so that it only sends the info that you need, this is easier than trying to decode everything that is sent.

    Hope this helps.

    Patrick 

  • Hi Patrick,

    thanks for the response.

    I will ask Hedieh to look into this and share the findings. Please keep in touch.

    Best regards,

    POUYA