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: why mmw demo meet MMWAVE_ECALPERIOD error after input CLI ?

Part Number: IWR6843ISK


1.

1.1 hardware

IWR6843ISK EVM board

1.2 software info:
C:\ti\mmwave_sdk_03_03_00_03
C:\ti\ccsv8 (version 8.3.1)

2.
2.1 I compiled mmw inside
C:\ti\mmwave_sdk_03_03_00_03\packages\ti\demo\xwr68xx\mmw
2.2 load and run with ccs

2.3 input cli with profile_2d.cfg
C:\ti\mmwave_sdk_03_03_00_03\packages\ti\demo\xwr68xx\mmw\profiles

2.4 Below is the info from CCS

[C674X_0] Debug: DPM Module Sync is done
[Cortex_R4_0] **********************************************
Debug: Launching the MMW Demo on MSS
**********************************************
Debug: Launched the Initialization Task
Debug: mmWave Control Initialization was successful
Debug: mmWave Control Synchronization was successful
Debug: CLI is operational
Debug: Sending rlRfSetLdoBypassConfig with 0 0 0
Error: mmWave Open failed [Error code: -3121 Subsystem: 128]


2.5 the error -3121 is the MACRO below

/**
* @brief Error Code: mmWave link BSS calibration periodicity failed
*/
#define MMWAVE_ECALPERIOD (MMWAVE_ERRNO_BASE-21)

2.6 the relative code is below


int32_t MMWave_openLink (MMWave_MCB* ptrMMWaveMCB, rlCalibrationData_t* ptrCalibData, int32_t* errCode)
{
int32_t retVal = MINUS_ONE;
rlRfCalMonFreqLimitConf_t freqLimit;
rlRfInitCalConf_t rfInitCalib;
rlRfCalMonTimeUntConf_t timeCfg;

/* Initialize the configurations: */
memset ((void *)&freqLimit, 0, sizeof(rlRfCalMonFreqLimitConf_t));
memset ((void *)&rfInitCalib, 0, sizeof(rlRfInitCalConf_t));
memset ((void *)&timeCfg, 0, sizeof(rlRfCalMonTimeUntConf_t));

/* Link is not operational: */
ptrMMWaveMCB->linkStatus = 0U;

/****************************************************************************************
* Setup the RF Calibration Time unit:
****************************************************************************************/
if(ptrMMWaveMCB->openCfg.calibMonTimeUnit != 0)
{
timeCfg.calibMonTimeUnit = ptrMMWaveMCB->openCfg.calibMonTimeUnit;
retVal = rlRfSetCalMonTimeUnitConfig(RL_DEVICE_MAP_INTERNAL_BSS, &timeCfg);
if (retVal != RL_RET_CODE_OK)
{
/* Error: Unable to set the calibration time unit */
*errCode = MMWave_encodeError (MMWave_ErrorLevel_ERROR, MMWAVE_ECALPERIOD, retVal);
retVal = MINUS_ONE;
goto exit;
}
}

2.7 the profile_2d.cfg info

sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 5 0
adcCfg 2 1
adcbufCfg -1 0 1 1 1
lowPower 0 0
profileCfg 0 60 7 3 24 0 0 166 1 256 12500 0 0 30
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 4
frameCfg 0 1 32 0 100 1 0
guiMonitor -1 1 1 1 0 0 1
cfarCfg -1 0 2 8 4 3 0 15.0 0
cfarCfg -1 1 0 4 2 3 1 15.0 0
multiObjBeamForming -1 1 0.5
calibDcRangeSig -1 0 -5 8 256
clutterRemoval -1 0
compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
measureRangeBiasAndRxChanPhase 0 1. 0.2
aoaFovCfg -1 -90 90 -90 90
cfarFovCfg -1 0 0.25 9.0
cfarFovCfg -1 1 -20.16 20.16
extendedMaxVelocity -1 0
CQRxSatMonitor 0 3 4 63 0
CQSigImgMonitor 0 127 4
analogMonitor 0 0
lvdsStreamCfg -1 0 0 0
bpmCfg -1 0 0 0


sensorStart

3. All the above is standard, I did not change mmw demo, and its cfg file, why it failed with MMWAVE_ECALPERIOD?