⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pccdef.hem

📁 这是用Labwindows开发的一个RF test程序。 用于日本机种的组装后ANT 测试。
💻 HEM
字号:
/******************************************************************************/
/* SCCS: %Z% Name: %M% Date US: %G% %U% Ver.: %I% */
/******************************************************************************/
/*F(*************************************************************************** 
 * File name : %M%
 * Project : ROAD RUNNER
 * Module : SVC : Services
 * Date : (US) %G% %U%
 * Version : %I%
 * Compiler name and release(s) :
 *----------------------------------------------------------------------------* 
 *----------------------------------------------------------------------------* 
 *                                    DESCRIPTION
 * Common constant definitions
 *----------------------------------------------------------------------------* 
 *----------------------------------------------------------------------------* 
 *                           FUNCTIONS DEFINED IN THIS FILE
 *----------------------------------------------------------------------------* 
 * Name            | Object
 *----------------------------------------------------------------------------* 
 * 
 *----------------------------------------------------------------------------* 
 *----------------------------------------------------------------------------* 
 *                                    EVOLUTION
 *----------------------------------------------------------------------------* 
 * Date     | Author    | Arnb   | Description
 *----------------------------------------------------------------------------* 
 * 07/04/97 | J.Thomas  | xxxxx  | - Creation from 'SERVICES-RR17.1.8' for rtke 
 ***************************************************************************)F*/
/* #*/

#ifndef PCCDEF_HEM
#define PCCDEF_HEM


/*
** =========================================================================
**  Memory alignment tools
** =========================================================================
*/

#if defined _MCC68K  || defined PC_U16

#define MC_PCC_FILL_STRUCT1 u8:0; u8:8; u8:0;
#define MC_PCC_FILL_STRUCT2
#define MC_PCC_FILL_STRUCT3 u8:0; u8:8; u8:0;

#define MC_PCC_FILL_MEMSTRUCT1(v_MemberU8) MC_PCC_FILL_STRUCT1
#define MC_PCC_FILL_MEMSTRUCT2(v_MemberU16)
#define MC_PCC_FILL_MEMSTRUCT3(v_MemberU8,v_MemberU16) MC_PCC_FILL_STRUCT3

#define MC_PCC_FILL_INISTRUCT1 
#define MC_PCC_FILL_INISTRUCT2
#define MC_PCC_FILL_INISTRUCT3 

#elif defined __arm  

#define MC_PCC_FILL_STRUCT1 u8:0; u8:8; u8:0;
#define MC_PCC_FILL_STRUCT2 u8:0; u8:8; u8:8; u8:0;
#define MC_PCC_FILL_STRUCT3 u8:0; u8:8; u8:8; u8:8; u8:0;

#define MC_PCC_FILL_MEMSTRUCT1(v_MemberU8) MC_PCC_FILL_STRUCT1
#define MC_PCC_FILL_MEMSTRUCT2(v_MemberU16) MC_PCC_FILL_STRUCT2
#define MC_PCC_FILL_MEMSTRUCT3(v_MemberU8,v_MemberU16) MC_PCC_FILL_STRUCT3

#define MC_PCC_FILL_INISTRUCT1 
#define MC_PCC_FILL_INISTRUCT2 
#define MC_PCC_FILL_INISTRUCT3 

#elif defined PC_U32 

#define MC_PCC_FILL_STRUCT1 u8	v_FillerU8;
#define MC_PCC_FILL_STRUCT2 u16	v_FillerU16;
#define MC_PCC_FILL_STRUCT3 u8 	v_FillerU8 ; u16 v_FillerU16;

#define MC_PCC_FILL_MEMSTRUCT1(v_MemberU8) u8 v_MemberU8 ;
#define MC_PCC_FILL_MEMSTRUCT2(v_MemberU16) u16 v_MemberU16 ;
#define MC_PCC_FILL_MEMSTRUCT3(v_MemberU8,v_MemberU16) u8 v_MemberU8 ; u16 v_MemberU16;


#define MC_PCC_FILL_INISTRUCT1 0,
#define MC_PCC_FILL_INISTRUCT2 0,
#define MC_PCC_FILL_INISTRUCT3 0,0, 

#elif (defined (UNIX) || defined (__unix)) && defined (L1S_SIMU_PCC)

#define MC_PCC_FILL_STRUCT1 u8 v_FillerU8;
#define MC_PCC_FILL_STRUCT2 u8	v_Filler0U8; u8	v_Filler1U8;
#define MC_PCC_FILL_STRUCT3 u8 	v_Filler0U8 ; u8  v_Filler1U8 ; u8  v_Filler2U8 ;

#define MC_PCC_FILL_MEMSTRUCT1(v_MemberU8) u8 v_MemberU8 ;
#define MC_PCC_FILL_MEMSTRUCT2(v_MemberU16) u16 v_MemberU16 ;
#define MC_PCC_FILL_MEMSTRUCT3(v_MemberU8,v_MemberU16) u8 v_MemberU8 ; u16 v_MemberU16;

#define MC_PCC_FILL_INISTRUCT1 
#define MC_PCC_FILL_INISTRUCT2 
#define MC_PCC_FILL_INISTRUCT3 


#elif defined (UNIX) || defined (__unix)

#define MC_PCC_FILL_STRUCT1 u8:0; u8:8; u8:0;
#define MC_PCC_FILL_STRUCT2 u8:0; u8:8; u8:8; u8:0;
#define MC_PCC_FILL_STRUCT3 u8:0; u8:8; u8:8; u8:8; u8:0;

#define MC_PCC_FILL_MEMSTRUCT1(v_MemberU8) MC_PCC_FILL_STRUCT1
#define MC_PCC_FILL_MEMSTRUCT2(v_MemberU16) MC_PCC_FILL_STRUCT2
#define MC_PCC_FILL_MEMSTRUCT3(v_MemberU8,v_MemberU16) MC_PCC_FILL_STRUCT3

#define MC_PCC_FILL_INISTRUCT1 
#define MC_PCC_FILL_INISTRUCT2 
#define MC_PCC_FILL_INISTRUCT3 

#else

#define MC_PCC_FILL_STRUCT1 
#define MC_PCC_FILL_STRUCT2 
#define MC_PCC_FILL_STRUCT3

#define MC_PCC_FILL_MEMSTRUCT1(v_MemberU8) 
#define MC_PCC_FILL_MEMSTRUCT2(v_MemberU16) 
#define MC_PCC_FILL_MEMSTRUCT3(v_MemberU8,v_MemberU16) 

#define MC_PCC_FILL_INISTRUCT1 
#define MC_PCC_FILL_INISTRUCT2 
#define MC_PCC_FILL_INISTRUCT3 

#endif

/* IF WITH_PACKED is defined when filling macros must be empty */
#if defined WITH_PACKED

  /* undef all defined macros */
#undef  MC_PCC_FILL_STRUCT1 
#undef  MC_PCC_FILL_STRUCT2 
#undef  MC_PCC_FILL_STRUCT3

#undef  MC_PCC_FILL_MEMSTRUCT1 
#undef  MC_PCC_FILL_MEMSTRUCT2 
#undef  MC_PCC_FILL_MEMSTRUCT3 

#undef  MC_PCC_FILL_INISTRUCT1 
#undef  MC_PCC_FILL_INISTRUCT2 
#undef  MC_PCC_FILL_INISTRUCT3 

  /* redefine these empty */
#define MC_PCC_FILL_STRUCT1 
#define MC_PCC_FILL_STRUCT2 
#define MC_PCC_FILL_STRUCT3

#define MC_PCC_FILL_MEMSTRUCT1(v_MemberU8) 
#define MC_PCC_FILL_MEMSTRUCT2(v_MemberU16) 
#define MC_PCC_FILL_MEMSTRUCT3(v_MemberU8,v_MemberU16) 

#define MC_PCC_FILL_INISTRUCT1 
#define MC_PCC_FILL_INISTRUCT2 
#define MC_PCC_FILL_INISTRUCT3 

#endif


typedef struct __alg { char c; MC_PCC_FILL_STRUCT3 void * p; } __alg_t;

#define MC_PPC_DISTANCE_OF(S,F)        (unsigned) (&(((S *) 0)->F))

#define ALIGNMENT               (MC_PPC_DISTANCE_OF(__alg_t, p) - 1)
#define ALIGN(P)                ( (u32) ((char *)(P) + ALIGNMENT) & ~ALIGNMENT)


/*---------- */
#define MC_PCC_HEADER( ProcessTx, ProcessRx, EventName, Event_id ) \
   enum { EventName = Event_id };

#define MC_PCC_TAT_HEADER( ProcessTx, ProcessRx, EventName, Cmd ) 

#define MC_PCC_TYPE( StrucName )


/* Structure definition
   -------------------- */

#define MC_PCC_BEGIN_NO_HEAD_STRUC( StrucName ) \
   typedef struct {

#define MC_PCC_BEGIN_API_STRUC( HeaderType, StrucName ) \
   typedef struct { \
       HeaderType    s_MsgHeader;

#define MC_PCC_BEGIN_API_STRUC_PKD( HeaderType, StrucName ) \
   typedef PKD struct { \
       HeaderType    s_MsgHeader;

#define MC_PCC_BEGIN_STRUC( StrucName ) \
   MC_PCC_BEGIN_API_STRUC( t_MsgHeader, StrucName)

#define MC_PCC_BEGIN_STRUC_PKD( StrucName ) \
   MC_PCC_BEGIN_API_STRUC_PKD( t_MsgHeader, StrucName)

#define MC_PCC_END_STRUC( StrucName ) \
   } StrucName;


/* Field definitions
   ----------------- */
#define MC_PCC_FIELD( FieldType, FieldName ) \
      FieldType  FieldName;

#define MC_PCC_GAP( FieldName ) \
      u8  FieldName;
      
#define MC_PCC_ARRAY( FieldType, FieldName, ArraySize ) \
      FieldType  FieldName[ArraySize];

#define MC_PCC_VAR_LEN( FieldLength, FieldName, MaxSize ) \
      u16  FieldLength; \
      u8   FieldName;


/* Sub array
   --------- */
#define MC_PCC_BEGIN_STRUC_ARRAY( StrucName, ArraySize ) \
      struct {

#define MC_PCC_END_STRUC_ARRAY( StrucName, ArraySize ) \
      } StrucName[ArraySize];



/* External structure
   ------------------ */
#define MC_PCC_BEGIN_EXT_TYPE( StrucName ) \
   typedef struct {

#define MC_PCC_END_EXT_TYPE( StrucName ) \
   } StrucName;



/* Union and bit-field
   ------------------- */
#define MC_PCC_BEGIN_UNION( StructName ) \
   typedef union {

#define MC_PCC_END_UNION( StructName ) \
   } StructName;

#define MC_PCC_BIT_FIELD( FieldType, FieldName, NbByte ) \
   FieldType  FieldName : NbByte;


/* Modify the operation type of a message
   -------------------------------------- */
#define MC_PCC_MESSAGE_REQ( OpType )			( ( OpType & PCC_T_MASK ) | PCC_T_REQ )
#define MC_PCC_MESSAGE_ERR( OpType )			( ( OpType & PCC_T_MASK ) | PCC_T_ERR )
#define MC_PCC_MESSAGE_CNF( OpType )			( ( OpType & PCC_T_MASK ) | PCC_T_CNF )
#define MC_PCC_MESSAGE_IND( OpType )			( ( OpType & PCC_T_MASK ) | PCC_T_IND )
#define MC_PCC_MESSAGE_RSP( OpType )			( ( OpType & PCC_T_MASK ) | PCC_T_RSP )
#define MC_PCC_MESSAGE_RJT( OpType )			( ( OpType & PCC_T_MASK ) | PCC_T_RJT )



/********************************************/
/* New PCC functions to allow 128 processes */
/********************************************/

  /*  New operation type encoding  */
  /*-------------------------------*/

/*
    15                             9 8                           3 2                0
    ---------------------------------------------------------------------------------
   |      Interface ( 7 bits )      |     Function ( 6 bits )     |  Type ( 3 bits ) |
    ---------------------------------------------------------------------------------
*/

  /* definition of the operation type and acces to some of it's fields  */
  /*--------------------------------------------------------------------*/

#define MC_PCC_FUNCTION_TYPE( Function, Type )		( ( Function << 3 ) | Type )


#define MC_PCC_PROCESS_OPERATION( Interface, Function ) \
        ( ( ( Interface ) << 9) | ( ( Function ) & 0x01FF ) ) 


#define MC_PCC_GET_INTERFACE(OpType)			( ( ( OpType ) >> 9 ) & 0x007F )

#define MC_PCC_GET_FUNCTION(OpType)			( ( ( OpType ) >> 3 ) & 0x003F )

#define MC_PCC_GET_TYPE(OpType)				( ( OpType ) & 0x0007 )

#define MC_PCC_GET_FUNCT_TYPE(OpType)			( ( OpType ) & 0x01FF )


/******************************************/
/* Old PCC functions ( max 64 processes ) */
/******************************************/

/* #define MC_PCC_FUNCTION_TYPE( Function, Type )		( ( Function << 3 ) | Type )  */

/* #define MC_PCC_PROCESS_OPERATION( Interface, Function ) \
        ( ((Function << 6) & 0xC000) | ((Interface) << 8) | (Function & 0x00FF) )  */


/*  #define MC_PCC_GET_INTERFACE(OpType)			(( (OpType) >>8 ) & 0x3F)  */


/********************************************************
*							*
*	MACRO translation for ascendent compatibility   *
*							*
*********************************************************/
#define MC_RTK_PROCESS_OPERATION  MC_PCC_PROCESS_OPERATION 

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -