001package edu.wpi.first.wpilibj.communication; 002 003import java.nio.ByteBuffer; 004import java.nio.IntBuffer; 005import java.nio.ShortBuffer; 006 007import edu.wpi.first.wpilibj.hal.JNIWrapper; 008/** 009 * JNA Wrapper for library <b>FRC_NetworkCommunications</b><br> 010 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br> 011 * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br> 012 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>. 013 */ 014public class FRCNetworkCommunicationsLibrary extends JNIWrapper { 015 //public static final String JNA_LIBRARY_NAME = LibraryExtractor.getLibraryPath("FRC_NetworkCommunications", true, FRC_NetworkCommunicationsLibrary.class); 016 //public static final NativeLibrary JNA_NATIVE_LIB = NativeLibrary.getInstance(FRC_NetworkCommunicationsLibrary.JNA_LIBRARY_NAME, MangledFunctionMapper.DEFAULT_OPTIONS); 017 //static { 018 //System.loadLibrary("JNIWrappers"); 019 //Native.register(FRC_NetworkCommunicationsLibrary.class, FRC_NetworkCommunicationsLibrary.JNA_NATIVE_LIB); 020 //} 021 /** 022 * <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h</i><br> 023 * enum values 024 */ 025 public static interface tModuleType { 026 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:9</i> */ 027 public static final int kModuleType_Unknown = 0x00; 028 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:10</i> */ 029 public static final int kModuleType_Analog = 0x01; 030 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:11</i> */ 031 public static final int kModuleType_Digital = 0x02; 032 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:12</i> */ 033 public static final int kModuleType_Solenoid = 0x03; 034 }; 035 /** 036 * <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h</i><br> 037 * enum values 038 */ 039 public static interface tTargetClass { 040 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:16</i> */ 041 public static final int kTargetClass_Unknown = 0x00; 042 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:17</i> */ 043 public static final int kTargetClass_FRC1 = 0x10; 044 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:18</i> */ 045 public static final int kTargetClass_FRC2 = 0x20; 046 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:19</i> */ 047 public static final int kTargetClass_FRC2_Analog = (int)FRCNetworkCommunicationsLibrary.tTargetClass.kTargetClass_FRC2 | (int)FRCNetworkCommunicationsLibrary.tModuleType.kModuleType_Analog; 048 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:20</i> */ 049 public static final int kTargetClass_FRC2_Digital = (int)FRCNetworkCommunicationsLibrary.tTargetClass.kTargetClass_FRC2 | (int)FRCNetworkCommunicationsLibrary.tModuleType.kModuleType_Digital; 050 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:21</i> */ 051 public static final int kTargetClass_FRC2_Solenoid = (int)FRCNetworkCommunicationsLibrary.tTargetClass.kTargetClass_FRC2 | (int)FRCNetworkCommunicationsLibrary.tModuleType.kModuleType_Solenoid; 052 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:22</i> */ 053 public static final int kTargetClass_FamilyMask = 0xF0; 054 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:23</i> */ 055 public static final int kTargetClass_ModuleMask = 0x0F; 056 }; 057 /** 058 * <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h</i><br> 059 * enum values 060 */ 061 public static interface tResourceType { 062 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:10</i> */ 063 public static final int kResourceType_Controller = 0; 064 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:11</i> */ 065 public static final int kResourceType_Module = 1; 066 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:12</i> */ 067 public static final int kResourceType_Language = 2; 068 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:13</i> */ 069 public static final int kResourceType_CANPlugin = 3; 070 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:14</i> */ 071 public static final int kResourceType_Accelerometer = 4; 072 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:15</i> */ 073 public static final int kResourceType_ADXL345 = 5; 074 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:16</i> */ 075 public static final int kResourceType_AnalogChannel = 6; 076 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:17</i> */ 077 public static final int kResourceType_AnalogTrigger = 7; 078 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:18</i> */ 079 public static final int kResourceType_AnalogTriggerOutput = 8; 080 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:19</i> */ 081 public static final int kResourceType_CANJaguar = 9; 082 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:20</i> */ 083 public static final int kResourceType_Compressor = 10; 084 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:21</i> */ 085 public static final int kResourceType_Counter = 11; 086 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:22</i> */ 087 public static final int kResourceType_Dashboard = 12; 088 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:23</i> */ 089 public static final int kResourceType_DigitalInput = 13; 090 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:24</i> */ 091 public static final int kResourceType_DigitalOutput = 14; 092 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:25</i> */ 093 public static final int kResourceType_DriverStationCIO = 15; 094 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:26</i> */ 095 public static final int kResourceType_DriverStationEIO = 16; 096 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:27</i> */ 097 public static final int kResourceType_DriverStationLCD = 17; 098 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:28</i> */ 099 public static final int kResourceType_Encoder = 18; 100 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:29</i> */ 101 public static final int kResourceType_GearTooth = 19; 102 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:30</i> */ 103 public static final int kResourceType_Gyro = 20; 104 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:31</i> */ 105 public static final int kResourceType_I2C = 21; 106 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:32</i> */ 107 public static final int kResourceType_Framework = 22; 108 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:33</i> */ 109 public static final int kResourceType_Jaguar = 23; 110 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:34</i> */ 111 public static final int kResourceType_Joystick = 24; 112 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:35</i> */ 113 public static final int kResourceType_Kinect = 25; 114 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:36</i> */ 115 public static final int kResourceType_KinectStick = 26; 116 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:37</i> */ 117 public static final int kResourceType_PIDController = 27; 118 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:38</i> */ 119 public static final int kResourceType_Preferences = 28; 120 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:39</i> */ 121 public static final int kResourceType_PWM = 29; 122 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:40</i> */ 123 public static final int kResourceType_Relay = 30; 124 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:41</i> */ 125 public static final int kResourceType_RobotDrive = 31; 126 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:42</i> */ 127 public static final int kResourceType_SerialPort = 32; 128 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:43</i> */ 129 public static final int kResourceType_Servo = 33; 130 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:44</i> */ 131 public static final int kResourceType_Solenoid = 34; 132 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:45</i> */ 133 public static final int kResourceType_SPI = 35; 134 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:46</i> */ 135 public static final int kResourceType_Task = 36; 136 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:47</i> */ 137 public static final int kResourceType_Ultrasonic = 37; 138 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:48</i> */ 139 public static final int kResourceType_Victor = 38; 140 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:49</i> */ 141 public static final int kResourceType_Button = 39; 142 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:50</i> */ 143 public static final int kResourceType_Command = 40; 144 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:51</i> */ 145 public static final int kResourceType_AxisCamera = 41; 146 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:52</i> */ 147 public static final int kResourceType_PCVideoServer = 42; 148 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:53</i> */ 149 public static final int kResourceType_SmartDashboard = 43; 150 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:54</i> */ 151 public static final int kResourceType_Talon = 44; 152 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:55</i> */ 153 public static final int kResourceType_HiTechnicColorSensor = 45; 154 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:56</i> */ 155 public static final int kResourceType_HiTechnicAccel = 46; 156 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:57</i> */ 157 public static final int kResourceType_HiTechnicCompass = 47; 158 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:58</i> */ 159 public static final int kResourceType_SRF08 = 48; 160 }; 161 /** 162 * <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h</i><br> 163 * enum values 164 */ 165 public static interface tInstances { 166 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:63</i> */ 167 public static final int kLanguage_LabVIEW = 1; 168 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:64</i> */ 169 public static final int kLanguage_CPlusPlus = 2; 170 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:65</i> */ 171 public static final int kLanguage_Java = 3; 172 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:66</i> */ 173 public static final int kLanguage_Python = 4; 174 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:68</i> */ 175 public static final int kCANPlugin_BlackJagBridge = 1; 176 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:69</i> */ 177 public static final int kCANPlugin_2CAN = 2; 178 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:71</i> */ 179 public static final int kFramework_Iterative = 1; 180 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:72</i> */ 181 public static final int kFramework_Simple = 2; 182 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:74</i> */ 183 public static final int kRobotDrive_ArcadeStandard = 1; 184 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:75</i> */ 185 public static final int kRobotDrive_ArcadeButtonSpin = 2; 186 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:76</i> */ 187 public static final int kRobotDrive_ArcadeRatioCurve = 3; 188 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:77</i> */ 189 public static final int kRobotDrive_Tank = 4; 190 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:78</i> */ 191 public static final int kRobotDrive_MecanumPolar = 5; 192 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:79</i> */ 193 public static final int kRobotDrive_MecanumCartesian = 6; 194 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:81</i> */ 195 public static final int kDriverStationCIO_Analog = 1; 196 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:82</i> */ 197 public static final int kDriverStationCIO_DigitalIn = 2; 198 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:83</i> */ 199 public static final int kDriverStationCIO_DigitalOut = 3; 200 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:85</i> */ 201 public static final int kDriverStationEIO_Acceleration = 1; 202 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:86</i> */ 203 public static final int kDriverStationEIO_AnalogIn = 2; 204 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:87</i> */ 205 public static final int kDriverStationEIO_AnalogOut = 3; 206 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:88</i> */ 207 public static final int kDriverStationEIO_Button = 4; 208 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:89</i> */ 209 public static final int kDriverStationEIO_LED = 5; 210 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:90</i> */ 211 public static final int kDriverStationEIO_DigitalIn = 6; 212 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:91</i> */ 213 public static final int kDriverStationEIO_DigitalOut = 7; 214 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:92</i> */ 215 public static final int kDriverStationEIO_FixedDigitalOut = 8; 216 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:93</i> */ 217 public static final int kDriverStationEIO_PWM = 9; 218 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:94</i> */ 219 public static final int kDriverStationEIO_Encoder = 10; 220 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:95</i> */ 221 public static final int kDriverStationEIO_TouchSlider = 11; 222 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:97</i> */ 223 public static final int kADXL345_SPI = 1; 224 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:98</i> */ 225 public static final int kADXL345_I2C = 2; 226 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:100</i> */ 227 public static final int kCommand_Scheduler = 1; 228 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:102</i> */ 229 public static final int kSmartDashboard_Instance = 1; 230 }; 231 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 232 public static final int kFRC_NetworkCommunication_DynamicType_DSEnhancedIO_Input = 17; 233 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 234 public static final int kFRC_NetworkCommunication_DynamicType_Kinect_Vertices1 = 21; 235 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 236 public static final int SYS_STATUS_DATA_SIZE = 44; 237 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 238 public static final int kFRC_NetworkCommunication_DynamicType_Kinect_Custom = 25; 239 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 240 public static final int kFRC_NetworkCommunication_DynamicType_Kinect_Vertices2 = 23; 241 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 242 public static final int kFRC_NetworkCommunication_DynamicType_Kinect_Header = 19; 243 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 244 public static final int kFRC_NetworkCommunication_DynamicType_Kinect_Joystick = 24; 245 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 246 public static final int IO_CONFIG_DATA_SIZE = 32; 247 /** <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h</i> */ 248 public static final int kMaxModuleNumber = 2; 249 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 250 public static final int kFRC_NetworkCommunication_DynamicType_DSEnhancedIO_Output = 18; 251 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 252 public static final int kFRC_NetworkCommunication_DynamicType_Kinect_Extra2 = 22; 253 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 254 public static final int kFRC_NetworkCommunication_DynamicType_Kinect_Extra1 = 20; 255 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 256 public static final int USER_DS_LCD_DATA_SIZE = 128; 257 /** <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h</i> */ 258 public static final int kUsageReporting_version = 1; 259 /** <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h</i> */ 260 public static final int USER_STATUS_DATA_SIZE = (984 - 32 - 44); 261 /** 262 * Original signature : <code>uint32_t FRC_NetworkCommunication_nAICalibration_getLSBWeight(const uint32_t, const uint32_t, int32_t*)</code><br> 263 * <i>native declaration : src\main\include\NetworkCommunication\AICalibration.h:7</i><br> 264 * @deprecated use the safer methods {@link #FRC_NetworkCommunication_nAICalibration_getLSBWeight(int, int, java.nio.IntBuffer)} and {@link #FRC_NetworkCommunication_nAICalibration_getLSBWeight(int, int, com.sun.jna.ptr.IntByReference)} instead 265 */ 266 //@Deprecated 267 //public static native int FRC_NetworkCommunication_nAICalibration_getLSBWeight(int aiSystemIndex, int channel, Integer status); 268 /** 269 * Original signature : <code>uint32_t FRC_NetworkCommunication_nAICalibration_getLSBWeight(const uint32_t, const uint32_t, int32_t*)</code><br> 270 * <i>native declaration : src\main\include\NetworkCommunication\AICalibration.h:7</i> 271 */ 272 public static native int FRCNetworkCommunicationAICalibrationGetLSBWeight(int aiSystemIndex, int channel, Integer status); 273 /** 274 * Original signature : <code>int32_t FRC_NetworkCommunication_nAICalibration_getOffset(const uint32_t, const uint32_t, int32_t*)</code><br> 275 * <i>native declaration : src\main\include\NetworkCommunication\AICalibration.h:8</i><br> 276 * @deprecated use the safer methods {@link #FRC_NetworkCommunication_nAICalibration_getOffset(int, int, java.nio.IntBuffer)} and {@link #FRC_NetworkCommunication_nAICalibration_getOffset(int, int, com.sun.jna.ptr.IntByReference)} instead 277 */ 278 //@Deprecated 279 //public static native int FRC_NetworkCommunication_nAICalibration_getOffset(int aiSystemIndex, int channel, Integer status); 280 /** 281 * Original signature : <code>int32_t FRC_NetworkCommunication_nAICalibration_getOffset(const uint32_t, const uint32_t, int32_t*)</code><br> 282 * <i>native declaration : src\main\include\NetworkCommunication\AICalibration.h:8</i> 283 */ 284 public static native int FRCNetworkCommunicationAICalibrationGetOffset(int aiSystemIndex, int channel, Integer status); 285 /** 286 * Original signature : <code>tTargetClass getTargetClass()</code><br> 287 * <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:25</i> 288 */ 289 public static native int getTargetClass(); 290 /** 291 * Original signature : <code>uint32_t FRC_NetworkCommunication_nLoadOut_getModulePresence(uint32_t, uint8_t)</code><br> 292 * <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:32</i> 293 */ 294 public static native int FRCNetworkCommunicationLoadOutGetModulePresence(int moduleType, byte moduleNumber); 295 /** 296 * Original signature : <code>uint32_t FRC_NetworkCommunication_nLoadOut_getTargetClass()</code><br> 297 * <i>native declaration : src\main\include\NetworkCommunication\LoadOut.h:33</i> 298 */ 299 public static native int FRCNetworkCommunicationLoadOutGetTargetClass(); 300 /** 301 * Original signature : <code>STATUS moduleNameFindBySymbolName(const char*, char*)</code><br> 302 * @param symbol symbol name to look for<br> 303 * @param module where to return module name<br> 304 * <i>native declaration : src\main\include\NetworkCommunication\symModuleLink.h:6</i><br> 305 * @deprecated use the safer methods {@link #moduleNameFindBySymbolName(java.lang.String, java.nio.ByteBuffer)} and {@link #moduleNameFindBySymbolName(com.sun.jna.Pointer, com.sun.jna.Pointer)} instead 306 */ 307 //@Deprecated 308 //public static native FRC_NetworkCommunicationsLibrary.STATUS moduleNameFindBySymbolName(Pointer symbol, Pointer module); 309 /** 310 * Original signature : <code>STATUS moduleNameFindBySymbolName(const char*, char*)</code><br> 311 * @param symbol symbol name to look for<br> 312 * @param module where to return module name<br> 313 * <i>native declaration : src\main\include\NetworkCommunication\symModuleLink.h:6</i> 314 */ 315 //public static native FRC_NetworkCommunicationsLibrary.STATUS moduleNameFindBySymbolName(String symbol, ByteBuffer module); 316 /** 317 * Report the usage of a resource of interest. 318<br> 319 * 320<br> 321 * @param resource one of the values in the tResourceType above (max value 51). 322<br> 323 * @param instanceNumber an index that identifies the resource instance. 324<br> 325 * @param context an optional additional context number for some cases (such as module number). Set to 0 to omit. 326<br> 327 * @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.<br> 328 * Original signature : <code>uint32_t report(tResourceType, uint8_t, uint8_t, const char*)</code><br> 329 * <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:113</i><br> 330 * @deprecated use the safer methods {@link #report(int, byte, byte, java.lang.String)} and {@link #report(int, byte, byte, com.sun.jna.Pointer)} instead 331 */ 332 //@Deprecated 333 //public static native int report(int resource, byte instanceNumber, byte context, Pointer feature); 334 /** 335 * Report the usage of a resource of interest. 336<br> 337 * 338<br> 339 * @param resource one of the values in the tResourceType above (max value 51). 340<br> 341 * @param instanceNumber an index that identifies the resource instance. 342<br> 343 * @param context an optional additional context number for some cases (such as module number). Set to 0 to omit. 344<br> 345 * @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.<br> 346 * Original signature : <code>uint32_t report(tResourceType, uint8_t, uint8_t, const char*)</code><br> 347 * <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:113</i> 348 */ 349 public static native int report(int resource, byte instanceNumber, byte context, String feature); 350 /** 351 * Original signature : <code>uint32_t FRC_NetworkCommunication_nUsageReporting_report(uint8_t, uint8_t, uint8_t, const char*)</code><br> 352 * <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:120</i><br> 353 * @deprecated use the safer methods {@link #FRC_NetworkCommunication_nUsageReporting_report(byte, byte, byte, java.lang.String)} and {@link #FRC_NetworkCommunication_nUsageReporting_report(byte, byte, byte, com.sun.jna.Pointer)} instead 354 */ 355 //@Deprecated 356 //public static native int FRC_NetworkCommunication_nUsageReporting_report(byte resource, byte instanceNumber, byte context, Pointer feature); 357 /** 358 * Original signature : <code>uint32_t FRC_NetworkCommunication_nUsageReporting_report(uint8_t, uint8_t, uint8_t, const char*)</code><br> 359 * <i>native declaration : src\main\include\NetworkCommunication\UsageReporting.h:120</i> 360 */ 361 public static native int FRCNetworkCommunicationUsageReportingReport(byte resource, byte instanceNumber, byte context, String feature); 362 /** 363 * Original signature : <code>void getFPGAHardwareVersion(uint16_t*, uint32_t*)</code><br> 364 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:124</i><br> 365 * @deprecated use the safer methods {@link #getFPGAHardwareVersion(java.nio.ShortBuffer, java.nio.IntBuffer)} and {@link #getFPGAHardwareVersion(com.sun.jna.ptr.ShortByReference, com.sun.jna.ptr.IntByReference)} instead 366 */ 367 //@Deprecated 368 //public static native void getFPGAHardwareVersion(ShortByReference fpgaVersion, IntByReference fpgaRevision); 369 /** 370 * Original signature : <code>void getFPGAHardwareVersion(uint16_t*, uint32_t*)</code><br> 371 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:124</i> 372 */ 373 public static native void getFPGAHardwareVersion(ShortBuffer fpgaVersion, IntBuffer fpgaRevision); 374 /** 375 * Original signature : <code>int setErrorData(const char*, int, int)</code><br> 376 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:136</i><br> 377 * @deprecated use the safer methods {@link #setErrorData(java.lang.String, int, int)} and {@link #setErrorData(com.sun.jna.Pointer, int, int)} instead 378 */ 379 //@Deprecated 380 //public static native int setErrorData(Pointer errors, int errorsLength, int wait_ms); 381 /** 382 * Original signature : <code>int setErrorData(const char*, int, int)</code><br> 383 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:136</i> 384 */ 385 public static native int setErrorData(String errors, int errorsLength, int wait_ms); 386 /** 387 * Original signature : <code>int overrideIOConfig(const char*, int)</code><br> 388 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:138</i><br> 389 * @deprecated use the safer methods {@link #overrideIOConfig(java.lang.String, int)} and {@link #overrideIOConfig(com.sun.jna.Pointer, int)} instead 390 */ 391 //@Deprecated 392 //public static native int overrideIOConfig(String ioConfig, int wait_ms); 393 /** 394 * Original signature : <code>int overrideIOConfig(const char*, int)</code><br> 395 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:138</i> 396 */ 397 public static native int overrideIOConfig(String ioConfig, int wait_ms); 398 /** 399 * Original signature : <code>void setNewDataSem(pthread_mutex_t*)</code><br> 400 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:147</i> 401 */ 402 public static native void setNewDataSem(ByteBuffer mutexId); 403 /** 404 * Original signature : <code>void setResyncSem(pthread_mutex_t*)</code><br> 405 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:148</i> 406 */ 407 //public static native void setResyncSem(FRC_NetworkCommunicationsLibrary.pthread_mutex_t pthread_mutex_tPtr1); 408 /** 409 * Original signature : <code>void signalResyncActionDone()</code><br> 410 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:150</i> 411 */ 412 public static native void signalResyncActionDone(); 413 /** 414 * this uint32_t is really a LVRefNum<br> 415 * Original signature : <code>void setNewDataOccurRef(uint32_t)</code><br> 416 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:154</i> 417 */ 418 public static native void setNewDataOccurRef(int refnum); 419 /** 420 * Original signature : <code>void setResyncOccurRef(uint32_t)</code><br> 421 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:156</i> 422 */ 423 public static native void setResyncOccurRef(int refnum); 424 /** 425 * Original signature : <code>void FRC_NetworkCommunication_getVersionString(char*)</code><br> 426 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:159</i><br> 427 * @deprecated use the safer methods {@link #FRC_NetworkCommunication_getVersionString(java.nio.ByteBuffer)} and {@link #FRC_NetworkCommunication_getVersionString(com.sun.jna.Pointer)} instead 428 */ 429 //@Deprecated 430 //public static native void FRC_NetworkCommunication_getVersionString(Pointer version); 431 /** 432 * Original signature : <code>void FRC_NetworkCommunication_getVersionString(char*)</code><br> 433 * <i>native declaration : src\main\include\NetworkCommunication\FRCComm.h:159</i> 434 */ 435 public static native void FRCNetworkCommunicationGetVersionString(ByteBuffer version); 436 public static native void FRCNetworkCommunicationObserveUserProgramStarting(); 437 public static native void FRCNetworkCommunicationObserveUserProgramDisabled(); 438 public static native void FRCNetworkCommunicationObserveUserProgramAutonomous(); 439 public static native void FRCNetworkCommunicationObserveUserProgramTeleop(); 440 public static native void FRCNetworkCommunicationObserveUserProgramTest(); 441 public static native void FRCNetworkCommunicationReserve(); 442 443 private static native int NativeHALGetControlWord(); 444 public static HALControlWord HALGetControlWord() { 445 int word = NativeHALGetControlWord(); 446 return new HALControlWord( 447 (word & 1) != 0, 448 ((word >> 1) & 1) != 0, 449 ((word >> 2) & 1) != 0, 450 ((word >> 3) & 1) != 0, 451 ((word >> 4) & 1) != 0, 452 ((word >> 5) & 1) != 0 453 ); 454 } 455 456 private static native int NativeHALGetAllianceStation(); 457 public static HALAllianceStationID HALGetAllianceStation() { 458 switch(NativeHALGetAllianceStation()) { 459 case 0: 460 return HALAllianceStationID.Red1; 461 case 1: 462 return HALAllianceStationID.Red2; 463 case 2: 464 return HALAllianceStationID.Red3; 465 case 3: 466 return HALAllianceStationID.Blue1; 467 case 4: 468 return HALAllianceStationID.Blue2; 469 case 5: 470 return HALAllianceStationID.Blue3; 471 default: 472 return null; 473 } 474 } 475 476 public static int kMaxJoystickAxes = 12; 477 public static int kMaxJoystickPOVs = 12; 478 public static native short[] HALGetJoystickAxes(byte joystickNum); 479 public static native short[] HALGetJoystickPOVs(byte joystickNum); 480 public static native int HALGetJoystickButtons(byte joystickNum, ByteBuffer count); 481 public static native int HALSetJoystickOutputs(byte joystickNum, int outputs, short leftRumble, short rightRumble); 482 public static native float HALGetMatchTime(); 483 public static native boolean HALGetSystemActive(IntBuffer status); 484 public static native boolean HALGetBrownedOut(IntBuffer status); 485 486 public static native int HALSetErrorData(String error); 487}