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.

AWR1642BOOST: Read .dat file by matlab

Part Number: AWR1642BOOST

Hi,

I'm trying to use Matlab\Python to read the the .dat file returned by the radar board. I'm referring to this documentation in the ti packages:

file:///C:/ti/mmwave_sdk_01_01_00_02/packages/ti/demo/xwr16xx/mmw/docs/doxygen/html/index.html

At first everything was okay. Then when I changed the firmware version from 1.0 to 1.1 (which should be okay as the documentation is the 1.1 version), the data cannot extracted out correctly. 

The problem is that tlv_type cannot be read correctly. 

The matlab code is as below:

while ~feof(fin)
nbytes = 0;
outputpkt(counter).magicWord = fread(fin,4,'uint16');
if numel(outputpkt(counter).magicWord)==0
break;
end
if outputpkt(counter).magicWord(1)~=hex2dec('102') ...
|| outputpkt(counter).magicWord(2)~=hex2dec('304') ...
|| outputpkt(counter).magicWord(3)~=hex2dec('506') ...
|| outputpkt(counter).magicWord(4)~=hex2dec('708')
break;
end
outputpkt(counter).version = fread(fin,1,'uint32');
outputpkt(counter).totalPacketLen = fread(fin,1,'uint32');
outputpkt(counter).platform = fread(fin,1,'uint32');
outputpkt(counter).frameNumber = fread(fin,1,'uint32');
outputpkt(counter).timeCpuCycles = fread(fin,1,'uint32');
outputpkt(counter).numDetectedObj = fread(fin,1,'uint32');
outputpkt(counter).numTLVs = fread(fin,1,'uint32');
outputpkt(counter).tlv = struct;

nbytes = nbytes + 36;

for tlvcounter = 1:outputpkt(counter).numTLVs
    outputpkt(counter).tlv(tlvcounter).tlv_type = fread(fin,1,'uint32');
    outputpkt(counter).tlv(tlvcounter).tlv_length = fread(fin,1,'uint32'); ....

Previously this part of code was working well. Now tlv_type cannot be read correctly.

May I know what's the problem?

Gelei