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: 工业雷达包4.12版本中的3D人员计数工程 如何跳过CLI阶段进行开发?

Part Number: IWR6843AOPEVM

我将CLI初始化部分注释掉 并采用out of box文档中的方法 跳过CLI命令配置

我已在out of box工程中将跳过CLI的方法实现 使其能够自动进行配置并调用start Sensor函数

但在3D人员计数工程中 我采用了相同的方式进行 最后也是调用了start Sensor函数

结果程序调试后一直跑飞不报错

下图中 输出“CLI Remix Set”的部分是完成CLI配置 在这之后就是调用start Sensor函数

经过调试发现 每次程序跑飞都是在下图所示的函数中 也就是在执行函数Pcount3DDemo_DPM_ioctl_blocking中的DPM_ioctl语句时跑飞

下面附上我的CLI初始化重写代码:

void MmwDemo_sensorConfig_task(void)
{
    int32_t         errCode;

    /* Sanity Check: We need the mmWave handle to work. */
    if (gMmwMssMCB.ctrlHandle == NULL)
    {
       return;
    }

    /* Initialize the mmWave control configuration: */
    memset ((void *)&gMmwMssMCB.cfg.ctrlCfg, 0, sizeof(MMWave_CtrlCfg));

    mmwave_freq_scale_factor = SOC_getDeviceRFFreqScaleFactor(gMmwMssMCB.socHandle, &errCode);
    if(errCode < 0)
    {
       return;
    }


    CLI_Remix_sensorStop();
    CLI_Remix_flushCfg();
    CLI_Remix_dfeDataOutputMode(1);
    CLI_Remix_channelCfg(15,7,0);
    CLI_Remix_adcCfg(2,1);
    CLI_Remix_adcbufCfg(-1,0,1,1,1);
    CLI_Remix_lowPower(0,0);

    CLI_Remix_profileCfg(0,60.75,30.00,25.00,59.10,394758,0,54.71,1,96,2950.00,2,1,36);
    CLI_Remix_chirpCfg(0,0,0,0,0,0,0,1);
    CLI_Remix_chirpCfg(1,1,0,0,0,0,0,2);
    CLI_Remix_chirpCfg(2,2,0,0,0,0,0,4);
    CLI_Remix_frameCfg(0,2,96,0,55.00,1,0);
    CLI_Remix_dynamicRACfarCfg(-1,4,4,2,2,8,12,4,12,5.00,8.00,0.40,1,1);
    CLI_Remix_staticRACfarCfg(-1,6,2,2,2,8,8,6,4,8.00,15.00,0.30,0,0);
    CLI_Remix_dynamicRangeAngleCfg(-1,0.75,0.0010,1,0);
    CLI_Remix_dynamic2DAngleCfg(-1,3.0,0.0300,1,0,1,0.30,0.85,8.00);
    CLI_Remix_staticRangeAngleCfg(-1,0,8,8);
    CLI_Remix_antGeometry0(-1,-1,0,0,-3,-3,-2,-2,-1,-1,0,0);
    CLI_Remix_antGeometry1(-1,0,-1,0,-3,-2,-3,-2,-3,-2,-3,-2);
    CLI_Remix_antPhaseRot(1,-1,1,-1,1,-1,1,-1,1,-1,1,-1);
    CLI_Remix_fovCfg(-1,70.0,70.0);
    CLI_Remix_compRangeBiasAndRxChanPhase(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);

    CLI_Remix_staticBoundaryBox(-3,3,0.5,7.5,0,3);
    CLI_Remix_boundaryBox(-4,4,0,8,0,3);
    CLI_Remix_sensorPosition(2,0,15);
    CLI_Remix_gatingParam(3,2,2,3,4);
    CLI_Remix_stateParam(3,3,12,500,5,6000);
    CLI_Remix_allocationParam(20,100,0.1,20,0.5,20);
    CLI_Remix_maxAcceleration(0.1,0.1,0.1);
    CLI_Remix_trackingCfg(1,2,800,30,46,96,55);
    CLI_Remix_presenceBoundaryBox(-3,3,0.5,7.5,0,3);

    System_printf("CLI Remix Set\n");

    CLI_Remix_sensorStart();

    return;
}


该函数在Pcount3DDemo_CLIInit中进行调用:

void Pcount3DDemo_CLIInit (uint8_t taskPriority)
{
    if(Remix_Flag)
    {
       MmwDemo_sensorConfig_task();
    }
    else
    {
    CLI_Cfg     cliCfg;
    char        demoBanner[110];
    uint32_t    cnt;
    .......
    

当Remix_Flag为1时 只跑我的函数 为0时 跑原本的CLI初始化函数