We need to configure the Chirp Parameters differently, depending on the device Id.
The example code "mmwave_dfp_02_02_03_01\ti\example\mmWaveLink_Cascade_Example" allows Chirp Parameters to be configured as follows (see mmwaveconfig.txt file below)
But there is no way here to specify the device ID for these Chirp Parameters.
The "int MMWL_chirpConfig(unsigned char deviceMap)" function sends the chirp parameters to all 4 devices (deviceMap = 15) :
retVal = CALL_API(API_TYPE_C | SET_CHIRP_CONFIG_IND, deviceMap, &setChirpCfgArgs[0U], 2U);
#
#Chirp Configuration parameters, please modify if needed.
#rlChirpCfg_t
#
chirpStartIdx=0;
chirpEndIdx=8;
profileIdCPCFG=0;
startFreqVar=0;
freqSlopeVar=0;
idleTimeVar=0;
adcStartTimeVar=0;
txEnable=0;
#END
#
#Chirp Configuration parameters, please modify if needed.
#rlChirpCfg_t
#
chirpStartIdx=0;
chirpEndIdx=0;
profileIdCPCFG=0;
startFreqVar=0;
freqSlopeVar=0;
idleTimeVar=0;
adcStartTimeVar=0;
txEnable=4;
#END
#
#Chirp Configuration parameters, please modify if needed.
#rlChirpCfg_t
#
chirpStartIdx=1;
chirpEndIdx=1;
profileIdCPCFG=0;
startFreqVar=0;
freqSlopeVar=0;
idleTimeVar=0;
adcStartTimeVar=0;
txEnable=2;
#END
I modified the MMWL_chirpConfig() code to select the device IDs individually (15, 8,4,2,1), like this:
retVal = CALL_API(API_TYPE_C | SET_CHIRP_CONFIG_IND, 0x0F, &setChirpCfgArgs[0], 1U);
retVal = CALL_API(API_TYPE_C | SET_CHIRP_CONFIG_IND, 0x08, &setChirpCfgArgs[1], 1U);
retVal = CALL_API(API_TYPE_C | SET_CHIRP_CONFIG_IND, 0x04, &setChirpCfgArgs[2], 1U);
etc
Will this work?
The first Chirp section is used to set chirps 0-8 for all 4 devices with a txEnable of zero for devices (8,4,2,1)
The next Chirp section is used to set chirp 0, device 0x8 only, to have a txEnable=4 for only Device 4
The next Chirp section is used to set chirp 1, device 0x4 only, to have a txEnable=2 for only Device 3
etc.
What is the meaning of the '1U' last parameter in the API call above?
Also, is there an API to read back the Chirp Parameters like there is to read back the Profile Config parameters?
I need an API for "GET_CHIRP_CONFIG_IND" so I can read the Chirp RAM from the 4 radar devices and see if is what I expected.
In other words, is there a GET CHIRP CONFIG similar to this GET PROFILE CONFIG?
retVal = CALL_API(API_TYPE_C | GET_PROFILE_CONFIG_IND, devId, &getProfileCfgArgs_AdvChirp[j], j);
Regards Eddie