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.

Radar range is only 20 meter after hardcoding the configuration in Short Range Radar Demo! How to make it 80m ?

I was able to start the sensor by calling the functions that configure the radar and start the sensor in mss_srr_cli.c (SRR one) and the configurations are default one. But now the radar is not able to detect objects more than 20 meters.

Previously when I was testing it with the GUI software (provided by TI) then it was able to get a range upto 80 meters. But by using the default parameters, it doesn't work.

Below is the extra code that I have written for it:

void SRR_MSS_CLIInit (void)

{

..................

..................

     static char *dummy[1];
    Task_sleep(1000);
    SRR_MSS_CLIAdvancedFrameCfg(1, dummy);
    Task_sleep(1000);
    SRR_MSS_CLISensorStart(1, dummy);
    Task_sleep(1000);

return;

}

I added the above lines to the mss_srr_cli.c file (in SRR_MSS_CLIInit function) and I am sure that I didn't do any other changes besides adding these 5 lines in bold. I am using CCS debugger to run the radar.

The radar is successfully running and not throwing any errors either.

Does anyone know what I could be doing wrong?

Plz help.

SDK Version:  3.05.00.04

Automotive Toolbox Version: 3.6.0

  • Hi,

    I am not sure the purpose of these changes.

    These changes are already present:

    mmwave_automotive_toolbox_3_6_0\labs\lab0007_medium_range_radar\src\mss\mss_mrr_cli.c, lines 444, 447


        #if 0
        /* Open the CLI: */
        if (CLI_open (&cliCfg) < 0)
        {
            System_printf ("Error: Unable to open the CLI\n");
            return;
        }
        System_printf ("Debug: CLI is operational\n");
        #endif
        
        /* The link is not configured. */
        gMrrMSSMCB.cfgStatus = false;
        gMrrMSSMCB.runningStatus = false;
        gMrrMSSMCB.isMMWaveOpen = false;
        
        MRR_MSS_CLIAdvancedFrameCfg(1, dummy);
        
        
        MRR_MSS_CLISensorStart(2, dummy);
        return;
    }

    Thank you

    Cesar

  • Hi Cesar,

    Thanks for your response.

    I basically want to get the sensor started just after I power it ON without sending commands over CLI. I also need a range of around 80 meters. But unfortunately anything that is beyond 20 meters is not being detected by the Radar in case of Short Range Radar demo.

    The sensor is starting successfully but the range is too low (approx 20 meters).

    How can I make it reach around 80 meters range?

    Thank you

    Yugal

  • Hi,

    The demo is already doing what you need. No need to make changes.

    I have tested it and it works

    here are the steps

    1) Flash the binaries "mmwave_automotive_toolbox_3_6_0\labs\lab0007_medium_range_radar\prebuilt_binaries\xwr18xx_mrr_demo.bin"

    2) Power on the EVM with correct SOP setting

    3) Run the matlab Visualizer

    4) Enable "USRR Cloud" and "MRR Cloud" check boxes. The USRR Cloud is the short range 20m configuration. The MRR Cloud is the long range 120m configuration

    thank you

    Cesar

  • Hi,

    I have tried that. On the matlab visualizer it shows correctly. But on hardcoding the cli functions and taking the data out from MSS_Logger (on ESP32) it does not give the data of more than 20 meter range.

    It's strange because on Matlab visualizer it is showing the required data upto 80 meters, but not after hardcoding the commands.

    Is there something else that I can try?

  • Hi,

    I think the issue could be with the way you are parsing the MSS_Logger data. I think you need to review the parsing code. The demo will send alternate frames of USRR and MRR detected points.

    The code running with the Visualizer has already the commands hard coded.

    The Visualizer only reads the data received through the DATA COM port. So there should not be any change

    Thank you

    Cesar

  • Thank you for the information, Cesar.

    I will review the parsing code once again.

    Thanks,

    Yugal

  • Can you please tell me if there is a difference between the two alternate frames (USRR vs MRR)  in terms of header size, magic number, Number of TLVs, max frame size etc. so that I can identify them separately?

    If there's no difference then technically my code won't distinguish between USRR and MRR frames and will display all the same.

    Thank you ,

    Yugal

  • Hi,

    Please check how this is performed in the gui matlab source code that receives the data from the board.

    See getHeader() in

    labs\lab0007_medium_range_radar\gui\MRRvisualization\read_file_and_plot_object_location.m

    The message structure is defined in:

    lab0007_medium_range_radar\src\common\mmw_messages.h

    The message is initialized in

    labs\lab0007_medium_range_radar\src\dss\dss_main.c

    MRR_DSS_SendProcessOutputToMSS()

    Thank you

    Cesar

  • Hi,

    Finally, I made it to work after changing the parsing code.

    Thanks,

    Yugal