mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
[hal, wpilib] Remove power rails that don't exist on systemcore (#7861)
This commit is contained in:
@@ -19,8 +19,8 @@ TEST(AnalogPotentiometerTest, InitializeWithAnalogInput) {
|
||||
AnalogInputSim sim{ai};
|
||||
|
||||
RoboRioSim::ResetData();
|
||||
sim.SetVoltage(4.0);
|
||||
EXPECT_EQ(0.8, pot.Get());
|
||||
sim.SetVoltage(2.8);
|
||||
EXPECT_EQ(2.8 / 3.3, pot.Get());
|
||||
}
|
||||
|
||||
TEST(AnalogPotentiometerTest, InitializeWithAnalogInputAndScale) {
|
||||
@@ -31,11 +31,11 @@ TEST(AnalogPotentiometerTest, InitializeWithAnalogInputAndScale) {
|
||||
RoboRioSim::ResetData();
|
||||
AnalogInputSim sim{ai};
|
||||
|
||||
sim.SetVoltage(5.0);
|
||||
sim.SetVoltage(3.3);
|
||||
EXPECT_EQ(270.0, pot.Get());
|
||||
|
||||
sim.SetVoltage(2.5);
|
||||
EXPECT_EQ(135, pot.Get());
|
||||
EXPECT_EQ((2.5 / 3.3) * 270.0, pot.Get());
|
||||
|
||||
sim.SetVoltage(0.0);
|
||||
EXPECT_EQ(0.0, pot.Get());
|
||||
@@ -47,7 +47,7 @@ TEST(AnalogPotentiometerTest, InitializeWithChannel) {
|
||||
AnalogPotentiometer pot{1};
|
||||
AnalogInputSim sim{1};
|
||||
|
||||
sim.SetVoltage(5.0);
|
||||
sim.SetVoltage(3.3);
|
||||
EXPECT_EQ(1.0, pot.Get());
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ TEST(AnalogPotentiometerTest, InitializeWithChannelAndScale) {
|
||||
RoboRioSim::ResetData();
|
||||
AnalogInputSim sim{1};
|
||||
|
||||
sim.SetVoltage(5.0);
|
||||
sim.SetVoltage(3.3);
|
||||
EXPECT_EQ(180.0, pot.Get());
|
||||
|
||||
sim.SetVoltage(0.0);
|
||||
@@ -70,23 +70,23 @@ TEST(AnalogPotentiometerTest, WithModifiedBatteryVoltage) {
|
||||
RoboRioSim::ResetData();
|
||||
AnalogInputSim sim{1};
|
||||
|
||||
// Test at 5v
|
||||
sim.SetVoltage(5.0);
|
||||
// Test at 3.3v
|
||||
sim.SetVoltage(3.3);
|
||||
EXPECT_EQ(270, pot.Get());
|
||||
|
||||
sim.SetVoltage(0.0);
|
||||
EXPECT_EQ(90, pot.Get());
|
||||
|
||||
// Simulate a lower battery voltage
|
||||
RoboRioSim::SetUserVoltage5V(units::volt_t{2.5});
|
||||
RoboRioSim::SetUserVoltage3V3(units::volt_t{2.5});
|
||||
|
||||
sim.SetVoltage(2.5);
|
||||
EXPECT_EQ(270, pot.Get());
|
||||
EXPECT_EQ(270.0, pot.Get());
|
||||
|
||||
sim.SetVoltage(2.0);
|
||||
EXPECT_EQ(234, pot.Get());
|
||||
EXPECT_EQ(234.0, pot.Get());
|
||||
|
||||
sim.SetVoltage(0.0);
|
||||
EXPECT_EQ(90, pot.Get());
|
||||
EXPECT_EQ(90.0, pot.Get());
|
||||
}
|
||||
} // namespace frc
|
||||
|
||||
@@ -15,51 +15,19 @@
|
||||
|
||||
namespace frc::sim {
|
||||
|
||||
TEST(RoboRioSimTest, FPGAButton) {
|
||||
RoboRioSim::ResetData();
|
||||
|
||||
int dummyStatus = 0;
|
||||
|
||||
BooleanCallback callback;
|
||||
auto cb =
|
||||
RoboRioSim::RegisterFPGAButtonCallback(callback.GetCallback(), false);
|
||||
RoboRioSim::SetFPGAButton(true);
|
||||
EXPECT_TRUE(RoboRioSim::GetFPGAButton());
|
||||
EXPECT_TRUE(HAL_GetFPGAButton(&dummyStatus));
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_TRUE(callback.GetLastValue());
|
||||
|
||||
callback.Reset();
|
||||
RoboRioSim::SetFPGAButton(false);
|
||||
EXPECT_FALSE(RoboRioSim::GetFPGAButton());
|
||||
EXPECT_FALSE(HAL_GetFPGAButton(&dummyStatus));
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_FALSE(callback.GetLastValue());
|
||||
}
|
||||
|
||||
TEST(RoboRioSimTest, SetVin) {
|
||||
RoboRioSim::ResetData();
|
||||
|
||||
DoubleCallback voltageCallback;
|
||||
DoubleCallback currentCallback;
|
||||
auto voltageCb = RoboRioSim::RegisterVInVoltageCallback(
|
||||
voltageCallback.GetCallback(), false);
|
||||
auto currentCb = RoboRioSim::RegisterVInCurrentCallback(
|
||||
currentCallback.GetCallback(), false);
|
||||
constexpr double kTestVoltage = 1.91;
|
||||
constexpr double kTestCurrent = 35.04;
|
||||
|
||||
RoboRioSim::SetVInVoltage(units::volt_t{kTestVoltage});
|
||||
EXPECT_TRUE(voltageCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestVoltage, voltageCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestVoltage, RoboRioSim::GetVInVoltage().value());
|
||||
EXPECT_EQ(kTestVoltage, RobotController::GetInputVoltage());
|
||||
|
||||
RoboRioSim::SetVInCurrent(units::ampere_t{kTestCurrent});
|
||||
EXPECT_TRUE(currentCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestCurrent, currentCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestCurrent, RoboRioSim::GetVInCurrent().value());
|
||||
EXPECT_EQ(kTestCurrent, RobotController::GetInputCurrent());
|
||||
}
|
||||
|
||||
TEST(RoboRioSimTest, SetBrownout) {
|
||||
@@ -77,94 +45,6 @@ TEST(RoboRioSimTest, SetBrownout) {
|
||||
EXPECT_EQ(kTestVoltage, RobotController::GetBrownoutVoltage().value());
|
||||
}
|
||||
|
||||
TEST(RoboRioSimTest, Set6V) {
|
||||
RoboRioSim::ResetData();
|
||||
|
||||
DoubleCallback voltageCallback;
|
||||
DoubleCallback currentCallback;
|
||||
BooleanCallback activeCallback;
|
||||
IntCallback faultCallback;
|
||||
auto voltageCb = RoboRioSim::RegisterUserVoltage6VCallback(
|
||||
voltageCallback.GetCallback(), false);
|
||||
auto currentCb = RoboRioSim::RegisterUserCurrent6VCallback(
|
||||
currentCallback.GetCallback(), false);
|
||||
auto activeCb = RoboRioSim::RegisterUserActive6VCallback(
|
||||
activeCallback.GetCallback(), false);
|
||||
auto faultsCb = RoboRioSim::RegisterUserFaults6VCallback(
|
||||
faultCallback.GetCallback(), false);
|
||||
constexpr double kTestVoltage = 22.9;
|
||||
constexpr double kTestCurrent = 174;
|
||||
constexpr int kTestFaults = 229;
|
||||
|
||||
RoboRioSim::SetUserVoltage6V(units::volt_t{kTestVoltage});
|
||||
EXPECT_TRUE(voltageCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestVoltage, voltageCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestVoltage, RoboRioSim::GetUserVoltage6V().value());
|
||||
EXPECT_EQ(kTestVoltage, RobotController::GetVoltage6V());
|
||||
|
||||
RoboRioSim::SetUserCurrent6V(units::ampere_t{kTestCurrent});
|
||||
EXPECT_TRUE(currentCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestCurrent, currentCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestCurrent, RoboRioSim::GetUserCurrent6V().value());
|
||||
EXPECT_EQ(kTestCurrent, RobotController::GetCurrent6V());
|
||||
|
||||
RoboRioSim::SetUserActive6V(false);
|
||||
EXPECT_TRUE(activeCallback.WasTriggered());
|
||||
EXPECT_FALSE(activeCallback.GetLastValue());
|
||||
EXPECT_FALSE(RoboRioSim::GetUserActive6V());
|
||||
EXPECT_FALSE(RobotController::GetEnabled6V());
|
||||
|
||||
RoboRioSim::SetUserFaults6V(kTestFaults);
|
||||
EXPECT_TRUE(faultCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestFaults, faultCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestFaults, RoboRioSim::GetUserFaults6V());
|
||||
EXPECT_EQ(kTestFaults, RobotController::GetFaultCount6V());
|
||||
}
|
||||
|
||||
TEST(RoboRioSimTest, Set5V) {
|
||||
RoboRioSim::ResetData();
|
||||
|
||||
DoubleCallback voltageCallback;
|
||||
DoubleCallback currentCallback;
|
||||
BooleanCallback activeCallback;
|
||||
IntCallback faultCallback;
|
||||
auto voltageCb = RoboRioSim::RegisterUserVoltage5VCallback(
|
||||
voltageCallback.GetCallback(), false);
|
||||
auto currentCb = RoboRioSim::RegisterUserCurrent5VCallback(
|
||||
currentCallback.GetCallback(), false);
|
||||
auto activeCb = RoboRioSim::RegisterUserActive5VCallback(
|
||||
activeCallback.GetCallback(), false);
|
||||
auto faultsCb = RoboRioSim::RegisterUserFaults5VCallback(
|
||||
faultCallback.GetCallback(), false);
|
||||
constexpr double kTestVoltage = 22.9;
|
||||
constexpr double kTestCurrent = 174;
|
||||
constexpr int kTestFaults = 229;
|
||||
|
||||
RoboRioSim::SetUserVoltage5V(units::volt_t{kTestVoltage});
|
||||
EXPECT_TRUE(voltageCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestVoltage, voltageCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestVoltage, RoboRioSim::GetUserVoltage5V().value());
|
||||
EXPECT_EQ(kTestVoltage, RobotController::GetVoltage5V());
|
||||
|
||||
RoboRioSim::SetUserCurrent5V(units::ampere_t{kTestCurrent});
|
||||
EXPECT_TRUE(currentCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestCurrent, currentCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestCurrent, RoboRioSim::GetUserCurrent5V().value());
|
||||
EXPECT_EQ(kTestCurrent, RobotController::GetCurrent5V());
|
||||
|
||||
RoboRioSim::SetUserActive5V(false);
|
||||
EXPECT_TRUE(activeCallback.WasTriggered());
|
||||
EXPECT_FALSE(activeCallback.GetLastValue());
|
||||
EXPECT_FALSE(RoboRioSim::GetUserActive5V());
|
||||
EXPECT_FALSE(RobotController::GetEnabled5V());
|
||||
|
||||
RoboRioSim::SetUserFaults5V(kTestFaults);
|
||||
EXPECT_TRUE(faultCallback.WasTriggered());
|
||||
EXPECT_EQ(kTestFaults, faultCallback.GetLastValue());
|
||||
EXPECT_EQ(kTestFaults, RoboRioSim::GetUserFaults5V());
|
||||
EXPECT_EQ(kTestFaults, RobotController::GetFaultCount5V());
|
||||
}
|
||||
|
||||
TEST(RoboRioSimTest, Set3V3) {
|
||||
RoboRioSim::ResetData();
|
||||
|
||||
@@ -276,26 +156,4 @@ TEST(RoboRioSimTest, SetComments) {
|
||||
EXPECT_EQ(kCommentsTruncated, RobotController::GetComments());
|
||||
}
|
||||
|
||||
TEST(RoboRioSimTest, SetRadioLEDState) {
|
||||
RoboRioSim::ResetData();
|
||||
|
||||
EnumCallback callback;
|
||||
auto cbHandle =
|
||||
RoboRioSim::RegisterRadioLEDStateCallback(callback.GetCallback(), false);
|
||||
|
||||
RobotController::SetRadioLEDState(RadioLEDState::kGreen);
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(RadioLEDState::kGreen, callback.GetLastValue());
|
||||
EXPECT_EQ(RadioLEDState::kGreen, RoboRioSim::GetRadioLEDState());
|
||||
EXPECT_EQ(RadioLEDState::kGreen, RobotController::GetRadioLEDState());
|
||||
|
||||
callback.Reset();
|
||||
|
||||
RoboRioSim::SetRadioLEDState(RadioLEDState::kOrange);
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(RadioLEDState::kOrange, callback.GetLastValue());
|
||||
EXPECT_EQ(RadioLEDState::kOrange, RoboRioSim::GetRadioLEDState());
|
||||
EXPECT_EQ(RadioLEDState::kOrange, RobotController::GetRadioLEDState());
|
||||
}
|
||||
|
||||
} // namespace frc::sim
|
||||
|
||||
Reference in New Issue
Block a user