📄 dv04tool.hem
字号:
/******************************************************************************/
/* 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 + -