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,
176 rlReturnVal_t retVal;
182 retVal = RL_RET_CODE_INVALID_INPUT;
188 RL_RF_ANA_MON_EN_SB, (rlUInt8_t*)data,
220 rlReturnVal_t retVal;
226 retVal = RL_RET_CODE_INVALID_INPUT;
232 RL_RF_TEMP_MON_CONF_SB, (rlUInt8_t*)data,
262 rlReturnVal_t retVal;
266 (RL_NULL_PTR == data))
269 retVal = RL_RET_CODE_INVALID_INPUT;
275 RL_RF_RX_GAIN_PHASE_MON_CONF_SB, (rlUInt8_t*)data,
307 rlReturnVal_t retVal;
311 (RL_NULL_PTR == data))
314 retVal = RL_RET_CODE_INVALID_INPUT;
320 RL_RF_RX_NOISE_MON_CONF_SB, (rlUInt8_t*)data,
344 rlReturnVal_t retVal;
350 retVal = RL_RET_CODE_INVALID_INPUT;
356 RL_RF_RX_IFSTAGE_MON_CONF_SB, (rlUInt8_t*)data,
386 rlReturnVal_t retVal;
390 rlUInt16_t numSbc = 0U;
395 RL_LOGV_ARG0(
"rlRfTxPowrMonConfig starts...\n");
402 (RL_NULL_PTR == data))
404 retVal = RL_RET_CODE_INVALID_INPUT;
405 RL_LOGE_ARG0(
"rlRfTxPowrMonConfig, Invalid input \n");
414 RL_RF_TX0_POW_MON_CONF_SB,
415 &inPayloadSb[numSbc],
425 RL_RF_TX1_POW_MON_CONF_SB,
426 &inPayloadSb[numSbc],
436 RL_RF_TX2_POW_MON_CONF_SB,
437 &inPayloadSb[numSbc],
446 inMsg.opcode.
nsbc = numSbc;
453 retVal = RL_RET_CODE_INVALID_INPUT;
454 RL_LOGE_ARG0(
"sub block is NULL\n");
481 rlReturnVal_t retVal;
485 rlUInt16_t numSbc = 0U;
490 RL_LOGV_ARG0(
"rlRfTxBallBreakMonConfig starts...\n");
497 (RL_NULL_PTR == data) )
499 retVal = RL_RET_CODE_INVALID_INPUT;
500 RL_LOGE_ARG0(
"rlRfTxBallBreakMonConfig, Invalid input \n");
509 RL_RF_TX0_BALLBREAK_MON_CONF_SB,
510 &inPayloadSb[numSbc],
520 RL_RF_TX1_BALLBREAK_MON_CONF_SB,
521 &inPayloadSb[numSbc],
531 RL_RF_TX2_BALLBREAK_MON_CONF_SB,
532 &inPayloadSb[numSbc],
541 inMsg.opcode.
nsbc = numSbc;
548 retVal = RL_RET_CODE_INVALID_INPUT;
549 RL_LOGE_ARG0(
"sub block is NULL\n");
585 rlReturnVal_t retVal;
591 retVal = RL_RET_CODE_INVALID_INPUT;
597 RL_RF_TX_GAIN_PHASE_MISMATCH_MON_CONF_SB,
646 rlReturnVal_t retVal;
652 retVal = RL_RET_CODE_INVALID_INPUT;
658 RL_RF_SYNTH_FREQ_MON_CONF_SB, (rlUInt8_t*)data,
684 rlReturnVal_t retVal;
688 (RL_NULL_PTR == data))
691 retVal = RL_RET_CODE_INVALID_INPUT;
697 RL_RF_EXT_ANA_SIGNALS_MON_CONF_SB, (rlUInt8_t*)data,
726 rlReturnVal_t retVal;
730 rlUInt16_t numSbc = 0U;
735 RL_LOGV_ARG0(
"rlRfTxIntAnaSignalsMonConfig starts...\n");
742 (RL_NULL_PTR == data) )
744 retVal = RL_RET_CODE_INVALID_INPUT;
745 RL_LOGE_ARG0(
"rlRfTxIntAnaSignalsMonConfig, Invalid input \n");
754 RL_RF_TX0_INT_ANA_SIGNALS_MON_CONF_SB,
755 &inPayloadSb[numSbc],
765 RL_RF_TX1_INT_ANA_SIGNALS_MON_CONF_SB,
766 &inPayloadSb[numSbc],
776 RL_RF_TX2_INT_ANA_SIGNALS_MON_CONF_SB,
777 &inPayloadSb[numSbc],
786 inMsg.opcode.
nsbc = numSbc;
793 retVal = RL_RET_CODE_INVALID_INPUT;
794 RL_LOGE_ARG0(
"sub block is NULL\n");
819 rlRxIntAnaSignalsMonConf_t* data)
821 rlReturnVal_t retVal;
825 (RL_NULL_PTR == data))
828 retVal = RL_RET_CODE_INVALID_INPUT;
834 RL_RF_RX_INT_ANA_SIGNALS_MON_CONF_SB, (rlUInt8_t*)data,
835 (rlUInt16_t)
sizeof(rlRxIntAnaSignalsMonConf_t));
864 rlReturnVal_t retVal;
868 (RL_NULL_PTR == data))
871 retVal = RL_RET_CODE_INVALID_INPUT;
877 RL_RF_PMCLKLO_INT_ANA_SIGNALS_MON_CONF_SB,
904 rlReturnVal_t retVal;
908 (RL_NULL_PTR == data))
911 retVal = RL_RET_CODE_INVALID_INPUT;
917 RL_RF_GPADC_INT_ANA_SIGNALS_MON_CONF_SB,
944 rlReturnVal_t retVal;
948 (RL_NULL_PTR == data))
951 retVal = RL_RET_CODE_INVALID_INPUT;
957 RL_RF_PLL_CONTROL_VOLT_MON_CONF_SB,
983 rlReturnVal_t retVal;
987 (RL_NULL_PTR == data))
990 retVal = RL_RET_CODE_INVALID_INPUT;
996 RL_RF_DUAL_CLOCK_COMP_MON_CONF_SB,
1032 rlReturnVal_t retVal;
1036 (RL_NULL_PTR == data))
1039 retVal = RL_RET_CODE_INVALID_INPUT;
1045 RL_RF_RX_SATURATION_MON_CONF_SB,
1082 rlReturnVal_t retVal;
1086 (RL_NULL_PTR == data))
1089 retVal = RL_RET_CODE_INVALID_INPUT;
1095 RL_RF_RX_SIGIMG_MON_CONF_SB,
1119 rlReturnVal_t rlRfRxMixerInPwrConfig(rlUInt8_t deviceMap,
1122 rlReturnVal_t retVal;
1126 (RL_NULL_PTR == data))
1129 retVal = RL_RET_CODE_INVALID_INPUT;
1135 RL_RF_RX_MIXER_IN_POWR_CONF_SB,
1166 rlAnaFaultInj_t* data)
1168 rlReturnVal_t retVal;
1172 (RL_NULL_PTR == data))
1175 retVal = RL_RET_CODE_INVALID_INPUT;
1181 RL_RF_FAULT_INJECTION_CONF_SB,
1183 (rlUInt16_t)
sizeof(rlAnaFaultInj_t));
1223 rlReturnVal_t retVal;
1227 rlUInt16_t numSbc = 0U;
1232 RL_LOGV_ARG0(
"rlRfTxPhShiftMonConfig starts...\n");
1239 (RL_NULL_PTR == data))
1241 retVal = RL_RET_CODE_INVALID_INPUT;
1242 RL_LOGE_ARG0(
"rlRfTxPhShiftMonConfig, Invalid input \n");
1251 RL_RF_TX0_PH_SHIFT_MON_CONF_SB,
1252 &inPayloadSb[numSbc],
1262 RL_RF_TX1_PH_SHIFT_MON_CONF_SB,
1263 &inPayloadSb[numSbc],
1273 RL_RF_TX2_PH_SHIFT_MON_CONF_SB,
1274 &inPayloadSb[numSbc],
1283 inMsg.opcode.
nsbc = numSbc;
1290 retVal = RL_RET_CODE_INVALID_INPUT;
1291 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.