14 #ifndef __FRC_COMM_H__
15 #define __FRC_COMM_H__
18 #include <vxWorks_compat.h>
22 #define EXPORT_FUNC __declspec(dllexport) __cdecl
30 #define ERR_FRCSystem_NetCommNotResponding -44049
31 #define ERR_FRCSystem_NoDSConnection -44018
33 enum AllianceStationID_t {
34 kAllianceStationID_red1,
35 kAllianceStationID_red2,
36 kAllianceStationID_red3,
37 kAllianceStationID_blue1,
38 kAllianceStationID_blue2,
39 kAllianceStationID_blue3,
45 kMatchType_qualification,
46 kMatchType_elimination,
51 uint32_t autonomous : 1;
54 uint32_t fmsAttached : 1;
55 uint32_t dsAttached : 1;
56 uint32_t control_reserved : 26;
72 int EXPORT_FUNC FRC_NetworkCommunication_Reserve(
void *instance);
75 getFPGAHardwareVersion(uint16_t *fpgaVersion, uint32_t *fpgaRevision);
77 int EXPORT_FUNC setStatusData(
float battery, uint8_t dsDigitalOut,
78 uint8_t updateNumber,
const char *userDataHigh,
79 int userDataHighLength,
const char *userDataLow,
80 int userDataLowLength,
int wait_ms);
81 int EXPORT_FUNC setErrorData(
const char *errors,
int errorsLength,
int wait_ms);
84 void EXPORT_FUNC setNewDataSem(HANDLE);
86 void EXPORT_FUNC setNewDataSem(pthread_cond_t *);
90 int EXPORT_FUNC setNewDataOccurRef(uint32_t refnum);
93 FRC_NetworkCommunication_getControlWord(
struct ControlWord_t *controlWord);
94 int EXPORT_FUNC FRC_NetworkCommunication_getAllianceStation(
95 enum AllianceStationID_t *allianceStation);
96 int EXPORT_FUNC FRC_NetworkCommunication_getMatchTime(
float *matchTime);
98 FRC_NetworkCommunication_getJoystickAxes(uint8_t joystickNum,
101 int EXPORT_FUNC FRC_NetworkCommunication_getJoystickButtons(uint8_t joystickNum,
105 FRC_NetworkCommunication_getJoystickPOVs(uint8_t joystickNum,
109 FRC_NetworkCommunication_setJoystickOutputs(uint8_t joystickNum,
112 uint16_t rightRumble);
114 FRC_NetworkCommunication_getJoystickDesc(uint8_t joystickNum, uint8_t *isXBox,
115 uint8_t *type,
char *name,
116 uint8_t *axisCount, uint8_t *axisTypes,
117 uint8_t *buttonCount,
120 void EXPORT_FUNC FRC_NetworkCommunication_getVersionString(
char *version);
121 int EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramStarting(
void);
122 void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramDisabled(
void);
123 void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramAutonomous(
void);
124 void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramTeleop(
void);
125 void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramTest(
void);