jerrym | f157933 | 2013-02-07 01:56:28 +0000 | [diff] [blame^] | 1 | // Copyright (c) National Instruments 2008. All Rights Reserved.
|
| 2 | // Do Not Edit... this file is generated!
|
| 3 |
|
| 4 | #ifndef __nFRC_2012_1_6_4_DIO_h__
|
| 5 | #define __nFRC_2012_1_6_4_DIO_h__
|
| 6 |
|
| 7 | #include "tSystemInterface.h"
|
| 8 |
|
| 9 | namespace nFPGA
|
| 10 | {
|
| 11 | namespace nFRC_2012_1_6_4
|
| 12 | {
|
| 13 |
|
| 14 | class tDIO
|
| 15 | {
|
| 16 | public:
|
| 17 | tDIO(){}
|
| 18 | virtual ~tDIO(){}
|
| 19 |
|
| 20 | virtual tSystemInterface* getSystemInterface() = 0;
|
| 21 | static tDIO* create(unsigned char sys_index, tRioStatusCode *status);
|
| 22 | virtual unsigned char getSystemIndex() = 0;
|
| 23 |
|
| 24 |
|
| 25 | typedef enum
|
| 26 | {
|
| 27 | kNumSystems = 2,
|
| 28 | } tIfaceConstants;
|
| 29 |
|
| 30 | typedef
|
| 31 | union{
|
| 32 | struct{
|
| 33 | unsigned Period : 16;
|
| 34 | unsigned MinHigh : 16;
|
| 35 | };
|
| 36 | struct{
|
| 37 | unsigned value : 32;
|
| 38 | };
|
| 39 | } tPWMConfig;
|
| 40 | typedef
|
| 41 | union{
|
| 42 | struct{
|
| 43 | unsigned RelayFwd : 8;
|
| 44 | unsigned RelayRev : 8;
|
| 45 | unsigned I2CHeader : 4;
|
| 46 | };
|
| 47 | struct{
|
| 48 | unsigned value : 20;
|
| 49 | };
|
| 50 | } tSlowValue;
|
| 51 | typedef
|
| 52 | union{
|
| 53 | struct{
|
| 54 | unsigned Transaction : 1;
|
| 55 | unsigned Done : 1;
|
| 56 | unsigned Aborted : 1;
|
| 57 | unsigned DataReceivedHigh : 24;
|
| 58 | };
|
| 59 | struct{
|
| 60 | unsigned value : 27;
|
| 61 | };
|
| 62 | } tI2CStatus;
|
| 63 | typedef
|
| 64 | union{
|
| 65 | struct{
|
| 66 | unsigned PeriodPower : 4;
|
| 67 | unsigned OutputSelect_0 : 4;
|
| 68 | unsigned OutputSelect_1 : 4;
|
| 69 | unsigned OutputSelect_2 : 4;
|
| 70 | unsigned OutputSelect_3 : 4;
|
| 71 | };
|
| 72 | struct{
|
| 73 | unsigned value : 20;
|
| 74 | };
|
| 75 | } tDO_PWMConfig;
|
| 76 | typedef
|
| 77 | union{
|
| 78 | struct{
|
| 79 | unsigned Address : 8;
|
| 80 | unsigned BytesToRead : 3;
|
| 81 | unsigned BytesToWrite : 3;
|
| 82 | unsigned DataToSendHigh : 16;
|
| 83 | unsigned BitwiseHandshake : 1;
|
| 84 | };
|
| 85 | struct{
|
| 86 | unsigned value : 31;
|
| 87 | };
|
| 88 | } tI2CConfig;
|
| 89 |
|
| 90 |
|
| 91 | typedef enum
|
| 92 | {
|
| 93 | } tI2CDataToSend_IfaceConstants;
|
| 94 |
|
| 95 | virtual void writeI2CDataToSend(unsigned int value, tRioStatusCode *status) = 0;
|
| 96 | virtual unsigned int readI2CDataToSend(tRioStatusCode *status) = 0;
|
| 97 |
|
| 98 |
|
| 99 | typedef enum
|
| 100 | {
|
| 101 | } tDO_IfaceConstants;
|
| 102 |
|
| 103 | virtual void writeDO(unsigned short value, tRioStatusCode *status) = 0;
|
| 104 | virtual unsigned short readDO(tRioStatusCode *status) = 0;
|
| 105 |
|
| 106 |
|
| 107 | typedef enum
|
| 108 | {
|
| 109 | kNumFilterSelectElements = 16,
|
| 110 | } tFilterSelect_IfaceConstants;
|
| 111 |
|
| 112 | virtual void writeFilterSelect(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0;
|
| 113 | virtual unsigned char readFilterSelect(unsigned char bitfield_index, tRioStatusCode *status) = 0;
|
| 114 |
|
| 115 |
|
| 116 | typedef enum
|
| 117 | {
|
| 118 | kNumFilterPeriodElements = 3,
|
| 119 | } tFilterPeriod_IfaceConstants;
|
| 120 |
|
| 121 | virtual void writeFilterPeriod(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0;
|
| 122 | virtual unsigned char readFilterPeriod(unsigned char bitfield_index, tRioStatusCode *status) = 0;
|
| 123 |
|
| 124 |
|
| 125 | typedef enum
|
| 126 | {
|
| 127 | } tOutputEnable_IfaceConstants;
|
| 128 |
|
| 129 | virtual void writeOutputEnable(unsigned short value, tRioStatusCode *status) = 0;
|
| 130 | virtual unsigned short readOutputEnable(tRioStatusCode *status) = 0;
|
| 131 |
|
| 132 |
|
| 133 | typedef enum
|
| 134 | {
|
| 135 | } tSlowValue_IfaceConstants;
|
| 136 |
|
| 137 | virtual void writeSlowValue(tSlowValue value, tRioStatusCode *status) = 0;
|
| 138 | virtual void writeSlowValue_RelayFwd(unsigned char value, tRioStatusCode *status) = 0;
|
| 139 | virtual void writeSlowValue_RelayRev(unsigned char value, tRioStatusCode *status) = 0;
|
| 140 | virtual void writeSlowValue_I2CHeader(unsigned char value, tRioStatusCode *status) = 0;
|
| 141 | virtual tSlowValue readSlowValue(tRioStatusCode *status) = 0;
|
| 142 | virtual unsigned char readSlowValue_RelayFwd(tRioStatusCode *status) = 0;
|
| 143 | virtual unsigned char readSlowValue_RelayRev(tRioStatusCode *status) = 0;
|
| 144 | virtual unsigned char readSlowValue_I2CHeader(tRioStatusCode *status) = 0;
|
| 145 |
|
| 146 |
|
| 147 | typedef enum
|
| 148 | {
|
| 149 | } tI2CStatus_IfaceConstants;
|
| 150 |
|
| 151 | virtual tI2CStatus readI2CStatus(tRioStatusCode *status) = 0;
|
| 152 | virtual unsigned char readI2CStatus_Transaction(tRioStatusCode *status) = 0;
|
| 153 | virtual bool readI2CStatus_Done(tRioStatusCode *status) = 0;
|
| 154 | virtual bool readI2CStatus_Aborted(tRioStatusCode *status) = 0;
|
| 155 | virtual unsigned int readI2CStatus_DataReceivedHigh(tRioStatusCode *status) = 0;
|
| 156 |
|
| 157 |
|
| 158 | typedef enum
|
| 159 | {
|
| 160 | } tI2CDataReceived_IfaceConstants;
|
| 161 |
|
| 162 | virtual unsigned int readI2CDataReceived(tRioStatusCode *status) = 0;
|
| 163 |
|
| 164 |
|
| 165 | typedef enum
|
| 166 | {
|
| 167 | } tDI_IfaceConstants;
|
| 168 |
|
| 169 | virtual unsigned short readDI(tRioStatusCode *status) = 0;
|
| 170 |
|
| 171 |
|
| 172 | typedef enum
|
| 173 | {
|
| 174 | } tPulse_IfaceConstants;
|
| 175 |
|
| 176 | virtual void writePulse(unsigned short value, tRioStatusCode *status) = 0;
|
| 177 | virtual unsigned short readPulse(tRioStatusCode *status) = 0;
|
| 178 |
|
| 179 |
|
| 180 | typedef enum
|
| 181 | {
|
| 182 | kNumPWMPeriodScaleElements = 10,
|
| 183 | } tPWMPeriodScale_IfaceConstants;
|
| 184 |
|
| 185 | virtual void writePWMPeriodScale(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0;
|
| 186 | virtual unsigned char readPWMPeriodScale(unsigned char bitfield_index, tRioStatusCode *status) = 0;
|
| 187 |
|
| 188 |
|
| 189 | typedef enum
|
| 190 | {
|
| 191 | kNumDO_PWMDutyCycleElements = 4,
|
| 192 | } tDO_PWMDutyCycle_IfaceConstants;
|
| 193 |
|
| 194 | virtual void writeDO_PWMDutyCycle(unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0;
|
| 195 | virtual unsigned char readDO_PWMDutyCycle(unsigned char bitfield_index, tRioStatusCode *status) = 0;
|
| 196 |
|
| 197 |
|
| 198 | typedef enum
|
| 199 | {
|
| 200 | } tBFL_IfaceConstants;
|
| 201 |
|
| 202 | virtual void writeBFL(bool value, tRioStatusCode *status) = 0;
|
| 203 | virtual bool readBFL(tRioStatusCode *status) = 0;
|
| 204 |
|
| 205 |
|
| 206 | typedef enum
|
| 207 | {
|
| 208 | } tI2CStart_IfaceConstants;
|
| 209 |
|
| 210 | virtual void strobeI2CStart(tRioStatusCode *status) = 0;
|
| 211 |
|
| 212 |
|
| 213 | typedef enum
|
| 214 | {
|
| 215 | } tDO_PWMConfig_IfaceConstants;
|
| 216 |
|
| 217 | virtual void writeDO_PWMConfig(tDO_PWMConfig value, tRioStatusCode *status) = 0;
|
| 218 | virtual void writeDO_PWMConfig_PeriodPower(unsigned char value, tRioStatusCode *status) = 0;
|
| 219 | virtual void writeDO_PWMConfig_OutputSelect_0(unsigned char value, tRioStatusCode *status) = 0;
|
| 220 | virtual void writeDO_PWMConfig_OutputSelect_1(unsigned char value, tRioStatusCode *status) = 0;
|
| 221 | virtual void writeDO_PWMConfig_OutputSelect_2(unsigned char value, tRioStatusCode *status) = 0;
|
| 222 | virtual void writeDO_PWMConfig_OutputSelect_3(unsigned char value, tRioStatusCode *status) = 0;
|
| 223 | virtual tDO_PWMConfig readDO_PWMConfig(tRioStatusCode *status) = 0;
|
| 224 | virtual unsigned char readDO_PWMConfig_PeriodPower(tRioStatusCode *status) = 0;
|
| 225 | virtual unsigned char readDO_PWMConfig_OutputSelect_0(tRioStatusCode *status) = 0;
|
| 226 | virtual unsigned char readDO_PWMConfig_OutputSelect_1(tRioStatusCode *status) = 0;
|
| 227 | virtual unsigned char readDO_PWMConfig_OutputSelect_2(tRioStatusCode *status) = 0;
|
| 228 | virtual unsigned char readDO_PWMConfig_OutputSelect_3(tRioStatusCode *status) = 0;
|
| 229 |
|
| 230 |
|
| 231 | typedef enum
|
| 232 | {
|
| 233 | } tPulseLength_IfaceConstants;
|
| 234 |
|
| 235 | virtual void writePulseLength(unsigned char value, tRioStatusCode *status) = 0;
|
| 236 | virtual unsigned char readPulseLength(tRioStatusCode *status) = 0;
|
| 237 |
|
| 238 |
|
| 239 | typedef enum
|
| 240 | {
|
| 241 | } tI2CConfig_IfaceConstants;
|
| 242 |
|
| 243 | virtual void writeI2CConfig(tI2CConfig value, tRioStatusCode *status) = 0;
|
| 244 | virtual void writeI2CConfig_Address(unsigned char value, tRioStatusCode *status) = 0;
|
| 245 | virtual void writeI2CConfig_BytesToRead(unsigned char value, tRioStatusCode *status) = 0;
|
| 246 | virtual void writeI2CConfig_BytesToWrite(unsigned char value, tRioStatusCode *status) = 0;
|
| 247 | virtual void writeI2CConfig_DataToSendHigh(unsigned short value, tRioStatusCode *status) = 0;
|
| 248 | virtual void writeI2CConfig_BitwiseHandshake(bool value, tRioStatusCode *status) = 0;
|
| 249 | virtual tI2CConfig readI2CConfig(tRioStatusCode *status) = 0;
|
| 250 | virtual unsigned char readI2CConfig_Address(tRioStatusCode *status) = 0;
|
| 251 | virtual unsigned char readI2CConfig_BytesToRead(tRioStatusCode *status) = 0;
|
| 252 | virtual unsigned char readI2CConfig_BytesToWrite(tRioStatusCode *status) = 0;
|
| 253 | virtual unsigned short readI2CConfig_DataToSendHigh(tRioStatusCode *status) = 0;
|
| 254 | virtual bool readI2CConfig_BitwiseHandshake(tRioStatusCode *status) = 0;
|
| 255 |
|
| 256 |
|
| 257 |
|
| 258 | typedef enum
|
| 259 | {
|
| 260 | } tLoopTiming_IfaceConstants;
|
| 261 |
|
| 262 | virtual unsigned short readLoopTiming(tRioStatusCode *status) = 0;
|
| 263 |
|
| 264 |
|
| 265 | typedef enum
|
| 266 | {
|
| 267 | } tPWMConfig_IfaceConstants;
|
| 268 |
|
| 269 | virtual void writePWMConfig(tPWMConfig value, tRioStatusCode *status) = 0;
|
| 270 | virtual void writePWMConfig_Period(unsigned short value, tRioStatusCode *status) = 0;
|
| 271 | virtual void writePWMConfig_MinHigh(unsigned short value, tRioStatusCode *status) = 0;
|
| 272 | virtual tPWMConfig readPWMConfig(tRioStatusCode *status) = 0;
|
| 273 | virtual unsigned short readPWMConfig_Period(tRioStatusCode *status) = 0;
|
| 274 | virtual unsigned short readPWMConfig_MinHigh(tRioStatusCode *status) = 0;
|
| 275 |
|
| 276 |
|
| 277 |
|
| 278 | typedef enum
|
| 279 | {
|
| 280 | kNumPWMValueRegisters = 10,
|
| 281 | } tPWMValue_IfaceConstants;
|
| 282 |
|
| 283 | virtual void writePWMValue(unsigned char reg_index, unsigned char value, tRioStatusCode *status) = 0;
|
| 284 | virtual unsigned char readPWMValue(unsigned char reg_index, tRioStatusCode *status) = 0;
|
| 285 |
|
| 286 |
|
| 287 |
|
| 288 | private:
|
| 289 | tDIO(const tDIO&);
|
| 290 | void operator=(const tDIO&);
|
| 291 | };
|
| 292 |
|
| 293 | }
|
| 294 | }
|
| 295 |
|
| 296 | #endif // __nFRC_2012_1_6_4_DIO_h__
|