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> 100 retVal = RL_RET_CODE_INVALID_INPUT;
106 RL_RF_DIG_MON_EN_SB, (rlUInt8_t*)data,
127 rlReturnVal_t retVal;
133 retVal = RL_RET_CODE_INVALID_INPUT;
139 RL_RF_DIG_MON_PERIODIC_CONF_SB, (rlUInt8_t*)data,
172 rlReturnVal_t retVal;
178 retVal = RL_RET_CODE_INVALID_INPUT;
184 RL_RF_ANA_MON_EN_SB, (rlUInt8_t*)data,
212 rlReturnVal_t retVal;
218 retVal = RL_RET_CODE_INVALID_INPUT;
224 RL_RF_TEMP_MON_CONF_SB, (rlUInt8_t*)data,
253 rlReturnVal_t retVal;
257 (RL_NULL_PTR == data))
260 retVal = RL_RET_CODE_INVALID_INPUT;
266 RL_RF_RX_GAIN_PHASE_MON_CONF_SB, (rlUInt8_t*)data,
297 rlReturnVal_t retVal;
301 (RL_NULL_PTR == data))
304 retVal = RL_RET_CODE_INVALID_INPUT;
310 RL_RF_RX_NOISE_MON_CONF_SB, (rlUInt8_t*)data,
333 rlReturnVal_t retVal;
339 retVal = RL_RET_CODE_INVALID_INPUT;
345 RL_RF_RX_IFSTAGE_MON_CONF_SB, (rlUInt8_t*)data,
372 rlReturnVal_t retVal;
376 rlUInt16_t numSbc = 0U;
381 RL_LOGV_ARG0(
"rlRfTxPowrMonConfig starts...\n");
388 (RL_NULL_PTR == data))
390 retVal = RL_RET_CODE_INVALID_INPUT;
391 RL_LOGE_ARG0(
"rlRfTxPowrMonConfig, Invalid input \n");
400 RL_RF_TX0_POW_MON_CONF_SB,
401 &inPayloadSb[numSbc],
411 RL_RF_TX1_POW_MON_CONF_SB,
412 &inPayloadSb[numSbc],
422 RL_RF_TX2_POW_MON_CONF_SB,
423 &inPayloadSb[numSbc],
432 inMsg.opcode.
nsbc = numSbc;
439 retVal = RL_RET_CODE_INVALID_INPUT;
440 RL_LOGE_ARG0(
"sub block is NULL\n");
464 rlReturnVal_t retVal;
468 rlUInt16_t numSbc = 0U;
473 RL_LOGV_ARG0(
"rlRfTxBallBreakMonConfig starts...\n");
480 (RL_NULL_PTR == data) )
482 retVal = RL_RET_CODE_INVALID_INPUT;
483 RL_LOGE_ARG0(
"rlRfTxBallBreakMonConfig, Invalid input \n");
492 RL_RF_TX0_BALLBREAK_MON_CONF_SB,
493 &inPayloadSb[numSbc],
503 RL_RF_TX1_BALLBREAK_MON_CONF_SB,
504 &inPayloadSb[numSbc],
514 RL_RF_TX2_BALLBREAK_MON_CONF_SB,
515 &inPayloadSb[numSbc],
524 inMsg.opcode.
nsbc = numSbc;
531 retVal = RL_RET_CODE_INVALID_INPUT;
532 RL_LOGE_ARG0(
"sub block is NULL\n");
567 rlReturnVal_t retVal;
573 retVal = RL_RET_CODE_INVALID_INPUT;
579 RL_RF_TX_GAIN_PHASE_MISMATCH_MON_CONF_SB,
627 rlReturnVal_t retVal;
633 retVal = RL_RET_CODE_INVALID_INPUT;
639 RL_RF_SYNTH_FREQ_MON_CONF_SB, (rlUInt8_t*)data,
664 rlReturnVal_t retVal;
668 (RL_NULL_PTR == data))
671 retVal = RL_RET_CODE_INVALID_INPUT;
677 RL_RF_EXT_ANA_SIGNALS_MON_CONF_SB, (rlUInt8_t*)data,
703 rlReturnVal_t retVal;
707 rlUInt16_t numSbc = 0U;
712 RL_LOGV_ARG0(
"rlRfTxIntAnaSignalsMonConfig starts...\n");
719 (RL_NULL_PTR == data) )
721 retVal = RL_RET_CODE_INVALID_INPUT;
722 RL_LOGE_ARG0(
"rlRfTxIntAnaSignalsMonConfig, Invalid input \n");
731 RL_RF_TX0_INT_ANA_SIGNALS_MON_CONF_SB,
732 &inPayloadSb[numSbc],
742 RL_RF_TX1_INT_ANA_SIGNALS_MON_CONF_SB,
743 &inPayloadSb[numSbc],
753 RL_RF_TX2_INT_ANA_SIGNALS_MON_CONF_SB,
754 &inPayloadSb[numSbc],
763 inMsg.opcode.
nsbc = numSbc;
770 retVal = RL_RET_CODE_INVALID_INPUT;
771 RL_LOGE_ARG0(
"sub block is NULL\n");
795 rlRxIntAnaSignalsMonConf_t* data)
797 rlReturnVal_t retVal;
801 (RL_NULL_PTR == data))
804 retVal = RL_RET_CODE_INVALID_INPUT;
810 RL_RF_RX_INT_ANA_SIGNALS_MON_CONF_SB, (rlUInt8_t*)data,
811 (rlUInt16_t)
sizeof(rlRxIntAnaSignalsMonConf_t));
836 rlReturnVal_t retVal;
840 (RL_NULL_PTR == data))
843 retVal = RL_RET_CODE_INVALID_INPUT;
849 RL_RF_PMCLKLO_INT_ANA_SIGNALS_MON_CONF_SB,
875 rlReturnVal_t retVal;
879 (RL_NULL_PTR == data))
882 retVal = RL_RET_CODE_INVALID_INPUT;
888 RL_RF_GPADC_INT_ANA_SIGNALS_MON_CONF_SB,
914 rlReturnVal_t retVal;
918 (RL_NULL_PTR == data))
921 retVal = RL_RET_CODE_INVALID_INPUT;
927 RL_RF_PLL_CONTROL_VOLT_MON_CONF_SB,
952 rlReturnVal_t retVal;
956 (RL_NULL_PTR == data))
959 retVal = RL_RET_CODE_INVALID_INPUT;
965 RL_RF_DUAL_CLOCK_COMP_MON_CONF_SB,
1000 rlReturnVal_t retVal;
1004 (RL_NULL_PTR == data))
1007 retVal = RL_RET_CODE_INVALID_INPUT;
1013 RL_RF_RX_SATURATION_MON_CONF_SB,
1049 rlReturnVal_t retVal;
1053 (RL_NULL_PTR == data))
1056 retVal = RL_RET_CODE_INVALID_INPUT;
1062 RL_RF_RX_SIGIMG_MON_CONF_SB,
1085 rlReturnVal_t rlRfRxMixerInPwrConfig(rlUInt8_t deviceMap,
1088 rlReturnVal_t retVal;
1092 (RL_NULL_PTR == data))
1095 retVal = RL_RET_CODE_INVALID_INPUT;
1101 RL_RF_RX_MIXER_IN_POWR_CONF_SB,
1131 rlAnaFaultInj_t* data)
1133 rlReturnVal_t retVal;
1137 (RL_NULL_PTR == data))
1140 retVal = RL_RET_CODE_INVALID_INPUT;
1146 RL_RF_FAULT_INJECTION_CONF_SB,
1148 (rlUInt16_t)
sizeof(rlAnaFaultInj_t));
1185 rlReturnVal_t retVal;
1189 rlUInt16_t numSbc = 0U;
1194 RL_LOGV_ARG0(
"rlRfTxPhShiftMonConfig starts...\n");
1201 (RL_NULL_PTR == data))
1203 retVal = RL_RET_CODE_INVALID_INPUT;
1204 RL_LOGE_ARG0(
"rlRfTxPhShiftMonConfig, Invalid input \n");
1213 RL_RF_TX0_PH_SHIFT_MON_CONF_SB,
1214 &inPayloadSb[numSbc],
1224 RL_RF_TX1_PH_SHIFT_MON_CONF_SB,
1225 &inPayloadSb[numSbc],
1235 RL_RF_TX2_PH_SHIFT_MON_CONF_SB,
1236 &inPayloadSb[numSbc],
1245 inMsg.opcode.
nsbc = numSbc;
1252 retVal = RL_RET_CODE_INVALID_INPUT;
1253 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.