.advFrameCfgArgs = { .frameSeq = { .numOfSubFrames = (rlUInt8_t) CHAINS_CASCADE_RADAR_NUM_SUBFRAMES, //JIT: Change this Macro to value '3' .forceProfile = (rlUInt8_t) 1, .loopBackCfg = (rlUInt8_t) 0, .subFrameTrigger = (rlUInt8_t) 0, .subFrameCfg = { { .forceProfileIdx = (rlUInt16_t) 0, //JIT: all the chirp of SF0 connected to profile-0 .chirpStartIdx = (rlUInt16_t) 0, .numOfChirps = (rlUInt16_t) CHAINS_CASCADE_RADAR_NUM_TX_ANTENNA, //JIT: modify this no. as required for total no. of chirp in sub-frame0 .numLoops = (rlUInt16_t) CHAINS_CASCADE_RADAR_RADAR_HEIGHT, //JIT: modify this no. as required for total no. of chirp in sub-frame0 (this can be 1 if numOfChirps fulfills all the required no. of chirps in sub-frame) .burstPeriodicity = (rlUInt32_t) CHAINS_AR1243_TIME_MS_TO_5NS(33U), //JIT: change this accordingly /* burstPeriodicity >= * (numLoops)* (numOfChirps) * chirpTime + InterBurstBlankTime, * where InterBurstBlankTime is primarily for sensor * calibration / monitoring, thermal control, and some minimum * time needed for triggering next burst. * NOTE: Across bursts, if the value numOfChirps, is not a * constant, then the actual available blank time can vary and * needs to be accounted for 1 LSB = 5 ns */ .chirpStartIdxOffset = (rlUInt16_t) 0, .numOfBurst = (rlUInt16_t) CHAINS_CASCADE_RADAR_NUM_BURSTS, //JIT: set this to 1, i.e. only one burst per sub-frame .numOfBurstLoops = (rlUInt16_t) CHAINS_CASCADE_RADAR_NUM_BURST_LOOPS,//JIT: modify this no. as required for total no. of chirp in sub-frame0 (this can be 1 if numOfChirps fulfills all the required no. of chirps in sub-frame) .reserved0 = (rlUInt16_t) 0, .subFramePeriodicity = (rlUInt32_t) CHAINS_AR1243_TIME_MS_TO_5NS(66U), //JIT: change this accordingly .reserved1 = (rlUInt32_t) 0, .reserved2 = (rlUInt32_t) 0 }, { .forceProfileIdx = (rlUInt16_t) 1, //JIT: all the chirps in this sub-frame are connected with profile-1 .chirpStartIdx = (rlUInt16_t) 0, .numOfChirps = (rlUInt16_t) CHAINS_CASCADE_RADAR_NUM_TX_ANTENNA,//JIT: modify this no. as required for total no. of chirp in sub-frame0 .numLoops = (rlUInt16_t) CHAINS_CASCADE_RADAR_RADAR_HEIGHT, .burstPeriodicity = (rlUInt32_t) CHAINS_AR1243_TIME_MS_TO_5NS(33U), //JIT: change this accordingly .chirpStartIdxOffset = (rlUInt16_t) 0, .numOfBurst = (rlUInt16_t) CHAINS_CASCADE_RADAR_NUM_BURSTS, //JIT: set this to 1, i.e. only one burst per sub-frame .numOfBurstLoops = (rlUInt16_t) CHAINS_CASCADE_RADAR_NUM_BURST_LOOPS, .reserved0 = (rlUInt16_t) 0, .subFramePeriodicity = (rlUInt32_t) CHAINS_AR1243_TIME_MS_TO_5NS(66U), //JIT: change this accordingly .reserved1 = (rlUInt32_t) 0, .reserved2 = (rlUInt32_t) 0 }, { //JIT: change sub-frame 3 parameter accordingly. .forceProfileIdx = (rlUInt16_t) 2, .chirpStartIdx = (rlUInt16_t) 0, .numOfChirps = (rlUInt16_t) 10, .numLoops = (rlUInt16_t) 1, .burstPeriodicity = (rlUInt32_t) 40, .chirpStartIdxOffset = (rlUInt16_t) 0, .numOfBurst = (rlUInt16_t) 1, .numOfBurstLoops = (rlUInt16_t) 1, .reserved0 = (rlUInt16_t) 0, .subFramePeriodicity = (rlUInt32_t) 40, .reserved1 = (rlUInt32_t) 0, .reserved2 = (rlUInt32_t) 0 }, { .forceProfileIdx = (rlUInt16_t) 0, .chirpStartIdx = (rlUInt16_t) 0, .numOfChirps = (rlUInt16_t) 0, .numLoops = (rlUInt16_t) 0, .burstPeriodicity = (rlUInt32_t) 0, .chirpStartIdxOffset = (rlUInt16_t) 0, .numOfBurst = (rlUInt16_t) 0, .numOfBurstLoops = (rlUInt16_t) 0, .reserved0 = (rlUInt16_t) 0, .subFramePeriodicity = (rlUInt32_t) 0, .reserved1 = (rlUInt32_t) 0, .reserved2 = (rlUInt32_t) 0 } }, .numFrames = (rlUInt16_t) 0, .triggerSelect = (rlUInt16_t) RL_FRAMESTRT_API_TRIGGER, .frameTrigDelay = (rlUInt32_t) 0, .reserved0 = (rlUInt32_t) 0, .reserved1 = (rlUInt32_t) 0 }, .frameData = { .numSubFrames = (rlUInt8_t) CHAINS_CASCADE_RADAR_NUM_SUBFRAMES, .reserved0 = (rlUInt8_t) 0, .reserved1 = (rlUInt16_t) 0, .subframeDataCfg = { { .totalChirps = (rlUInt32_t) CHAINS_CASCADE_RADAR_NUM_TX_ANTENNA * CHAINS_CASCADE_RADAR_RADAR_HEIGHT * CHAINS_CASCADE_RADAR_NUM_BURSTS, //JIT: change this to match the total no. of chirps in SF0 /* Number of Chirps in Sub-Frame = * numOfChirps * numLoops * numOfBurst */ .numAdcSamples = (rlUInt16_t) CHAINS_CASCADE_RADAR_PROFILE1_RADAR_WIDTH * (rlUInt16_t) 2, .numChirpsInDataPacket = (rlUInt8_t) 1, /* In AR12xx: Program this as 1 */ .reserved = (rlUInt8_t) 0, }, { .totalChirps = (rlUInt32_t) 0, //JIT: change this to match the total no. of chirps in SF1 .numAdcSamples = (rlUInt16_t) 0, .numChirpsInDataPacket = (rlUInt8_t) 1, .reserved = (rlUInt8_t) 0, }, { .totalChirps = (rlUInt32_t) 0, //JIT: change this to match the total no. of chirps in SF2 .numAdcSamples = (rlUInt16_t) 0, .numChirpsInDataPacket = (rlUInt8_t) 1, .reserved = (rlUInt8_t) 0, }, { .totalChirps = (rlUInt32_t) 0, .numAdcSamples = (rlUInt16_t) 0, .numChirpsInDataPacket = (rlUInt8_t) 1, .reserved = (rlUInt8_t) 0, } } } }, .frameType = BSP_AR12XX_FRAME_TYPE_ADVANCED, //JIT: change it to Advanced frame type, change in other places as well, frameType = 1