12 #ifndef __EIOT2SRDI16F_H
13 #define __EIOT2SRDI16F_H
15 #include "prjParams.h"
17 #include "eio_t25srm.h"
24 enum Di16FastRunStates
26 EIO_T2500DI16_FAST_STATE_JUST_CREATED,
27 EIO_T2500DI16_FAST_STATE_JUST_CREATED_2,
28 EIO_T2500DI16_FAST_STATE_MODULE_HAS_CHANGED,
29 EIO_T2500DI16_FAST_STATE_START_RUNTIME,
30 EIO_T2500DI16_FAST_STATE_RUNTIME,
31 EIO_T2500DI16_FAST_STATE_DELETE_1,
32 EIO_T2500DI16_FAST_STATE_DELETE_2,
33 EIO_T2500DI16_FAST_STATE_ERROR,
34 EIO_T2500DI16_FAST_STATE_ERROR_2,
35 EIO_T2500DI16_FAST_STATE_SECONDARY_ENABLING,
36 EIO_T2500DI16_FAST_STATE_SECONDARY_ENABLED,
37 EIO_T2500DI16_FAST_STATE_SECONDARY_DISABLING,
38 EIO_T2500DI16_FAST_STATE_SECONDARY_DISABLED,
39 EIO_T2500DI16_FAST_STATE_BECOMING_PRIMARY,
45 EioT2500Di16FastModule(
unsigned char z_moduleNumber, EioModuleType z_type, EioT2500CycleEnum z_expectedCycleNumber);
49 virtual void updateFast(
unsigned short slot);
50 virtual void update62_5mS();
51 virtual void update125mS();
52 virtual void updateFastBuffers(
unsigned int z_thisSlot);
55 void processUpdate(
unsigned short z_thisSlot);
56 void clearTransacted(
unsigned short z_thisSlot);
57 Di16FastRunStates m_state;
59 static const int MAX_NUMBER_OF_INPUTS_PER_MODULE = 16;
60 EioUint16 m_debounceTimes[MAX_NUMBER_OF_INPUTS_PER_MODULE];
61 EioUint16 m_debounceCount[MAX_NUMBER_OF_INPUTS_PER_MODULE];
63 EioUint16 m_debounceData;
64 EioUint16 m_changeDetected;
65 EioUint16 m_changedData;
66 EioUint16 m_currentCount[MAX_NUMBER_OF_INPUTS_PER_MODULE];
69 bool m_messagesScheduled;
Definition: eio_t25srm.h:58
Definition: eiot2srdi16f.h:42