WPILib 2012
WPILibRoboticsLibraryforFRC
NetworkCommunication/UsageReporting.h
00001 
00002 #ifndef __UsageReporting_h__
00003 #define __UsageReporting_h__
00004 
00005 #include <vxWorks.h>
00006 
00007 #define kUsageReporting_version 1
00008 
00009 namespace nUsageReporting
00010 {
00011     typedef enum
00012     {
00013         kResourceType_Controller,
00014         kResourceType_Module,
00015         kResourceType_Language,
00016         kResourceType_CANPlugin,
00017         kResourceType_Accelerometer,
00018         kResourceType_ADXL345,
00019         kResourceType_AnalogChannel,
00020         kResourceType_AnalogTrigger,
00021         kResourceType_AnalogTriggerOutput,
00022         kResourceType_CANJaguar,
00023         kResourceType_Compressor,
00024         kResourceType_Counter,
00025         kResourceType_Dashboard,
00026         kResourceType_DigitalInput,
00027         kResourceType_DigitalOutput,
00028         kResourceType_DriverStationCIO,
00029         kResourceType_DriverStationEIO,
00030         kResourceType_DriverStationLCD,
00031         kResourceType_Encoder,
00032         kResourceType_GearTooth,
00033         kResourceType_Gyro,
00034         kResourceType_I2C,
00035         kResourceType_Framework,
00036         kResourceType_Jaguar,
00037         kResourceType_Joystick,
00038         kResourceType_Kinect,
00039         kResourceType_KinectStick,
00040         kResourceType_PIDController,
00041         kResourceType_Preferences,
00042         kResourceType_PWM,
00043         kResourceType_Relay,
00044         kResourceType_RobotDrive,
00045         kResourceType_SerialPort,
00046         kResourceType_Servo,
00047         kResourceType_Solenoid,
00048         kResourceType_SPI,
00049         kResourceType_Task,
00050         kResourceType_Ultrasonic,
00051         kResourceType_Victor,
00052         kResourceType_Button,
00053         kResourceType_Command,
00054         kResourceType_AxisCamera,
00055         kResourceType_PCVideoServer,
00056         kResourceType_SmartDashboard,
00057     } tResourceType;
00058 
00059     typedef enum
00060     {
00061         kLanguage_LabVIEW = 1,
00062         kLanguage_CPlusPlus = 2,
00063         kLanguage_Java = 3,
00064         kLanguage_Python = 4,
00065 
00066         kCANPlugin_BlackJagBridge = 1,
00067         kCANPlugin_2CAN = 2,
00068 
00069         kFramework_Iterative = 1,
00070         kFramework_Simple = 2,
00071     } tInstances;
00072 
00081     UINT32 report(tResourceType resource, UINT8 instanceNumber, UINT8 context = 0, const char *feature = NULL);
00082 }
00083 
00084 #ifdef __cplusplus
00085 extern "C" {
00086 #endif
00087 
00088     UINT32 FRC_NetworkCommunication_nUsageReporting_report(UINT8 resource, UINT8 instanceNumber, UINT8 context, const char *feature);
00089 
00090 #ifdef __cplusplus
00091 }
00092 #endif
00093 
00094 #endif // __UsageReporting_h__
 All Classes Functions Variables