12 #ifndef __EIOT2SRDOF_H
13 #define __EIOT2SRDOF_H
15 #include "prjParams.h"
17 #include "eio_t25srm.h"
28 enum EioT2500DoFastRunStates
30 EIO_T2500DOFAST_STATE_JUST_CREATED,
31 EIO_T2500DOFAST_STATE_JUST_CREATED_2,
32 EIO_T2500DOFAST_STATE_MODULE_HAS_CHANGED,
33 EIO_T2500DOFAST_STATE_START_RUNTIME,
34 EIO_T2500DOFAST_STATE_START_RUNTIME_2,
35 EIO_T2500DOFAST_STATE_RUNTIME,
36 EIO_T2500DOFAST_STATE_DELETE_1,
37 EIO_T2500DOFAST_STATE_DELETE_2,
38 EIO_T2500DOFAST_STATE_ERROR,
39 EIO_T2500DOFAST_STATE_ERROR_2,
40 EIO_T2500DOFAST_STATE_SECONDARY_ENABLING,
41 EIO_T2500DOFAST_STATE_SECONDARY_ENABLED,
42 EIO_T2500DOFAST_STATE_SECONDARY_DISABLING,
43 EIO_T2500DOFAST_STATE_SECONDARY_DISABLED,
50 unsigned char z_tpoMultiple, EioT2500CycleEnum z_expectedCycleNumber);
54 virtual void updateFast(
unsigned short slot);
55 virtual void update62_5mS();
56 virtual void update125mS();
57 virtual void updateFastBuffers(
unsigned int z_thisSlot);
58 virtual void cycleComplete125mS();
59 virtual void cycleCompleteFast(
unsigned int z_thisSlot);
63 void configureUpdateMessage(
unsigned int slot);
64 void setUpdateMessagesSafe();
65 EioT2500DoFastRunStates m_state;
68 unsigned char m_evenSlotData[2];
69 unsigned char m_oddSlotData[2];
70 unsigned char * m_slotData;
71 static const int MAX_NUMBER_OF_OUTPUTS_PER_MODULE = 4;
72 static const int MAX_NUMBER_OF_VP_OUTPUTS_PER_MODULE = MAX_NUMBER_OF_OUTPUTS_PER_MODULE/2;
77 bool m_badConfig[MAX_NUMBER_OF_OUTPUTS_PER_MODULE];
78 EioDOStatus m_status[MAX_NUMBER_OF_OUTPUTS_PER_MODULE];
79 bool m_hadHardwareError[MAX_NUMBER_OF_OUTPUTS_PER_MODULE];
80 unsigned char m_expectedReply;
81 bool m_messagesScheduled;
82 unsigned char m_tpoMultiple;
Definition: eio_t25srm.h:58
Definition: do_s_ssm.h:36
Definition: do_f_ssm.h:46
Definition: eiot2srdof.h:46