66 #include <ti/control/mmwavelink/mmwavelink.h> 67 #include <ti/control/mmwavelink/include/rl_device.h> 68 #include <ti/control/mmwavelink/include/rl_driver.h> 69 #include <ti/control/mmwavelink/include/rl_messages.h> 70 #include <ti/control/mmwavelink/include/rl_controller.h> 71 #include <ti/control/mmwavelink/include/rl_trace.h> 111 retVal = RL_RET_CODE_OK;
116 if (retVal == RL_RET_CODE_OK)
119 if (rlDriverInit(deviceMap, clientCb) < 0)
122 retVal += RL_RET_CODE_RADAR_IF_ERROR;
130 if ((deviceMap & (1U << index)) != 0U)
137 retVal += RL_RET_CODE_RADAR_IF_ERROR;
138 RL_LOGE_ARG0(
"mmWaveLink: Enabling device failed \n");
141 RL_LOGW_ARG0(
"mmWaveLink Driver DeInit done\n");
144 deviceMap &= ~(1U << index);
149 while ((deviceMap != 0U) && (index < RL_DEVICE_CONNECTED_MAX));
152 RL_LOGV_ARG0(
"mmWaveLink Power Up completes\n");
173 rlReturnVal_t retVal;
175 RL_LOGV_ARG0(
"rlDeviceAddDevices starts\n");
180 RL_LOGV_ARG0(
"rlDeviceAddDevices completes\n");
200 rlReturnVal_t retVal = RL_RET_CODE_OK;
201 rlUInt8_t index = 0U;
209 rlUInt8_t lclDeviceMap = deviceMap;
213 if ((lclDeviceMap & (1U << index)) != 0U)
222 retVal += RL_RET_CODE_RADAR_IF_ERROR;
223 RL_LOGE_ARG0(
"mmWave device Power Off failed\n");
226 lclDeviceMap &= ~(1U << index);
231 while ((lclDeviceMap != 0U) && (index < RL_DEVICE_CONNECTED_MAX));
233 RL_LOGI_ARG0(
"mmwave device Power Off Successful\n");
240 retVal += RL_RET_CODE_SELF_ERROR;
241 RL_LOGD_ARG0(
"Either rlDrvData is NULL or not initialised\n");
244 RL_LOGV_ARG0(
"rlDeviceRemoveDevices complete...\n");
260 rlReturnVal_t retVal = RL_RET_CODE_OK;
261 rlUInt8_t index = 0U;
269 rlUInt8_t deviceMap = rlDrvData->
deviceMap;
274 if ((deviceMap & (1U << index)) != 0U)
283 retVal += RL_RET_CODE_RADAR_IF_ERROR;
284 RL_LOGE_ARG0(
"mmWave device Power Off failed\n");
287 deviceMap &= ~(1U << index);
292 while ((deviceMap != 0U) || (index < RL_DEVICE_CONNECTED_MAX));
294 RL_LOGI_ARG0(
"Power Off Successful\n");
297 RL_LOGV_ARG0(
"Driver De-initialization complete\n");
302 retVal += RL_RET_CODE_SELF_ERROR;
303 RL_LOGD_ARG0(
"Either rlDrvData is NULL or not initialised\n");
306 RL_LOGV_ARG0(
"Device power-off complete...\n");
323 rlReturnVal_t retVal;
325 RL_LOGV_ARG0(
"rlDeviceRfStart starts...\n");
331 retVal = RL_RET_CODE_INVALID_INPUT;
332 RL_LOGE_ARG0(
"Device map id is invalid\n");
337 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_POWERUP_MSG,
338 RL_SYS_RF_POWERUP_SB, NULL, 0U);
341 RL_LOGV_ARG0(
"rlDeviceRfStart complete...\n");
362 rlUInt16_t remChunks)
364 rlReturnVal_t retVal;
368 (RL_NULL_PTR == data))
371 retVal = RL_RET_CODE_INVALID_INPUT;
372 RL_LOGE_ARG0(
"Invalid input");
379 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
395 inMsg.remChunks = remChunks;
423 rlReturnVal_t retVal;
426 if (data == RL_NULL_PTR)
429 retVal = RL_RET_CODE_NULL_PTR;
436 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
441 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_STATUS_GET_MSG,
442 RL_SYS_VERSION_SB, (rlUInt8_t*)data, 0U);
460 rlReturnVal_t retVal;
463 if (data == RL_NULL_PTR)
466 retVal = RL_RET_CODE_NULL_PTR;
471 retVal = rlDriverExecuteGetApi(deviceMap, RL_RF_STATUS_GET_MSG,
472 RL_RF_RFVERSION_SB, (rlUInt8_t*)data, 0U);
492 rlReturnVal_t retVal;
494 RL_LOGV_ARG0(
"rlDeviceGetVersion starts...\n");
498 (RL_NULL_PTR == data))
501 retVal = RL_RET_CODE_INVALID_INPUT;
502 RL_LOGE_ARG0(
"Invalid inputs");
515 retVal = RL_RET_CODE_OK;
516 RL_LOGD_ARG0(
" rlPlatform is not host \n");
519 if (retVal == RL_RET_CODE_OK)
525 if (retVal == RL_RET_CODE_OK)
532 RL_LOGV_ARG0(
"rlDeviceGetVersion complete...\n");
549 rlReturnVal_t retVal;
551 RL_LOGV_ARG0(
"rlDeviceGetMmWaveLinkVersion starts...\n");
553 if (RL_NULL_PTR != data)
557 data->
major = RL_MMWAVELINK_VERSION_MAJOR;
559 data->
minor = RL_MMWAVELINK_VERSION_MINOR;
561 data->
build = RL_MMWAVELINK_VERSION_BUILD;
563 data->
debug = RL_MMWAVELINK_VERSION_DEBUG;
565 data->
year = RL_MMWAVELINK_VERSION_YEAR;
567 data->
month = RL_MMWAVELINK_VERSION_MONTH;
569 data->
day = RL_MMWAVELINK_VERSION_DAY;
571 retVal = RL_RET_CODE_OK;
572 RL_LOGD_ARG0(
"Extracted MmWavelink version\n");
577 retVal = RL_RET_CODE_INVALID_INPUT;
578 RL_LOGE_ARG0(
"rlDeviceGetMmWaveLinkVersion, Output param is NULL \n");
581 RL_LOGV_ARG0(
"rlDeviceGetMmWaveLinkVersion complete...\n");
601 rlReturnVal_t retVal;
603 RL_LOGV_ARG0(
"rlDeviceSetDataFmtConfig starts...\n");
607 (RL_NULL_PTR == data))
610 retVal = RL_RET_CODE_INVALID_INPUT;
611 RL_LOGE_ARG0(
"Invalid device mapping\n");
618 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
623 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
624 RL_DEV_RX_DATA_FORMAT_CONF_SET_SB, (rlUInt8_t*)data,
628 RL_LOGV_ARG0(
"rlDeviceSetDataFmtConfig complete...\n");
649 rlReturnVal_t retVal;
651 RL_LOGV_ARG0(
"rlDeviceGetDataFmtConfig starts...\n");
655 (RL_NULL_PTR == data))
658 retVal = RL_RET_CODE_INVALID_INPUT;
659 RL_LOGE_ARG0(
"rlDeviceGetDataFmtConfig, Invalid device map\n");
666 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
671 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_CONFIG_GET_MSG,
672 RL_DEV_RX_DATA_FORMAT_CONF_SET_SB,
673 (rlUInt8_t*)data, 0U);
676 RL_LOGV_ARG0(
"rlDeviceGetDataFmtConfig ends...\n");
695 rlReturnVal_t retVal;
697 RL_LOGV_ARG0(
"rlDeviceSetDataPathConfig starts...\n");
701 (RL_NULL_PTR == data))
704 retVal = RL_RET_CODE_INVALID_INPUT;
705 RL_LOGE_ARG0(
"Invalid input");
712 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
717 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
718 RL_DEV_RX_DATA_PATH_CONF_SET_SB, (rlUInt8_t*)data,
722 RL_LOGV_ARG0(
"rlDeviceSetDataPathConfig ends...\n");
743 rlReturnVal_t retVal;
745 RL_LOGV_ARG0(
"rlDeviceGetDataPathConfig starts...\n");
749 (RL_NULL_PTR == data))
752 retVal = RL_RET_CODE_INVALID_INPUT;
753 RL_LOGE_ARG0(
"rlDeviceGetDataPathConfig, Invalid device map\n");
760 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
765 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_CONFIG_GET_MSG,
766 RL_DEV_RX_DATA_PATH_CONF_SET_SB,
767 (rlUInt8_t*)data, 0U);
770 RL_LOGV_ARG0(
"rlDeviceGetDataPathConfig ends...\n");
789 rlReturnVal_t retVal;
791 RL_LOGV_ARG0(
"rlDeviceSetLaneConfig starts...\n");
795 (RL_NULL_PTR == data))
798 retVal = RL_RET_CODE_INVALID_INPUT;
799 RL_LOGE_ARG0(
"Invalid input\n");
806 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
811 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
812 RL_DEV_DATA_PATH_LANEEN_SET_SB, (rlUInt8_t*)data,
815 RL_LOGV_ARG0(
"rlDeviceSetLaneConfig ends...\n");
836 rlReturnVal_t retVal;
838 RL_LOGV_ARG0(
"rlDeviceGetLaneConfig starts...\n");
842 (RL_NULL_PTR == data))
845 retVal = RL_RET_CODE_INVALID_INPUT;
846 RL_LOGE_ARG0(
"rlDeviceGetLaneConfig, Invalid device map\n");
853 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
858 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_CONFIG_GET_MSG,
859 RL_DEV_DATA_PATH_LANEEN_SET_SB,
860 (rlUInt8_t*)data, 0U);
863 RL_LOGV_ARG0(
"rlDeviceGetLaneConfig ends...\n");
884 rlReturnVal_t retVal;
886 RL_LOGV_ARG0(
"rlDeviceSetDataPathClkConfig starts...\n");
892 retVal = RL_RET_CODE_INVALID_INPUT;
893 RL_LOGE_ARG0(
"Invalid input\n");
900 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
905 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
906 RL_DEV_DATA_PATH_CLOCK_SET_SB, (rlUInt8_t*)data,
909 RL_LOGV_ARG0(
"rlDeviceSetDataPathClkConfig ends...\n");
930 rlReturnVal_t retVal;
932 RL_LOGV_ARG0(
"rlDeviceGetDataPathClkConfig starts...\n");
936 (RL_NULL_PTR == data))
939 retVal = RL_RET_CODE_INVALID_INPUT;
940 RL_LOGE_ARG0(
"rlDeviceGetDataPathClkConfig, Invalid device map\n");
947 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
952 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_CONFIG_GET_MSG,
953 RL_DEV_DATA_PATH_CLOCK_SET_SB,
954 (rlUInt8_t*)data, 0U);
957 RL_LOGV_ARG0(
"rlDeviceGetDataPathClkConfig ends...\n");
974 rlReturnVal_t rlDeviceSetLvdsLaneConfig(rlUInt8_t deviceMap,
rlDevLvdsLaneCfg_t* data)
976 rlReturnVal_t retVal;
978 RL_LOGV_ARG0(
"rlDeviceSetLvdsLaneConfig starts...\n");
982 (RL_NULL_PTR == data))
985 retVal = RL_RET_CODE_INVALID_INPUT;
986 RL_LOGE_ARG0(
"Invalid input\n");
993 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
998 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
999 RL_DEV_DATA_PATH_CFG_SET_SB, (rlUInt8_t*)data,
1003 RL_LOGV_ARG0(
"rlDeviceSetLvdsLaneConfig ends...\n");
1022 rlReturnVal_t rlDeviceGetLvdsLaneConfig(rlUInt8_t deviceMap,
rlDevLvdsLaneCfg_t* data)
1024 rlReturnVal_t retVal;
1026 RL_LOGV_ARG0(
"rlDeviceGetLvdsLaneConfig starts...\n");
1030 (RL_NULL_PTR == data))
1033 retVal = RL_RET_CODE_INVALID_INPUT;
1034 RL_LOGE_ARG0(
"rlDeviceGetLvdsLaneConfig, Invalid device map\n");
1041 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1046 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_CONFIG_GET_MSG,
1047 RL_DEV_DATA_PATH_CFG_SET_SB,
1048 (rlUInt8_t*)data, 0U);
1051 RL_LOGV_ARG0(
"rlDeviceGetLvdsLaneConfig ends...\n");
1076 rlReturnVal_t retVal;
1078 RL_LOGV_ARG0(
"rlDeviceSetContStreamingModeConfig ends...\n");
1082 (RL_NULL_PTR == data))
1085 retVal = RL_RET_CODE_INVALID_INPUT;
1086 RL_LOGE_ARG0(
"Invalid input");
1093 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1098 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1099 RL_DEV_RX_CONTSTREAMING_MODE_CONF_SET_SB,
1104 RL_LOGV_ARG0(
"rlDeviceSetContStreamingModeConfig ends...\n");
1128 rlReturnVal_t retVal;
1130 RL_LOGV_ARG0(
"rlDeviceGetContStreamingModeConfig starts...\n");
1134 (RL_NULL_PTR == data))
1137 retVal = RL_RET_CODE_INVALID_INPUT;
1138 RL_LOGE_ARG0(
"rlDeviceGetContStreamingModeConfig, Invalid device map\n");
1145 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1150 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_CONFIG_GET_MSG,
1151 RL_DEV_RX_CONTSTREAMING_MODE_CONF_SET_SB,
1152 (rlUInt8_t*)data, 0U);
1155 RL_LOGV_ARG0(
"rlDeviceGetContStreamingModeConfig ends...\n");
1174 rlReturnVal_t retVal;
1176 RL_LOGV_ARG0(
"rlDeviceSetCsi2Config starts...\n");
1180 (RL_NULL_PTR == data))
1183 retVal = RL_RET_CODE_INVALID_INPUT;
1184 RL_LOGE_ARG0(
"Invalid input");
1191 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1196 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1197 RL_DEV_CSI2_CFG_SET_SB, (rlUInt8_t*)data,
1200 RL_LOGV_ARG0(
"rlDeviceSetCsi2Config ends...\n");
1221 rlReturnVal_t retVal;
1223 RL_LOGV_ARG0(
"rlDeviceGetCsi2Config starts...\n");
1227 (RL_NULL_PTR == data))
1230 retVal = RL_RET_CODE_INVALID_INPUT;
1231 RL_LOGE_ARG0(
"rlDeviceGetCsi2Config, Invalid device map\n");
1238 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1243 retVal = rlDriverExecuteGetApi(deviceMap, RL_DEV_CONFIG_GET_MSG,
1244 RL_DEV_CSI2_CFG_SET_SB,
1245 (rlUInt8_t*)data, 0U);
1248 RL_LOGV_ARG0(
"rlDeviceGetCsi2Config ends...\n");
1271 rlReturnVal_t retVal;
1275 rlUInt16_t sbcCnt = 0U;
1280 RL_LOGV_ARG0(
"rlDeviceSetHsiConfig starts...\n");
1284 (RL_NULL_PTR == data) )
1287 retVal = RL_RET_CODE_INVALID_INPUT;
1288 RL_LOGE_ARG0(
"rlDeviceSetHsiConfig, Invalid input \n");
1293 if (RL_NULL_PTR != data->
datafmt)
1297 RL_DEV_RX_DATA_FORMAT_CONF_SET_SB,
1298 &inPayloadSb[sbcCnt],
1310 RL_DEV_RX_DATA_PATH_CONF_SET_SB,
1311 &inPayloadSb[sbcCnt],
1323 RL_DEV_DATA_PATH_CLOCK_SET_SB,
1324 &inPayloadSb[sbcCnt],
1337 inMsg.opcode.
nsbc = sbcCnt;
1345 retVal = RL_RET_CODE_INVALID_INPUT;
1346 RL_LOGE_ARG0(
"sub block is NULL\n");
1350 RL_LOGV_ARG0(
"rlDeviceSetHsiConfig ends...\n");
1370 rlReturnVal_t retVal;
1372 RL_LOGV_ARG0(
"rlDeviceSetHsiClk starts...\n");
1376 (RL_NULL_PTR == data))
1379 retVal = RL_RET_CODE_INVALID_INPUT;
1380 RL_LOGE_ARG0(
"Invalid input\n");
1385 retVal = rlDriverExecuteSetApi(deviceMap, RL_RF_STATIC_CONF_SET_MSG,
1386 RL_RF_HIGHSPEEDINTFCLK_CONF_SET_SB,
1390 RL_LOGV_ARG0(
"rlDeviceSetHsiClk ends...\n");
1411 rlReturnVal_t retVal;
1413 RL_LOGV_ARG0(
"rlDeviceMcuClkConfig starts...\n");
1417 (RL_NULL_PTR == data))
1420 retVal = RL_RET_CODE_INVALID_INPUT;
1421 RL_LOGE_ARG0(
"Invalid input");
1428 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1433 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1434 RL_DEV_MCUCLOCK_CONF_SET_SB, (rlUInt8_t*)data,
1437 RL_LOGV_ARG0(
"rlDeviceMcuClkConfig ends...\n");
1457 rlReturnVal_t retVal;
1459 RL_LOGV_ARG0(
"rlDevicePmicClkConfig starts...\n");
1463 (RL_NULL_PTR == data))
1466 retVal = RL_RET_CODE_INVALID_INPUT;
1467 RL_LOGE_ARG0(
"Invalid input");
1474 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1479 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1480 RL_DEV_PMICCLOCK_CONF_SET_SB, (rlUInt8_t*)data,
1483 RL_LOGV_ARG0(
"rlDevicePmicClkConfig ends...\n");
1503 rlReturnVal_t retVal;
1505 RL_LOGV_ARG0(
"rlDeviceLatentFaultTests starts...\n");
1509 (RL_NULL_PTR == data))
1512 retVal = RL_RET_CODE_INVALID_INPUT;
1513 RL_LOGE_ARG0(
"Invalid input");
1520 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1525 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1526 RL_DEV_LATENTFAULT_TEST_CONF_SB, (rlUInt8_t*)data,
1529 RL_LOGV_ARG0(
"rlDeviceLatentFaultTests ends...\n");
1549 rlReturnVal_t retVal;
1551 RL_LOGV_ARG0(
"rlDeviceEnablePeriodicTests starts...\n");
1555 (RL_NULL_PTR == data))
1558 retVal = RL_RET_CODE_INVALID_INPUT;
1559 RL_LOGE_ARG0(
"Invalid input");
1566 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1571 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1572 RL_DEV_PERIODICTESTS_CONF_SB, (rlUInt8_t*)data,
1575 RL_LOGV_ARG0(
"rlDeviceEnablePeriodicTests ends...\n");
1596 rlReturnVal_t retVal;
1598 RL_LOGV_ARG0(
"rlDeviceSetTestPatternConfig starts...\n");
1602 (RL_NULL_PTR == data))
1605 retVal = RL_RET_CODE_INVALID_INPUT;
1606 RL_LOGE_ARG0(
"Invalid input");
1613 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1618 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1619 RL_DEV_TESTPATTERN_GEN_SET_SB, (rlUInt8_t*)data,
1622 RL_LOGV_ARG0(
"rlDeviceSetTestPatternConfig ends...\n");
1643 rlReturnVal_t retVal;
1645 RL_LOGV_ARG0(
"rlDeviceSetMiscConfig starts...\n");
1649 (RL_NULL_PTR == data))
1652 retVal = RL_RET_CODE_INVALID_INPUT;
1653 RL_LOGE_ARG0(
"Invalid input");
1660 retVal = RL_RET_CODE_API_NOT_SUPPORTED;
1665 retVal = rlDriverExecuteSetApi(deviceMap, RL_DEV_CONFIG_SET_MSG,
1666 RL_DEV_MISC_CFG_SET_SB, (rlUInt8_t*)data,
1667 (rlUInt16_t)
sizeof(rlDevMiscCfg_t));
1669 RL_LOGV_ARG0(
"rlDeviceSetMiscConfig ends...\n");
rlReturnVal_t rlDevicePmicClkConfig(rlUInt8_t deviceMap, rlPmicClkCfg_t *data)
Sets the configurations for PMIC clock.
rlReturnVal_t rlDeviceSetDataFmtConfig(rlUInt8_t deviceMap, rlDevDataFmtCfg_t *data)
Sets LVDS/CSI2 Data output format.
rlReturnVal_t rlDeviceRfStart(rlUInt8_t deviceMap)
Enables mmwave RF/Analog Sub system.
mmWaveLink client callback structure
rlReturnVal_t rlDeviceMcuClkConfig(rlUInt8_t deviceMap, rlMcuClkCfg_t *data)
Sets the configurations to setup the desired frequency of the MCU Clock.
rlReturnVal_t rlDeviceGetCsi2Config(rlUInt8_t deviceMap, rlDevCsi2Cfg_t *data)
Gets Csi2 data format Configuration.
rlInt32_t(* rlDeviceEnable)(rlUInt8_t deviceIndex)
Bring mmWave radar device out of Reset.
rlReturnVal_t rlDeviceLatentFaultTests(rlUInt8_t deviceMap, rllatentFault_t *data)
Sets the configurations for latent fault test.
rlReturnVal_t rlDriverConfigureCrc(rlCrcType_t crcType)
Configures the CRC Type in mmwavelink Driver.
mmWaveLink firmware version structure
rlReturnVal_t rlDeviceGetMmWaveLinkVersion(rlSwVersionParam_t *data)
Get mmWaveLink Version.
rlReturnVal_t rlDeviceSetTestPatternConfig(rlUInt8_t deviceMap, rltestPattern_t *data)
Setup for test pattern to be generated.
rlReturnVal_t rlDeviceSetDataPathClkConfig(rlUInt8_t deviceMap, rlDevDataPathClkCfg_t *data)
Sets LVDS Clock Configuration.
rlReturnVal_t rlDeviceSetContStreamingModeConfig(rlUInt8_t deviceMap, rlDevContStreamingModeCfg_t *data)
Sets Continous Streaming Mode Configuration.
rlReturnVal_t rlDeviceRemoveDevices(rlUInt8_t deviceMap)
Removes connected mmwave devices.
rlUInt8_t rlDriverGetPlatformId(void)
Returns RL Platform ID (i.e. where mmWaveLink is executing)
rlDevDataPathCfg_t * dataPath
Data path config.
mmwave radar data path config.
rlReturnVal_t rlDeviceSetHsiClk(rlUInt8_t deviceMap, rlDevHsiClk_t *data)
Sets High Speed Interface Clock.
Continous streaming mode configuration.
rlReturnVal_t rlDeviceEnablePeriodicTests(rlUInt8_t deviceMap, rlperiodicTest_t *data)
Sets the configurations for periodic test.
rlFwVersionParam_t master
Master Sub System version.
mmwave radar high speed Data path configuraiton
DataPath clock configuration.
mmwave radar high speed clock configuration
mmwave radar device latent fault test
rlUInt8_t minor
SW version minor number.
void rlDriverConstructInMsg(rlUInt16_t msgId, rlDriverMsg_t *inMsg, rlPayloadSb_t *payloadPtr)
: Construct command packet (inMsg) based on given message-ID and payload
rlReturnVal_t rlDeviceGetRfVersion(rlUInt8_t deviceMap, rlFwVersionParam_t *data)
Get mmWave RF ROM and patch version.
mmwave radar Driver Global Structure
rlReturnVal_t rlDeviceGetMssVersion(rlUInt8_t deviceMap, rlFwVersionParam_t *data)
Get mmWave Master SS version.
rlUInt8_t isDriverInitialized
Driver Status.
rlUInt16_t nsbc
Number of Sub Blocks in Payload.
rlSwVersionParam_t mmWaveLink
mmWaveLink version
rlUInt8_t month
Software Release Month.
rlReturnVal_t rlDeviceFileDownload(rlUInt8_t deviceMap, rlFileData_t *data, rlUInt16_t remChunks)
Download mmwave Firmware/Patches over SPI.
mmwave radar test pattern config
rlDevDataPathClkCfg_t * dataPathClk
Data path clock configuration.
rlReturnVal_t rlDriverDeInit(void)
De Initializes the mmwave radar Driver.
rlDriverData_t * rlDriverGetHandle(void)
Returns mmwave radar Driver Global Structure.
rlReturnVal_t rlDeviceConfigureAckTimeout(rlUInt32_t ackTimeout)
Configures the Acknowledgement timeout in mmWaveLink Driver.
mmwave radar data path lane enable
rlReturnVal_t rlDeviceSetLaneConfig(rlUInt8_t deviceMap, rlDevLaneEnable_t *data)
Sets Lane enable Configuration.
rlFwVersionParam_t rf
RF Sub System version.
rlReturnVal_t rlDeviceGetDataPathConfig(rlUInt8_t deviceMap, rlDevDataPathCfg_t *data)
Gets data path Configuration.
rlReturnVal_t rlDeviceSetHsiConfig(rlUInt8_t deviceMap, rlDevHsiCfg_t *data)
: This function sets the High Speed Interface(LVDS/CSI2) clock, lane, data rate and data format ...
rlReturnVal_t rlDriverCmdInvoke(rlUInt8_t deviceMap, rlDriverMsg_t inMsg, rlDriverMsg_t *outMsg)
Invokes a command to mmwave radar Device. Implements mmwave radar Host Communication Protocol(RHCP) ...
mmwave radar periodicity test config
rlReturnVal_t rlDeviceSetCsi2Config(rlUInt8_t deviceMap, rlDevCsi2Cfg_t *data)
Sets CSI2 data format Configuration.
rlUInt32_t chunkLen
File data length.
mmwave radar data format config
mmwave radar device MCU Clock output
mmwave radar Driver Payload
mmwave radar device PMIC Clock output
rlReturnVal_t rlDeviceSetMiscConfig(rlUInt8_t deviceMap, rlDevMiscCfg_t *data)
Setup misc. device configurations.
void rlDriverFillPayload(rlUInt16_t msgId, rlUInt16_t sbcID, rlPayloadSb_t *payloadPtr, rlUInt8_t *data, rlUInt16_t inLen)
: Fill payload based on given message-ID, sub-block ID and data.
rlReturnVal_t rlDevicePowerOn(rlUInt8_t deviceMap, rlClientCbs_t clientCb)
Bring mmwave Device Out of Reset.
rlReturnVal_t rlDriverConfigureAckTimeout(rlUInt32_t ackTimeout)
Configures the Acknowledgement timeout in mmwavelink Driver.
rlUInt8_t major
SW version major number.
mmwavelink software version structure
rlReturnVal_t rlDriverRemoveDevices(rlUInt8_t deviceMap)
Disconnects the mmwave radar devices.
rlReturnVal_t rlDevicePowerOff(void)
Shutdown mmwave Device.
File Dowload data structure.
rlInt32_t(* rlDeviceDisable)(rlUInt8_t deviceIndex)
Power off mmWave radar device.
rlUInt16_t fData[RL_CMD_PL_LEN_MAX/2U]
File data buffer.
mmwavelink version structure
rlClientCbs_t clientCtx
Client context.
rlReturnVal_t rlDeviceSetDataPathConfig(rlUInt8_t deviceMap, rlDevDataPathCfg_t *data)
Sets LVDS/CSI2 Path Configuration.
rlReturnVal_t rlDeviceGetContStreamingModeConfig(rlUInt8_t deviceMap, rlDevContStreamingModeCfg_t *data)
Gets continuous Streaming Mode Configuration.
rlDeviceCtrlCbs_t devCtrlCb
Device Control Callback.
rlUInt8_t debug
SW version debug number.
rlReturnVal_t rlDriverAddDevice(rlUInt8_t deviceMap)
Adds mmwave radar device.
rlReturnVal_t rlDeviceGetDataFmtConfig(rlUInt8_t deviceMap, rlDevDataFmtCfg_t *data)
Gets LVDS/CSI2 Data output format.
rlReturnVal_t rlDeviceConfigureCrc(rlCrcType_t crcType)
Configures the CRC Type in mmWaveLink Driver.
rlUInt8_t deviceMap
Bitmap of devices connected radarSS/DSS Mailbox in case of 16xx autonomous.
rlReturnVal_t rlDeviceAddDevices(rlUInt8_t deviceMap)
Bring mmwave Device Out of Reset.
rlUInt8_t year
Software Release Year.
rlReturnVal_t rlDeviceGetLaneConfig(rlUInt8_t deviceMap, rlDevLaneEnable_t *data)
Gets Lane enable Configuration.
rlDevDataFmtCfg_t * datafmt
Data format config.
rlUInt8_t day
Software Release Day.
rlUInt8_t build
SW version buid number.
rlReturnVal_t rlDeviceGetVersion(rlUInt8_t deviceMap, rlVersion_t *data)
Get mmWave Hardware, Firmware/patch and mmWaveLink version.
rlReturnVal_t rlDriverIsDeviceMapValid(rlUInt8_t deviceMap)
Checks if given deviecMap is valid wrt to global DeviceMap set to mmWaveLink.