Other Parts Discussed in Thread: IWR1443
Hi,
We are trying to test TestSource API from the mmWave SDK,
but there is a mismatch in the distance displayed on the DemoVisualizer
and the distance pointed in API. We are not sure if we have missed something in the API usage
or if there is something wrong in the Firmware version.
Below is the test result:
TestSource Specified value:(x,y,z)= Object1(4m, 0m, 0m) Object2(0m, 0m, 0m)
DemoVisualizer Displayed value:(x,y,z)= (-2m, 0m, 0m), (-3.7m, 0m, 0m) , (3.9m, 0m, 0m)...etc
We are using below APIs to enable the fuction in TestSource.
・rlSetTestSourceConfig API
・rlTestSourceEnable API
the return values of these APIs were "0", so we believe it is being executed normally.
Tools used:
・IWR1443BOOST EVM(v1.1)
・mmWaveSDK(v1.1.0.2)
・mmWave DemoVisualizer
I am going to attach the source(sample.c) and configuration file(profile.cfg),
this source is based on the "mmw_example.c" provided on the E2E post here.
Please let me know if there is anything missing.
Best Regards
paddu
int32_t SetTestSource(void) { uint8_t deviceMap = RL_DEVICE_MAP_CASCADED_1; rlTestSource_t tsArgs = {0}; int retVal = RL_RET_CODE_OK; tsArgs.testObj[0].posX = 400; tsArgs.testObj[0].posY = 0; tsArgs.testObj[0].posZ = 0; tsArgs.testObj[0].velX = 0; tsArgs.testObj[0].velY = 0; tsArgs.testObj[0].velZ = 0; tsArgs.testObj[0].posXMin = -32760; tsArgs.testObj[0].posYMin = 0; tsArgs.testObj[0].posZMin = -32760; tsArgs.testObj[0].posXMax = 32700; tsArgs.testObj[0].posYMax = 32700; tsArgs.testObj[0].posZMax = 32700; tsArgs.testObj[0].sigLvl = 25; tsArgs.testObj[1].posX = 700; tsArgs.testObj[1].posY = 0; tsArgs.testObj[1].posZ = 0; tsArgs.testObj[1].velX = 0; tsArgs.testObj[1].velY = 0; tsArgs.testObj[1].velZ = 0; tsArgs.testObj[1].posXMin = -32700; tsArgs.testObj[1].posYMin = 0; tsArgs.testObj[1].posZMin = -32700; tsArgs.testObj[1].posXMax = 32700; tsArgs.testObj[1].posYMax = 32700; tsArgs.testObj[1].posZMax = 32700; tsArgs.testObj[1].sigLvl = 25; tsArgs.rxAntPos[0].antPosX = 0; tsArgs.rxAntPos[0].antPosZ = 0; tsArgs.rxAntPos[1].antPosX = 4; // +1/2 lamda tsArgs.rxAntPos[1].antPosZ = 0; tsArgs.rxAntPos[2].antPosX = 8; // +1 lamda tsArgs.rxAntPos[2].antPosZ = 0; tsArgs.rxAntPos[3].antPosX = 12;// +3/2 lamda tsArgs.rxAntPos[3].antPosZ = 0; tsArgs.txAntPos[0].antPosX = 0; tsArgs.txAntPos[0].antPosZ = 0; tsArgs.txAntPos[1].antPosX = 8; // +1 lamda tsArgs.txAntPos[1].antPosZ = 4; // +1/2 lamda tsArgs.txAntPos[2].antPosX = 16; // +2 lamda tsArgs.txAntPos[2].antPosZ = 0; System_printf("CaptureDemo_CSI2TestCfg\n"); retVal = rlSetTestSourceConfig(deviceMap, &tsArgs); return retVal; } int32_t EnableTestSource(void) { uint8_t deviceMap = RL_DEVICE_MAP_CASCADED_1; int retVal = RL_RET_CODE_OK; rlTestSourceEnable_t tsEnableArgs = {0}; tsEnableArgs.tsEnable = 1U; tsEnableArgs.tsMode = 1U; retVal = rlTestSourceEnable(deviceMap, &tsEnableArgs); return retVal; }