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.

AWR1843BOOST: mmWave Extensions

Part Number: AWR1843BOOST

I am working to hard code a chirp configuration into the vehicle occupancy + vital signs demo included in the Automotive Toolbox version 2.7.1.

I have modified cli.c to iterate through an array of strings which contain the commands I need. Some chirp commands are accepted while others are not recognized by the system. The commands which are not recognized are listed below.

I don't think I am starting the mmWaveExtensionHandler properly. I see other code using it to handle certain commands. I suspect the commands which fail are handled by the BSS processor and must be passed through mmWave Extension.

Failed Commands:

flushCfg

dfeDataOutputMode 1

adcCfg 2 1

adcbufCfg -1 0 0 1 1

profileCfg 0 77 250 10 40 0 0 90 1 64 2200 0 0 40

chirpCfg 0 0 0 0 0 0 0 1

chirpCfg 1 1 0 0 0 0 0 2

frameCfg 0 1 168 0 107 1 0

lowPower 0 1

  • Hi Andrew,

    I have done this myself.  First, I created a set of parameter strings like this:

    char *parms1[] = {"dfeDataOutputMode", "1"};
    char *parms2[] = {"channelCfg", "15", "5", "0"};
    char *parms3[] = {"adcCfg", "2", "1"};
    char *parms4[] = {"adcbufCfg", "-1", "0", "0", "1", "1"};
    char *parms5[] = {"profileCfg", "0", "77", "250", "10", "40", "0", "0", "98", "1", "64", "2200", "0", "0", "40"};
    char *parms6[] = {"chirpCfg", "0", "0", "0", "0", "0", "0", "0", "1"};
    char *parms7[] = {"chirpCfg", "1", "1", "0", "0", "0", "0", "0", "4"};
    #ifndef TEN_FPS
    char *parms8[] = {"chirpCfg", "2", "2", "0", "0", "0", "0", "0", "1"};
    char *parms9[] = {"chirpCfg", "3", "3", "0", "0", "0", "0", "0", "4"};
    char *parms10[] ={"frameCfg", "0", "3", "128", "0", "160", "1", "0"};
    #else
    char *parms10[] ={"frameCfg", "0", "1", "168", "0", "107", "1", "0"};
    #endif
    char *parms11[] ={"lowPower", "0", "1"};
    char *parms12[] ={"guiMonitor", "0", "1", "16"};
    char *parms13[] ={"sensorStart"};
    #endif

    Then I added function calls at the end of CLI_init like this:

        //Pause, then send the hard coded configuration
        Task_sleep(200);
    
        CLI_MMWaveExtensionHandler (2, parms1);
        CLI_MMWaveExtensionHandler (4, parms2);
        CLI_MMWaveExtensionHandler (3, parms3);
        MmwDemo_CLIADCBufCfg (6, parms4);
        CLI_MMWaveExtensionHandler (15, parms5);
        CLI_MMWaveExtensionHandler (9, parms6);
        CLI_MMWaveExtensionHandler (9, parms7);
    #ifndef TEN_FPS
        CLI_MMWaveExtensionHandler (9, parms8);
        CLI_MMWaveExtensionHandler (9, parms9);
    #endif
        CLI_MMWaveExtensionHandler (8, parms10);
        CLI_MMWaveExtensionHandler (3, parms11);
        ODDemo_CLIGuiMonSel(4, parms12);
        MmwDemo_CLISensorStart (1, parms13);
    

    It works well.

      -dave

  • Thanks db, that was the issue. The compiler gave a warning that this function was being declared implicitly, but apparently it is in scope. Everything is working now.