【Vector DaVinci工具使用实战】2-新增Rx/Tx信号的Port映射

目录

0-前言

1-创建Rx信号的Port口映射

2-创建Tx信号的Port口映射

3-添加Runnable接口的访问权限

4-代码实例

4.1 Rx信号的代码实现

4.2 Tx信号的代码实现


0-前言

在完成导入SDB(DBC或Arxml格式)后,在Developer的Data Mapping里面会显示所有的信号,通过Direction可以分为Rx和Tx,Rx代表ECU从总线收到的信号,Tx代表ECU发送到总线的信号。

1-创建Rx信号的Port口映射

选中所有的Rx信号,ctrl+shift可以实现批量选择,然后右键点击Create Port(s) from Signal(s)

在弹出来的属性框按上图配置,其中Port Creation选择Tc_Com_Rx这个SWC

完成配置后点击Next

然后为了区分,加上BSW_Rx_作为前缀,最后点击Finish

2-创建Tx信号的Port口映射

选中所有的Tx信号,然后右键点击Create Port(s) from Signal(s)

在弹出来的属性框按上图配置,其中Port Creation选择Tc_Com_Tx这个SWC,然后点击Next

然后为了区分,加上BSW_Tx_作为前缀,最后点击Finish

3-添加Runnable接口的访问权限

在Tc_Com_Rx_10ms的Runnabel的Access Points属性中,选择Read的接口

可以看到我们在Step1创建的BSW_Rx_的Port口映射,全选添加进来

同理把所有的Tx信号的Port的访问权限关联到Tc_Com_Tx_10ms中

4-代码实例

4.1 Rx信号的代码实现

在Rte_Tc_Com_Rx.h中会生成所有Rx信号的BSW_Rx_的接口

#  define Rte_Read_BSW_Rx_ACU_AirBagFailSt_BSW_Rx_ACU_AirBagFailSt Rte_Read_Tc_Com_Rx_BSW_Rx_ACU_AirBagFailSt_BSW_Rx_ACU_AirBagFailSt
#  define Rte_Read_Tc_Com_Rx_BSW_Rx_ACU_AirBagFailSt_BSW_Rx_ACU_AirBagFailSt(data) (Com_ReceiveSignal(ComConf_ComSignal_ACU_AirBagFailSt_oACU_oAlita_Chassis_CAN_Matrix_S05_V20_fd8ace97_Rx, (data))) /* PRQA S 3453 */ /* MD_MSR_FctLikeMacro */
#  define Rte_Read_BSW_Rx_ACU_CrashOutputSt_BSW_Rx_ACU_CrashOutputSt Rte_Read_Tc_Com_Rx_BSW_Rx_ACU_CrashOutputSt_BSW_Rx_ACU_CrashOutputSt
#  define Rte_Read_Tc_Com_Rx_BSW_Rx_ACU_CrashOutputSt_BSW_Rx_ACU_CrashOutputSt(data) (Com_ReceiveSignal(ComConf_ComSignal_ACU_CrashOutputSt_oACU_oAlita_Chassis_CAN_Matrix_S05_V20_f40decd6_Rx, (data))) /* PRQA S 3453 */ /* MD_MSR_FctLikeMacro */
#  define Rte_Read_BSW_Rx_ACU_DrvSeatBeltRSt_BSW_Rx_ACU_DrvSeatBeltRSt Rte_Read_Tc_Com_Rx_BSW_Rx_ACU_DrvSeatBeltRSt_BSW_Rx_ACU_DrvSeatBeltRSt
#  define Rte_Read_Tc_Com_Rx_BSW_Rx_ACU_DrvSeatBeltRSt_BSW_Rx_ACU_DrvSeatBeltRSt(data) (Com_ReceiveSignal(ComConf_ComSignal_ACU_DrvSeatBeltRSt_oACU_oAlita_Chassis_CAN_Matrix_S05_V20_52e2fb98_Rx, (data))) /* PRQA S 3453 */ /* MD_MSR_FctLikeMacro */

其中关键的API接口是Com_ReceiveSignal

/**********************************************************************************************************************
  Com_ReceiveSignal
**********************************************************************************************************************/
/*! Internal comment removed.
 *
 *
 *
 *
 *
**********************************************************************************************************************/
FUNC(uint8, COM_CODE) Com_ReceiveSignal(Com_SignalIdType SignalId, P2VAR(void, AUTOMATIC, COM_APPL_VAR) SignalDataPtr)
{
  /* ----- Local Variables ---------------------------------------------- */
  uint8 errorId = COM_E_NO_ERROR;       /* PRQA S 2981 */ /* MD_MSR_RetVal */
  uint8 retVal = COM_SERVICE_NOT_AVAILABLE;     /* PRQA S 2981 */ /* MD_MSR_RetVal */

  /* ----- Development Error Checks ------------------------------------- */
  /* #10 Check if component is initialized */
  if(!Com_IsInitialized())
  {
    errorId = COM_E_UNINIT;
  }
# if (COM_DEV_ERROR_DETECT == STD_ON)   /* COV_COM_VAR_ELISA_STD_ON_TX */
  /* #20 Check plausibility of input parameters */
#  if (COM_RXACCESSINFO == STD_ON)
  else if(SignalId >= Com_GetSizeOfRxAccessInfo())
  {
    errorId = COM_E_PARAM;
  }
#   if (COM_INVALIDHNDOFRXACCESSINFO == STD_ON)
  else if(Com_IsInvalidHndOfRxAccessInfo(SignalId))
  {
    errorId = COM_E_PARAM;
  }
#   endif
#  endif
  else if(SignalDataPtr == NULL_PTR)
  {
    errorId = COM_E_PARAM_POINTER;
  }
# endif
  else
  {
# if (COM_RXACCESSINFO == STD_ON)
    /* ----- Implementation ----------------------------------------------- */
#  if ((COM_BUFFERUSEDOFRXACCESSINFO == STD_ON) || (COM_RXSIGBUFFERARRAYBASEDBUFFERUSEDOFRXACCESSINFO == STD_ON))
    /* #30 Copy the stored ComSignal value to the passed SignalDataPtr */
    Com_ReceiveSignal_GetRxSigBuffer(SignalId, SignalDataPtr);  /* SBSW_COM_PTR_API */
#  endif

    /* #40 If the related ComIPduGroup is active, E_OK will be returned otherwise COM_SERVICE_NOT_AVAILABLE will be returned */
    if(Com_IsRxPduGrpActive(Com_GetRxPduInfoIdxOfRxAccessInfo(SignalId)))
    {
      retVal = E_OK;
    }
    else
    {
      retVal = COM_SERVICE_NOT_AVAILABLE;
    }
# else
    errorId = COM_E_PARAM;
# endif
  }

  /* ----- Development Error Report --------------------------------------- */
# if (COM_DEV_ERROR_REPORT == STD_ON)
  if(errorId != COM_E_NO_ERROR) /* PRQA S 2991, 2995 */ /* MD_Com_2991, MD_Com_2995 */ /* COV_COM_ONLY_DET_FUNCTIONALITY_PRESENT */
  {
    Com_LMgt_CallDetErrorContinue(COMServiceId_ReceiveSignal, errorId);
  }
# endif

  COM_DUMMY_STATEMENT(errorId); /* PRQA S 1338, 2983, 3112 */ /* MD_MSR_DummyStmt */ /* lint -e{438} */
  COM_DUMMY_STATEMENT(SignalId);        /* PRQA S 1338, 2983, 3112 */ /* MD_MSR_DummyStmt */ /* lint -e{438} */
  COM_DUMMY_STATEMENT(SignalDataPtr);   /* PRQA S 1338, 2983, 3112 */ /* MD_MSR_DummyStmt */ /* lint -e{438} */

  return retVal;
}       /* PRQA S 6080 */ /* MD_MSR_STMIF */
4.2 Tx信号的代码实现

在Rte_Tc_Com_Tx.h中会生成所有Tx信号的BSW_Tx_的接口


/**********************************************************************************************************************
 * API prototypes
 *********************************************************************************************************************/
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_ACMode_Set_BSW_Tx_IVI_ACMode_Set(BSW_Tx_IVI_ACMode_Set data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_AC_SW_Req_BSW_Tx_IVI_AC_SW_Req(BSW_Tx_IVI_AC_SW_Req data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_AUTO_SW_Req_BSW_Tx_IVI_AUTO_SW_Req(BSW_Tx_IVI_AUTO_SW_Req data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_AVHOnOffSet_BSW_Tx_IVI_AVHOnOffSet(BSW_Tx_IVI_AVHOnOffSet data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Air_Vol_Set_BSW_Tx_IVI_Air_Vol_Set(BSW_Tx_IVI_Air_Vol_Set data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_BTHFP_AutoAirVOL_SW_BSW_Tx_IVI_BTHFP_AutoAirVOL_SW(BSW_Tx_IVI_BTHFP_AutoAirVOL_SW data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_BT_Phone_Sts_BSW_Tx_IVI_BT_Phone_Sts(BSW_Tx_IVI_BT_Phone_Sts data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_CSTOnOffSet_BSW_Tx_IVI_CSTOnOffSet(BSW_Tx_IVI_CSTOnOffSet data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_CrawlingModeReq_BSW_Tx_IVI_CrawlingModeReq(BSW_Tx_IVI_CrawlingModeReq data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Cur_FlashSts_C_BSW_Tx_IVI_Cur_FlashSts_C(BSW_Tx_IVI_Cur_FlashSts_C data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_DrvModset_Req_BSW_Tx_IVI_DrvModset_Req(BSW_Tx_IVI_DrvModset_Req data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_ECCIntExtCirc_Req_BSW_Tx_IVI_ECCIntExtCirc_Req(BSW_Tx_IVI_ECCIntExtCirc_Req data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_EPS_Modset_Req_BSW_Tx_IVI_EPS_Modset_Req(BSW_Tx_IVI_EPS_Modset_Req data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_ESPOffSw_BSW_Tx_IVI_ESPOffSw(BSW_Tx_IVI_ESPOffSw data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Energy_RE_Set_BSW_Tx_IVI_Energy_RE_Set(BSW_Tx_IVI_Energy_RE_Set data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_FastCoolingReq_BSW_Tx_IVI_FastCoolingReq(BSW_Tx_IVI_FastCoolingReq data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_FrntDefrst_SW_Req_BSW_Tx_IVI_FrntDefrst_SW_Req(BSW_Tx_IVI_FrntDefrst_SW_Req data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_HDCOnOffSet_BSW_Tx_IVI_HDCOnOffSet(BSW_Tx_IVI_HDCOnOffSet data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_IntelligenTaerationReq_BSW_Tx_IVI_IntelligenTaerationReq(BSW_Tx_IVI_IntelligenTaerationReq data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_ItpmsReset_Set_BSW_Tx_IVI_ItpmsReset_Set(BSW_Tx_IVI_ItpmsReset_Set data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_OTAMODE_C_BSW_Tx_IVI_OTAMODE_C(BSW_Tx_IVI_OTAMODE_C data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_OTA_ReqKL15PowerOn_C_BSW_Tx_IVI_OTA_ReqKL15PowerOn_C(BSW_Tx_IVI_OTA_ReqKL15PowerOn_C data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Power_SW_Req_BSW_Tx_IVI_Power_SW_Req(BSW_Tx_IVI_Power_SW_Req data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_SetACTemp_BSW_Tx_IVI_SetACTemp(BSW_Tx_IVI_SetACTemp data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Time_Day_BSW_Tx_IVI_Time_Day(BSW_Tx_IVI_Time_Day data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Time_Hour_BSW_Tx_IVI_Time_Hour(BSW_Tx_IVI_Time_Hour data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Time_Min_BSW_Tx_IVI_Time_Min(BSW_Tx_IVI_Time_Min data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Time_Month_BSW_Tx_IVI_Time_Month(BSW_Tx_IVI_Time_Month data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Time_Sec_BSW_Tx_IVI_Time_Sec(BSW_Tx_IVI_Time_Sec data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Time_Year_BSW_Tx_IVI_Time_Year(BSW_Tx_IVI_Time_Year data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_hvacFrModeReq_BSW_Tx_IVI_hvacFrModeReq(BSW_Tx_IVI_hvacFrModeReq data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_NMUd_IVI_16bit_BSW_Tx_NMUd_IVI_16bit(BSW_Tx_NMUd_IVI_16bit data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */
FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_NMUd_IVI_32bit_BSW_Tx_NMUd_IVI_32bit(BSW_Tx_NMUd_IVI_32bit data); /* PRQA S 0786, 3449, 0624 */ /* MD_Rte_0786, MD_Rte_3449, MD_Rte_0624 */

在Rte_SystemApplication_OsCore0.C中会生成相关的函数定义,关键的API是Com_SendSignal

FUNC(Std_ReturnType, RTE_CODE) Rte_Write_Tc_Com_Tx_BSW_Tx_IVI_Time_Min_BSW_Tx_IVI_Time_Min(BSW_Tx_IVI_Time_Min data) /* PRQA S 1505, 2982 */ /* MD_MSR_Rule8.7, MD_Rte_2982 */
{
  Std_ReturnType ret = RTE_E_OK; /* PRQA S 2981 */ /* MD_MSR_RetVal */

  ret |= Com_SendSignal(ComConf_ComSignal_IVI_Time_Min_oIVI_Time_oAlita_Chassis_CAN_Matrix_S05_V20_d9636382_Tx, (&data)); /* PRQA S 0315, 1340, 2986 */ /* MD_Rte_0315, MD_Rte_1340, MD_MSR_RetVal */

  return ret;
} /* PRQA S 6010, 6030, 6050 */ /* MD_MSR_STPTH, MD_MSR_STCYC, MD_MSR_STCAL */

Com_SendSignal的定义如下:

/**********************************************************************************************************************
  Com_SendSignal
 **********************************************************************************************************************/
/*! Internal comment removed.
 *
 *
 *
 *
 **********************************************************************************************************************/
FUNC(uint8, COM_CODE) Com_SendSignal(Com_SignalIdType SignalId, P2CONST(void, AUTOMATIC, COM_APPL_DATA) SignalDataPtr)
{
  /* ----- Local Variables ---------------------------------------------- */
  uint8 errorId = COM_E_NO_ERROR;       /* PRQA S 2981 */ /* MD_MSR_RetVal */
  uint8 retVal = COM_SERVICE_NOT_AVAILABLE;     /* PRQA S 2981 */ /* MD_MSR_RetVal */

  /* ----- Development Error Checks ------------------------------------- */
  /* #10 Check if component is initialized */
  if(!Com_IsInitialized())
  {
    errorId = COM_E_UNINIT;
  }
#if (COM_DEV_ERROR_DETECT == STD_ON)    /* COV_COM_VAR_ELISA_STD_ON_TX */
  /* #20 Check plausibility of input parameters */
# if (COM_TXSIGINFO == STD_ON)
  else if(SignalId >= Com_GetSizeOfTxSigInfo())
  {
    errorId = COM_E_PARAM;
  }
#  if (COM_INVALIDHNDOFTXSIGINFO == STD_ON)
  else if(Com_IsInvalidHndOfTxSigInfo(SignalId))
  {
    errorId = COM_E_PARAM;
  }
#  endif
# endif
  else if(SignalDataPtr == NULL_PTR)    /* COV_COM_UINT8_DYN_APPLTYPE */
  {
    errorId = COM_E_PARAM_POINTER;
  }
#endif
  else
  {
    /* ----- Implementation ----------------------------------------------- */
#if (COM_TXSIGINFO == STD_ON)
    SchM_Enter_Com_COM_EXCLUSIVE_AREA_TX();
    /* #30 Process the passed Tx ComSignal */
    retVal = Com_SendSignal_Processing(SignalId, SignalDataPtr, 0);     /* SBSW_COM_FCTCALL_WITH_P2CONST */
    SchM_Exit_Com_COM_EXCLUSIVE_AREA_TX();
#else
    errorId = COM_E_PARAM;
#endif
  }

  /* ----- Development Error Report --------------------------------------- */
#if (COM_DEV_ERROR_REPORT == STD_ON)
  if(errorId != COM_E_NO_ERROR) /* PRQA S 2991, 2995 */ /* MD_Com_2991, MD_Com_2995 */ /* COV_COM_ONLY_DET_FUNCTIONALITY_PRESENT */
  {
    Com_LMgt_CallDetErrorContinue(COMServiceId_SendSignal, errorId);
  }
#endif

  COM_DUMMY_STATEMENT(errorId); /* PRQA S 1338, 2983, 3112 */ /* MD_MSR_DummyStmt */ /* lint -e{438} */
  COM_DUMMY_STATEMENT(SignalId);        /* PRQA S 1338, 2983, 3112 */ /* MD_MSR_DummyStmt */ /* lint -e{438} */
  COM_DUMMY_STATEMENT(SignalDataPtr);   /* PRQA S 1338, 2983, 3112 */ /* MD_MSR_DummyStmt */ /* lint -e{438} */

  return retVal;
}       /* PRQA S 6080 */ /* MD_MSR_STMIF */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值