mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-05 03:21:42 +00:00
WPILib Reorganization
This is a major restructuring of the WPILib repository to simply build procedures and remove the remnants of Maven from everything except the eclipse plugins. Gradle files have been largely simplified or rewritten, taking advantage of splitting up parts of the build into separate build files for ease of reading. The eclipse plugins are now in a separate project, as is ntcore. All dependencies are resolved via Maven dependencies, with the Jenkins-maintained WPILib repo. Project structures have also been simplified: we no longer have separate subprojects inside wpilibc and wpilibj. Where possible, these changes hav been done with git renames, to make sure we still have full history for all repositories. Other unrelated subprojects have also been broken out: OutlineViewer is now a separate project. Change-Id: Ib4e2a6e1a2f66427a14f16612b0e0d69ed661878
This commit is contained in:
20
wpilibc/Athena/include/NetworkCommunication/AICalibration.h
Normal file
20
wpilibc/Athena/include/NetworkCommunication/AICalibration.h
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
#ifndef __AICalibration_h__
|
||||
#define __AICalibration_h__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
uint32_t FRC_NetworkCommunication_nAICalibration_getLSBWeight(
|
||||
const uint32_t aiSystemIndex, const uint32_t channel, int32_t *status);
|
||||
int32_t FRC_NetworkCommunication_nAICalibration_getOffset(
|
||||
const uint32_t aiSystemIndex, const uint32_t channel, int32_t *status);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __AICalibration_h__
|
||||
109
wpilibc/Athena/include/NetworkCommunication/CANInterfacePlugin.h
Normal file
109
wpilibc/Athena/include/NetworkCommunication/CANInterfacePlugin.h
Normal file
@@ -0,0 +1,109 @@
|
||||
// CANInterfacePlugin.h
|
||||
//
|
||||
// Defines the API for building a CAN Interface Plugin to support
|
||||
// PWM-cable-free CAN motor control on FRC robots. This allows you
|
||||
// to connect any CAN interface to the secure Jaguar CAN driver.
|
||||
//
|
||||
|
||||
#ifndef __CANInterfacePlugin_h__
|
||||
#define __CANInterfacePlugin_h__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define CAN_IS_FRAME_REMOTE 0x80000000
|
||||
#define CAN_IS_FRAME_11BIT 0x40000000
|
||||
#define CAN_29BIT_MESSAGE_ID_MASK 0x1FFFFFFF
|
||||
#define CAN_11BIT_MESSAGE_ID_MASK 0x000007FF
|
||||
|
||||
class CANInterfacePlugin {
|
||||
public:
|
||||
CANInterfacePlugin() {}
|
||||
virtual ~CANInterfacePlugin() {}
|
||||
|
||||
/**
|
||||
* This entry-point of the CANInterfacePlugin is passed a message that the
|
||||
* driver needs to send to
|
||||
* a device on the CAN bus.
|
||||
*
|
||||
* This function may be called from multiple contexts and must therefore be
|
||||
* reentrant.
|
||||
*
|
||||
* @param messageID The 29-bit CAN message ID in the lsbs. The msb can
|
||||
* indicate a remote frame.
|
||||
* @param data A pointer to a buffer containing between 0 and 8 bytes to send
|
||||
* with the message. May be nullptr if dataSize is 0.
|
||||
* @param dataSize The number of bytes to send with the message.
|
||||
* @return Return any error code. On success return 0.
|
||||
*/
|
||||
virtual int32_t sendMessage(uint32_t messageID, const uint8_t *data,
|
||||
uint8_t dataSize) = 0;
|
||||
|
||||
/**
|
||||
* This entry-point of the CANInterfacePlugin is passed buffers which should
|
||||
* be populated with
|
||||
* any received messages from devices on the CAN bus.
|
||||
*
|
||||
* This function is always called by a single task in the Jaguar driver, so it
|
||||
* need not be reentrant.
|
||||
*
|
||||
* This function is expected to block for some period of time waiting for a
|
||||
* message from the CAN bus.
|
||||
* It may timeout periodically (returning non-zero to indicate no message was
|
||||
* populated) to allow for
|
||||
* shutdown and unloading of the plugin.
|
||||
*
|
||||
* @param messageID A reference to be populated with a received 29-bit CAN
|
||||
* message ID in the lsbs.
|
||||
* @param data A pointer to a buffer of 8 bytes to be populated with data
|
||||
* received with the message.
|
||||
* @param dataSize A reference to be populated with the size of the data
|
||||
* received (0 - 8 bytes).
|
||||
* @return This should return 0 if a message was populated, non-0 if no
|
||||
* message was not populated.
|
||||
*/
|
||||
virtual int32_t receiveMessage(uint32_t &messageID, uint8_t *data,
|
||||
uint8_t &dataSize) = 0;
|
||||
|
||||
#if defined(__linux)
|
||||
/**
|
||||
* This entry-point of the CANInterfacePlugin returns status of the CAN bus.
|
||||
*
|
||||
* This function may be called from multiple contexts and must therefore be
|
||||
* reentrant.
|
||||
*
|
||||
* This function will return detailed hardware status if available for
|
||||
* diagnostics of the CAN interface.
|
||||
*
|
||||
* @param busOffCount The number of times that sendMessage failed with a
|
||||
* busOff error indicating that messages
|
||||
* are not successfully transmitted on the bus.
|
||||
* @param txFullCount The number of times that sendMessage failed with a
|
||||
* txFifoFull error indicating that messages
|
||||
* are not successfully received by any CAN device.
|
||||
* @param receiveErrorCount The count of receive errors as reported by the CAN
|
||||
* driver.
|
||||
* @param transmitErrorCount The count of transmit errors as reported by the
|
||||
* CAN driver.
|
||||
* @return This should return 0 if all status was retrieved successfully or an
|
||||
* error code if not.
|
||||
*/
|
||||
virtual int32_t getStatus(uint32_t &busOffCount, uint32_t &txFullCount,
|
||||
uint32_t &receiveErrorCount,
|
||||
uint32_t &transmitErrorCount) {
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
* This function allows you to register a CANInterfacePlugin to provide access a
|
||||
* CAN bus.
|
||||
*
|
||||
* @param interface A pointer to an object that inherits from CANInterfacePlugin
|
||||
* and implements
|
||||
* the pure virtual interface. If nullptr, unregister the current plugin.
|
||||
*/
|
||||
void FRC_NetworkCommunication_CANSessionMux_registerInterface(
|
||||
CANInterfacePlugin *interface);
|
||||
|
||||
#endif // __CANInterfacePlugin_h__
|
||||
81
wpilibc/Athena/include/NetworkCommunication/CANSessionMux.h
Normal file
81
wpilibc/Athena/include/NetworkCommunication/CANSessionMux.h
Normal file
@@ -0,0 +1,81 @@
|
||||
// CANSessionMux.h
|
||||
//
|
||||
// Defines the API for building a CAN Interface Plugin to support
|
||||
// PWM-cable-free CAN motor control on FRC robots. This allows you
|
||||
// to connect any CAN interface to the secure Jaguar CAN driver.
|
||||
//
|
||||
|
||||
#ifndef __CANSessionMux_h__
|
||||
#define __CANSessionMux_h__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define CAN_SEND_PERIOD_NO_REPEAT 0
|
||||
#define CAN_SEND_PERIOD_STOP_REPEATING -1
|
||||
|
||||
/* Flags in the upper bits of the messageID */
|
||||
#define CAN_IS_FRAME_REMOTE 0x80000000
|
||||
#define CAN_IS_FRAME_11BIT 0x40000000
|
||||
|
||||
#define ERR_CANSessionMux_InvalidBuffer -44086
|
||||
#define ERR_CANSessionMux_MessageNotFound -44087
|
||||
#define WARN_CANSessionMux_NoToken 44087
|
||||
#define ERR_CANSessionMux_NotAllowed -44088
|
||||
#define ERR_CANSessionMux_NotInitialized -44089
|
||||
#define ERR_CANSessionMux_SessionOverrun 44050
|
||||
|
||||
struct tCANStreamMessage {
|
||||
uint32_t messageID;
|
||||
uint32_t timeStamp;
|
||||
uint8_t data[8];
|
||||
uint8_t dataSize;
|
||||
};
|
||||
|
||||
namespace nCANSessionMux {
|
||||
void sendMessage_wrapper(uint32_t messageID, const uint8_t *data,
|
||||
uint8_t dataSize, int32_t periodMs, int32_t *status);
|
||||
void receiveMessage_wrapper(uint32_t *messageID, uint32_t messageIDMask,
|
||||
uint8_t *data, uint8_t *dataSize,
|
||||
uint32_t *timeStamp, int32_t *status);
|
||||
void openStreamSession(uint32_t *sessionHandle, uint32_t messageID,
|
||||
uint32_t messageIDMask, uint32_t maxMessages,
|
||||
int32_t *status);
|
||||
void closeStreamSession(uint32_t sessionHandle);
|
||||
void readStreamSession(uint32_t sessionHandle,
|
||||
struct tCANStreamMessage *messages,
|
||||
uint32_t messagesToRead, uint32_t *messagesRead,
|
||||
int32_t *status);
|
||||
void getCANStatus(float *percentBusUtilization, uint32_t *busOffCount,
|
||||
uint32_t *txFullCount, uint32_t *receiveErrorCount,
|
||||
uint32_t *transmitErrorCount, int32_t *status);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void FRC_NetworkCommunication_CANSessionMux_sendMessage(uint32_t messageID,
|
||||
const uint8_t *data,
|
||||
uint8_t dataSize,
|
||||
int32_t periodMs,
|
||||
int32_t *status);
|
||||
void FRC_NetworkCommunication_CANSessionMux_receiveMessage(
|
||||
uint32_t *messageID, uint32_t messageIDMask, uint8_t *data,
|
||||
uint8_t *dataSize, uint32_t *timeStamp, int32_t *status);
|
||||
void FRC_NetworkCommunication_CANSessionMux_openStreamSession(
|
||||
uint32_t *sessionHandle, uint32_t messageID, uint32_t messageIDMask,
|
||||
uint32_t maxMessages, int32_t *status);
|
||||
void FRC_NetworkCommunication_CANSessionMux_closeStreamSession(
|
||||
uint32_t sessionHandle);
|
||||
void FRC_NetworkCommunication_CANSessionMux_readStreamSession(
|
||||
uint32_t sessionHandle, struct tCANStreamMessage *messages,
|
||||
uint32_t messagesToRead, uint32_t *messagesRead, int32_t *status);
|
||||
void FRC_NetworkCommunication_CANSessionMux_getCANStatus(
|
||||
float *percentBusUtilization, uint32_t *busOffCount, uint32_t *txFullCount,
|
||||
uint32_t *receiveErrorCount, uint32_t *transmitErrorCount, int32_t *status);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __CANSessionMux_h__
|
||||
130
wpilibc/Athena/include/NetworkCommunication/FRCComm.h
Normal file
130
wpilibc/Athena/include/NetworkCommunication/FRCComm.h
Normal file
@@ -0,0 +1,130 @@
|
||||
/*************************************************************
|
||||
* NOTICE
|
||||
*
|
||||
* These are the only externally exposed functions to the
|
||||
* NetworkCommunication library
|
||||
*
|
||||
* This is an implementation of FRC Spec for Comm Protocol
|
||||
* Revision 4.5, June 30, 2008
|
||||
*
|
||||
* Copyright (c) National Instruments 2008. All Rights Reserved.
|
||||
*
|
||||
*************************************************************/
|
||||
|
||||
#ifndef __FRC_COMM_H__
|
||||
#define __FRC_COMM_H__
|
||||
|
||||
#ifdef SIMULATION
|
||||
#include <vxWorks_compat.h>
|
||||
#ifdef USE_THRIFT
|
||||
#define EXPORT_FUNC
|
||||
#else
|
||||
#define EXPORT_FUNC __declspec(dllexport) __cdecl
|
||||
#endif
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#include <pthread.h>
|
||||
#define EXPORT_FUNC
|
||||
#endif
|
||||
|
||||
#define ERR_FRCSystem_NetCommNotResponding -44049
|
||||
#define ERR_FRCSystem_NoDSConnection -44018
|
||||
|
||||
enum AllianceStationID_t {
|
||||
kAllianceStationID_red1,
|
||||
kAllianceStationID_red2,
|
||||
kAllianceStationID_red3,
|
||||
kAllianceStationID_blue1,
|
||||
kAllianceStationID_blue2,
|
||||
kAllianceStationID_blue3,
|
||||
};
|
||||
|
||||
enum MatchType_t {
|
||||
kMatchType_none,
|
||||
kMatchType_practice,
|
||||
kMatchType_qualification,
|
||||
kMatchType_elimination,
|
||||
};
|
||||
|
||||
struct ControlWord_t {
|
||||
uint32_t enabled : 1;
|
||||
uint32_t autonomous : 1;
|
||||
uint32_t test : 1;
|
||||
uint32_t eStop : 1;
|
||||
uint32_t fmsAttached : 1;
|
||||
uint32_t dsAttached : 1;
|
||||
uint32_t control_reserved : 26;
|
||||
};
|
||||
|
||||
struct JoystickAxes_t {
|
||||
uint16_t count;
|
||||
int16_t axes[1];
|
||||
};
|
||||
|
||||
struct JoystickPOV_t {
|
||||
uint16_t count;
|
||||
int16_t povs[1];
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
int EXPORT_FUNC FRC_NetworkCommunication_Reserve(void *instance);
|
||||
#ifndef SIMULATION
|
||||
void EXPORT_FUNC
|
||||
getFPGAHardwareVersion(uint16_t *fpgaVersion, uint32_t *fpgaRevision);
|
||||
#endif
|
||||
int EXPORT_FUNC setStatusData(float battery, uint8_t dsDigitalOut,
|
||||
uint8_t updateNumber, const char *userDataHigh,
|
||||
int userDataHighLength, const char *userDataLow,
|
||||
int userDataLowLength, int wait_ms);
|
||||
int EXPORT_FUNC setErrorData(const char *errors, int errorsLength, int wait_ms);
|
||||
|
||||
#ifdef SIMULATION
|
||||
void EXPORT_FUNC setNewDataSem(HANDLE);
|
||||
#else
|
||||
void EXPORT_FUNC setNewDataSem(pthread_cond_t *);
|
||||
#endif
|
||||
|
||||
// this uint32_t is really a LVRefNum
|
||||
int EXPORT_FUNC setNewDataOccurRef(uint32_t refnum);
|
||||
|
||||
int EXPORT_FUNC
|
||||
FRC_NetworkCommunication_getControlWord(struct ControlWord_t *controlWord);
|
||||
int EXPORT_FUNC FRC_NetworkCommunication_getAllianceStation(
|
||||
enum AllianceStationID_t *allianceStation);
|
||||
int EXPORT_FUNC FRC_NetworkCommunication_getMatchTime(float *matchTime);
|
||||
int EXPORT_FUNC
|
||||
FRC_NetworkCommunication_getJoystickAxes(uint8_t joystickNum,
|
||||
struct JoystickAxes_t *axes,
|
||||
uint8_t maxAxes);
|
||||
int EXPORT_FUNC FRC_NetworkCommunication_getJoystickButtons(uint8_t joystickNum,
|
||||
uint32_t *buttons,
|
||||
uint8_t *count);
|
||||
int EXPORT_FUNC
|
||||
FRC_NetworkCommunication_getJoystickPOVs(uint8_t joystickNum,
|
||||
struct JoystickPOV_t *povs,
|
||||
uint8_t maxPOVs);
|
||||
int EXPORT_FUNC
|
||||
FRC_NetworkCommunication_setJoystickOutputs(uint8_t joystickNum,
|
||||
uint32_t hidOutputs,
|
||||
uint16_t leftRumble,
|
||||
uint16_t rightRumble);
|
||||
int EXPORT_FUNC
|
||||
FRC_NetworkCommunication_getJoystickDesc(uint8_t joystickNum, uint8_t *isXBox,
|
||||
uint8_t *type, char *name,
|
||||
uint8_t *axisCount, uint8_t *axisTypes,
|
||||
uint8_t *buttonCount,
|
||||
uint8_t *povCount);
|
||||
|
||||
void EXPORT_FUNC FRC_NetworkCommunication_getVersionString(char *version);
|
||||
int EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramStarting(void);
|
||||
void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramDisabled(void);
|
||||
void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramAutonomous(void);
|
||||
void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramTeleop(void);
|
||||
void EXPORT_FUNC FRC_NetworkCommunication_observeUserProgramTest(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
57
wpilibc/Athena/include/NetworkCommunication/LoadOut.h
Normal file
57
wpilibc/Athena/include/NetworkCommunication/LoadOut.h
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
#ifndef __LoadOut_h__
|
||||
#define __LoadOut_h__
|
||||
|
||||
#ifdef SIMULATION
|
||||
#include <vxWorks_compat.h>
|
||||
#define EXPORT_FUNC __declspec(dllexport) __cdecl
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#define EXPORT_FUNC
|
||||
#endif
|
||||
|
||||
#define kMaxModuleNumber 2
|
||||
namespace nLoadOut {
|
||||
#if defined(SIMULATION)
|
||||
typedef enum {
|
||||
kModuleType_Unknown = 0x00,
|
||||
kModuleType_Analog = 0x01,
|
||||
kModuleType_Digital = 0x02,
|
||||
kModuleType_Solenoid = 0x03,
|
||||
} tModuleType;
|
||||
bool EXPORT_FUNC
|
||||
getModulePresence(tModuleType moduleType, uint8_t moduleNumber);
|
||||
#endif
|
||||
typedef enum {
|
||||
kTargetClass_Unknown = 0x00,
|
||||
kTargetClass_FRC1 = 0x10,
|
||||
kTargetClass_FRC2 = 0x20,
|
||||
kTargetClass_FRC3 = 0x30,
|
||||
kTargetClass_RoboRIO = 0x40,
|
||||
#if defined(SIMULATION)
|
||||
kTargetClass_FRC2_Analog = kTargetClass_FRC2 | kModuleType_Analog,
|
||||
kTargetClass_FRC2_Digital = kTargetClass_FRC2 | kModuleType_Digital,
|
||||
kTargetClass_FRC2_Solenoid = kTargetClass_FRC2 | kModuleType_Solenoid,
|
||||
#endif
|
||||
kTargetClass_FamilyMask = 0xF0,
|
||||
kTargetClass_ModuleMask = 0x0F,
|
||||
} tTargetClass;
|
||||
tTargetClass EXPORT_FUNC getTargetClass();
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(SIMULATION)
|
||||
uint32_t EXPORT_FUNC
|
||||
FRC_NetworkCommunication_nLoadOut_getModulePresence(uint32_t moduleType,
|
||||
uint8_t moduleNumber);
|
||||
#endif
|
||||
uint32_t EXPORT_FUNC FRC_NetworkCommunication_nLoadOut_getTargetClass();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __LoadOut_h__
|
||||
145
wpilibc/Athena/include/NetworkCommunication/UsageReporting.h
Normal file
145
wpilibc/Athena/include/NetworkCommunication/UsageReporting.h
Normal file
@@ -0,0 +1,145 @@
|
||||
|
||||
#ifndef __UsageReporting_h__
|
||||
#define __UsageReporting_h__
|
||||
|
||||
#ifdef SIMULATION
|
||||
#include <vxWorks_compat.h>
|
||||
#define EXPORT_FUNC __declspec(dllexport) __cdecl
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#define EXPORT_FUNC
|
||||
#endif
|
||||
|
||||
#define kUsageReporting_version 1
|
||||
|
||||
namespace nUsageReporting {
|
||||
typedef enum {
|
||||
kResourceType_Controller,
|
||||
kResourceType_Module,
|
||||
kResourceType_Language,
|
||||
kResourceType_CANPlugin,
|
||||
kResourceType_Accelerometer,
|
||||
kResourceType_ADXL345,
|
||||
kResourceType_AnalogChannel,
|
||||
kResourceType_AnalogTrigger,
|
||||
kResourceType_AnalogTriggerOutput,
|
||||
kResourceType_CANJaguar,
|
||||
kResourceType_Compressor,
|
||||
kResourceType_Counter,
|
||||
kResourceType_Dashboard,
|
||||
kResourceType_DigitalInput,
|
||||
kResourceType_DigitalOutput,
|
||||
kResourceType_DriverStationCIO,
|
||||
kResourceType_DriverStationEIO,
|
||||
kResourceType_DriverStationLCD,
|
||||
kResourceType_Encoder,
|
||||
kResourceType_GearTooth,
|
||||
kResourceType_Gyro,
|
||||
kResourceType_I2C,
|
||||
kResourceType_Framework,
|
||||
kResourceType_Jaguar,
|
||||
kResourceType_Joystick,
|
||||
kResourceType_Kinect,
|
||||
kResourceType_KinectStick,
|
||||
kResourceType_PIDController,
|
||||
kResourceType_Preferences,
|
||||
kResourceType_PWM,
|
||||
kResourceType_Relay,
|
||||
kResourceType_RobotDrive,
|
||||
kResourceType_SerialPort,
|
||||
kResourceType_Servo,
|
||||
kResourceType_Solenoid,
|
||||
kResourceType_SPI,
|
||||
kResourceType_Task,
|
||||
kResourceType_Ultrasonic,
|
||||
kResourceType_Victor,
|
||||
kResourceType_Button,
|
||||
kResourceType_Command,
|
||||
kResourceType_AxisCamera,
|
||||
kResourceType_PCVideoServer,
|
||||
kResourceType_SmartDashboard,
|
||||
kResourceType_Talon,
|
||||
kResourceType_HiTechnicColorSensor,
|
||||
kResourceType_HiTechnicAccel,
|
||||
kResourceType_HiTechnicCompass,
|
||||
kResourceType_SRF08,
|
||||
kResourceType_AnalogOutput,
|
||||
kResourceType_VictorSP,
|
||||
kResourceType_TalonSRX,
|
||||
kResourceType_CANTalonSRX,
|
||||
} tResourceType;
|
||||
|
||||
typedef enum {
|
||||
kLanguage_LabVIEW = 1,
|
||||
kLanguage_CPlusPlus = 2,
|
||||
kLanguage_Java = 3,
|
||||
kLanguage_Python = 4,
|
||||
|
||||
kCANPlugin_BlackJagBridge = 1,
|
||||
kCANPlugin_2CAN = 2,
|
||||
|
||||
kFramework_Iterative = 1,
|
||||
kFramework_Simple = 2,
|
||||
|
||||
kRobotDrive_ArcadeStandard = 1,
|
||||
kRobotDrive_ArcadeButtonSpin = 2,
|
||||
kRobotDrive_ArcadeRatioCurve = 3,
|
||||
kRobotDrive_Tank = 4,
|
||||
kRobotDrive_MecanumPolar = 5,
|
||||
kRobotDrive_MecanumCartesian = 6,
|
||||
|
||||
kDriverStationCIO_Analog = 1,
|
||||
kDriverStationCIO_DigitalIn = 2,
|
||||
kDriverStationCIO_DigitalOut = 3,
|
||||
|
||||
kDriverStationEIO_Acceleration = 1,
|
||||
kDriverStationEIO_AnalogIn = 2,
|
||||
kDriverStationEIO_AnalogOut = 3,
|
||||
kDriverStationEIO_Button = 4,
|
||||
kDriverStationEIO_LED = 5,
|
||||
kDriverStationEIO_DigitalIn = 6,
|
||||
kDriverStationEIO_DigitalOut = 7,
|
||||
kDriverStationEIO_FixedDigitalOut = 8,
|
||||
kDriverStationEIO_PWM = 9,
|
||||
kDriverStationEIO_Encoder = 10,
|
||||
kDriverStationEIO_TouchSlider = 11,
|
||||
|
||||
kADXL345_SPI = 1,
|
||||
kADXL345_I2C = 2,
|
||||
|
||||
kCommand_Scheduler = 1,
|
||||
|
||||
kSmartDashboard_Instance = 1,
|
||||
} tInstances;
|
||||
|
||||
/**
|
||||
* Report the usage of a resource of interest.
|
||||
*
|
||||
* @param resource one of the values in the tResourceType above (max value 51).
|
||||
* @param instanceNumber an index that identifies the resource instance.
|
||||
* @param context an optional additional context number for some cases (such as
|
||||
* module number). Set to 0 to omit.
|
||||
* @param feature a string to be included describing features in use on a
|
||||
* specific resource. Setting the same resource more than once allows you to
|
||||
* change the feature string.
|
||||
*/
|
||||
uint32_t EXPORT_FUNC report(tResourceType resource, uint8_t instanceNumber,
|
||||
uint8_t context = 0, const char *feature = nullptr);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
uint32_t EXPORT_FUNC
|
||||
FRC_NetworkCommunication_nUsageReporting_report(uint8_t resource,
|
||||
uint8_t instanceNumber,
|
||||
uint8_t context,
|
||||
const char *feature);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __UsageReporting_h__
|
||||
19
wpilibc/Athena/include/NetworkCommunication/symModuleLink.h
Normal file
19
wpilibc/Athena/include/NetworkCommunication/symModuleLink.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef __SYM_MODULE_LINK_H__
|
||||
#define __SYM_MODULE_LINK_H__
|
||||
|
||||
#include "HAL/HAL.hpp"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern STATUS moduleNameFindBySymbolName(
|
||||
const char* symbol, /* symbol name to look for */
|
||||
char* module /* where to return module name */
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user