12 #ifndef __EIOT2SRDIF_H
13 #define __EIOT2SRDIF_H
15 #include "prjParams.h"
17 #include "eio_t25srm.h"
27 EIO_T2500DIFAST_STATE_JUST_CREATED,
28 EIO_T2500DIFAST_STATE_JUST_CREATED_2,
29 EIO_T2500DIFAST_STATE_MODULE_HAS_CHANGED,
30 EIO_T2500DIFAST_STATE_START_RUNTIME,
31 EIO_T2500DIFAST_STATE_START_RUNTIME_2,
32 EIO_T2500DIFAST_STATE_RUNTIME,
33 EIO_T2500DIFAST_STATE_DELETE_1,
34 EIO_T2500DIFAST_STATE_DELETE_2,
35 EIO_T2500DIFAST_STATE_ERROR,
36 EIO_T2500DIFAST_STATE_ERROR_2,
37 EIO_T2500DIFAST_STATE_SECONDARY_ENABLING,
38 EIO_T2500DIFAST_STATE_SECONDARY_ENABLED,
39 EIO_T2500DIFAST_STATE_SECONDARY_DISABLING,
40 EIO_T2500DIFAST_STATE_SECONDARY_DISABLED,
41 EIO_T2500DIFAST_STATE_BECOMING_PRIMARY,
47 EioT2500DiFastModule(
unsigned char z_moduleNumber, EioModuleType z_type, EioT2500CycleEnum z_expectedCycleNumber);
51 virtual void updateFast(
unsigned short slot);
52 virtual void update62_5mS();
53 virtual void update125mS();
54 virtual void updateFastBuffers(
unsigned int z_thisSlot);
57 void processUpdate(
unsigned short z_thisSlot);
58 void clearTransacted(
unsigned short z_thisSlot);
59 DiFastRunStates m_state;
62 static const int MAX_NUMBER_OF_INPUTS_PER_MODULE = 8;
63 EioUint16 m_debounceTimes[MAX_NUMBER_OF_INPUTS_PER_MODULE];
64 EioUint16 m_debounceCount[MAX_NUMBER_OF_INPUTS_PER_MODULE];
66 EioUint8 m_debounceData;
67 EioUint8 m_changeDetected;
68 EioUint8 m_changedData;
69 EioUint16 m_currentCount[MAX_NUMBER_OF_INPUTS_PER_MODULE];
70 unsigned char *m_buff;
72 EioDIStatus m_status[MAX_NUMBER_OF_INPUTS_PER_MODULE];
73 bool m_messagesScheduled;
Definition: eio_t25srm.h:58
Definition: eiot2srdif.h:44