Hello,
We are currently conducting research on autonomous driving using High Resolution Radar.
Therefore, in order to receive high-resolution inforamtion(Range, Azimuth), MIMO Configuration of the device is essential.
We have used GUI " mmwaveStudio(ver.03_00_00_14) to obtain high resolution data provided by the device.
In mmwaveStudio, Configuration is done using the LUA script that exists in the following path
LUA script path : "C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\Scripts\Cascade"
We can check the data received using the post-processing program(MATLAB) provided by TI. The path of post-processing program is as follows. "C:\ti\mmwave_studio_03_00_00_14\mmWaveStudio\MatlabExamples\4chip_cascade_MIMO_example"
However, since receving device data using GUI, it has many limitations in the experimental environment, we try to obtain data using the following path
"C:\ti\mmwave_dfp_02_02_02_01\ti\example\mmWaveLink_Cascade_Example"
Through the above path, we are trying to operate the Radar Operating & Acquistion Program which is composed of "Visual Studio C program".
There is no problem in operating the device without modifying the program,"mmWaveLink_Cascade_Example"
Unlike Lua Script,'Cascade_Configuration_MIMO', it was confirmed that the program was not configured in MIMO mode. Therefore, I want to use mmWaveLink_Cascade_Example to set the Radar MIMO mode that configures the chirp parameters based on the device ID.
( I used the MIMO Radar Application Report prvided by TI to set the Chirp parameters for each device)
This description explained the process for building my current device experiment environment.
%=====================================================================%
The following is the method of configuring the Chirp parameter suggested by Cascade_Configuation_MIMO.lua.

Fig1. MIMO Setting Table
The above table means that Chirp is set based on each Device ID.
In Lua Script Program, it is written as a function as follows. This designates Chirp for TX 0,1,2 corresponding to devices 1,2,3,4 respectively. This is an excerpt of a part, not the whole of the code.

Fig2. MIMO Configure Chirp Function
The reason for presenting the LUA Script above is because I thought that mmWaveLink_Cascade_Example should be configured in the same way as above.
In the mmWaveLink_Cascade_Example program, the code was modified in "int MMWL_chirpConfig", which is function that sets the Chirp Parameters.

Fig3. MMWL_chirpConfig Function
Here's the part I've edited.
- retVal = CALL_API(API_TYPE_C | SET_CHIRP_CONFIG_IND, deviceMap, &setChirpCfgArgs[0U], 2U) --> retVal = rlSetChirpConfig(1U, 1U, &setChirpCfgArgs[0U]);
---> For the reason that it can be changed as follows, I refered to the following forum.
- The chirp parameter information was removed from the existing mmwaveconfig.txt and the function to read the information was commented out, and each was written in the program and set as the "rlsetChirpConfig" function. The picture below is set up as follows in the program.

Fig4. Editing MMWL_chirpConfig Function
In the program added in Fig4, Master(1U), Slave1,2,3 (2U, 4U, 8U) were set in the same way as in Fig2.
%=====================================================================%
% Setting Experiment Result
%=====================================================================%
In order to set the same experimental environment, the variables of Profile and Frame Configuration of Cascade_Configuration_MIMO and mmWaveLink_Cascade_Example were matched.

Fig5. Cascade_Configuration_MIMO.Lua Configuration


Fig6. Profile/Frame Configuration
Fig6 is the configuration value of mmWaveLink_Cascade_Example. In addition, the Chirp Setting was tried in Fig4.

Fig7. Error print
When the device is operated under the above conditions, the result is shown in Fig7. Each Error code refers to the document provided by TI and asserts that it occurs for the following reasons. (mmWave-Radar-Interface-Control.pdf)


Fig8. Error
So, after deciding two conclusions, I ask some question. So for, after setting the variable values of Lua Script and mmWaveLink, the device is operated. However, an error has occurred, and I will describe two conclusions and questions.
1.I would like to ask if the process between Lua Script setting of MIMO and Profile Configuration of mmWaveLink_Cascade_Example is different. If it is different, I wonder what needs to be changed.
2. In order to set MIMO, we specified Chirp parameters for each device(Fig4). I wonder if this method is correct.
Thanks for reading this long post. If you read my article and ask any questions, I am ready to communicate.
I appreciate for your hard work.