// Copyright (c) National Instruments 2008. All Rights Reserved. | |
// Do Not Edit... this file is generated! | |
#ifndef __nFRC_2012_1_6_4_DIO_h__ | |
#define __nFRC_2012_1_6_4_DIO_h__ | |
#include "tSystemInterface.h" | |
namespace nFPGA | |
{ | |
namespace nFRC_2012_1_6_4 | |
{ | |
class tDIO | |
{ | |
public: | |
tDIO(){} | |
virtual ~tDIO(){} | |
virtual tSystemInterface* getSystemInterface() = 0; | |
static tDIO* create(unsigned char sys_index, tRioStatusCode *status); | |
virtual unsigned char getSystemIndex() = 0; | |
typedef enum | |
{ | |
kNumSystems = 2, | |
} tIfaceConstants; | |
typedef | |
union{ | |
struct{ | |
unsigned Period : 16; | |
unsigned MinHigh : 16; | |
}; | |
struct{ | |
unsigned value : 32; | |
}; | |
} tPWMConfig; | |
typedef | |
union{ | |
struct{ | |
unsigned RelayFwd : 8; | |
unsigned RelayRev : 8; | |
unsigned I2CHeader : 4; | |
}; | |
struct{ | |
unsigned value : 20; | |
}; | |
} tSlowValue; | |
typedef | |
union{ | |
struct{ | |
unsigned Transaction : 1; | |
unsigned Done : 1; | |
unsigned Aborted : 1; | |
unsigned DataReceivedHigh : 24; | |
}; | |
struct{ | |
unsigned value : 27; | |
}; | |
} tI2CStatus; | |
typedef | |
union{ | |
struct{ | |
unsigned PeriodPower : 4; | |
unsigned OutputSelect_0 : 4; | |
unsigned OutputSelect_1 : 4; | |
unsigned OutputSelect_2 : 4; | |
unsigned OutputSelect_3 : 4; | |
}; | |
struct{ | |
unsigned value : 20; | |
}; | |
} tDO_PWMConfig; | |
typedef | |
union{ | |
struct{ | |
unsigned Address : 8; | |
unsigned BytesToRead : 3; | |
unsigned BytesToWrite : 3; | |
unsigned DataToSendHigh : 16; | |
unsigned BitwiseHandshake : 1; | |
}; | |
struct{ | |
unsigned value : 31; | |
}; | |
} tI2CConfig; | |
typedef enum | |
{ | |
} tI2CDataToSend_IfaceConstants; | |
virtual void writeI2CDataToSend(unsigned int value, tRioStatusCode *status) = 0; | |
virtual unsigned int readI2CDataToSend(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tDO_IfaceConstants; | |
virtual void writeDO(unsigned short value, tRioStatusCode *status) = 0; | |
virtual unsigned short readDO(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
kNumFilterSelectElements = 16, | |
} tFilterSelect_IfaceConstants; | |
virtual void writeFilterSelect(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; | |
virtual unsigned char readFilterSelect(unsigned char bitfield_index, tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
kNumFilterPeriodElements = 3, | |
} tFilterPeriod_IfaceConstants; | |
virtual void writeFilterPeriod(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; | |
virtual unsigned char readFilterPeriod(unsigned char bitfield_index, tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tOutputEnable_IfaceConstants; | |
virtual void writeOutputEnable(unsigned short value, tRioStatusCode *status) = 0; | |
virtual unsigned short readOutputEnable(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tSlowValue_IfaceConstants; | |
virtual void writeSlowValue(tSlowValue value, tRioStatusCode *status) = 0; | |
virtual void writeSlowValue_RelayFwd(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeSlowValue_RelayRev(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeSlowValue_I2CHeader(unsigned char value, tRioStatusCode *status) = 0; | |
virtual tSlowValue readSlowValue(tRioStatusCode *status) = 0; | |
virtual unsigned char readSlowValue_RelayFwd(tRioStatusCode *status) = 0; | |
virtual unsigned char readSlowValue_RelayRev(tRioStatusCode *status) = 0; | |
virtual unsigned char readSlowValue_I2CHeader(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tI2CStatus_IfaceConstants; | |
virtual tI2CStatus readI2CStatus(tRioStatusCode *status) = 0; | |
virtual unsigned char readI2CStatus_Transaction(tRioStatusCode *status) = 0; | |
virtual bool readI2CStatus_Done(tRioStatusCode *status) = 0; | |
virtual bool readI2CStatus_Aborted(tRioStatusCode *status) = 0; | |
virtual unsigned int readI2CStatus_DataReceivedHigh(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tI2CDataReceived_IfaceConstants; | |
virtual unsigned int readI2CDataReceived(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tDI_IfaceConstants; | |
virtual unsigned short readDI(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tPulse_IfaceConstants; | |
virtual void writePulse(unsigned short value, tRioStatusCode *status) = 0; | |
virtual unsigned short readPulse(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
kNumPWMPeriodScaleElements = 10, | |
} tPWMPeriodScale_IfaceConstants; | |
virtual void writePWMPeriodScale(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; | |
virtual unsigned char readPWMPeriodScale(unsigned char bitfield_index, tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
kNumDO_PWMDutyCycleElements = 4, | |
} tDO_PWMDutyCycle_IfaceConstants; | |
virtual void writeDO_PWMDutyCycle(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; | |
virtual unsigned char readDO_PWMDutyCycle(unsigned char bitfield_index, tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tBFL_IfaceConstants; | |
virtual void writeBFL(bool value, tRioStatusCode *status) = 0; | |
virtual bool readBFL(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tI2CStart_IfaceConstants; | |
virtual void strobeI2CStart(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tDO_PWMConfig_IfaceConstants; | |
virtual void writeDO_PWMConfig(tDO_PWMConfig value, tRioStatusCode *status) = 0; | |
virtual void writeDO_PWMConfig_PeriodPower(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeDO_PWMConfig_OutputSelect_0(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeDO_PWMConfig_OutputSelect_1(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeDO_PWMConfig_OutputSelect_2(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeDO_PWMConfig_OutputSelect_3(unsigned char value, tRioStatusCode *status) = 0; | |
virtual tDO_PWMConfig readDO_PWMConfig(tRioStatusCode *status) = 0; | |
virtual unsigned char readDO_PWMConfig_PeriodPower(tRioStatusCode *status) = 0; | |
virtual unsigned char readDO_PWMConfig_OutputSelect_0(tRioStatusCode *status) = 0; | |
virtual unsigned char readDO_PWMConfig_OutputSelect_1(tRioStatusCode *status) = 0; | |
virtual unsigned char readDO_PWMConfig_OutputSelect_2(tRioStatusCode *status) = 0; | |
virtual unsigned char readDO_PWMConfig_OutputSelect_3(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tPulseLength_IfaceConstants; | |
virtual void writePulseLength(unsigned char value, tRioStatusCode *status) = 0; | |
virtual unsigned char readPulseLength(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tI2CConfig_IfaceConstants; | |
virtual void writeI2CConfig(tI2CConfig value, tRioStatusCode *status) = 0; | |
virtual void writeI2CConfig_Address(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeI2CConfig_BytesToRead(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeI2CConfig_BytesToWrite(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeI2CConfig_DataToSendHigh(unsigned short value, tRioStatusCode *status) = 0; | |
virtual void writeI2CConfig_BitwiseHandshake(bool value, tRioStatusCode *status) = 0; | |
virtual tI2CConfig readI2CConfig(tRioStatusCode *status) = 0; | |
virtual unsigned char readI2CConfig_Address(tRioStatusCode *status) = 0; | |
virtual unsigned char readI2CConfig_BytesToRead(tRioStatusCode *status) = 0; | |
virtual unsigned char readI2CConfig_BytesToWrite(tRioStatusCode *status) = 0; | |
virtual unsigned short readI2CConfig_DataToSendHigh(tRioStatusCode *status) = 0; | |
virtual bool readI2CConfig_BitwiseHandshake(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tLoopTiming_IfaceConstants; | |
virtual unsigned short readLoopTiming(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tPWMConfig_IfaceConstants; | |
virtual void writePWMConfig(tPWMConfig value, tRioStatusCode *status) = 0; | |
virtual void writePWMConfig_Period(unsigned short value, tRioStatusCode *status) = 0; | |
virtual void writePWMConfig_MinHigh(unsigned short value, tRioStatusCode *status) = 0; | |
virtual tPWMConfig readPWMConfig(tRioStatusCode *status) = 0; | |
virtual unsigned short readPWMConfig_Period(tRioStatusCode *status) = 0; | |
virtual unsigned short readPWMConfig_MinHigh(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
kNumPWMValueRegisters = 10, | |
} tPWMValue_IfaceConstants; | |
virtual void writePWMValue(unsigned char reg_index, unsigned char value, tRioStatusCode *status) = 0; | |
virtual unsigned char readPWMValue(unsigned char reg_index, tRioStatusCode *status) = 0; | |
private: | |
tDIO(const tDIO&); | |
void operator=(const tDIO&); | |
}; | |
} | |
} | |
#endif // __nFRC_2012_1_6_4_DIO_h__ |