// Copyright (c) National Instruments 2008. All Rights Reserved. | |
// Do Not Edit... this file is generated! | |
#ifndef __nFRC_2012_1_6_4_SPI_h__ | |
#define __nFRC_2012_1_6_4_SPI_h__ | |
#include "tSystemInterface.h" | |
namespace nFPGA | |
{ | |
namespace nFRC_2012_1_6_4 | |
{ | |
class tSPI | |
{ | |
public: | |
tSPI(){} | |
virtual ~tSPI(){} | |
virtual tSystemInterface* getSystemInterface() = 0; | |
static tSPI* create(tRioStatusCode *status); | |
typedef enum | |
{ | |
kNumSystems = 1, | |
} tIfaceConstants; | |
typedef | |
union{ | |
struct{ | |
unsigned ReceivedDataOverflow : 1; | |
unsigned Idle : 1; | |
}; | |
struct{ | |
unsigned value : 2; | |
}; | |
} tStatus; | |
typedef | |
union{ | |
struct{ | |
unsigned BusBitWidth : 8; | |
unsigned ClockHalfPeriodDelay : 8; | |
unsigned MSBfirst : 1; | |
unsigned DataOnFalling : 1; | |
unsigned LatchFirst : 1; | |
unsigned LatchLast : 1; | |
unsigned FramePolarity : 1; | |
unsigned WriteOnly : 1; | |
unsigned ClockPolarity : 1; | |
}; | |
struct{ | |
unsigned value : 23; | |
}; | |
} tConfig; | |
typedef | |
union{ | |
struct{ | |
unsigned SCLK_Channel : 4; | |
unsigned SCLK_Module : 1; | |
unsigned MOSI_Channel : 4; | |
unsigned MOSI_Module : 1; | |
unsigned MISO_Channel : 4; | |
unsigned MISO_Module : 1; | |
unsigned SS_Channel : 4; | |
unsigned SS_Module : 1; | |
}; | |
struct{ | |
unsigned value : 20; | |
}; | |
} tChannels; | |
typedef enum | |
{ | |
} tStatus_IfaceConstants; | |
virtual tStatus readStatus(tRioStatusCode *status) = 0; | |
virtual bool readStatus_ReceivedDataOverflow(tRioStatusCode *status) = 0; | |
virtual bool readStatus_Idle(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tReadReceivedData_IfaceConstants; | |
virtual void strobeReadReceivedData(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tConfig_IfaceConstants; | |
virtual void writeConfig(tConfig value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_BusBitWidth(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_ClockHalfPeriodDelay(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_MSBfirst(bool value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_DataOnFalling(bool value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_LatchFirst(bool value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_LatchLast(bool value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_FramePolarity(bool value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_WriteOnly(bool value, tRioStatusCode *status) = 0; | |
virtual void writeConfig_ClockPolarity(bool value, tRioStatusCode *status) = 0; | |
virtual tConfig readConfig(tRioStatusCode *status) = 0; | |
virtual unsigned char readConfig_BusBitWidth(tRioStatusCode *status) = 0; | |
virtual unsigned char readConfig_ClockHalfPeriodDelay(tRioStatusCode *status) = 0; | |
virtual bool readConfig_MSBfirst(tRioStatusCode *status) = 0; | |
virtual bool readConfig_DataOnFalling(tRioStatusCode *status) = 0; | |
virtual bool readConfig_LatchFirst(tRioStatusCode *status) = 0; | |
virtual bool readConfig_LatchLast(tRioStatusCode *status) = 0; | |
virtual bool readConfig_FramePolarity(tRioStatusCode *status) = 0; | |
virtual bool readConfig_WriteOnly(tRioStatusCode *status) = 0; | |
virtual bool readConfig_ClockPolarity(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tReceivedData_IfaceConstants; | |
virtual unsigned int readReceivedData(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tDataToLoad_IfaceConstants; | |
virtual void writeDataToLoad(unsigned int value, tRioStatusCode *status) = 0; | |
virtual unsigned int readDataToLoad(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tReset_IfaceConstants; | |
virtual void strobeReset(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tChannels_IfaceConstants; | |
virtual void writeChannels(tChannels value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_SCLK_Channel(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_SCLK_Module(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_MOSI_Channel(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_MOSI_Module(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_MISO_Channel(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_MISO_Module(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_SS_Channel(unsigned char value, tRioStatusCode *status) = 0; | |
virtual void writeChannels_SS_Module(unsigned char value, tRioStatusCode *status) = 0; | |
virtual tChannels readChannels(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_SCLK_Channel(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_SCLK_Module(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_MOSI_Channel(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_MOSI_Module(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_MISO_Channel(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_MISO_Module(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_SS_Channel(tRioStatusCode *status) = 0; | |
virtual unsigned char readChannels_SS_Module(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tClearReceivedData_IfaceConstants; | |
virtual void strobeClearReceivedData(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tReceivedElements_IfaceConstants; | |
virtual unsigned short readReceivedElements(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tLoad_IfaceConstants; | |
virtual void strobeLoad(tRioStatusCode *status) = 0; | |
typedef enum | |
{ | |
} tAvailableToLoad_IfaceConstants; | |
virtual unsigned short readAvailableToLoad(tRioStatusCode *status) = 0; | |
private: | |
tSPI(const tSPI&); | |
void operator=(const tSPI&); | |
}; | |
} | |
} | |
#endif // __nFRC_2012_1_6_4_SPI_h__ |