resources = null;
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/RobotDrive.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/RobotDrive.java
index 912c891ff1..8c1acdad0c 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/RobotDrive.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/RobotDrive.java
@@ -7,9 +7,9 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tInstances;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tInstances;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import static java.util.Objects.requireNonNull;
@@ -191,7 +191,7 @@ public class RobotDrive implements MotorSafety {
final double rightOutput;
if (!kArcadeRatioCurve_Reported) {
- UsageReporting.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
+ HAL.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
tInstances.kRobotDrive_ArcadeRatioCurve);
kArcadeRatioCurve_Reported = true;
}
@@ -293,7 +293,7 @@ public class RobotDrive implements MotorSafety {
public void tankDrive(double leftValue, double rightValue, boolean squaredInputs) {
if (!kTank_Reported) {
- UsageReporting.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
+ HAL.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
tInstances.kRobotDrive_Tank);
kTank_Reported = true;
}
@@ -402,7 +402,7 @@ public class RobotDrive implements MotorSafety {
public void arcadeDrive(double moveValue, double rotateValue, boolean squaredInputs) {
// local variables to hold the computed PWM values for the motors
if (!kArcadeStandard_Reported) {
- UsageReporting.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
+ HAL.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
tInstances.kRobotDrive_ArcadeStandard);
kArcadeStandard_Reported = true;
}
@@ -480,7 +480,7 @@ public class RobotDrive implements MotorSafety {
@SuppressWarnings("ParameterName")
public void mecanumDrive_Cartesian(double x, double y, double rotation, double gyroAngle) {
if (!kMecanumCartesian_Reported) {
- UsageReporting.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
+ HAL.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
tInstances.kRobotDrive_MecanumCartesian);
kMecanumCartesian_Reported = true;
}
@@ -527,7 +527,7 @@ public class RobotDrive implements MotorSafety {
*/
public void mecanumDrive_Polar(double magnitude, double direction, double rotation) {
if (!kMecanumPolar_Reported) {
- UsageReporting.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
+ HAL.report(tResourceType.kResourceType_RobotDrive, getNumMotors(),
tInstances.kRobotDrive_MecanumPolar);
kMecanumPolar_Reported = true;
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SD540.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SD540.java
index 7fc7f5c0f5..7c97f4f0b9 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SD540.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SD540.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -36,7 +36,7 @@ public class SD540 extends PWMSpeedController {
setZeroLatch();
LiveWindow.addActuator("SD540", getChannel(), this);
- UsageReporting.report(tResourceType.kResourceType_MindsensorsSD540, getChannel());
+ HAL.report(tResourceType.kResourceType_MindsensorsSD540, getChannel());
}
/**
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SPI.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SPI.java
index 2af7829b85..798fde2cb5 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SPI.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SPI.java
@@ -10,8 +10,8 @@ package edu.wpi.first.wpilibj;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.hal.SPIJNI;
/**
@@ -51,7 +51,7 @@ public class SPI extends SensorBase {
SPIJNI.spiInitialize(m_port);
- UsageReporting.report(tResourceType.kResourceType_SPI, devices);
+ HAL.report(tResourceType.kResourceType_SPI, devices);
}
/**
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SampleRobot.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SampleRobot.java
index a44d4af323..dd971a033c 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SampleRobot.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SampleRobot.java
@@ -7,10 +7,9 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tInstances;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tInstances;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -111,12 +110,13 @@ public class SampleRobot extends RobotBase {
* for the robot to be enabled again.
*/
public void startCompetition() {
- UsageReporting.report(tResourceType.kResourceType_Framework, tInstances.kFramework_Sample);
+ HAL.report(tResourceType.kResourceType_Framework,
+ tInstances.kFramework_Simple);
robotInit();
// Tell the DS that the robot is ready to be enabled
- FRCNetworkCommunicationsLibrary.FRCNetworkCommunicationObserveUserProgramStarting();
+ HAL.observeUserProgramStarting();
robotMain();
if (!m_robotMainOverridden) {
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SerialPort.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SerialPort.java
index b90f85865a..4daec70d71 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SerialPort.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/SerialPort.java
@@ -10,8 +10,8 @@ package edu.wpi.first.wpilibj;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.hal.SerialPortJNI;
/**
@@ -207,7 +207,7 @@ public class SerialPort {
disableTermination();
- UsageReporting.report(tResourceType.kResourceType_SerialPort, 0);
+ HAL.report(tResourceType.kResourceType_SerialPort, 0);
}
/**
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Servo.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Servo.java
index b7049fbec9..5e5dcc8f2c 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Servo.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Servo.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
import edu.wpi.first.wpilibj.tables.ITable;
import edu.wpi.first.wpilibj.tables.ITableListener;
@@ -42,7 +42,7 @@ public class Servo extends PWM {
setPeriodMultiplier(PeriodMultiplier.k4X);
LiveWindow.addActuator("Servo", getChannel(), this);
- UsageReporting.report(tResourceType.kResourceType_Servo, getChannel());
+ HAL.report(tResourceType.kResourceType_Servo, getChannel());
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Solenoid.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Solenoid.java
index a45333dcd7..c1e0f6a31e 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Solenoid.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Solenoid.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.hal.SolenoidJNI;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
import edu.wpi.first.wpilibj.livewindow.LiveWindowSendable;
@@ -54,7 +54,7 @@ public class Solenoid extends SolenoidBase implements LiveWindowSendable {
m_solenoidHandle = SolenoidJNI.initializeSolenoidPort(portHandle);
LiveWindow.addActuator("Solenoid", m_moduleNumber, m_channel, this);
- UsageReporting.report(tResourceType.kResourceType_Solenoid, m_channel, m_moduleNumber);
+ HAL.report(tResourceType.kResourceType_Solenoid, m_channel, m_moduleNumber);
}
/**
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Spark.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Spark.java
index 5a277d52a8..87441cf37d 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Spark.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Spark.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -36,7 +36,7 @@ public class Spark extends PWMSpeedController {
setZeroLatch();
LiveWindow.addActuator("Spark", getChannel(), this);
- UsageReporting.report(tResourceType.kResourceType_RevSPARK, getChannel());
+ HAL.report(tResourceType.kResourceType_RevSPARK, getChannel());
}
/**
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Talon.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Talon.java
index 80787604cf..eaadf431ff 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Talon.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Talon.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -41,6 +41,6 @@ public class Talon extends PWMSpeedController {
setZeroLatch();
LiveWindow.addActuator("Talon", getChannel(), this);
- UsageReporting.report(tResourceType.kResourceType_Talon, getChannel());
+ HAL.report(tResourceType.kResourceType_Talon, getChannel());
}
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/TalonSRX.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/TalonSRX.java
index 19e0be075c..b4be622f4e 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/TalonSRX.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/TalonSRX.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -44,6 +44,6 @@ public class TalonSRX extends PWMSpeedController {
setZeroLatch();
LiveWindow.addActuator("TalonSRX", getChannel(), this);
- UsageReporting.report(tResourceType.kResourceType_TalonSRX, getChannel());
+ HAL.report(tResourceType.kResourceType_TalonSRX, getChannel());
}
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Ultrasonic.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Ultrasonic.java
index 02aad4b761..77c184943a 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Ultrasonic.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Ultrasonic.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
import edu.wpi.first.wpilibj.livewindow.LiveWindowSendable;
import edu.wpi.first.wpilibj.tables.ITable;
@@ -117,7 +117,7 @@ public class Ultrasonic extends SensorBase implements PIDSource, LiveWindowSenda
setAutomaticMode(originalMode);
m_instances++;
- UsageReporting.report(tResourceType.kResourceType_Ultrasonic, m_instances);
+ HAL.report(tResourceType.kResourceType_Ultrasonic, m_instances);
LiveWindow.addSensor("Ultrasonic", m_echoChannel.getChannel(), this);
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Victor.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Victor.java
index 9ae1c32198..5f22d48e44 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Victor.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/Victor.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -43,6 +43,6 @@ public class Victor extends PWMSpeedController {
setZeroLatch();
LiveWindow.addActuator("Victor", getChannel(), this);
- UsageReporting.report(tResourceType.kResourceType_Victor, getChannel());
+ HAL.report(tResourceType.kResourceType_Victor, getChannel());
}
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/VictorSP.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/VictorSP.java
index 192c5c2b54..e645a252c4 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/VictorSP.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/VictorSP.java
@@ -7,8 +7,8 @@
package edu.wpi.first.wpilibj;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -41,6 +41,6 @@ public class VictorSP extends PWMSpeedController {
setZeroLatch();
LiveWindow.addActuator("VictorSP", getChannel(), this);
- UsageReporting.report(tResourceType.kResourceType_VictorSP, getChannel());
+ HAL.report(tResourceType.kResourceType_VictorSP, getChannel());
}
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/can/CANJNI.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/can/CANJNI.java
index e910e8bd5b..28c750c6c7 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/can/CANJNI.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/can/CANJNI.java
@@ -927,11 +927,11 @@ public class CANJNI extends JNIWrapper {
public static final int CAN_IS_FRAME_11BIT = 0x40000000;
@SuppressWarnings("MethodName")
- public static native void FRCNetworkCommunicationCANSessionMuxSendMessage(int messageID,
+ public static native void FRCNetCommCANSessionMuxSendMessage(int messageID,
ByteBuffer data,
int periodMs);
@SuppressWarnings("MethodName")
- public static native ByteBuffer FRCNetworkCommunicationCANSessionMuxReceiveMessage(
+ public static native ByteBuffer FRCNetCommCANSessionMuxReceiveMessage(
IntBuffer messageID, int messageIDMask, ByteBuffer timeStamp);
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/UsageReporting.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/UsageReporting.java
deleted file mode 100644
index d95fbd7ee7..0000000000
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/UsageReporting.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*----------------------------------------------------------------------------*/
-/* 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;
-
-public class UsageReporting {
-
- public static void report(int resource, int instanceNumber, int context) {
- report(resource, instanceNumber, context, "");
- }
-
- public static void report(int resource, int instanceNumber) {
- report(resource, instanceNumber, 0, "");
- }
-
- public static void report(int resource, int instanceNumber, int context, String string) {
- FRCNetworkCommunicationsLibrary.FRCNetworkCommunicationUsageReportingReport((byte) resource,
- (byte) instanceNumber, (byte) context, string);
- }
-
-}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/HALAllianceStationID.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/AllianceStationID.java
similarity index 86%
rename from wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/HALAllianceStationID.java
rename to wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/AllianceStationID.java
index 3fe84dd2a4..aeed270619 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/HALAllianceStationID.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/AllianceStationID.java
@@ -5,8 +5,8 @@
/* the project. */
/*----------------------------------------------------------------------------*/
-package edu.wpi.first.wpilibj.communication;
+package edu.wpi.first.wpilibj.hal;
-public enum HALAllianceStationID {
+public enum AllianceStationID {
Red1, Red2, Red3, Blue1, Blue2, Blue3
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/HALControlWord.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/ControlWord.java
similarity index 84%
rename from wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/HALControlWord.java
rename to wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/ControlWord.java
index cb55b9d96a..92452e25dc 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/HALControlWord.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/ControlWord.java
@@ -5,12 +5,12 @@
/* the project. */
/*----------------------------------------------------------------------------*/
-package edu.wpi.first.wpilibj.communication;
+package edu.wpi.first.wpilibj.hal;
/**
* A wrapper for the HALControlWord bitfield.
*/
-public class HALControlWord {
+public class ControlWord {
private final boolean m_enabled;
private final boolean m_autonomous;
private final boolean m_test;
@@ -18,8 +18,8 @@ public class HALControlWord {
private final boolean m_fmsAttached;
private final boolean m_dsAttached;
- protected HALControlWord(boolean enabled, boolean autonomous, boolean test, boolean emergencyStop,
- boolean fmsAttached, boolean dsAttached) {
+ protected ControlWord(boolean enabled, boolean autonomous, boolean test, boolean emergencyStop,
+ boolean fmsAttached, boolean dsAttached) {
m_enabled = enabled;
m_autonomous = autonomous;
m_test = test;
@@ -51,6 +51,4 @@ public class HALControlWord {
public boolean getDSAttached() {
return m_dsAttached;
}
-
-
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/FRCNetworkCommunicationsLibrary.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java
similarity index 51%
rename from wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/FRCNetworkCommunicationsLibrary.java
rename to wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java
index 2f1ef7f1d4..bb01f2212a 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/communication/FRCNetworkCommunicationsLibrary.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/FRCNetComm.java
@@ -5,17 +5,15 @@
/* the project. */
/*----------------------------------------------------------------------------*/
-package edu.wpi.first.wpilibj.communication;
-
-import java.nio.ByteBuffer;
+package edu.wpi.first.wpilibj.hal;
import edu.wpi.first.wpilibj.hal.JNIWrapper;
/**
- * JNI Wrapper for library FRC_NetworkCommunications
.
+ * JNI wrapper for library FRC_NetworkCommunication
.
*/
@SuppressWarnings("MethodName")
-public class FRCNetworkCommunicationsLibrary extends JNIWrapper {
+public class FRCNetComm extends JNIWrapper {
/**
* Module type from LoadOut.h
*/
@@ -35,18 +33,17 @@ public class FRCNetworkCommunicationsLibrary extends JNIWrapper {
int kTargetClass_Unknown = 0x00;
int kTargetClass_FRC1 = 0x10;
int kTargetClass_FRC2 = 0x20;
- int kTargetClass_FRC2_Analog =
- kTargetClass_FRC2 | FRCNetworkCommunicationsLibrary.tModuleType.kModuleType_Analog;
- int kTargetClass_FRC2_Digital =
- kTargetClass_FRC2 | FRCNetworkCommunicationsLibrary.tModuleType.kModuleType_Digital;
- int kTargetClass_FRC2_Solenoid =
- kTargetClass_FRC2 | FRCNetworkCommunicationsLibrary.tModuleType.kModuleType_Solenoid;
+ int kTargetClass_FRC3 = 0x30;
+ int kTargetClass_RoboRIO = 0x40;
+ int kTargetClass_FRC2_Analog = kTargetClass_FRC2 | tModuleType.kModuleType_Analog;
+ int kTargetClass_FRC2_Digital = kTargetClass_FRC2 | tModuleType.kModuleType_Digital;
+ int kTargetClass_FRC2_Solenoid = kTargetClass_FRC2 | tModuleType.kModuleType_Solenoid;
int kTargetClass_FamilyMask = 0xF0;
int kTargetClass_ModuleMask = 0x0F;
}
/**
- * Resource types from UsageReporting.h
+ * Resource type from UsageReporting.h
*/
@SuppressWarnings("TypeName")
public interface tResourceType {
@@ -124,7 +121,7 @@ public class FRCNetworkCommunicationsLibrary extends JNIWrapper {
int kCANPlugin_2CAN = 2;
int kFramework_Iterative = 1;
- int kFramework_Sample = 2;
+ int kFramework_Simple = 2;
int kFramework_CommandControl = 3;
int kRobotDrive_ArcadeStandard = 1;
@@ -157,100 +154,4 @@ public class FRCNetworkCommunicationsLibrary extends JNIWrapper {
int kSmartDashboard_Instance = 1;
}
-
- /**
- * Report the usage of a resource of interest.
- *
- * Original signature: uint32_t report(tResourceType, uint8_t, uint8_t, const
- * char*)
- *
- * @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.
- */
- 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();
-
- private static native int NativeHALGetControlWord();
-
- @SuppressWarnings("JavadocMethod")
- public static HALControlWord HALGetControlWord() {
- int word = NativeHALGetControlWord();
- return new HALControlWord((word & 1) != 0, ((word >> 1) & 1) != 0, ((word >> 2) & 1) != 0,
- ((word >> 3) & 1) != 0, ((word >> 4) & 1) != 0, ((word >> 5) & 1) != 0);
- }
-
- private static native int NativeHALGetAllianceStation();
-
- @SuppressWarnings("JavadocMethod")
- public static HALAllianceStationID HALGetAllianceStation() {
- switch (NativeHALGetAllianceStation()) {
- case 0:
- return HALAllianceStationID.Red1;
- case 1:
- return HALAllianceStationID.Red2;
- case 2:
- return HALAllianceStationID.Red3;
- case 3:
- return HALAllianceStationID.Blue1;
- case 4:
- return HALAllianceStationID.Blue2;
- case 5:
- return HALAllianceStationID.Blue3;
- default:
- return null;
- }
- }
-
- public static int kMaxJoystickAxes = 12;
- public static int kMaxJoystickPOVs = 12;
-
- public static native byte HALGetJoystickAxes(byte joystickNum, float[] axesArray);
-
- public static native byte HALGetJoystickPOVs(byte joystickNum, short[] povsArray);
-
- 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);
-
- public static native int HALSendError(boolean isError, int errorCode, boolean isLVCode,
- String details, String location, String callStack,
- boolean printMsg);
}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/HAL.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/HAL.java
new file mode 100644
index 0000000000..4ae19e763f
--- /dev/null
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/hal/HAL.java
@@ -0,0 +1,119 @@
+/*----------------------------------------------------------------------------*/
+/* 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.hal;
+
+import java.nio.ByteBuffer;
+
+import edu.wpi.first.wpilibj.hal.JNIWrapper;
+
+/**
+ * JNI Wrapper for HAL
.
+ */
+@SuppressWarnings({"AbbreviationAsWordInName", "MethodName"})
+public class HAL extends JNIWrapper {
+ public static native void setNewDataSem(long mutexId);
+
+ public static native int initialize(int mode);
+
+ public static native void observeUserProgramStarting();
+
+ public static native void observeUserProgramDisabled();
+
+ public static native void observeUserProgramAutonomous();
+
+ public static native void observeUserProgramTeleop();
+
+ public static native void observeUserProgramTest();
+
+ public static void report(int resource, int instanceNumber) {
+ report(resource, instanceNumber, 0, "");
+ }
+
+ public static void report(int resource, int instanceNumber, int context) {
+ report(resource, instanceNumber, context, "");
+ }
+
+ /**
+ * Report the usage of a resource of interest.
+ *
+ *
Original signature: uint32_t report(tResourceType, uint8_t, uint8_t, const
+ * char*)
+ *
+ * @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.
+ */
+ public static native int report(int resource, int instanceNumber, int context, String feature);
+
+ private static native int nativeGetControlWord();
+
+ @SuppressWarnings("JavadocMethod")
+ public static ControlWord getControlWord() {
+ int word = nativeGetControlWord();
+ return new ControlWord((word & 1) != 0, ((word >> 1) & 1) != 0, ((word >> 2) & 1) != 0,
+ ((word >> 3) & 1) != 0, ((word >> 4) & 1) != 0, ((word >> 5) & 1) != 0);
+ }
+
+ private static native int nativeGetAllianceStation();
+
+ @SuppressWarnings("JavadocMethod")
+ public static AllianceStationID getAllianceStation() {
+ switch (nativeGetAllianceStation()) {
+ case 0:
+ return AllianceStationID.Red1;
+ case 1:
+ return AllianceStationID.Red2;
+ case 2:
+ return AllianceStationID.Red3;
+ case 3:
+ return AllianceStationID.Blue1;
+ case 4:
+ return AllianceStationID.Blue2;
+ case 5:
+ return AllianceStationID.Blue3;
+ default:
+ return null;
+ }
+ }
+
+ public static int kMaxJoystickAxes = 12;
+ public static int kMaxJoystickPOVs = 12;
+
+ public static native short getJoystickAxes(byte joystickNum, float[] axesArray);
+
+ public static native short getJoystickPOVs(byte joystickNum, short[] povsArray);
+
+ public static native byte getJoystickButtons(byte joystickNum, ByteBuffer count);
+
+ public static native int setJoystickOutputs(byte joystickNum, int outputs, short leftRumble,
+ short rightRumble);
+
+ public static native int getJoystickIsXbox(byte joystickNum);
+
+ public static native int getJoystickType(byte joystickNum);
+
+ public static native String getJoystickName(byte joystickNum);
+
+ public static native int getJoystickAxisType(byte joystickNum, byte axis);
+
+ public static native float getMatchTime();
+
+ public static native boolean getSystemActive();
+
+ public static native boolean getBrownedOut();
+
+ public static native int setErrorData(String error);
+
+ public static native int sendError(boolean isError, int errorCode, boolean isLVCode,
+ String details, String location, String callStack,
+ boolean printMsg);
+}
diff --git a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/internal/HardwareHLUsageReporting.java b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/internal/HardwareHLUsageReporting.java
index 68d0040952..032a89060f 100644
--- a/wpilibj/src/athena/java/edu/wpi/first/wpilibj/internal/HardwareHLUsageReporting.java
+++ b/wpilibj/src/athena/java/edu/wpi/first/wpilibj/internal/HardwareHLUsageReporting.java
@@ -8,23 +8,23 @@
package edu.wpi.first.wpilibj.internal;
import edu.wpi.first.wpilibj.HLUsageReporting;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tInstances;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary.tResourceType;
-import edu.wpi.first.wpilibj.communication.UsageReporting;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tInstances;
+import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType;
+import edu.wpi.first.wpilibj.hal.HAL;
public class HardwareHLUsageReporting implements HLUsageReporting.Interface {
@Override
public void reportScheduler() {
- UsageReporting.report(tResourceType.kResourceType_Command, tInstances.kCommand_Scheduler);
+ HAL.report(tResourceType.kResourceType_Command, tInstances.kCommand_Scheduler);
}
@Override
public void reportPIDController(int num) {
- UsageReporting.report(tResourceType.kResourceType_PIDController, num);
+ HAL.report(tResourceType.kResourceType_PIDController, num);
}
@Override
public void reportSmartDashboard() {
- UsageReporting.report(tResourceType.kResourceType_SmartDashboard, 0);
+ HAL.report(tResourceType.kResourceType_SmartDashboard, 0);
}
}
diff --git a/wpilibjIntegrationTests/src/main/java/edu/wpi/first/wpilibj/test/AbstractComsSetup.java b/wpilibjIntegrationTests/src/main/java/edu/wpi/first/wpilibj/test/AbstractComsSetup.java
index 05a1cf9486..463aa8ae88 100644
--- a/wpilibjIntegrationTests/src/main/java/edu/wpi/first/wpilibj/test/AbstractComsSetup.java
+++ b/wpilibjIntegrationTests/src/main/java/edu/wpi/first/wpilibj/test/AbstractComsSetup.java
@@ -19,7 +19,7 @@ import java.util.logging.Logger;
import edu.wpi.first.wpilibj.DriverStation;
import edu.wpi.first.wpilibj.RobotBase;
import edu.wpi.first.wpilibj.Timer;
-import edu.wpi.first.wpilibj.communication.FRCNetworkCommunicationsLibrary;
+import edu.wpi.first.wpilibj.hal.HAL;
import edu.wpi.first.wpilibj.livewindow.LiveWindow;
/**
@@ -44,7 +44,7 @@ public abstract class AbstractComsSetup {
if (!initialized) {
// Set some implementations so that the static methods work properly
RobotBase.initializeHardwareConfiguration();
- FRCNetworkCommunicationsLibrary.FRCNetworkCommunicationObserveUserProgramStarting();
+ HAL.observeUserProgramStarting();
LiveWindow.setEnabled(false);
TestBench.out().println("Started coms");