Files
allwpilib/hal/lib/Athena/FRC_FPGA_ChipObject/nRuntimeFPGANamespace/tDIO.h
Thomas Clark 8abbcf53f4 Update to the v13 headers and libraries
Add all of the most recent headers and .SOs

Also make DriverStation work with the new FRC comm protocol, using the new
functions for getting status data

Change-Id: I1c7fc5f90e72c5fbebf87d9923ce0967ed0ef3bc

Initial HAL support for v13 ds

Change-Id: I9a7f37ef8e24241598fa3981cb3df30c07c52e0f

New ds stuff in the HAL

Change-Id: I025910625453baf63f79f49bbc70ba8b2f093f50

New ds stuff in C++

Joysticks are still todo

Driver station IO is pulled out

Change-Id: I1bb59037c097713bd943e7bef00e12f67f13c3ac

New ds works in C++ and Java.  Joysticks still todo

Change-Id: Ic93f8686856761badc592eceaf05964f52355578

Make joysticks work again with the v13 image protocol

Change-Id: Ief7ee95d3398c2262ca07ab7d60499af3c8f60f7
2014-08-07 16:37:02 -04:00

331 lines
9.9 KiB
C++

// 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{
#ifdef __vxworks
unsigned Period : 16;
unsigned MinHigh : 16;
#else
unsigned MinHigh : 16;
unsigned Period : 16;
#endif
};
struct{
unsigned value : 32;
};
} tPWMConfig;
typedef
union{
struct{
#ifdef __vxworks
unsigned RelayFwd : 8;
unsigned RelayRev : 8;
unsigned I2CHeader : 4;
#else
unsigned I2CHeader : 4;
unsigned RelayRev : 8;
unsigned RelayFwd : 8;
#endif
};
struct{
unsigned value : 20;
};
} tSlowValue;
typedef
union{
struct{
#ifdef __vxworks
unsigned Transaction : 1;
unsigned Done : 1;
unsigned Aborted : 1;
unsigned DataReceivedHigh : 24;
#else
unsigned DataReceivedHigh : 24;
unsigned Aborted : 1;
unsigned Done : 1;
unsigned Transaction : 1;
#endif
};
struct{
unsigned value : 27;
};
} tI2CStatus;
typedef
union{
struct{
#ifdef __vxworks
unsigned Address : 8;
unsigned BytesToRead : 3;
unsigned BytesToWrite : 3;
unsigned DataToSendHigh : 16;
unsigned BitwiseHandshake : 1;
#else
unsigned BitwiseHandshake : 1;
unsigned DataToSendHigh : 16;
unsigned BytesToWrite : 3;
unsigned BytesToRead : 3;
unsigned Address : 8;
#endif
};
struct{
unsigned value : 31;
};
} tI2CConfig;
typedef
union{
struct{
#ifdef __vxworks
unsigned PeriodPower : 4;
unsigned OutputSelect_0 : 4;
unsigned OutputSelect_1 : 4;
unsigned OutputSelect_2 : 4;
unsigned OutputSelect_3 : 4;
#else
unsigned OutputSelect_3 : 4;
unsigned OutputSelect_2 : 4;
unsigned OutputSelect_1 : 4;
unsigned OutputSelect_0 : 4;
unsigned PeriodPower : 4;
#endif
};
struct{
unsigned value : 20;
};
} tDO_PWMConfig;
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
{
} 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
{
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
{
} tPulse_IfaceConstants;
virtual void writePulse(unsigned short value, tRioStatusCode *status) = 0;
virtual unsigned short readPulse(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
{
} tPulseLength_IfaceConstants;
virtual void writePulseLength(unsigned char value, tRioStatusCode *status) = 0;
virtual unsigned char readPulseLength(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
{
} 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
{
} 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
{
} tI2CStart_IfaceConstants;
virtual void strobeI2CStart(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__