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.

IWR6843AOPEVM: how to change the calibration settings for the OOB demo and other labs

Part Number: IWR6843AOPEVM

I am running the OOB demo using the demo visualizer, and also trying other labs. I want to enable the calibration settings to do boot time calibration and run time calibration, what will be the best way to do that?

I know using mmwave studio I can configure the calibration settings, but can I load the OOB demo using the mmwave studio and change the calibration?

  • Hi Chunmei,

    1. Boot time calibrations are already enabled in the OOB demo. The configuration is sent in mmWave_open in the following code from main.c:

            /* Setup the calibration frequency */
            gMmwMCB.cfg.openCfg.freqLimitLow  = 600U;
            gMmwMCB.cfg.openCfg.freqLimitHigh = 640U;

    The demo visualizer prints out the calibration status (0x1FFE) on startup as shown in the following code from main.c

                    case RL_RF_AE_INITCALIBSTATUS_SB:
                    {
                        rlRfInitComplete_t*  ptrRFInitCompleteMessage;
                        uint32_t            calibrationStatus;
    
                        /* Get the RF-Init completion message: */
                        ptrRFInitCompleteMessage = (rlRfInitComplete_t*)payload;
                        calibrationStatus = ptrRFInitCompleteMessage->calibStatus & 0xFFFU;
    
                        /* Display the calibration status: */
                        CLI_write ("Debug: Init Calibration Status = 0x%x\n", calibrationStatus);
                        break;
                    }

    2. The runtime i.e. periodic calibrations are also enabled in the OOB demo as shown in the following code from main.c.

    int32_t MmwDemo_startSensor(void)
    {
        int32_t     errCode;
        MMWave_CalibrationCfg   calibrationCfg;
        
        /*****************************************************************************
         * Data path :: start data path first - this will pend for DPC to ack
         *****************************************************************************/
        MmwDemo_dataPathStart();
    
        /*****************************************************************************
         * RF :: now start the RF and the real time ticking
         *****************************************************************************/
        /* Initialize the calibration configuration: */
        memset ((void *)&calibrationCfg, 0, sizeof(MMWave_CalibrationCfg));
        /* Populate the calibration configuration: */
        calibrationCfg.dfeDataOutputMode = gMmwMCB.cfg.ctrlCfg.dfeDataOutputMode;
        calibrationCfg.u.chirpCalibrationCfg.enableCalibration    = true;
        calibrationCfg.u.chirpCalibrationCfg.enablePeriodicity    = true;
        calibrationCfg.u.chirpCalibrationCfg.periodicTimeInFrames = 10U;

    Regards

    -Nitin