Hello,
we design our own board with 4 AWR2243 (ES1.0) chips in cascade. We use device firmware package "mmwave_dfp_02_02_00_03".
In our first version we use the software trigger mode on master device to trigger a new frame. The slave will be triggered per hardware trigger. This is the method like it works on the EVM evalution board. This works fine. We trigger a new frame, when we finished the processing of the previous frame. So we have a dynamic frame period.
The disadvantage is, that we send each frame a "rlSensorStart" to all devices which need around 15ms.
1. Is this plausible that the "rlSensorStart" needs about 15ms for execution?
On our custom board we can also trigger the master device per hardware. So what i want to do:
1. Config all devices to "hardware trigger" and set numFrames=1
frameCfgArgs.numFrames = 1; /* one frame per trigger */ frameCfgArgs.triggerSelect = 2; /* hardware trigger */ retVal = rlSetFrameConfig(MASTER_DEVICE,&frameCfgArgs); if (retVal != RL_RET_CODE_OK){ return retVal; } frameCfgArgs.triggerSelect = 2; /* hardware trigger */ retVal = rlSetFrameConfig(SLAVE_DEVICES,&frameCfgArgs); if (retVal != RL_RET_CODE_OK){ return retVal; }
2. Call rlSensorStart once
retVal = rlSensorStart(SLAVE_DEVICES); if(retVal != RL_RET_CODE_OK){ xil_printf("ERROR: rlSensorStart\n"); } retVal = rlSensorStart(MASTER_DEVICE); if(retVal != RL_RET_CODE_OK){ xil_printf("ERROR: rlSensorStart\n"); }
3. Trigger Frame with rising edge of SYNC_IN on all devices.
But unfortunally it does not work. What we see, that we always call "rlSensorStart" before we trigger a frame per hardware. Is this correct?
Regards,
Phil