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

📄 dv04tool.hem

📁 这是用Labwindows开发的一个RF test程序。 用于日本机种的组装后ANT 测试。
💻 HEM
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************/
/*                                    DESCRIPTION
 *
 * file to define general TAT macro
 *----------------------------------------------------------------------------* 
 *----------------------------------------------------------------------------* 
 *                                    EVOLUTION
 *----------------------------------------------------------------------------* 
 * Date     | Author      | Arnb    | Description
 *----------------------------------------------------------------------------* 
 * XX.XX.XX | XXXXXXXX    | XXYYYY  |
 * 23.03.98 | F. Sezille  |         | - add macro MC_TAT_SWAP for RTK-E
 * 28.07.98 | S. MADELAINE|         | - SL coding rules modification
 * 20.10.98 | R.CHARTIER  |         | - modification in TAT_RETURN_ERROR
 * 30.11.98 | S.MADELAINE |         | - SL2_09ReadFrameBUD prototype modification
 * 04.01.99 | F. sezille  |         | - Remove unnecessary declaration, option, etc ...
 * 11.03.99 | F. Sezille  |         | - Add #ifndef DELAY before define DELAY macro.
 * 17.06.98 | R.CHARTIER  |    1.71 | - compatibility under switch TAT_DYNAMIC_LIBRARIES
 *----------------------------------------------------------------------------* 
 * 23.06.99 |F. LE GOFF |      2.4  | Optimization for architecture A1.
 * 27.03.00 |F. LE GOFF |      2.28 | Add UNDEF before definition of 
 *          |           |           | DLL_EXCHANGE_MODE to avoid compilation 
 *          |           |           | error with debug project and use of 
 *          |           |           | SL_DLL.
 *          |           |           |
 ***************************************************************************)F*/
/* #*/

#ifndef DV04TOOL_HEM
#define DV04TOOL_HEM

#define MC_TAT_RETURN_ERROR	error_FunctionNumber=(MODULE_NUMBER<<8)|FILE_NUMBER;\
							if(error_TAT!=0)\
								error_u32=(u32)(error_FunctionNumber)<<16 |(PROCEDURE_NUMBER<<8)| (u32)(error_TAT);\
							else\
								error_u32|=TAT_ERROR_NONE;\
							return(error_u32);
#define TAT_DV_RETURN_ERROR  error_FunctionNumber=(FILE_NUMBER<<8)|PROCEDURE_NUMBER; \
                              if(error_TAT!=0 || error_RS232!=0) \
                             error_u32=(u32)(error_FunctionNumber)<<16 | (u32)(error_TAT) <<8| (u32)(error_RS232); \
                            else \
                             error_u32|=TAT_ERROR_NONE; \
			    return(error_u32)

#if !defined(PROCESS_KDT)
#define PROCESS_KDT PROCESS_MAT
#endif
#if !defined(_LABWIN32)



#define MATPC_TIMEOUT 0

#define f_swap_u32(vp_u32) (u32)(vp_u32)
#define f_swap_u16(vp_u16) (u16)(vp_u16)

/* MACRO definition for the high level PC driver */ 

#define MC_DV_HIGH_LEVEL_NEXT_STEP      if(v_tatman_RxTxMode==MC_TATMAN_RECEIVE)\
                                        {\
					   v_tatman_HighLevel_SaveStep=v_tatman_HighLevel_Step;\
					   break;\
					}\
                                        else\
					  v_tatman_HighLevel_Step++

#define MC_DV_CASE1                  switch(v_tatman_HighLevel_Step)\
                                        {\
					   case 1:

#define MC_DV_CASE2                     MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   case 2:

#define MC_DV_CASE3                     MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   case 3:

#define MC_DV_CASE4                     MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   case 4:

#define MC_DV_CASE5                     MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   case 5:

#define MC_DV_CASE6                     MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   case 6:

#define MC_DV_CASE7                     MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   case 7:

#define MC_DV_CASE8                     MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   case 8:

#define MC_DV_DEFAULT                   MC_DV_HIGH_LEVEL_NEXT_STEP;\
					   default:\
					     v_tatman_HighLevel_Step=1;\
					     break;\
					     }

				     
#define MC_DV_RECEIVE_NEXT_STEP         v_tatman_Receive_Step++;\
					break


#define MC_DV_RECEIVE_CASE1             switch(v_tatman_Receive_Step)\
                                        {\
					   case 1:

#define MC_DV_RECEIVE_CASE2             MC_DV_RECEIVE_NEXT_STEP;\
					   case 2:

#define MC_DV_RECEIVE_DEFAULT           MC_DV_RECEIVE_NEXT_STEP;\
					   default:\
					     v_tatman_Receive_Step=1;\
					     break;\
					     }

#define MC_DV_HIGH_LEVEL_RETURN         return (vl_Error);

/* End MACRO definition for the high level PC driver */ 

#define MC_DV_FOR1(vl_u16_init,vl_u16_end)    if (vl_u16_init!=0)\
							{\
							 vl_u16_init--;

#define MC_DV_FOR2				}

#define malloc(size)  MC_RTK_GET_MEMORY(size)

#define free(ptr)     MC_RTK_FREE_MEMORY(ptr)
 
#define MC_SSITT_SEND(time_out_u32,message_u8,length_u16) 0;\
							  switch(v_tatman_RxTxMode)\
							  {\
							    case MC_TATMAN_SEND:\
							    {\
							      t_MsgHeader* pl_MsgMacro;\
							      pl_MsgMacro  = (t_MsgHeader *)MC_RTK_GET_MEMORY (length_u16);\
							      memcpy((void*)pl_MsgMacro,(void*)message_u8,length_u16);\
							      MC_RTK_SEND_MSG_TO_PROCESS(((t_MsgHeader*)message_u8)->s_Transmitter,0,\
										         ((t_MsgHeader*)message_u8)->s_Receiver,0,\
										         ((t_MsgHeader*)message_u8)->v_OperationType,pl_MsgMacro);\
							      if(time_out_u32!=0)\
							        v_tatman_RxTxMode = MC_TATMAN_RECEIVE;\
							    }\
							    break;\
							    case MC_TATMAN_RECEIVE:\
							    {
#define   MC_SSITT_RECEIVE(time_out_u32,       \
    	                   v_length,           \
      	                   v_Transmitter,      \
         	           v_Receiver,         \
            	           v_operationType,    \
               	           buffer_u8)                         0;\
			                                      {\
					                        extern t_MsgHeader* *p_tatman_Msg;\
								if(v_length!=LEN_ALL)\
					                          memcpy((void*)buffer_u8,(void*)p_tatman_Msg,v_length);\
								else\
					                          memcpy((void*)buffer_u8,(void*)p_tatman_Msg,((t_MsgHeader*)p_tatman_Msg)->v_Length);\
					                      }\
			                                      if((((((t_MsgHeader*)buffer_u8)->v_Length)==v_length) || (v_length==LEN_ALL)) &&\
								 ((((t_MsgHeader*)buffer_u8)->s_Transmitter)==v_Transmitter) &&\
						                 ((((t_MsgHeader*)buffer_u8)->s_Receiver)==v_Receiver) &&\
								 (((((t_MsgHeader*)buffer_u8)->v_OperationType)==v_operationType) || (v_operationType==TYPE_ALL)))\
                                                              {\
 					                        v_tatman_RxTxMode = MC_TATMAN_SEND;\
 					                      }\
                                                              else\
                                                              {\
 					                        MC_DIN_ERROR(BLOCKING,0xC0);\
							      }

#define TAT_RETURN_ERROR                                    }\
			                                    break;\
			                                  }\
                                                          TAT_DV_RETURN_ERROR
	
#define TAT_DV_BREAK                                      }\
			                                    break;\
			                                  }	
#define TAT_DV_FOR					}\
							}\
							TAT_DV_RETURN_ERROR
#define TAT_DV_ERROR			TAT_DV_FOR

#if defined(TAT_HSCR_CNF)
#define   TAT_REP_DECLARATION t_MsgHeader s_rep;  
#define   MC_TAT_RECEIVE_LCD_CNF(time_out_u32,       \
                                 v_length,           \
                                 v_Transmitter,      \
                                 v_Receiver,         \
                                 v_operationType,    \
                                 buffer_u8)          \
                                                     \
                  MC_SSITT_RECEIVE(time_out_u32,     \
                                   v_length,         \
                                   v_Transmitter,    \
                                   v_Receiver,       \
                                   v_operationType,  \
                                   buffer_u8)
#else
#define   TAT_REP_DECLARATION   
#define   MC_TAT_RECEIVE_LCD_CNF(time_out_u32,       \
                                 v_length,           \
                                 v_Transmitter,      \
                                 v_Receiver,         \
                                 v_operationType,    \
                                 buffer_u8)          \
                                                     \
                  0;
#endif

#define   MC_SSITT_RECEIVE_ASYNCHRONOUS        	
#define MC_DVTOP_DELAY(TimeOut)

#if !defined (NOT_UPDATE_HFDA)  || defined(ACCESS_RIGHTS_DVSC)
//#define MC_SL_EXTRACT_THREAD_VAR vl_nothing=0
//#define MC_SL_DECLARE_THREAD_VAR u32 vl_nothing	 //masked by bob deng
#endif

						
#else /* !defined(_LABWIN32) */


/*---------- Macro for Hkbd used in Pc Labwin32---------------------------------------*/
#if defined(RMT_KBD_SFI)

#undef  MC_RTK_GET_MEMORY
#define MC_RTK_GET_MEMORY(Length)       malloc(Length+5); /*Due to Pc FSM Message */

                
#undef  MC_RTK_SEND_MSG_TO_PROCESS                
#define MC_RTK_SEND_MSG_TO_PROCESS( TransmitterName,TransmitterInstance,ReceiverName,ReceiverInstance,OperationType,Message)\
        ((t_MsgHeader*)Message)->v_Length = MC_TAT_SWAP (sizeof(Message)+sizeof(t_MsgHeader));\
        ((t_MsgHeader*)Message)->s_Transmitter = MC_TAT_SWAP (TransmitterName);\
        ((t_MsgHeader*)Message)->s_Receiver = MC_TAT_SWAP (ReceiverName);\
        ((t_MsgHeader*)Message)->v_OperationType = MC_TAT_SWAP (OperationType);\
        MC_SSITT_SEND((u32)500,(u8 *)pl_MsgToSend,sizeof(Message)+sizeof(t_MsgHeader));\
        free(Message);
        
/* Patch ANI for problem with W2000, this must now introduce a delay */
#undef  MC_RTK_PROCESS_START_TIMER_WP
#define MC_RTK_PROCESS_START_TIMER_WP( a, b, c )	p_dvtop_rtktimerwp()

/*#define MC_FSM_CREATE_INSTANCE( PROCESS_HKBD, vl_FsmInstanceID );*/
#undef  MC_RTK_CREATE_PROCESS_INSTANCE
#define	MC_RTK_CREATE_PROCESS_INSTANCE( ProcessName, AddressFor_InstanceCreated_id )

#undef  MC_RTK_STOP_TIMER
#define MC_RTK_STOP_TIMER( TimerId)

#undef  MC_RTK_GET_ACTIVE_PROCESS_STATE
#define MC_RTK_GET_ACTIVE_PROCESS_STATE(PROCESS_HKBD,pl_CurrentState);

#undef  MC_SYS_ERROR
#define MC_SYS_ERROR( Type, ErrorCode );

#undef  MC_HKBD_WARNING
#define MC_HKBD_WARNING( Type, ErrorCode );  printf("%x>%s",ErrorCode);

#undef  MC_RAP_MAPI_SEND_IND
#define MC_RAP_MAPI_SEND_IND(  Receiver, InstRcv, OpType, FsmMessage ) MC_RTK_SEND_MSG_TO_PROCESS(PROCESS_HKBD,0,Receiver,InstRcv,OpType,FsmMessage)

#undef  MC_RTK_NUMBER_MSG_IN_MAILBOX
#define MC_RTK_NUMBER_MSG_IN_MAILBOX(i_u8) a_hkbd_MaxMailbox[vl_i]-1

⌨️ 快捷键说明

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