[wpilibc] Change DriverStationSim to use wpi::hal::RobotMode (#8988)

The `RobotState::GetRobotMode()` API returns this enum class, but
`DriverStationSim` was using the `HAL_RobotMode` enum instead. This
commonizes the two APIs to return the same `RobotMode` enum class.

This difference in the APIs also affected Python, as the `hal.RobotMode`
and `hal._wpiHal._RobotMode` types are not compatible with each other.
This commit is contained in:
Benjamin Hall
2026-06-17 16:38:13 -04:00
committed by GitHub
parent 5a7d7d50ee
commit c35df58a81
11 changed files with 29 additions and 27 deletions

View File

@@ -56,7 +56,7 @@ TEST_P(ArmSimulationTest, Teleop) {
// teleop init
{
wpi::sim::DriverStationSim::SetRobotMode(HAL_ROBOT_MODE_TELEOPERATED);
wpi::sim::DriverStationSim::SetRobotMode(wpi::hal::RobotMode::TELEOPERATED);
wpi::sim::DriverStationSim::SetEnabled(true);
wpi::sim::DriverStationSim::NotifyNewData();

View File

@@ -52,7 +52,7 @@ class ElevatorSimulationTest : public testing::Test {
TEST_F(ElevatorSimulationTest, Teleop) {
// teleop init
{
wpi::sim::DriverStationSim::SetRobotMode(HAL_ROBOT_MODE_TELEOPERATED);
wpi::sim::DriverStationSim::SetRobotMode(wpi::hal::RobotMode::TELEOPERATED);
wpi::sim::DriverStationSim::SetEnabled(true);
wpi::sim::DriverStationSim::NotifyNewData();

View File

@@ -122,7 +122,8 @@ class AutonomousTest : public DigitalCommunicationTest<bool> {};
TEST_P(AutonomousTest, Autonomous) {
auto autonomous = GetParam();
wpi::sim::DriverStationSim::SetRobotMode(
autonomous ? HAL_ROBOT_MODE_AUTONOMOUS : HAL_ROBOT_MODE_TELEOPERATED);
autonomous ? wpi::hal::RobotMode::AUTONOMOUS
: wpi::hal::RobotMode::TELEOPERATED);
wpi::sim::DriverStationSim::NotifyNewData();
EXPECT_TRUE(autonomousOutput.GetInitialized());

View File

@@ -132,7 +132,8 @@ class AutonomousTest : public I2CCommunicationTest<bool> {};
TEST_P(AutonomousTest, Autonomous) {
auto autonomous = GetParam();
wpi::sim::DriverStationSim::SetRobotMode(
autonomous ? HAL_ROBOT_MODE_AUTONOMOUS : HAL_ROBOT_MODE_TELEOPERATED);
autonomous ? wpi::hal::RobotMode::AUTONOMOUS
: wpi::hal::RobotMode::TELEOPERATED);
wpi::sim::DriverStationSim::NotifyNewData();
EXPECT_TRUE(HALSIM_GetI2CInitialized(port));