/* -----------------------------------------------------------------------------
  Filename:    can_par.h
  Description: Toolversion: 02.03.25.01.90.05.57.01.00.00
               
               Serial Number: CBD1900557
               Customer Info: Ningbo Joyson Preh Car Connect Co., Ltd.
                              Package: CBD_Vector_SLP2
                              Micro: MPC5745B
                              Compiler: Gnu 9.2.0
               
               
               Generator Fwk   : GENy 
               Generator Module: DrvCan__base
               
               Configuration   : C:\Data\Users\huo_h1\Documents\NIO_FORCE_VBOX-SVN\30_DevelopLibrary\03_SW\90_Others\CANbedded\NIO_Geny_Force_BTA_CAN_Draft_0_1\NIO_Geny_For_CanMatrix\GENy.gny
               
               ECU: 
                       TargetSystem: Hw_Mpc5700Cpu
                       Compiler:     GNU
                       Derivates:    MPC5746C
               
               Channel "Channel0":
                       Databasefile: C:\Data\Users\huo_h1\Documents\NIO_FORCE_VBOX-SVN\30_DevelopLibrary\03_SW\90_Others\CANbedded\NIO_Geny_Force_BTA_CAN_Draft_0_1\NIO_Geny_For_CanMatrix\NIO_Force_BTA_CAN_draft_2020_9_22.dbc
                       Bussystem:    CAN
                       Manufacturer: Vector
                       Node:         SA

 ----------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
  C O P Y R I G H T
 -------------------------------------------------------------------------------
  Copyright (c) 2001-2015 by Vector Informatik GmbH. All rights reserved.
 
  This software is copyright protected and proprietary to Vector Informatik 
  GmbH.
  
  Vector Informatik GmbH grants to you only those rights as set out in the 
  license conditions.
  
  All other rights remain with Vector Informatik GmbH.
 -------------------------------------------------------------------------------
 ----------------------------------------------------------------------------- */

#if !defined(__CAN_PAR_H__)
#define __CAN_PAR_H__

#include "can_cfg.h"
#include "v_inc.h"
#include "drv_par.h"

/* -----------------------------------------------------------------------------
    &&&~ Extern declarations of callback functions
 ----------------------------------------------------------------------------- */

#if defined(C_MULTIPLE_RECEIVE_CHANNEL) || defined(C_SINGLE_RECEIVE_CHANNEL)
/* CODE CATEGORY 1 START */
extern vuint8 SA_01_TxPreTransmit(CanTxInfoStruct ctis);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern vuint8 NM_SA_TxPreTransmit(CanTxInfoStruct ctis);
/* CODE CATEGORY 1 END */

#else
/* CODE CATEGORY 1 START */
extern vuint8 SA_01_TxPreTransmit(CanChipDataPtr txObject);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern vuint8 NM_SA_TxPreTransmit(CanChipDataPtr txObject);
/* CODE CATEGORY 1 END */

#endif

/* CODE CATEGORY 1 START */
extern vuint8 IlRxPreCopy_PCTOOL_REQ(CanRxInfoStructPtr rxStruct);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern vuint8 IlRxPreCopy_CGW_03(CanRxInfoStructPtr rxStruct);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern vuint8 CanRxCGW_03PrecopyFct(CanRxInfoStructPtr rxStruct);
/* CODE CATEGORY 1 END */
/* CODE CATEGORY 1 START */
extern vuint8 IlMsgCGW_03PreCopy(CanRxInfoStructPtr rxStruct);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern vuint8 TpPrecopy(CanRxInfoStructPtr rxStruct);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern vuint8 TpFuncPrecopy(CanRxInfoStructPtr rxStruct);
/* CODE CATEGORY 1 END */


/* -----------------------------------------------------------------------------
    &&&~ Extern declarations of confirmation functions
 ----------------------------------------------------------------------------- */

/* CODE CATEGORY 1 START */
extern void CanNm_NmMsgConfirmation(CanTransmitHandle txObject);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern void TpDrvConfirmation(CanTransmitHandle txObject);
/* CODE CATEGORY 1 END */



/* -----------------------------------------------------------------------------
    &&&~ Extern declarations of indication functions
 ----------------------------------------------------------------------------- */

/* CODE CATEGORY 1 START */
extern void IlMsgRxIndication_PCTOOL_REQ(CanReceiveHandle rcvObject);
/* CODE CATEGORY 1 END */

/* CODE CATEGORY 1 START */
extern void IlMsgRxIndication_CGW_03(CanReceiveHandle rcvObject);
/* CODE CATEGORY 1 END */



/* -----------------------------------------------------------------------------
    &&&~ Multiple Callback Functions
 ----------------------------------------------------------------------------- */

/* CODE CATEGORY 1 START */
extern C_CALLBACK_1 void C_CALLBACK_2 ApplCanTxConfirmation(CanTxInfoStructPtr txStruct);
/* CODE CATEGORY 1 END */
/* CODE CATEGORY 1 START */
extern C_CALLBACK_1 void C_CALLBACK_2 CbdWrpCanTxConfirmation(CanTxInfoStructPtr txStruct);
/* CODE CATEGORY 1 END */




/* -----------------------------------------------------------------------------
    &&&~ Handles of send objects
 ----------------------------------------------------------------------------- */

#define CanTxSA_PCTOOL_RES                   0
#define CanTxSA_01                           1
#define CanTxNM_SA                           2
#define CanTxTxDynamicMsg0                   3


/* -----------------------------------------------------------------------------
    &&&~ Access to confirmation flags
 ----------------------------------------------------------------------------- */

#define SA_PCTOOL_RES_conf_b                 (CanConfirmationFlags.w[0].b0)
#define CanWriteSyncSA_PCTOOL_RES_conf_b(x) \
{ \
  CanStartFlagWriteSync(); \
  SA_PCTOOL_RES_conf_b = (x); \
  CanEndFlagWriteSync(); \
}
#define SA_01_conf_b                         (CanConfirmationFlags.w[0].b1)
#define CanWriteSyncSA_01_conf_b(x) \
{ \
  CanStartFlagWriteSync(); \
  SA_01_conf_b = (x); \
  CanEndFlagWriteSync(); \
}
#define TxDynamicMsg0_conf_b                 (CanConfirmationFlags.w[0].b2)
#define CanWriteSyncTxDynamicMsg0_conf_b(x) \
{ \
  CanStartFlagWriteSync(); \
  TxDynamicMsg0_conf_b = (x); \
  CanEndFlagWriteSync(); \
}


/* -----------------------------------------------------------------------------
    &&&~ Handles of receive objects
 ----------------------------------------------------------------------------- */

#define CanRxNM_CGW                          0
#define CanRxPCTOOL_REQ                      1
#define CanRxCGW_03                          2
#define CanRxDIAG_REQ_SA                     3
#define CanRxDIAG_REQ_AllECU                 4


/* -----------------------------------------------------------------------------
    &&&~ Access to data bytes of Rx messages
 ----------------------------------------------------------------------------- */

/* ID: 0x00000505, Handle: 0, NM_CGW [BC] */
#define c1_NM_CGW_c                          (NM_CGW._c[0])
#define c2_NM_CGW_c                          (NM_CGW._c[1])
#define c3_NM_CGW_c                          (NM_CGW._c[2])
#define c4_NM_CGW_c                          (NM_CGW._c[3])
#define c5_NM_CGW_c                          (NM_CGW._c[4])
#define c6_NM_CGW_c                          (NM_CGW._c[5])
#define c7_NM_CGW_c                          (NM_CGW._c[6])
#define c8_NM_CGW_c                          (NM_CGW._c[7])

/* ID: 0x000004e8, Handle: 1, PCTOOL_REQ [BC] */
#define c1_PCTOOL_REQ_c                      (PCTOOL_REQ._c[0])
#define c2_PCTOOL_REQ_c                      (PCTOOL_REQ._c[1])
#define c3_PCTOOL_REQ_c                      (PCTOOL_REQ._c[2])
#define c4_PCTOOL_REQ_c                      (PCTOOL_REQ._c[3])
#define c5_PCTOOL_REQ_c                      (PCTOOL_REQ._c[4])
#define c6_PCTOOL_REQ_c                      (PCTOOL_REQ._c[5])
#define c7_PCTOOL_REQ_c                      (PCTOOL_REQ._c[6])
#define c8_PCTOOL_REQ_c                      (PCTOOL_REQ._c[7])

/* ID: 0x0000010c, Handle: 2, CGW_03 [BC] */
#define c1_CGW_03_c                          (CGW_03._c[0])
#define c2_CGW_03_c                          (CGW_03._c[1])
#define c3_CGW_03_c                          (CGW_03._c[2])
#define c4_CGW_03_c                          (CGW_03._c[3])



/* -----------------------------------------------------------------------------
    &&&~ Access to data bytes of Tx messages
 ----------------------------------------------------------------------------- */

/* ID: 0x000004e9, Handle: 0, SA_PCTOOL_RES [BC] */
#define c1_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[0])
#define c2_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[1])
#define c3_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[2])
#define c4_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[3])
#define c5_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[4])
#define c6_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[5])
#define c7_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[6])
#define c8_SA_PCTOOL_RES_c                   (SA_PCTOOL_RES._c[7])

/* ID: 0x00000237, Handle: 1, SA_01 [BC] */
#define c1_SA_01_c                           (SA_01._c[0])
#define c2_SA_01_c                           (SA_01._c[1])
#define c3_SA_01_c                           (SA_01._c[2])
#define c4_SA_01_c                           (SA_01._c[3])
#define c5_SA_01_c                           (SA_01._c[4])
#define c6_SA_01_c                           (SA_01._c[5])
#define c7_SA_01_c                           (SA_01._c[6])
#define c8_SA_01_c                           (SA_01._c[7])

/* ID: 0x0000055f, Handle: 2, NM_SA [FC] */
#define c1_NM_SA_c                           (NM_SA._c[0])
#define c2_NM_SA_c                           (NM_SA._c[1])
#define c3_NM_SA_c                           (NM_SA._c[2])
#define c4_NM_SA_c                           (NM_SA._c[3])
#define c5_NM_SA_c                           (NM_SA._c[4])
#define c6_NM_SA_c                           (NM_SA._c[5])
#define c7_NM_SA_c                           (NM_SA._c[6])
#define c8_NM_SA_c                           (NM_SA._c[7])

/* ID: 0x000007ff, Handle: 3, TxDynamicMsg0 [BC] */
#define c1_TxDynamicMsg0_c                   (TxDynamicMsg0._c[0])
#define c2_TxDynamicMsg0_c                   (TxDynamicMsg0._c[1])
#define c3_TxDynamicMsg0_c                   (TxDynamicMsg0._c[2])
#define c4_TxDynamicMsg0_c                   (TxDynamicMsg0._c[3])
#define c5_TxDynamicMsg0_c                   (TxDynamicMsg0._c[4])
#define c6_TxDynamicMsg0_c                   (TxDynamicMsg0._c[5])
#define c7_TxDynamicMsg0_c                   (TxDynamicMsg0._c[6])
#define c8_TxDynamicMsg0_c                   (TxDynamicMsg0._c[7])
#if 0
#define c9_TxDynamicMsg0_c                   (TxDynamicMsg0._c[8])
#define c10_TxDynamicMsg0_c                  (TxDynamicMsg0._c[9])
#define c11_TxDynamicMsg0_c                  (TxDynamicMsg0._c[10])
#define c12_TxDynamicMsg0_c                  (TxDynamicMsg0._c[11])
#define c13_TxDynamicMsg0_c                  (TxDynamicMsg0._c[12])
#define c14_TxDynamicMsg0_c                  (TxDynamicMsg0._c[13])
#define c15_TxDynamicMsg0_c                  (TxDynamicMsg0._c[14])
#define c16_TxDynamicMsg0_c                  (TxDynamicMsg0._c[15])
#define c17_TxDynamicMsg0_c                  (TxDynamicMsg0._c[16])
#define c18_TxDynamicMsg0_c                  (TxDynamicMsg0._c[17])
#define c19_TxDynamicMsg0_c                  (TxDynamicMsg0._c[18])
#define c20_TxDynamicMsg0_c                  (TxDynamicMsg0._c[19])
#define c21_TxDynamicMsg0_c                  (TxDynamicMsg0._c[20])
#define c22_TxDynamicMsg0_c                  (TxDynamicMsg0._c[21])
#define c23_TxDynamicMsg0_c                  (TxDynamicMsg0._c[22])
#define c24_TxDynamicMsg0_c                  (TxDynamicMsg0._c[23])
#define c25_TxDynamicMsg0_c                  (TxDynamicMsg0._c[24])
#define c26_TxDynamicMsg0_c                  (TxDynamicMsg0._c[25])
#define c27_TxDynamicMsg0_c                  (TxDynamicMsg0._c[26])
#define c28_TxDynamicMsg0_c                  (TxDynamicMsg0._c[27])
#define c29_TxDynamicMsg0_c                  (TxDynamicMsg0._c[28])
#define c30_TxDynamicMsg0_c                  (TxDynamicMsg0._c[29])
#define c31_TxDynamicMsg0_c                  (TxDynamicMsg0._c[30])
#define c32_TxDynamicMsg0_c                  (TxDynamicMsg0._c[31])
#define c33_TxDynamicMsg0_c                  (TxDynamicMsg0._c[32])
#define c34_TxDynamicMsg0_c                  (TxDynamicMsg0._c[33])
#define c35_TxDynamicMsg0_c                  (TxDynamicMsg0._c[34])
#define c36_TxDynamicMsg0_c                  (TxDynamicMsg0._c[35])
#define c37_TxDynamicMsg0_c                  (TxDynamicMsg0._c[36])
#define c38_TxDynamicMsg0_c                  (TxDynamicMsg0._c[37])
#define c39_TxDynamicMsg0_c                  (TxDynamicMsg0._c[38])
#define c40_TxDynamicMsg0_c                  (TxDynamicMsg0._c[39])
#define c41_TxDynamicMsg0_c                  (TxDynamicMsg0._c[40])
#define c42_TxDynamicMsg0_c                  (TxDynamicMsg0._c[41])
#define c43_TxDynamicMsg0_c                  (TxDynamicMsg0._c[42])
#define c44_TxDynamicMsg0_c                  (TxDynamicMsg0._c[43])
#define c45_TxDynamicMsg0_c                  (TxDynamicMsg0._c[44])
#define c46_TxDynamicMsg0_c                  (TxDynamicMsg0._c[45])
#define c47_TxDynamicMsg0_c                  (TxDynamicMsg0._c[46])
#define c48_TxDynamicMsg0_c                  (TxDynamicMsg0._c[47])
#define c49_TxDynamicMsg0_c                  (TxDynamicMsg0._c[48])
#define c50_TxDynamicMsg0_c                  (TxDynamicMsg0._c[49])
#define c51_TxDynamicMsg0_c                  (TxDynamicMsg0._c[50])
#define c52_TxDynamicMsg0_c                  (TxDynamicMsg0._c[51])
#define c53_TxDynamicMsg0_c                  (TxDynamicMsg0._c[52])
#define c54_TxDynamicMsg0_c                  (TxDynamicMsg0._c[53])
#define c55_TxDynamicMsg0_c                  (TxDynamicMsg0._c[54])
#define c56_TxDynamicMsg0_c                  (TxDynamicMsg0._c[55])
#define c57_TxDynamicMsg0_c                  (TxDynamicMsg0._c[56])
#define c58_TxDynamicMsg0_c                  (TxDynamicMsg0._c[57])
#define c59_TxDynamicMsg0_c                  (TxDynamicMsg0._c[58])
#define c60_TxDynamicMsg0_c                  (TxDynamicMsg0._c[59])
#define c61_TxDynamicMsg0_c                  (TxDynamicMsg0._c[60])
#define c62_TxDynamicMsg0_c                  (TxDynamicMsg0._c[61])
#define c63_TxDynamicMsg0_c                  (TxDynamicMsg0._c[62])
#define c64_TxDynamicMsg0_c                  (TxDynamicMsg0._c[63])

#endif

/* -----------------------------------------------------------------------------
    &&&~ RDS Access RI2.0
 ----------------------------------------------------------------------------- */

/* -----------------------------------------------------------------------------
    &&&~ RDSSignalAccessStructs_RI20
 ----------------------------------------------------------------------------- */

/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_DIAG_REQ_SA_RDS_msgTypeTag
{
  vbittype DiagReqData0_SA : 8;
  vbittype DiagReqData1_SA : 8;
  vbittype DiagReqData2_SA : 8;
  vbittype DiagReqData3_SA : 8;
  vbittype DiagReqData4_SA : 8;
  vbittype DiagReqData5_SA : 8;
  vbittype DiagReqData6_SA : 8;
  vbittype DiagReqData7_SA : 8;
} _c_DIAG_REQ_SA_RDS_msgType;


/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_DIAG_REQ_AllECU_RDS_msgTypeTag
{
  vbittype DiagReqData0_AllECU : 8;
  vbittype DiagReqData1_AllECU : 8;
  vbittype DiagReqData2_AllECU : 8;
  vbittype DiagReqData3_AllECU : 8;
  vbittype DiagReqData4_AllECU : 8;
  vbittype DiagReqData5_AllECU : 8;
  vbittype DiagReqData6_AllECU : 8;
  vbittype DiagReqData7_AllECU : 8;
} _c_DIAG_REQ_AllECU_RDS_msgType;


/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_PCTOOL_REQ_RDS_msgTypeTag
{
  vbittype PCTOOL_Req_Byte_0 : 8;
  vbittype PCTOOL_Req_Byte_1 : 8;
  vbittype PCTOOL_Req_Byte_2 : 8;
  vbittype PCTOOL_Req_Byte_3 : 8;
  vbittype PCTOOL_Req_Byte_4 : 8;
  vbittype PCTOOL_Req_Byte_5 : 8;
  vbittype PCTOOL_Req_Byte_6 : 8;
  vbittype PCTOOL_Req_Byte_7 : 8;
} _c_PCTOOL_REQ_RDS_msgType;


/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_CGW_03_RDS_msgTypeTag
{
  vbittype CGW_03_CRC : 8;
  vbittype CGW_03_MsgCntr : 4;
  vbittype VehState_ASIL : 4;
  vbittype NBSMovReq : 2;
  vbittype VehMode : 4;
  vbittype ComfEna_ASIL : 2;
  vbittype NBSReq : 2;
  vbittype NBSSideDetectionReq : 2;
  vbittype unused0 : 4;
} _c_CGW_03_RDS_msgType;


/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_NM_CGW_RDS_msgTypeTag
{
  vbittype ScrNodId_CGW : 8;
  vbittype ResdBit2_CGW : 1;
  vbittype PtlNetInfo_CGW : 1;
  vbittype ResdBit1_CGW : 1;
  vbittype ActvWakeup_CGW : 1;
  vbittype NetMngtCoorrSleepRdy_CGW : 1;
  vbittype NetMngtCoorn_CGW : 2;
  vbittype RepMsgReq_CGW : 1;
  vbittype UsrData0_CGW : 8;
  vbittype UsrData1_CGW : 8;
  vbittype UsrData2_CGW : 8;
  vbittype UsrData3_CGW : 8;
  vbittype UsrData4_CGW : 8;
  vbittype UsrData5_CGW : 8;
} _c_NM_CGW_RDS_msgType;


/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_SA_PCTOOL_RES_RDS_msgTypeTag
{
  vbittype SA_PCTOOL_Res_Byte_0 : 8;
  vbittype SA_PCTOOL_Res_Byte_1 : 8;
  vbittype SA_PCTOOL_Res_Byte_2 : 8;
  vbittype SA_PCTOOL_Res_Byte_3 : 8;
  vbittype SA_PCTOOL_Res_Byte_4 : 8;
  vbittype SA_PCTOOL_Res_Byte_5 : 8;
  vbittype SA_PCTOOL_Res_Byte_6 : 8;
  vbittype SA_PCTOOL_Res_Byte_7 : 8;
} _c_SA_PCTOOL_RES_RDS_msgType;


/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_SA_01_RDS_msgTypeTag
{
  vbittype unused0 : 8;
  vbittype unused1 : 8;
  vbittype unused2 : 4;
  vbittype EmgcCallFlrSts_SA : 2;
  vbittype EmgcCallTrigd_SA : 2;
  vbittype unused3 : 8;
  vbittype unused4 : 8;
  vbittype unused5 : 8;
  vbittype unused6 : 8;
  vbittype unused7 : 8;
} _c_SA_01_RDS_msgType;


/* -----------------------------------------------------------------------------
    &&&~ RDSMsgStruct_RI20
 ----------------------------------------------------------------------------- */

typedef struct _c_NM_SA_RDS_msgTypeTag
{
  vbittype ScrNodId_SA : 8;
  vbittype ResdBit2_SA : 1;
  vbittype PtlNetInfo_SA : 1;
  vbittype ResdBit1_SA : 1;
  vbittype ActvWakeup_SA : 1;
  vbittype NetMngtCoorrSleepRdy_SA : 1;
  vbittype NetMngtCoorn_SA : 2;
  vbittype RepMsgReq_SA : 1;
  vbittype UsrData0_SA : 8;
  vbittype UsrData1_SA : 8;
  vbittype UsrData2_SA : 8;
  vbittype UsrData3_SA : 8;
  vbittype UsrData4_SA : 8;
  vbittype UsrData5_SA : 8;
} _c_NM_SA_RDS_msgType;




/* -----------------------------------------------------------------------------
    &&&~ RDSUnionForCanObjects_RI20
 ----------------------------------------------------------------------------- */

typedef union _c_RDSBasic_bufTag
{
  vuint8 _c[8];
  _c_DIAG_REQ_SA_RDS_msgType DIAG_REQ_SA;
  _c_DIAG_REQ_AllECU_RDS_msgType DIAG_REQ_AllECU;
  _c_PCTOOL_REQ_RDS_msgType PCTOOL_REQ;
  _c_CGW_03_RDS_msgType CGW_03;
  _c_NM_CGW_RDS_msgType NM_CGW;
} _c_RDSBasic_buf;
typedef union _c_RDS_Tx_bufTag
{
  vuint8 _c[64];
  _c_NM_SA_RDS_msgType NM_SA;
  _c_SA_PCTOOL_RES_RDS_msgType SA_PCTOOL_RES;
  _c_SA_01_RDS_msgType SA_01;
} _c_RDS_Tx_buf;
typedef union _c_RDS15_bufTag
{
  vuint8 _c[8];
  _c_NM_SA_RDS_msgType NM_SA;
} _c_RDS15_buf;


/* -----------------------------------------------------------------------------
    &&&~ RDSMacrosForCanObjects_RI20
 ----------------------------------------------------------------------------- */

#define RDSBasic                             ((* ((_c_RDSBasic_buf MEMORY_NORMAL *)(canRDSRxPtr[0]))))
#define RDSTx                                ((* ((_c_RDS_Tx_buf MEMORY_NORMAL *)(canRDSTxPtr[0]))))
#define RDS15                                ((* ((_c_RDS15_buf MEMORY_NORMAL *)(canRDSTxPtr[1]))))




/* -----------------------------------------------------------------------------
    &&&~ Message Hardware Objects RI20
 ----------------------------------------------------------------------------- */

#define C_BASIC0_HW_OBJ                      0
#define C_BASIC0_HW_CHANNEL                  0
#define C_BASIC1_HW_OBJ                      1
#define C_BASIC1_HW_CHANNEL                  0
#define C_BASIC2_HW_OBJ                      2
#define C_BASIC2_HW_CHANNEL                  0
#define C_BASIC3_HW_OBJ                      3
#define C_BASIC3_HW_CHANNEL                  0
#define C_BASIC4_HW_OBJ                      4
#define C_BASIC4_HW_CHANNEL                  0
#define C_BASIC5_HW_OBJ                      5
#define C_BASIC5_HW_CHANNEL                  0
#define C_BASIC6_HW_OBJ                      6
#define C_BASIC6_HW_CHANNEL                  0
#define C_BASIC7_HW_OBJ                      7
#define C_BASIC7_HW_CHANNEL                  0
#define C_BASIC8_HW_OBJ                      8
#define C_BASIC8_HW_CHANNEL                  0
#define C_BASIC9_HW_OBJ                      9
#define C_BASIC9_HW_CHANNEL                  0
#define C_BASIC10_HW_OBJ                     10
#define C_BASIC10_HW_CHANNEL                 0
#define C_BASIC11_HW_OBJ                     11
#define C_BASIC11_HW_CHANNEL                 0
#define C_BASIC12_HW_OBJ                     12
#define C_BASIC12_HW_CHANNEL                 0
#define C_BASIC13_HW_OBJ                     13
#define C_BASIC13_HW_CHANNEL                 0
#define C_TX_NORMAL_HW_OBJ                   14
#define C_TX_NORMAL_HW_CHANNEL               0
#define CanTxNM_SA_HW_OBJ                    15
#define CanTxNM_SA_HW_CHANNEL                0





/* begin Fileversion check */
#ifndef SKIP_MAGIC_NUMBER
#ifdef MAGIC_NUMBER
  #if MAGIC_NUMBER != 362388152
      #error "The magic number of the generated file <C:\Data\Users\huo_h1\Documents\NIO_FORCE_VBOX-SVN\30_DevelopLibrary\03_SW\90_Others\CANbedded\NIO_Geny_Force_BTA_CAN_Draft_0_1\NIO_Geny_For_CanMatrix\Generate Files\can_par.h> is different. Please check time and date of generated files!"
  #endif
#else
  #define MAGIC_NUMBER 362388152
#endif  /* MAGIC_NUMBER */
#endif  /* SKIP_MAGIC_NUMBER */

/* end Fileversion check */

#endif /* __CAN_PAR_H__ */
