From 231bb55b2a631fa18fdb77e09cf389991b6468da Mon Sep 17 00:00:00 2001 From: Thomas Clark Date: Wed, 30 Jul 2014 11:19:50 -0400 Subject: [PATCH] HALInitialize should be the first thing called Constructing a new HardwareTimer before HALInitialize is called causes segfaults sometimes in user programs, since getFPGATime assumes that the tGlobal objected was constructed. This problem did not appear in integration tests, where the calls were in the correct order. Change-Id: I95471e9e8ad7bc5d48a65893856089e35c0b091a --- .../src/main/java/edu/wpi/first/wpilibj/RobotBase.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wpilibj/wpilibJavaDevices/src/main/java/edu/wpi/first/wpilibj/RobotBase.java b/wpilibj/wpilibJavaDevices/src/main/java/edu/wpi/first/wpilibj/RobotBase.java index 94567c9252..ebac725ee4 100644 --- a/wpilibj/wpilibJavaDevices/src/main/java/edu/wpi/first/wpilibj/RobotBase.java +++ b/wpilibj/wpilibJavaDevices/src/main/java/edu/wpi/first/wpilibj/RobotBase.java @@ -161,15 +161,15 @@ public abstract class RobotBase { */ public static void main(String args[]) { boolean errorOnExit = false; - + + FRCNetworkCommunicationsLibrary.FRCNetworkCommunicationReserve(); + FRCNetworkCommunicationsLibrary.FRCNetworkCommunicationObserveUserProgramStarting(); + // Set some implementations so that the static methods work properly Timer.SetImplementation(new HardwareTimer()); HLUsageReporting.SetImplementation(new HardwareHLUsageReporting()); RobotState.SetImplementation(DriverStation.getInstance()); - FRCNetworkCommunicationsLibrary.FRCNetworkCommunicationReserve(); - FRCNetworkCommunicationsLibrary.FRCNetworkCommunicationObserveUserProgramStarting(); - UsageReporting.report(tResourceType.kResourceType_Language, tInstances.kLanguage_Java); String robotName = "";