diff --git a/wpilibc/src/main/native/cpp/Filesystem.cpp b/wpilibc/src/main/native/cpp/Filesystem.cpp index d497779888..7947d75073 100644 --- a/wpilibc/src/main/native/cpp/Filesystem.cpp +++ b/wpilibc/src/main/native/cpp/Filesystem.cpp @@ -13,7 +13,7 @@ std::string frc::filesystem::GetLaunchDirectory() { } std::string frc::filesystem::GetOperatingDirectory() { - if constexpr (RobotBase::IsReal()) { + if constexpr (!RobotBase::IsSimulation()) { return "/home/lvuser"; } else { return frc::filesystem::GetLaunchDirectory(); @@ -21,7 +21,7 @@ std::string frc::filesystem::GetOperatingDirectory() { } std::string frc::filesystem::GetDeployDirectory() { - if constexpr (RobotBase::IsReal()) { + if constexpr (!RobotBase::IsSimulation()) { return "/home/lvuser/deploy"; } else { return (fs::current_path() / "src" / "main" / "deploy").string(); diff --git a/wpilibc/src/main/native/cppcs/RobotBase.cpp b/wpilibc/src/main/native/cppcs/RobotBase.cpp index 458aba6365..c3616b924b 100644 --- a/wpilibc/src/main/native/cppcs/RobotBase.cpp +++ b/wpilibc/src/main/native/cppcs/RobotBase.cpp @@ -231,11 +231,11 @@ RobotBase::RobotBase() { auto inst = nt::NetworkTableInstance::GetDefault(); // subscribe to "" to force persistent values to propagate to local nt::SubscribeMultiple(inst.GetHandle(), {{std::string_view{}}}); -#ifdef __FRC_ROBORIO__ - inst.StartServer("/home/lvuser/networktables.json"); -#else - inst.StartServer(); -#endif + if constexpr (!IsSimulation()) { + inst.StartServer("/home/lvuser/networktables.json"); + } else { + inst.StartServer(); + } // wait for the NT server to actually start int count = 0; @@ -251,7 +251,7 @@ RobotBase::RobotBase() { SmartDashboard::init(); - if (IsReal()) { + if constexpr (!IsSimulation()) { std::FILE* file = nullptr; file = std::fopen("/tmp/frc_versions/FRC_Lib_Version.ini", "w"); diff --git a/wpilibc/src/main/native/include/frc/RobotBase.h b/wpilibc/src/main/native/include/frc/RobotBase.h index 8c2372d96c..504ac810f8 100644 --- a/wpilibc/src/main/native/include/frc/RobotBase.h +++ b/wpilibc/src/main/native/include/frc/RobotBase.h @@ -227,7 +227,13 @@ class RobotBase { * * @return If the robot is running in simulation. */ - static constexpr bool IsSimulation() { return !IsReal(); } + static constexpr bool IsSimulation() { +#ifdef __FRC_ROBORIO__ + return false; +#else + return true; +#endif + } /** * Constructor for a generic robot program. diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java index ed70927ab1..782538d418 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/Filesystem.java @@ -39,7 +39,7 @@ public final class Filesystem { * @return The operating directory */ public static File getOperatingDirectory() { - if (RobotBase.isReal()) { + if (!RobotBase.isSimulation()) { return new File("/home/lvuser"); } else { return getLaunchDirectory(); @@ -54,7 +54,7 @@ public final class Filesystem { * @return The 'deploy' directory */ public static File getDeployDirectory() { - if (RobotBase.isReal()) { + if (!RobotBase.isSimulation()) { return new File(getOperatingDirectory(), "deploy"); } else { return new File( diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/RobotBase.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/RobotBase.java index b6f0e75622..e59606b90e 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/RobotBase.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/RobotBase.java @@ -74,7 +74,7 @@ public abstract class RobotBase implements AutoCloseable { @Override public boolean isRoboRIO() { - return RobotBase.isReal(); + return !RobotBase.isSimulation(); } }; @@ -154,7 +154,7 @@ public abstract class RobotBase implements AutoCloseable { setupMathShared(); // subscribe to "" to force persistent values to propagate to local m_suball = new MultiSubscriber(inst, new String[] {""}); - if (isReal()) { + if (!isSimulation()) { inst.startServer("/home/lvuser/networktables.json"); } else { inst.startServer(); @@ -202,7 +202,7 @@ public abstract class RobotBase implements AutoCloseable { * @return If the robot is running in simulation. */ public static boolean isSimulation() { - return !isReal(); + return HALUtil.getHALRuntimeType() != 0; } /** @@ -337,7 +337,7 @@ public abstract class RobotBase implements AutoCloseable { m_robotCopy = robot; m_runMutex.unlock(); - if (isReal()) { + if (!isSimulation()) { final File file = new File("/tmp/frc_versions/FRC_Lib_Version.ini"); try { if (file.exists() && !file.delete()) {