From 85a8fc99433bbb2f5bc80b8d933c49a7c2fc5c3a Mon Sep 17 00:00:00 2001 From: Thad House Date: Mon, 28 Apr 2025 08:10:32 -0700 Subject: [PATCH] [hal] Add SystemCore to Java runtime type (#7932) --- hal/src/main/java/edu/wpi/first/hal/HALUtil.java | 3 +++ hal/src/main/native/cpp/jni/HALUtil.cpp | 2 ++ wpilibj/src/main/java/edu/wpi/first/wpilibj/RuntimeType.java | 5 ++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/hal/src/main/java/edu/wpi/first/hal/HALUtil.java b/hal/src/main/java/edu/wpi/first/hal/HALUtil.java index 55ad83f131..f4b9da907c 100644 --- a/hal/src/main/java/edu/wpi/first/hal/HALUtil.java +++ b/hal/src/main/java/edu/wpi/first/hal/HALUtil.java @@ -43,6 +43,9 @@ public final class HALUtil extends JNIWrapper { /** Simulation runtime. */ public static final int RUNTIME_SIMULATION = 2; + /** SystemCore. */ + public static final int RUNTIME_SYSTEMCORE = 3; + /** * Returns the FPGA Version number. * diff --git a/hal/src/main/native/cpp/jni/HALUtil.cpp b/hal/src/main/native/cpp/jni/HALUtil.cpp index 0e8bcc71c7..a9f2bce392 100644 --- a/hal/src/main/native/cpp/jni/HALUtil.cpp +++ b/hal/src/main/native/cpp/jni/HALUtil.cpp @@ -35,6 +35,8 @@ static_assert(edu_wpi_first_hal_HALUtil_RUNTIME_ROBORIO2 == HAL_Runtime_RoboRIO2); static_assert(edu_wpi_first_hal_HALUtil_RUNTIME_SIMULATION == HAL_Runtime_Simulation); +static_assert(edu_wpi_first_hal_HALUtil_RUNTIME_SYSTEMCORE == + HAL_Runtime_SystemCore); static JavaVM* jvm = nullptr; static JException illegalArgExCls; diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/RuntimeType.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/RuntimeType.java index c408cede74..d10b54247f 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/RuntimeType.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/RuntimeType.java @@ -13,7 +13,9 @@ public enum RuntimeType { /** roboRIO 2.0. */ kRoboRIO2(HALUtil.RUNTIME_ROBORIO2), /** Simulation runtime. */ - kSimulation(HALUtil.RUNTIME_SIMULATION); + kSimulation(HALUtil.RUNTIME_SIMULATION), + /** SystemCore. */ + kSystemCore(HALUtil.RUNTIME_SYSTEMCORE); /** RuntimeType value. */ public final int value; @@ -32,6 +34,7 @@ public enum RuntimeType { return switch (type) { case HALUtil.RUNTIME_ROBORIO -> RuntimeType.kRoboRIO; case HALUtil.RUNTIME_ROBORIO2 -> RuntimeType.kRoboRIO2; + case HALUtil.RUNTIME_SYSTEMCORE -> RuntimeType.kSystemCore; default -> RuntimeType.kSimulation; }; }