12 #ifndef __EIOT2SRDI16S_H
13 #define __EIOT2SRDI16S_H
15 #include "prjParams.h"
17 #include "eio_t25srm.h"
24 enum Di16SlowRunStates
26 EIO_T2500DI16_SLOW_STATE_MODULE_HAS_CHANGED,
27 EIO_T2500DI16_SLOW_STATE_START_RUNTIME,
28 EIO_T2500DI16_SLOW_STATE_RUNTIME,
29 EIO_T2500DI16_SLOW_STATE_DELETE,
30 EIO_T2500DI16_SLOW_STATE_ERROR,
31 EIO_T2500DI16_SLOW_STATE_SECONDARY_ENABLING,
32 EIO_T2500DI16_SLOW_STATE_SECONDARY_ENABLED,
33 EIO_T2500DI16_SLOW_STATE_SECONDARY_DISABLING,
34 EIO_T2500DI16_SLOW_STATE_SECONDARY_DISABLED,
35 EIO_T2500DI16_SLOW_STATE_BECOMING_PRIMARY,
41 EioT2500Di16SlowModule(
unsigned char z_moduleNumber, EioModuleType z_type, EioT2500CycleEnum z_expectedCycleNumber);
45 virtual void update62_5mS();
46 virtual void update125mS();
47 virtual void updateBuffers125ms();
50 void processUpdates(
unsigned short z_thisSlot);
51 Di16SlowRunStates m_state;
53 static const int MAX_NUMBER_OF_INPUTS_PER_MODULE = 16;
54 EioUint16 m_debounceTimes[MAX_NUMBER_OF_INPUTS_PER_MODULE];
55 EioUint16 m_debounceCount[MAX_NUMBER_OF_INPUTS_PER_MODULE];
57 EioUint16 m_debounceData;
58 EioUint16 m_changeDetected;
59 EioUint16 m_changedData;
60 EioUint16 m_currentCount[MAX_NUMBER_OF_INPUTS_PER_MODULE];
61 EioUint8 m_firstSlot125ms;
62 EioUint8 m_firstSlot62_5ms;
65 bool m_messagesScheduled;
Definition: eio_t25srm.h:58
Definition: eiot2srdi16s.h:38