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.

IWRL6432BOOST: .JSON for Object Tracking FLB

Part Number: IWRL6432BOOST
Other Parts Discussed in Thread: SYSCONFIG

I have prepared a .jason file converted from
C:\ti\MMWAVE_L_SDK_05_04_00_01\examples\mmw_demo\motion_and_presence_detection\profiles\xwrL64xx-evm\TrackingClassification_MidBw.cfg
for object tracking working in "Feature Lite Build" mode, (as attached, .txt extension added because this post not allow .json extension)

the only line not included is : 

adcDataSource 0 adc_data_0001_CtestAdc6Ant.bin
my question is:
1.is the "adcDataSource 0 adc_data_0001_CtestAdc6Ant.bin" important? how to put it inside .jason?
2.after I flash the built image and reset the board, no object tracked (if I load the pre-build image and load the .CFG, it working fine)
3.any conversion in my .json wrong or missing?
FLB-xWRL64xxObjTrk MB.json.txt
{
    "channelCfg":
    {
        "rxChCtrlBitMask": "7",
        "txChCtrlBitMask": "3",
        "miscCtrl":        "0"
    },
    "chirpComnCfg":
    {
        "digOutputSampRate": "16",
        "digOutputBitsSel":  "0",
        "dfeFirSel":         "0",
        "numOfAdcSamples":   "128",
        "chirpTxMimoPatSel": "4",
        "chirpRampEndTime":  "28",
        "chirpRxHpfSel":     "0"
    },
    "chirpTimingCfg":
    {
        "chirpIdleTime":       "6",
        "chirpAdcSkipSamples": "32",
        "chirpTxStartTime":    "0",
        "chirpRfFreqSlope":    "40",
        "chirpRfFreqStart":    "60.5"
    },
    "frameCfg":
    {
        "numOfChirpsInBurst": "2",
        "numOfChirpsAccum":   "0",
        "burstPeriodicity":   "200",
        "numOfBurstsInFrame": "64",
        "framePeriodicity":   "100",
        "numOfFrames":        "0"
    },
    "antGeometryCfg":
    {
        "vAnt0_row": "0",
        "vAnt0_col": "0",
        "vAnt1_row": "1",
        "vAnt1_col": "1",
        "vAnt2_row": "0",
        "vAnt2_col": "2",
        "vAnt3_row": "0",
        "vAnt3_col": "1",
        "vAnt4_row": "1",
        "vAnt4_col": "2",
        "vAnt5_row": "0",
        "vAnt5_col": "3",
        "antDistX":  "2.418",
        "antDistZ":  "2.418"
    },
    "guiMonitor":
    {
        "pointCloud":          "2",
        "rangeProfile":        "3",
        "noiseProfile":        "0",
        "rangeAzimuthHeatMap": "0",
        "rangeDopplerHeatMap": "0",
        "statsInfo":           "1",
        "presenceInfo":        "0",
        "adcSamples":          "0",
        "trackerInfo":         "1",
        "microDopplerInfo":    "1",
        "classifierInfo":      "1",
        "quickEvalInfo":       "0"
    },
    "sigProcChainCfg":
    {
        "azimuthFftSize":                  "32",
        "elevationFftSize":                "2",
        "motDetMode":                      "3",
        "coherentDoppler":                 "2",
        "numFrmPerMinorMotProc":           "8",
        "numMinorMotionChirpsPerFrame":    "8",
        "forceMinorMotionVelocityToZero":  "1",
        "minorMotionVelocityInclusionThr": "0.3"
    },
    "cfarCfg":
    {
        "averageMode":           "2",
        "winLen":                "8",
        "guardLen":              "4",
        "noiseDiv":              "3",
        "cyclicMode":            "0",
        "thresholdScale":        "12.0",
        "peakGroupingEn":        "0",
        "sideLobeThreshold":     "0.5",
        "enableLocalMaxRange":   "0",
        "enableLocalMaxAzimuth": "1",
        "interpolateRange":      "1",
        "interpolateAzimuth":    "1"
    },
    "aoaFovCfg":
    {
        "minAzimuthDeg":   "-70",
        "maxAzimuthDeg":   "70",
        "minElevationDeg": "-40",
        "maxElevationDeg": "40"
    },
    "rangeSelCfg":
    {
        "minMeters": "0.1",
        "maxMeters": "6.0"
    },
    "clutterRemoval":
    {
        "enabled": "1"
    },
    "compRangeBiasAndRxChanPhase":
    {
        "rangeBias":     "0.0",
		"virtAntIdx 1":     "1.00000, 0.00000",
		"virtAntIdx 2":     "-1.00000, 0.00000",
		"virtAntIdx 3":     "1.00000, 0.00000",
		"virtAntIdx 4":     "-1.00000, 0.00000",
		"virtAntIdx 5":     "1.00000, 0.00000",
		"virtAntIdx 6":     "-1.00000, 0.00000"
    },
    "adcLogging":
    {
        "enable": "0"
    },
    "lowPowerCfg":
    {
        "enable": "1"
    },
    "factoryCalibCfg":
    {
        "saveEnable":    "1",
        "restoreEnable": "0",
        "rxGain":        "40",
        "txBackoff":     "0",
        "flashOffset":   "0x1ff000"
    },
    "mpdBoundaryBox":
    {
        "Zone":  "1",
        "x-min": "-3.5",
        "x-max": "3.5",
        "y-min": "0",
        "y-max": "6",
        "z-min": "-0.5",
        "z-max": "3"
    },
    "sensorPosition":
    {
        "xOffset":  "0",
        "yOffset": "0",
        "zOffset": "1.9",
        "azimTilt": "0",
        "elevTilt": "0"
    },
	"staticBoundaryBox":
    {
        "x-min":  "-3",
        "x-max": "3",
        "y-min": "0.5",
        "y-max": "6.5",
        "z-min": "0",
        "z-max": "3"
    },
	"gatingParam":
    {
        "Gain":  "3",
        "Limit-Width": "2",
        "Limit-Depth": "2",
        "Limit-Height": "2",
        "Limit-Velocity": "4"
    },
	"stateParam":
    {
        "det2actThre":  "3",
        "det2freeThre": "3",
        "active2freeThre": "12",
        "static2freeThre": "50",
        "exit2freeThre": "5",
        "sleep2freeThre": "200"
    },
	"allocationParam":
    {
        "snrThre":  "6",
        "snrThreObscured": "10",
        "velocityThre": "0.1",
        "pointsThre": "4",
        "maxDistanceThre": "0.5",
        "maxVelThre": "20"
    },
	"maxAcceleration":
    {
        "MaxAccel-X-direction": "0.4",
        "MaxAccel-Y-direction": "0.4",
        "MaxAccel-Z-direction": "0.1"
    },
	"trackingCfg":
    {
        "enable":  "1",
        "IntialConfigParams": "2",
        "maxNumPoints": "100",
        "maxNumTracks": "3",
        "maxRadialVelocity": "61.3",
        "radialVelocityResolution": "191.7",
        "deltaT": "100",
        "boresightFilteringEnable": "0"
    },
	"presenceBoundaryBox":
    {
        "x-min":  "-3",
        "x-max": "3",
        "y-min": "0.5",
        "y-max": "7.5",
        "z-min": "0",
        "z-max": "3"
    },
    "microDopplerCfg":
    {
        "enabled":  "1",
        "genApproach": "0",
        "targetSize": "0.5",
        "magnitudeSquared": "0",
        "circShiftCentroid": "1",
        "normalizedSpectrum": "1",
        "interceptThrLowFreq": "12.5",
        "interceptThrUpFreq": "87.5",
        "specShiftMode": "1"
    },
    "classifierCfg":
    {
        "enabled":  "1",
        "minNumPntsPerTrack": "3",
        "missTotFrmThre": "4"
    },
    "sensorStart":
    {
        "frameTrigMode":     "0",
        "chirpStartSigLbEn": "0",
        "frameLivMonEn":     "0",
        "frameTrigTimerVal": "0"
    }
}
  • Hello, 

    In the SDK 5.4.0.1 release, Feature Lite Build mode does not support motion/presence detection DPU, tracking, micro-doppler, or classification functionality. 

    Best Regards,

    Josh

  • is it possible that I build a "Feature Tracking Build" , that implement "tracking/classification" function?
    any developer's guide for making a new option in sysconfig?

  • Hi, 

    any developer's guide for making a new option in sysconfig?

    No. This is not provided and I would not recommend trying this. It would be simpler for you to just make the changes that you require in the source code and you can surround them with "#ifdef" statements if you'd like to be able to enable/disable. 

    Taking a step back, is your goal simply to start the sensor without the requirement of sending configuration commands over UART? Or are you looking to leverage the other benefits of Feature Lite Build such as reduced code size from CLI code removal?

    Best Regards,

    Josh