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.

IWR6843AOP: High accuracy lab data format

Part Number: IWR6843AOP

Hello,

I'm working with IWR6843AOP with High Accuracy lab FW, with the intention of integrating this solution in a device.

For this aim, I need to read the DATA UART and understand its output without the visualizer GUI. I've been trying to use a python parser I've developed and tested for the OOB demo, that reads and interprets TLV packets.

This parser works perfectly with OOB demo output but it's not working with High Accuracy Lab output, so I guess the format is different.

I'm using the prebuilt binary for this demo so I know that the source of this problem it's not a modification I've made to the code.

Thanks in advance for your time and best regards,

Julia Sánchez.

  • Hi,

    Following is the TLV Format

    numDetetedObj (16 bits);  // Always set to 1

    xyzQFormat(16 bits);  //Set to 20

    Peak 1 (LSB 16 bits)

    Peak 3 (LSB 16 bits)

    Peak 2 (LSB 16 bits)

    Peak 1 (MSB16 bits)

    Peak 2 (MSB 16 bits)

     Peak 3 (MSB 16 bits)

    Peak 1,2,3 are floating point numbers

    You can refer to MmwDemo_transmitProcessedOutput() function in mss_main.c in  radar_toolbox_1_20_00_11\source\ti\examples\Level_Sensing\high_accuracy\src\68xx\mss

    Regards,

  • Hello Abshishek,

    Thank you for your answer. I'm looking at the function you referred to (MmwDemo_transmitProcessedOutput() function in mss_main.c of the lab FW) and I have a doubt. You mentioned peak 1, peak 2 and peak 3, but in the code what I see is a structure named dummyDetectionOut of type MmwDemo_detectedObj, in which there are no value peak 1,2 and 3 but "rangeIdx, x, peakVal..." which doesn't seem to correspond to different objects. Is that because the structure is used in an inaccurate way or because I'm getting lost somewhere? Because it doesn't relate to what you're telling me.

    Best regards and thanks again,

    Julia.

  • Hi Julia,

    The High accuracy lab output does not have a dedicated TLV format. It used the existing TLV of the structure to MmwDemo_detectedObj to send the 3 detected peaks.

    Below code in the same function assigns the 3 peaks as per the format that I mentioned.

    tempRange = (int32_t)(outputData->rangeEst * 1048576.f);
    tempRange1 = (int32_t)(outputData->rangeEst1 * 1048576.f);
    tempRange2 = (int32_t)(outputData->rangeEst2 * 1048576.f);


    dummyDetectionOut.rangeIdx = (uint16_t) tempRange & 0xFFFF;
    dummyDetectionOut.x = tempRange >> 16;

    dummyDetectionOut.peakVal = (uint16_t) tempRange1 & 0xFFFF;
    dummyDetectionOut.y = tempRange1 >> 16;

    dummyDetectionOut.dopplerIdx = (uint16_t) tempRange2 & 0xFFFF;
    dummyDetectionOut.z = tempRange2 >> 16;

    Regards,

    Abhishek

  • Hello Abhishek,

    That's what I thought. Thank you very much, this solved my issue.

    Best regards, Julia.