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.

IWR6843ISK: How can I modify the data format of MMW serial communication? I want to leave out the point cloud information and target index.

Part Number: IWR6843ISK

Hi, there.

According to the EVM guide document, I flash the pplcount_lab_xwr68xx.bin file(C:\ti\mmwave_industrial_toolbox_4_1_0\labs\people_counting\68xx_people_counting\prebuilt_binaries\pplcount_lab_xwr68xx.bin
) and change the device mode to " Position for 40-Pin LP/BP " mode. By sending relevant configuration commands to EVN through STM32 chip, EVM data can also be normally output from J6 Pin_9(MSS LOGGER)port.
Then I can get the point cloud information, target TLV list and other data according to the frame data analysis part of pplcount_user_guide.pdf document.
I used the CCS program to reconstruct the project of mmwave_industrial_toolbox_4_1_0, entered the debugging mode, and modified the serial port communication mode of millimeter-wave. I wanted to delete the point cloud information of the target and the data of the target index, and keep the target list information section, including its number, location information, so as to reduce the bytes of the serial port output data, so as to facilitate the analysis of its data.

Where/which document should I modify?
How should I modify it?
Is there a reference document?

Hope to get your help, thanks a lot.

  • Hi,

    The device sends a Frame Header, Point Cloud TLV, Target TLV, and Target Index TLV. You will need to cancel the point cloud TLV and the target index TLV.

    You should do the following:

    1. In mss_main.c, find the function that outputs data on UART. (Search for UART_writePolling())

    2. The output is constructed on the fly - so you need to modify this construction

    a. Ensure packet length is not increased by the point cloud or target index TLV sizes. (header.packetLength)

    b. Ensure num TLVs is not incremented by the pointcloud or target index TLV sizes (header.numTLVs)

    c. remove the part of the code that sends the point cloud and target index TLVs.

    This should cover it.

    Regards,

    Justin

  • Hi, Justin.


    According to your description, I looked for UART_writePolling() function in mss_main.c, but I didn't find it, nor did I find the length of point cloud mentioned in the second point.The projects I import in the CCS program are pplcount_dss_68xx.projectspec and pplcount_mss_68xx.projectspec(C:\ti\mmwave_industrial_toolbox_4_1_0__win\labs
    \people_counting\68xx_people_counting\src).
    May I ask whether the project I imported is the same as what you said?Why didn't I find the function you said?
    Why can't I see the original function when I look at some functions, so I can only call them, but have no program content of the function itself?

    Hope to get your help, thanks a lot.

  • Hi,

    I apologize, I though you were using the 3D people counting demo. Either way, the steps are similar, but the source code you are looking for is in a different file. Look in mss/task_mbox.c, find the function: MmwDemo_mboxReadTask() - this is most of the file. Make the same edits I described in the previous answer, let me know if anything is unclear.

    Regards,

    Justin