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: Try to dump the range profile but failed [IWR6843ISK]

Part Number: IWR6843ISK

Tool/software:

Hi! TI TEAM!

I am using IWR6843ISK and trying to dump the RangeProfile.

But I am not familiar with this process so I find the document in radar_toolbox_2_30_00_12\software_docs\Understanding_UART_Data_Output_Format.html

Range Profile

xWR6843, xWR1843, xWR1642, xWR1443

Type Identifier Type Value Length Value
2 MMWDEMO_OUTPUT_MSG_RANGE_PROFILE (Range FFT size) x (2 Bytes) Array of profile points at 0th Doppler (stationary objects). The points represent the sum of log2 magnitudes of received antennas expressed in Q9 format.

So the document say that this is 2 Bytes.

But in the code

        UART_writePolling (uartHandle,
                           (uint8_t*)&tl[tlvIdx],
                           sizeof(MmwDemo_output_message_tl));

        for(index = 0; index < subFrameCfg->numRangeBins; index++)
        {
            UART_writePolling (uartHandle,
                    (uint8_t*)&detMatrix[index*subFrameCfg->numDopplerBins],
                    sizeof(uint16_t));
        }

Supposed this is (uint8_t),

So which one is right?  Please help me. Thank you!

The following is the partial message from the rangeProfile

HEAD          RANGEPROFILE

12*3*5***0     226
 12*3*5***1     149
 12*3*5***2      50
 12*3*5***3     224
 12*3*5***4     101
 12*3*5***5     202
 12*3*5***6      29
 12*3*5***7      75
 12*3*5***8     205
 12*3*5***9      57
 12*3*5***10     203
 12*3*5***11      82
 12*3*5***12     134
 12*3*5***13     214
 12*3*5***14     234
 12*3*5***15     229
 12*3*5***16      18
 12*3*5***17      93
 12*3*5***18     202
 12*3*5***19     224
 12*3*5***20     173
 12*3*5***21     199
 12*3*5***22     247
 12*3*5***23     249
 12*3*5***24     153
 12*3*5***25      65
 12*3*5***26      28
 12*3*5***27      26
 12*3*5***28     208
 12*3*5***29     117
 12*3*5***30      49

from 0 to 30.   You can see this is weird.

Please help me!

Best regard,
Webb

  • Hello Webb,

    It is uint16_t and is sent as such, that is why the third argument of the UART_writePolling() function is sizeof(uint16_t). The pointer size is (uint8_t*). In fact if you look at all the other possible output types, you will see that all of them have the second argument set to (uint8_t*), with the third argument being the size of the data to be written to UART.

    Best Regards,

    Pedrhom