12 #ifndef __EIOT2SRDO16_H
13 #define __EIOT2SRDO16_H
15 #include "prjParams.h"
17 #include "eio_t25srm.h"
27 enum EioT2500Do16RunStates
29 EIO_T2500_DO16_STATE_JUST_CREATED,
30 EIO_T2500_DO16_STATE_JUST_CREATED_2,
31 EIO_T2500_DO16_STATE_MODULE_HAS_CHANGED,
32 EIO_T2500_DO16_STATE_START_RUNTIME,
33 EIO_T2500_DO16_STATE_RUNTIME,
34 EIO_T2500_DO16_STATE_DELETE_1,
35 EIO_T2500_DO16_STATE_DELETE_2,
36 EIO_T2500_DO16_STATE_ERROR,
37 EIO_T2500_DO16_STATE_ERROR_2,
38 EIO_T2500_DO16_STATE_SECONDARY_ENABLING,
39 EIO_T2500_DO16_STATE_SECONDARY_ENABLED,
40 EIO_T2500_DO16_STATE_SECONDARY_DISABLING,
41 EIO_T2500_DO16_STATE_SECONDARY_DISABLED
48 unsigned char z_tpoMultiple, EioT2500CycleEnum z_cycleNumber);
52 virtual void updateFast(
unsigned short slot);
53 virtual void update62_5mS();
54 virtual void update125mS();
55 virtual void updateFastBuffers(
unsigned int z_thisSlot);
56 virtual void updateBuffers125ms();
57 virtual void cycleComplete125mS();
58 virtual void cycleCompleteFast(
unsigned int z_thisSlot);
62 void configureUpdateMessage(
unsigned int slot);
63 void setUpdateMessagesSafe();
64 void updateBuffers(
unsigned int z_thisSlot);
65 EioT2500Do16RunStates m_state;
67 unsigned char * m_slotData;
68 static const int MAX_NUMBER_OF_OUTPUTS_PER_MODULE = 16;
69 static const int MAX_NUMBER_OF_VP_OUTPUTS_PER_MODULE = MAX_NUMBER_OF_OUTPUTS_PER_MODULE/2;
74 bool m_badConfig[MAX_NUMBER_OF_OUTPUTS_PER_MODULE];
75 EioDOStatus m_status[MAX_NUMBER_OF_OUTPUTS_PER_MODULE];
76 bool m_hadHardwareError[MAX_NUMBER_OF_OUTPUTS_PER_MODULE];
77 bool m_messagesScheduled;
79 unsigned char m_tpoMultiple;
80 unsigned char m_ticks_per_tpo;
Definition: eiot2srdo16.h:44
Definition: eio_t25srm.h:58
Definition: do16_ssm.h:27