1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| void ReadWithWait_##Type (_C_ReadWithWait_##Type *C){ \
_int Length_ = 0; \
SYSTEM_TIME_TYPE entry; \
SYSTEM_TIME_TYPE curr; \
RETURN_CODE_TYPE retCode; \
Dur waitDur = 0; \
\
GET_TIME(&entry, &retCode); \
C->_O0_Validity_ = INVALID; \
\
if (C->_M_init == true) \
{ \
CREATE_SAMPLING_PORT(...)\
(C->_O1_Message_) = *(C->_I3_InitMessage_); \
C->_PrevMsg = *(C->_I3_InitMessage_); \
C->_M_init = false; \
} \
while((waitDur <= (C->_I2_TimeOut_)) && ((C->_O0_Validity_) == INVALID)) \
{ \
READ_SAMPLING_MESSAGE( ... ); \
GET_TIME(&curr, &retCode); \
waitDur = (Dur)(curr - entry); \
} \
if (waitDur > (C->_I2_TimeOut_)) \
{ \
(C->_O0_Validity_) = INVALID; \
(C->_O2_ReturnCode_)= (ReturnCode)TIMED_OUT; \
printf("TIME OUT 2 : %d > %d\n",waitDur,(C->_I2_TimeOut_));\
} \
(...)
C->_PrevMsg = (C->_O1_Message_); \
} |
Partager