60 #include <ti/control/mmwavelink/mmwavelink.h> 61 #include <ti/control/mmwavelink/include/rl_driver.h> 62 #include <ti/control/mmwavelink/include/rl_monitoring.h> 63 #include <ti/control/mmwavelink/include/rl_trace.h> 101 retVal = RL_RET_CODE_INVALID_INPUT;
107 RL_RF_DIG_MON_EN_SB, (rlUInt8_t*)data,
129 rlReturnVal_t retVal;
135 retVal = RL_RET_CODE_INVALID_INPUT;
141 RL_RF_DIG_MON_PERIODIC_CONF_SB, (rlUInt8_t*)data,
175 rlReturnVal_t retVal;
181 retVal = RL_RET_CODE_INVALID_INPUT;
187 RL_RF_ANA_MON_EN_SB, (rlUInt8_t*)data,
219 rlReturnVal_t retVal;
225 retVal = RL_RET_CODE_INVALID_INPUT;
231 RL_RF_TEMP_MON_CONF_SB, (rlUInt8_t*)data,
261 rlReturnVal_t retVal;
265 (RL_NULL_PTR == data))
268 retVal = RL_RET_CODE_INVALID_INPUT;
274 RL_RF_RX_GAIN_PHASE_MON_CONF_SB, (rlUInt8_t*)data,
306 rlReturnVal_t retVal;
310 (RL_NULL_PTR == data))
313 retVal = RL_RET_CODE_INVALID_INPUT;
319 RL_RF_RX_NOISE_MON_CONF_SB, (rlUInt8_t*)data,
343 rlReturnVal_t retVal;
349 retVal = RL_RET_CODE_INVALID_INPUT;
355 RL_RF_RX_IFSTAGE_MON_CONF_SB, (rlUInt8_t*)data,
385 rlReturnVal_t retVal;
389 rlUInt16_t numSbc = 0U;
394 RL_LOGV_ARG0(
"rlRfTxPowrMonConfig starts...\n");
401 (RL_NULL_PTR == data))
403 retVal = RL_RET_CODE_INVALID_INPUT;
404 RL_LOGE_ARG0(
"rlRfTxPowrMonConfig, Invalid input \n");
413 RL_RF_TX0_POW_MON_CONF_SB,
414 &inPayloadSb[numSbc],
424 RL_RF_TX1_POW_MON_CONF_SB,
425 &inPayloadSb[numSbc],
435 RL_RF_TX2_POW_MON_CONF_SB,
436 &inPayloadSb[numSbc],
445 inMsg.opcode.
nsbc = numSbc;
452 retVal = RL_RET_CODE_INVALID_INPUT;
453 RL_LOGE_ARG0(
"sub block is NULL\n");
480 rlReturnVal_t retVal;
484 rlUInt16_t numSbc = 0U;
489 RL_LOGV_ARG0(
"rlRfTxBallBreakMonConfig starts...\n");
496 (RL_NULL_PTR == data) )
498 retVal = RL_RET_CODE_INVALID_INPUT;
499 RL_LOGE_ARG0(
"rlRfTxBallBreakMonConfig, Invalid input \n");
508 RL_RF_TX0_BALLBREAK_MON_CONF_SB,
509 &inPayloadSb[numSbc],
519 RL_RF_TX1_BALLBREAK_MON_CONF_SB,
520 &inPayloadSb[numSbc],
530 RL_RF_TX2_BALLBREAK_MON_CONF_SB,
531 &inPayloadSb[numSbc],
540 inMsg.opcode.
nsbc = numSbc;
547 retVal = RL_RET_CODE_INVALID_INPUT;
548 RL_LOGE_ARG0(
"sub block is NULL\n");
584 rlReturnVal_t retVal;
590 retVal = RL_RET_CODE_INVALID_INPUT;
596 RL_RF_TX_GAIN_PHASE_MISMATCH_MON_CONF_SB,
645 rlReturnVal_t retVal;
651 retVal = RL_RET_CODE_INVALID_INPUT;
657 RL_RF_SYNTH_FREQ_MON_CONF_SB, (rlUInt8_t*)data,
683 rlReturnVal_t retVal;
687 (RL_NULL_PTR == data))
690 retVal = RL_RET_CODE_INVALID_INPUT;
696 RL_RF_EXT_ANA_SIGNALS_MON_CONF_SB, (rlUInt8_t*)data,
725 rlReturnVal_t retVal;
729 rlUInt16_t numSbc = 0U;
734 RL_LOGV_ARG0(
"rlRfTxIntAnaSignalsMonConfig starts...\n");
741 (RL_NULL_PTR == data) )
743 retVal = RL_RET_CODE_INVALID_INPUT;
744 RL_LOGE_ARG0(
"rlRfTxIntAnaSignalsMonConfig, Invalid input \n");
753 RL_RF_TX0_INT_ANA_SIGNALS_MON_CONF_SB,
754 &inPayloadSb[numSbc],
764 RL_RF_TX1_INT_ANA_SIGNALS_MON_CONF_SB,
765 &inPayloadSb[numSbc],
775 RL_RF_TX2_INT_ANA_SIGNALS_MON_CONF_SB,
776 &inPayloadSb[numSbc],
785 inMsg.opcode.
nsbc = numSbc;
792 retVal = RL_RET_CODE_INVALID_INPUT;
793 RL_LOGE_ARG0(
"sub block is NULL\n");
818 rlRxIntAnaSignalsMonConf_t* data)
820 rlReturnVal_t retVal;
824 (RL_NULL_PTR == data))
827 retVal = RL_RET_CODE_INVALID_INPUT;
833 RL_RF_RX_INT_ANA_SIGNALS_MON_CONF_SB, (rlUInt8_t*)data,
834 (rlUInt16_t)
sizeof(rlRxIntAnaSignalsMonConf_t));
863 rlReturnVal_t retVal;
867 (RL_NULL_PTR == data))
870 retVal = RL_RET_CODE_INVALID_INPUT;
876 RL_RF_PMCLKLO_INT_ANA_SIGNALS_MON_CONF_SB,
903 rlReturnVal_t retVal;
907 (RL_NULL_PTR == data))
910 retVal = RL_RET_CODE_INVALID_INPUT;
916 RL_RF_GPADC_INT_ANA_SIGNALS_MON_CONF_SB,
943 rlReturnVal_t retVal;
947 (RL_NULL_PTR == data))
950 retVal = RL_RET_CODE_INVALID_INPUT;
956 RL_RF_PLL_CONTROL_VOLT_MON_CONF_SB,
982 rlReturnVal_t retVal;
986 (RL_NULL_PTR == data))
989 retVal = RL_RET_CODE_INVALID_INPUT;
995 RL_RF_DUAL_CLOCK_COMP_MON_CONF_SB,
1031 rlReturnVal_t retVal;
1035 (RL_NULL_PTR == data))
1038 retVal = RL_RET_CODE_INVALID_INPUT;
1044 RL_RF_RX_SATURATION_MON_CONF_SB,
1081 rlReturnVal_t retVal;
1085 (RL_NULL_PTR == data))
1088 retVal = RL_RET_CODE_INVALID_INPUT;
1094 RL_RF_RX_SIGIMG_MON_CONF_SB,
1118 rlReturnVal_t rlRfRxMixerInPwrConfig(rlUInt8_t deviceMap,
1121 rlReturnVal_t retVal;
1125 (RL_NULL_PTR == data))
1128 retVal = RL_RET_CODE_INVALID_INPUT;
1134 RL_RF_RX_MIXER_IN_POWR_CONF_SB,
1165 rlAnaFaultInj_t* data)
1167 rlReturnVal_t retVal;
1171 (RL_NULL_PTR == data))
1174 retVal = RL_RET_CODE_INVALID_INPUT;
1180 RL_RF_FAULT_INJECTION_CONF_SB,
1182 (rlUInt16_t)
sizeof(rlAnaFaultInj_t));
1222 rlReturnVal_t retVal;
1226 rlUInt16_t numSbc = 0U;
1231 RL_LOGV_ARG0(
"rlRfTxPhShiftMonConfig starts...\n");
1238 (RL_NULL_PTR == data))
1240 retVal = RL_RET_CODE_INVALID_INPUT;
1241 RL_LOGE_ARG0(
"rlRfTxPhShiftMonConfig, Invalid input \n");
1250 RL_RF_TX0_PH_SHIFT_MON_CONF_SB,
1251 &inPayloadSb[numSbc],
1261 RL_RF_TX1_PH_SHIFT_MON_CONF_SB,
1262 &inPayloadSb[numSbc],
1272 RL_RF_TX2_PH_SHIFT_MON_CONF_SB,
1273 &inPayloadSb[numSbc],
1282 inMsg.opcode.
nsbc = numSbc;
1289 retVal = RL_RET_CODE_INVALID_INPUT;
1290 RL_LOGE_ARG0(
"sub block is NULL\n");
TX power monitoring configuration.
Internal signals for DCC based clock monitoring configuration.
Signal and image band energy monitoring configuration.
External analog signals monitoring configuration.
RX saturation monitoring configuration.
rlReturnVal_t rlRfTxBallbreakMonConfig(rlUInt8_t deviceMap, rlAllTxBallBreakMonCfg_t *data)
Sets information related to TX ball break detection.
rlReturnVal_t rlRfAnaMonConfig(rlUInt8_t deviceMap, rlMonAnaEnables_t *data)
This function contains the consolidated configuration of all analog monitoring. The enabled monitorin...
rlTxPhShiftMonConf_t * tx2PhShiftMonCfg
Tx-2 Phase shifter monitoring config.
Digital monitoring latent fault reporting configuration.
rlReturnVal_t rlRfRxGainPhMonConfig(rlUInt8_t deviceMap, rlRxGainPhaseMonConf_t *data)
This API is to set RX gain and phase monitoring config to device.
rlReturnVal_t rlRfRxSigImgMonConfig(rlUInt8_t deviceMap, rlSigImgMonConf_t *data)
Sets information related to signal and image band energy.
rlTxBallbreakMonConf_t * tx0BallBrkMonCfg
Tx ballbreak monitoring config for Tx0.
Internal signals for PLL control voltage monitoring configuration.
void rlDriverConstructInMsg(rlUInt16_t msgId, rlDriverMsg_t *inMsg, rlPayloadSb_t *payloadPtr)
: Construct command packet (inMsg) based on given message-ID and payload
rlReturnVal_t rlRfRxIfStageMonConfig(rlUInt8_t deviceMap, rlRxIfStageMonConf_t *data)
Sets information related to RX IF filter attenuation monitoring.
rlReturnVal_t rlRfTxPhShiftMonConfig(rlUInt8_t deviceMap, rlAllTxPhShiftMonConf_t *data)
Sets information related to TX Phase shifter monitoring.
rlTxBallbreakMonConf_t * tx1BallBrkMonCfg
Tx ballbreak monitoring config for Tx1.
rlUInt16_t nsbc
Number of Sub Blocks in Payload.
rlReturnVal_t rlRfSynthFreqMonConfig(rlUInt8_t deviceMap, rlSynthFreqMonConf_t *data)
Sets information related to synthesizer frequency.
rlReturnVal_t rlRfDigMonEnableConfig(rlUInt8_t deviceMap, rlMonDigEnables_t *data)
Sets the consolidated configuration of all digital monitoring.
rlReturnVal_t rlRfAnaFaultInjConfig(rlUInt8_t deviceMap, rlAnaFaultInj_t *data)
Sets information related to RF fault injection.
TX Phase shifter monitoring configuration.
TX power monitoring configuration.
RX noise monitoring configuration.
RX IF stage monitoring configuration.
rlTxIntAnaSignalsMonConf_t * tx2IntAnaSgnlMonCfg
Internal signals in the Tx-2 path monitoring config.
TX ballbreak monitoring configuration.
rlReturnVal_t rlRfPllContrlVoltMonConfig(rlUInt8_t deviceMap, rlPllContrVoltMonConf_t *data)
Sets information related to APLL and Synthesizer's control voltage signals monitoring.
Internal signals in the TX path monitoring configuration.
rlReturnVal_t rlRfRxIfSatMonConfig(rlUInt8_t deviceMap, rlRxSatMonConf_t *data)
Sets information related to RX saturation detector monitoring.
rlTxPowMonConf_t * tx1PowrMonCfg
Power Monitoring Configuration for Tx1.
rlReturnVal_t rlRfTempMonConfig(rlUInt8_t deviceMap, rlTempMonConf_t *data)
This API configure the on chip temperature monitors and report the soft results from the monitor....
TX gain and phase mismatch monitoring configuration.
rlTxPhShiftMonConf_t * tx1PhShiftMonCfg
Tx-1 Phase shifter monitoring config.
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)
rlReturnVal_t rlRfGpadcIntAnaSignalsMonConfig(rlUInt8_t deviceMap, rlGpadcIntAnaSignalsMonConf_t *data)
Sets information related to GPADC Internal Analog Signals monitoring.
rlReturnVal_t rlRfDigMonPeriodicConfig(rlUInt8_t deviceMap, rlDigMonPeriodicConf_t *data)
Sets the consolidated configuration.
mmwave radar Driver Payload
TX ballbreak monitoring configuration.
rlReturnVal_t rlRfExtAnaSignalsMonConfig(rlUInt8_t deviceMap, rlExtAnaSignalsMonConf_t *data)
Sets information related to external DC signals monitoring.
Synthesizer frequency monitoring configuration.
Digital monitoring configuration.
rlTxIntAnaSignalsMonConf_t * tx1IntAnaSgnlMonCfg
Internal signals in the Tx-1 path monitoring config.
rlReturnVal_t rlRfPmClkLoIntAnaSignalsMonConfig(rlUInt8_t deviceMap, rlPmClkLoIntAnaSignalsMonConf_t *data)
Sets information related to Power Management, Clock generation and LO distribution.
Internal signals for GPADC monitoring configuration.
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.
TX Phase shifter monitoring configuration.
rlTxIntAnaSignalsMonConf_t * tx0IntAnaSgnlMonCfg
Internal signals in the Tx-0 path monitoring config.
RX mixer input power monitoring configuration.
rlReturnVal_t rlRfTxIntAnaSignalsMonConfig(rlUInt8_t deviceMap, rlAllTxIntAnaSignalsMonConf_t *data)
Sets information related to TX Internal Analog Signals monitoring.
rlReturnVal_t rlRfRxNoiseMonConfig(rlUInt8_t deviceMap, rlRxNoiseMonConf_t *data)
Sets information related to RX noise monitoring.
rlTxBallbreakMonConf_t * tx2BallBrkMonCfg
Tx ballbreak monitoring config for Tx2.
Analog monitoring configuration.
rlTxPowMonConf_t * tx2PowrMonCfg
Power Monitoring Configuration for Tx2.
rlReturnVal_t rlRfRxIntAnaSignalsMonConfig(rlUInt8_t deviceMap, rlRxIntAnaSignalsMonConf_t *data)
Sets information related to RX Internal Analog Signals monitoring.
Temperature sensor monitoring configuration.
Internal signals in the TX path monitoring configuration.
Internal signals for PM, CLK and LO monitoring configuration.
rlReturnVal_t rlRfDualClkCompMonConfig(rlUInt8_t deviceMap, rlDualClkCompMonConf_t *data)
Sets information related to the DCC based clock frequency monitoring.
rlTxPowMonConf_t * tx0PowrMonCfg
Power Monitoring Configuration for Tx0.
rlTxPhShiftMonConf_t * tx0PhShiftMonCfg
Tx-0 Phase shifter monitoring config.
rlReturnVal_t rlRfTxGainPhaseMismatchMonConfig(rlUInt8_t deviceMap, rlTxGainPhaseMismatchMonConf_t *data)
Sets information related to TX gain and phase mismatch monitoring.
RX gain and phase monitoring configuration.
rlReturnVal_t rlRfTxPowrMonConfig(rlUInt8_t deviceMap, rlAllTxPowMonConf_t *data)
Sets information related to TX power monitoring.
rlReturnVal_t rlDriverExecuteSetApi(rlUInt8_t deviceMap, rlUInt16_t msgId, rlUInt16_t sbcID, rlUInt8_t *msgData, rlUInt16_t inLen)
: Construct set message and invoke command.
rlReturnVal_t rlDriverIsDeviceMapValid(rlUInt8_t deviceMap)
Checks if given deviecMap is valid wrt to global DeviceMap set to mmWaveLink.