Hello Champs,
Customer still has the problem which I have posted before.
https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1174043/iwr6843-point-cloud-tlv-parser-failed
The line331 in oob_parser.py prompted an error.
def parseCapon3DPolar(self, data, tlvLength):
pUnitStruct = '5f' #elev, azim, doppler, range, snr
pUnitSize = struct.calcsize(pUnitStruct)
pUnit = struct.unpack(pUnitStruct, data[:pUnitSize])
data = data[pUnitSize:]
objStruct = '2bh2H' #2 int8, 1 int16, 2 uint16
objSize = struct.calcsize(objStruct)
self.numDetectedObj = int((tlvLength-pUnitSize)/objSize)
#if (self.printVerbosity == 1):
#print('Parsed Points: ', self.numDetectedObj)
for i in range(self.numDetectedObj):
try:
elev, az, doppler, ran, snr = struct.unpack(objStruct, data[:objSize])
#print(elev, az, doppler, ran, snr)
data = data[objSize:]
#get range, azimuth, doppler, snr
self.pcPolar[0,i] = ran*pUnit[3] #range
if (az >= 128):
print ('Az greater than 127')
az -= 256
if (elev >= 128):
print ('Elev greater than 127')
elev -= 256
if (doppler >= 32768):
print ('Doppler greater than 32768')
doppler -= 65536
self.pcPolar[1,i] = az*pUnit[1] #azimuth
self.pcPolar[2,i] = elev*pUnit[0] #elevation
self.pcPolar[3,i] = doppler*pUnit[2] #doppler
self.pcPolar[4,i] = snr*pUnit[4] #snr
#add pt cloud data to textStructCapon3DCapon3D for text file printing
#self.textStructCapon3DCapon3D[,,,] = [frame #][header,pt cloud data,target info]
#[][pt cloud = 0][pt index][#elev, azim, doppler, range, snr]
if(self.capon3D):
self.textStructCapon3D[self.frameNum%1000,1,i,0] = self.pcPolar[2,i] #elev
self.textStructCapon3D[self.frameNum%1000,1,i,1] = self.pcPolar[1,i] #az
self.textStructCapon3D[self.frameNum%1000,1,i,2] = self.pcPolar[3,i] #doppler
self.textStructCapon3D[self.frameNum%1000,1,i,3] = self.pcPolar[0,i] #range
self.textStructCapon3D[self.frameNum%1000,1,i,4] = self.pcPolar[4,i] #snr
except:
data = data[objSize:]
self.numDetectedObj = i
print('Point Cloud TLV Parser Failed')
break
self.polar2Cart3D()
Thanks
Regards
Shine