// Modified from WPILib version: /*----------------------------------------------------------------------------*/ /* Copyright (c) FIRST 2016. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ /*----------------------------------------------------------------------------*/ package edu.wpi.first.wpilibj.communication; import java.nio.ByteBuffer; import edu.wpi.first.wpilibj.hal.JNIWrapper; @SuppressWarnings("javadoc") public class FRCNetworkCommunicationsLibrary extends JNIWrapper { public static interface tTargetClass { public static final int kTargetClass_Unknown = 0x00; public static final int kTargetClass_FRC1 = 0x10; public static final int kTargetClass_FRC2 = 0x20; public static final int kTargetClass_FRC3 = 0x30; public static final int kTargetClass_RoboRIO = 0x40; public static final int kTargetClass_FamilyMask = 0xF0; public static final int kTargetClass_ModuleMask = 0x0F; }; public static interface tResourceType { public static final int kResourceType_Controller = 0; public static final int kResourceType_Module = 1; public static final int kResourceType_Language = 2; public static final int kResourceType_CANPlugin = 3; public static final int kResourceType_Accelerometer = 4; public static final int kResourceType_ADXL345 = 5; public static final int kResourceType_AnalogChannel = 6; public static final int kResourceType_AnalogTrigger = 7; public static final int kResourceType_AnalogTriggerOutput = 8; public static final int kResourceType_CANJaguar = 9; public static final int kResourceType_Compressor = 10; public static final int kResourceType_Counter = 11; public static final int kResourceType_Dashboard = 12; public static final int kResourceType_DigitalInput = 13; public static final int kResourceType_DigitalOutput = 14; public static final int kResourceType_DriverStationCIO = 15; public static final int kResourceType_DriverStationEIO = 16; public static final int kResourceType_DriverStationLCD = 17; public static final int kResourceType_Encoder = 18; public static final int kResourceType_GearTooth = 19; public static final int kResourceType_Gyro = 20; public static final int kResourceType_I2C = 21; public static final int kResourceType_Framework = 22; public static final int kResourceType_Jaguar = 23; public static final int kResourceType_Joystick = 24; public static final int kResourceType_Kinect = 25; public static final int kResourceType_KinectStick = 26; public static final int kResourceType_PIDController = 27; public static final int kResourceType_Preferences = 28; public static final int kResourceType_PWM = 29; public static final int kResourceType_Relay = 30; public static final int kResourceType_RobotDrive = 31; public static final int kResourceType_SerialPort = 32; public static final int kResourceType_Servo = 33; public static final int kResourceType_Solenoid = 34; public static final int kResourceType_SPI = 35; public static final int kResourceType_Task = 36; public static final int kResourceType_Ultrasonic = 37; public static final int kResourceType_Victor = 38; public static final int kResourceType_Button = 39; public static final int kResourceType_Command = 40; public static final int kResourceType_AxisCamera = 41; public static final int kResourceType_PCVideoServer = 42; public static final int kResourceType_SmartDashboard = 43; public static final int kResourceType_Talon = 44; public static final int kResourceType_HiTechnicColorSensor = 45; public static final int kResourceType_HiTechnicAccel = 46; public static final int kResourceType_HiTechnicCompass = 47; public static final int kResourceType_SRF08 = 48; }; public static interface tInstances { public static final int kLanguage_LabVIEW = 1; public static final int kLanguage_CPlusPlus = 2; public static final int kLanguage_Java = 3; public static final int kLanguage_Python = 4; public static final int kCANPlugin_BlackJagBridge = 1; public static final int kCANPlugin_2CAN = 2; public static final int kFramework_Iterative = 1; public static final int kFramework_Simple = 2; public static final int kRobotDrive_ArcadeStandard = 1; public static final int kRobotDrive_ArcadeButtonSpin = 2; public static final int kRobotDrive_ArcadeRatioCurve = 3; public static final int kRobotDrive_Tank = 4; public static final int kRobotDrive_MecanumPolar = 5; public static final int kRobotDrive_MecanumCartesian = 6; public static final int kDriverStationCIO_Analog = 1; public static final int kDriverStationCIO_DigitalIn = 2; public static final int kDriverStationCIO_DigitalOut = 3; public static final int kDriverStationEIO_Acceleration = 1; public static final int kDriverStationEIO_AnalogIn = 2; public static final int kDriverStationEIO_AnalogOut = 3; public static final int kDriverStationEIO_Button = 4; public static final int kDriverStationEIO_LED = 5; public static final int kDriverStationEIO_DigitalIn = 6; public static final int kDriverStationEIO_DigitalOut = 7; public static final int kDriverStationEIO_FixedDigitalOut = 8; public static final int kDriverStationEIO_PWM = 9; public static final int kDriverStationEIO_Encoder = 10; public static final int kDriverStationEIO_TouchSlider = 11; public static final int kADXL345_SPI = 1; public static final int kADXL345_I2C = 2; public static final int kCommand_Scheduler = 1; public static final int kSmartDashboard_Instance = 1; }; public static native int FRCNetworkCommunicationUsageReportingReport(byte resource, byte instanceNumber, byte context, String feature); public static native void setNewDataSem(long mutexId); public static native void FRCNetworkCommunicationObserveUserProgramStarting(); public static native void FRCNetworkCommunicationObserveUserProgramDisabled(); public static native void FRCNetworkCommunicationObserveUserProgramAutonomous(); public static native void FRCNetworkCommunicationObserveUserProgramTeleop(); public static native void FRCNetworkCommunicationObserveUserProgramTest(); public static native void FRCNetworkCommunicationReserve(); public static final int HAL_ENABLED = 1 << 0, HAL_AUTONOMOUS = 1 << 1, HAL_TEST = 1 << 2, HAL_ESTOP = 1 << 3, HAL_FMS_ATTACHED = 1 << 4, HAL_DS_ATTACHED = 1 << 5; public static native int NativeHALGetControlWord(); // 0 = Red1, Red2, Red3, Blue1, Blue2, Blue3, else null public static native int NativeHALGetAllianceStation(); public static int kMaxJoystickAxes = 12; public static int kMaxJoystickPOVs = 12; public static native short[] HALGetJoystickAxes(byte joystickNum); public static native short[] HALGetJoystickPOVs(byte joystickNum); public static native int HALGetJoystickButtons(byte joystickNum, ByteBuffer count); public static native int HALSetJoystickOutputs(byte joystickNum, int outputs, short leftRumble, short rightRumble); public static native int HALGetJoystickIsXbox(byte joystickNum); public static native int HALGetJoystickType(byte joystickNum); public static native String HALGetJoystickName(byte joystickNum); public static native int HALGetJoystickAxisType(byte joystickNum, byte axis); public static native float HALGetMatchTime(); public static native boolean HALGetSystemActive(); public static native boolean HALGetBrownedOut(); public static native int HALSetErrorData(String error); }