// Copyright (c) National Instruments 2008. All Rights Reserved. // Do Not Edit... this file is generated! #ifndef __nFRC_2020_20_0_0_DMA_h__ #define __nFRC_2020_20_0_0_DMA_h__ #include "../tSystem.h" #include "../tSystemInterface.h" namespace nFPGA { namespace nFRC_2020_20_0_0 { class tDMA { public: tDMA(){} virtual ~tDMA(){} virtual tSystemInterface* getSystemInterface() = 0; static tDMA* create(tRioStatusCode *status); typedef enum { kNumSystems = 1, } tIfaceConstants; typedef union{ struct{ #ifdef __vxworks unsigned Pause : 1; unsigned Enable_AI0_Low : 1; unsigned Enable_AI0_High : 1; unsigned Enable_AIAveraged0_Low : 1; unsigned Enable_AIAveraged0_High : 1; unsigned Enable_AI1_Low : 1; unsigned Enable_AI1_High : 1; unsigned Enable_AIAveraged1_Low : 1; unsigned Enable_AIAveraged1_High : 1; unsigned Enable_Accumulator0 : 1; unsigned Enable_Accumulator1 : 1; unsigned Enable_DI : 1; unsigned Enable_AnalogTriggers : 1; unsigned Enable_Counters_Low : 1; unsigned Enable_Counters_High : 1; unsigned Enable_CounterTimers_Low : 1; unsigned Enable_CounterTimers_High : 1; unsigned Enable_Encoders_Low : 1; unsigned Enable_Encoders_High : 1; unsigned Enable_EncoderTimers_Low : 1; unsigned Enable_EncoderTimers_High : 1; unsigned Enable_DutyCycle_Low : 1; unsigned Enable_DutyCycle_High : 1; unsigned ExternalClock : 1; #else unsigned ExternalClock : 1; unsigned Enable_DutyCycle_High : 1; unsigned Enable_DutyCycle_Low : 1; unsigned Enable_EncoderTimers_High : 1; unsigned Enable_EncoderTimers_Low : 1; unsigned Enable_Encoders_High : 1; unsigned Enable_Encoders_Low : 1; unsigned Enable_CounterTimers_High : 1; unsigned Enable_CounterTimers_Low : 1; unsigned Enable_Counters_High : 1; unsigned Enable_Counters_Low : 1; unsigned Enable_AnalogTriggers : 1; unsigned Enable_DI : 1; unsigned Enable_Accumulator1 : 1; unsigned Enable_Accumulator0 : 1; unsigned Enable_AIAveraged1_High : 1; unsigned Enable_AIAveraged1_Low : 1; unsigned Enable_AI1_High : 1; unsigned Enable_AI1_Low : 1; unsigned Enable_AIAveraged0_High : 1; unsigned Enable_AIAveraged0_Low : 1; unsigned Enable_AI0_High : 1; unsigned Enable_AI0_Low : 1; unsigned Pause : 1; #endif }; struct{ unsigned value : 24; }; } tConfig; typedef union{ struct{ #ifdef __vxworks unsigned ExternalClockSource_Channel : 4; unsigned ExternalClockSource_Module : 1; unsigned ExternalClockSource_AnalogTrigger : 1; unsigned RisingEdge : 1; unsigned FallingEdge : 1; #else unsigned FallingEdge : 1; unsigned RisingEdge : 1; unsigned ExternalClockSource_AnalogTrigger : 1; unsigned ExternalClockSource_Module : 1; unsigned ExternalClockSource_Channel : 4; #endif }; struct{ unsigned value : 8; }; } tExternalTriggers; typedef enum { } tRate_IfaceConstants; virtual void writeRate(unsigned int value, tRioStatusCode *status) = 0; virtual unsigned int readRate(tRioStatusCode *status) = 0; typedef enum { } tConfig_IfaceConstants; virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; virtual void writeConfig_Pause(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AI0_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AI0_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AIAveraged0_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AIAveraged0_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AI1_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AI1_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AIAveraged1_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AIAveraged1_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_Accumulator0(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_Accumulator1(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_DI(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_AnalogTriggers(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_Counters_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_Counters_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_CounterTimers_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_CounterTimers_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_Encoders_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_Encoders_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_EncoderTimers_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_EncoderTimers_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_DutyCycle_Low(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_Enable_DutyCycle_High(bool value, tRioStatusCode *status) = 0; virtual void writeConfig_ExternalClock(bool value, tRioStatusCode *status) = 0; virtual tConfig readConfig(tRioStatusCode *status) = 0; virtual bool readConfig_Pause(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AI0_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AI0_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AIAveraged0_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AIAveraged0_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AI1_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AI1_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AIAveraged1_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AIAveraged1_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_Accumulator0(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_Accumulator1(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_DI(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_AnalogTriggers(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_Counters_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_Counters_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_CounterTimers_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_CounterTimers_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_Encoders_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_Encoders_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_EncoderTimers_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_EncoderTimers_High(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_DutyCycle_Low(tRioStatusCode *status) = 0; virtual bool readConfig_Enable_DutyCycle_High(tRioStatusCode *status) = 0; virtual bool readConfig_ExternalClock(tRioStatusCode *status) = 0; typedef enum { kNumExternalTriggersRegisters = 2, kNumExternalTriggersElements = 4, } tExternalTriggers_IfaceConstants; virtual void writeExternalTriggers(unsigned char reg_index, unsigned char bitfield_index, tExternalTriggers value, tRioStatusCode *status) = 0; virtual void writeExternalTriggers_ExternalClockSource_Channel(unsigned char reg_index, unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; virtual void writeExternalTriggers_ExternalClockSource_Module(unsigned char reg_index, unsigned char bitfield_index, unsigned char value, tRioStatusCode *status) = 0; virtual void writeExternalTriggers_ExternalClockSource_AnalogTrigger(unsigned char reg_index, unsigned char bitfield_index, bool value, tRioStatusCode *status) = 0; virtual void writeExternalTriggers_RisingEdge(unsigned char reg_index, unsigned char bitfield_index, bool value, tRioStatusCode *status) = 0; virtual void writeExternalTriggers_FallingEdge(unsigned char reg_index, unsigned char bitfield_index, bool value, tRioStatusCode *status) = 0; virtual tExternalTriggers readExternalTriggers(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; virtual unsigned char readExternalTriggers_ExternalClockSource_Channel(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; virtual unsigned char readExternalTriggers_ExternalClockSource_Module(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; virtual bool readExternalTriggers_ExternalClockSource_AnalogTrigger(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; virtual bool readExternalTriggers_RisingEdge(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; virtual bool readExternalTriggers_FallingEdge(unsigned char reg_index, unsigned char bitfield_index, tRioStatusCode *status) = 0; private: tDMA(const tDMA&); void operator=(const tDMA&); }; } } #endif // __nFRC_2020_20_0_0_DMA_h__