14 #define EIO_FAST_MESSAGES_GOOD true
15 #define EIO_FAST_MESSAGES_BAD false
17 #define EIO_DO_16_MODULE_NUMBER_OF_CHANNELS 16
32 void setOnOffState(
int z_channel,
bool on);
33 void setOutputStates(uint16 z_states);
37 bool wasCommandOk() {
return( (*getRxPtr()==DO16_IDENT) &&
38 ((*(getRxPtr()+DO16_RX_STATUS_BYTE_OFFSET) | DO16_STATUS_OVERTEMP_MASK | DO16_STATUS_MOD_RX_OK_MASK) == 0xff)
40 bool isModuleHealthy(){
return (*(getRxPtr()+DO16_RX_STATUS_BYTE_OFFSET)&DO16_STATUS_OVERTEMP_MASK)==DO16_STATUS_OVERTEMP_MASK;};
41 bool didModRxOk() {
return((*(getRxPtr()+DO16_RX_STATUS_BYTE_OFFSET))&DO16_STATUS_MOD_RX_OK_MASK) != 0;};
45 static unsigned short moduleToDevice(
unsigned char module);
48 static const unsigned char DO16_DATA_CODE = 0x55;
49 static const unsigned char DO16_IDENT = 0x68;
51 static const unsigned char DO16_STATUS_OVERTEMP_MASK = 0x80;
52 static const unsigned char DO16_STATUS_MOD_RX_OK_MASK = 0x40;
54 static const int DO16_RX_ID_BYTE_OFFSET = 0x00;
55 static const int DO16_RX_STATUS_BYTE_OFFSET = 0x01;
56 static const int DO16_RX_DATA1_BYTE_OFFSET = 0x02;
57 static const int DO16_RX_DATA2_BYTE_OFFSET = 0x03;
59 static const int DO16_TX_DATA1_BYTE_OFFSET = 0x00;
60 static const int DO16_TX_DATA2_BYTE_OFFSET = 0x01;
61 static const int DO16_TX_NOTDATA1_BYTE_OFFSET = 0x02;
62 static const int DO16_TX_NOTDATA2_BYTE_OFFSET = 0x03;
Definition: do16_ssm.h:27