mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
SCRIPT namespace replacements
This commit is contained in:
committed by
Peter Johnson
parent
ae6c043632
commit
9aca8e0fd6
@@ -18,22 +18,22 @@
|
||||
#include "Constants.hpp"
|
||||
#include "Robot.hpp"
|
||||
|
||||
class ArmSimulationTest : public testing::TestWithParam<units::degree_t> {
|
||||
class ArmSimulationTest : public testing::TestWithParam<wpi::units::degree_t> {
|
||||
Robot m_robot;
|
||||
std::optional<std::thread> m_thread;
|
||||
|
||||
protected:
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{kMotorPort};
|
||||
frc::sim::EncoderSim m_encoderSim =
|
||||
frc::sim::EncoderSim::CreateForChannel(kEncoderAChannel);
|
||||
frc::sim::JoystickSim m_joystickSim{kJoystickPort};
|
||||
wpi::sim::PWMMotorControllerSim m_motorSim{kMotorPort};
|
||||
wpi::sim::EncoderSim m_encoderSim =
|
||||
wpi::sim::EncoderSim::CreateForChannel(kEncoderAChannel);
|
||||
wpi::sim::JoystickSim m_joystickSim{kJoystickPort};
|
||||
|
||||
public:
|
||||
void SetUp() override {
|
||||
frc::sim::PauseTiming();
|
||||
wpi::sim::PauseTiming();
|
||||
|
||||
m_thread = std::thread([&] { m_robot.StartCompetition(); });
|
||||
frc::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
wpi::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
@@ -41,30 +41,30 @@ class ArmSimulationTest : public testing::TestWithParam<units::degree_t> {
|
||||
m_thread->join();
|
||||
|
||||
m_encoderSim.ResetData();
|
||||
frc::sim::DriverStationSim::ResetData();
|
||||
frc::Preferences::RemoveAll();
|
||||
wpi::sim::DriverStationSim::ResetData();
|
||||
wpi::Preferences::RemoveAll();
|
||||
}
|
||||
};
|
||||
|
||||
TEST_P(ArmSimulationTest, Teleop) {
|
||||
EXPECT_TRUE(frc::Preferences::ContainsKey(kArmPositionKey));
|
||||
EXPECT_TRUE(frc::Preferences::ContainsKey(kArmPKey));
|
||||
frc::Preferences::SetDouble(kArmPositionKey, GetParam().value());
|
||||
units::degree_t setpoint = GetParam();
|
||||
EXPECT_TRUE(wpi::Preferences::ContainsKey(kArmPositionKey));
|
||||
EXPECT_TRUE(wpi::Preferences::ContainsKey(kArmPKey));
|
||||
wpi::Preferences::SetDouble(kArmPositionKey, GetParam().value());
|
||||
wpi::units::degree_t setpoint = GetParam();
|
||||
EXPECT_DOUBLE_EQ(setpoint.value(),
|
||||
frc::Preferences::GetDouble(kArmPositionKey, NAN));
|
||||
wpi::Preferences::GetDouble(kArmPositionKey, NAN));
|
||||
|
||||
// teleop init
|
||||
{
|
||||
frc::sim::DriverStationSim::SetAutonomous(false);
|
||||
frc::sim::DriverStationSim::SetEnabled(true);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAutonomous(false);
|
||||
wpi::sim::DriverStationSim::SetEnabled(true);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_encoderSim.GetInitialized());
|
||||
}
|
||||
|
||||
{
|
||||
frc::sim::StepTiming(3_s);
|
||||
wpi::sim::StepTiming(3_s);
|
||||
|
||||
// Ensure arm is still at minimum angle.
|
||||
EXPECT_NEAR(kMinAngle.value(), m_encoderSim.GetDistance(), 2.0);
|
||||
@@ -75,20 +75,20 @@ TEST_P(ArmSimulationTest, Teleop) {
|
||||
m_joystickSim.SetTrigger(true);
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
frc::sim::StepTiming(1.5_s);
|
||||
wpi::sim::StepTiming(1.5_s);
|
||||
|
||||
EXPECT_NEAR(setpoint.value(),
|
||||
units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<units::degree>()
|
||||
wpi::units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<wpi::units::degree>()
|
||||
.value(),
|
||||
2.0);
|
||||
|
||||
// see setpoint is held.
|
||||
frc::sim::StepTiming(0.5_s);
|
||||
wpi::sim::StepTiming(0.5_s);
|
||||
|
||||
EXPECT_NEAR(setpoint.value(),
|
||||
units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<units::degree>()
|
||||
wpi::units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<wpi::units::degree>()
|
||||
.value(),
|
||||
2.0);
|
||||
}
|
||||
@@ -98,7 +98,7 @@ TEST_P(ArmSimulationTest, Teleop) {
|
||||
m_joystickSim.SetTrigger(false);
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
frc::sim::StepTiming(3_s);
|
||||
wpi::sim::StepTiming(3_s);
|
||||
|
||||
EXPECT_NEAR(kMinAngle.value(), m_encoderSim.GetDistance(), 2.0);
|
||||
}
|
||||
@@ -109,31 +109,31 @@ TEST_P(ArmSimulationTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 75 timesteps
|
||||
frc::sim::StepTiming(1.5_s);
|
||||
wpi::sim::StepTiming(1.5_s);
|
||||
|
||||
EXPECT_NEAR(setpoint.value(),
|
||||
units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<units::degree>()
|
||||
wpi::units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<wpi::units::degree>()
|
||||
.value(),
|
||||
2.0);
|
||||
|
||||
// advance 25 timesteps to see setpoint is held.
|
||||
frc::sim::StepTiming(0.5_s);
|
||||
wpi::sim::StepTiming(0.5_s);
|
||||
|
||||
EXPECT_NEAR(setpoint.value(),
|
||||
units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<units::degree>()
|
||||
wpi::units::radian_t(m_encoderSim.GetDistance())
|
||||
.convert<wpi::units::degree>()
|
||||
.value(),
|
||||
2.0);
|
||||
}
|
||||
|
||||
{
|
||||
// Disable
|
||||
frc::sim::DriverStationSim::SetAutonomous(false);
|
||||
frc::sim::DriverStationSim::SetEnabled(false);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAutonomous(false);
|
||||
wpi::sim::DriverStationSim::SetEnabled(false);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
frc::sim::StepTiming(3_s);
|
||||
wpi::sim::StepTiming(3_s);
|
||||
|
||||
ASSERT_NEAR(0.0, m_motorSim.GetSpeed(), 0.05);
|
||||
EXPECT_NEAR(kMinAngle.value(), m_encoderSim.GetDistance(), 2.0);
|
||||
@@ -143,7 +143,7 @@ TEST_P(ArmSimulationTest, Teleop) {
|
||||
INSTANTIATE_TEST_SUITE_P(
|
||||
ArmSimulationTests, ArmSimulationTest,
|
||||
testing::Values(kDefaultArmSetpoint, 25.0_deg, 50.0_deg),
|
||||
[](const testing::TestParamInfo<units::degree_t>& info) {
|
||||
[](const testing::TestParamInfo<wpi::units::degree_t>& info) {
|
||||
return testing::PrintToString(info.param.value())
|
||||
.append(std::string(info.param.abbreviation()));
|
||||
});
|
||||
|
||||
@@ -16,19 +16,19 @@
|
||||
template <typename T>
|
||||
class DigitalCommunicationTest : public testing::TestWithParam<T> {
|
||||
public:
|
||||
frc::sim::DIOSim m_allianceOutput{Robot::kAlliancePort};
|
||||
frc::sim::DIOSim m_enabledOutput{Robot::kEnabledPort};
|
||||
frc::sim::DIOSim m_autonomousOutput{Robot::kAutonomousPort};
|
||||
frc::sim::DIOSim m_alertOutput{Robot::kAlertPort};
|
||||
wpi::sim::DIOSim m_allianceOutput{Robot::kAlliancePort};
|
||||
wpi::sim::DIOSim m_enabledOutput{Robot::kEnabledPort};
|
||||
wpi::sim::DIOSim m_autonomousOutput{Robot::kAutonomousPort};
|
||||
wpi::sim::DIOSim m_alertOutput{Robot::kAlertPort};
|
||||
Robot m_robot;
|
||||
std::optional<std::thread> m_thread;
|
||||
|
||||
void SetUp() override {
|
||||
frc::sim::PauseTiming();
|
||||
frc::sim::DriverStationSim::ResetData();
|
||||
wpi::sim::PauseTiming();
|
||||
wpi::sim::DriverStationSim::ResetData();
|
||||
|
||||
m_thread = std::thread([&] { m_robot.StartCompetition(); });
|
||||
frc::sim::StepTiming(0.0_ms);
|
||||
wpi::sim::StepTiming(0.0_ms);
|
||||
// SimHooks.stepTiming(0.0); // Wait for Notifiers
|
||||
}
|
||||
|
||||
@@ -46,13 +46,13 @@ class AllianceTest : public DigitalCommunicationTest<HAL_AllianceStationID> {};
|
||||
|
||||
TEST_P(AllianceTest, Alliance) {
|
||||
auto alliance = GetParam();
|
||||
frc::sim::DriverStationSim::SetAllianceStationId(alliance);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAllianceStationId(alliance);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_allianceOutput.GetInitialized());
|
||||
EXPECT_FALSE(m_allianceOutput.GetIsInput());
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
bool isRed = false;
|
||||
switch (alliance) {
|
||||
@@ -102,13 +102,13 @@ class EnabledTest : public DigitalCommunicationTest<bool> {};
|
||||
|
||||
TEST_P(EnabledTest, Enabled) {
|
||||
auto enabled = GetParam();
|
||||
frc::sim::DriverStationSim::SetEnabled(enabled);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetEnabled(enabled);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_enabledOutput.GetInitialized());
|
||||
EXPECT_FALSE(m_enabledOutput.GetIsInput());
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
EXPECT_EQ(enabled, m_enabledOutput.GetValue());
|
||||
}
|
||||
@@ -120,13 +120,13 @@ class AutonomousTest : public DigitalCommunicationTest<bool> {};
|
||||
|
||||
TEST_P(AutonomousTest, Autonomous) {
|
||||
auto autonomous = GetParam();
|
||||
frc::sim::DriverStationSim::SetAutonomous(autonomous);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAutonomous(autonomous);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_autonomousOutput.GetInitialized());
|
||||
EXPECT_FALSE(m_autonomousOutput.GetIsInput());
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
EXPECT_EQ(autonomous, m_autonomousOutput.GetValue());
|
||||
}
|
||||
@@ -138,13 +138,13 @@ class AlertTest : public DigitalCommunicationTest<double> {};
|
||||
|
||||
TEST_P(AlertTest, Alert) {
|
||||
auto matchTime = GetParam();
|
||||
frc::sim::DriverStationSim::SetMatchTime(matchTime);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetMatchTime(matchTime);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_alertOutput.GetInitialized());
|
||||
EXPECT_FALSE(m_alertOutput.GetIsInput());
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
EXPECT_EQ(matchTime <= 30 && matchTime >= 25, m_alertOutput.GetValue());
|
||||
}
|
||||
|
||||
@@ -25,17 +25,17 @@ class ElevatorSimulationTest : public testing::Test {
|
||||
std::optional<std::thread> m_thread;
|
||||
|
||||
protected:
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{Constants::kMotorPort};
|
||||
frc::sim::EncoderSim m_encoderSim =
|
||||
frc::sim::EncoderSim::CreateForChannel(Constants::kEncoderAChannel);
|
||||
frc::sim::JoystickSim m_joystickSim{Constants::kJoystickPort};
|
||||
wpi::sim::PWMMotorControllerSim m_motorSim{Constants::kMotorPort};
|
||||
wpi::sim::EncoderSim m_encoderSim =
|
||||
wpi::sim::EncoderSim::CreateForChannel(Constants::kEncoderAChannel);
|
||||
wpi::sim::JoystickSim m_joystickSim{Constants::kJoystickPort};
|
||||
|
||||
public:
|
||||
void SetUp() override {
|
||||
frc::sim::PauseTiming();
|
||||
wpi::sim::PauseTiming();
|
||||
|
||||
m_thread = std::thread([&] { m_robot.StartCompetition(); });
|
||||
frc::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
wpi::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
@@ -43,23 +43,23 @@ class ElevatorSimulationTest : public testing::Test {
|
||||
m_thread->join();
|
||||
|
||||
m_encoderSim.ResetData();
|
||||
frc::sim::DriverStationSim::ResetData();
|
||||
wpi::sim::DriverStationSim::ResetData();
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(ElevatorSimulationTest, Teleop) {
|
||||
// teleop init
|
||||
{
|
||||
frc::sim::DriverStationSim::SetAutonomous(false);
|
||||
frc::sim::DriverStationSim::SetEnabled(true);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAutonomous(false);
|
||||
wpi::sim::DriverStationSim::SetEnabled(true);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_encoderSim.GetInitialized());
|
||||
}
|
||||
|
||||
{
|
||||
// advance 50 timesteps
|
||||
frc::sim::StepTiming(1_s);
|
||||
wpi::sim::StepTiming(1_s);
|
||||
|
||||
// Ensure elevator is still at 0.
|
||||
EXPECT_NEAR(0.0, m_encoderSim.GetDistance(), 0.05);
|
||||
@@ -71,12 +71,12 @@ TEST_F(ElevatorSimulationTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 75 timesteps
|
||||
frc::sim::StepTiming(1.5_s);
|
||||
wpi::sim::StepTiming(1.5_s);
|
||||
|
||||
EXPECT_NEAR(kSetpoint.value(), m_encoderSim.GetDistance(), 0.05);
|
||||
|
||||
// advance 25 timesteps to see setpoint is held.
|
||||
frc::sim::StepTiming(0.5_s);
|
||||
wpi::sim::StepTiming(0.5_s);
|
||||
|
||||
EXPECT_NEAR(kSetpoint.value(), m_encoderSim.GetDistance(), 0.05);
|
||||
}
|
||||
@@ -87,7 +87,7 @@ TEST_F(ElevatorSimulationTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 75 timesteps
|
||||
frc::sim::StepTiming(1.5_s);
|
||||
wpi::sim::StepTiming(1.5_s);
|
||||
|
||||
EXPECT_NEAR(0.0, m_encoderSim.GetDistance(), 0.05);
|
||||
}
|
||||
@@ -98,24 +98,24 @@ TEST_F(ElevatorSimulationTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 75 timesteps
|
||||
frc::sim::StepTiming(1.5_s);
|
||||
wpi::sim::StepTiming(1.5_s);
|
||||
|
||||
EXPECT_NEAR(kSetpoint.value(), m_encoderSim.GetDistance(), 0.05);
|
||||
|
||||
// advance 25 timesteps to see setpoint is held.
|
||||
frc::sim::StepTiming(0.5_s);
|
||||
wpi::sim::StepTiming(0.5_s);
|
||||
|
||||
EXPECT_NEAR(kSetpoint.value(), m_encoderSim.GetDistance(), 0.05);
|
||||
}
|
||||
|
||||
{
|
||||
// Disable
|
||||
frc::sim::DriverStationSim::SetAutonomous(false);
|
||||
frc::sim::DriverStationSim::SetEnabled(false);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAutonomous(false);
|
||||
wpi::sim::DriverStationSim::SetEnabled(false);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
// advance 75 timesteps
|
||||
frc::sim::StepTiming(1.5_s);
|
||||
wpi::sim::StepTiming(1.5_s);
|
||||
|
||||
ASSERT_NEAR(0.0, m_motorSim.GetSpeed(), 0.05);
|
||||
ASSERT_NEAR(0.0, m_encoderSim.GetDistance(), 0.05);
|
||||
|
||||
@@ -31,14 +31,14 @@ class I2CCommunicationTest : public testing::TestWithParam<T> {
|
||||
|
||||
void SetUp() override {
|
||||
gString = std::string();
|
||||
frc::sim::PauseTiming();
|
||||
frc::sim::DriverStationSim::ResetData();
|
||||
wpi::sim::PauseTiming();
|
||||
wpi::sim::DriverStationSim::ResetData();
|
||||
m_port = static_cast<int32_t>(Robot::kPort);
|
||||
|
||||
m_callback = HALSIM_RegisterI2CWriteCallback(m_port, &callback, nullptr);
|
||||
|
||||
m_thread = std::thread([&] { m_robot.StartCompetition(); });
|
||||
frc::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
wpi::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
@@ -54,12 +54,12 @@ class AllianceTest : public I2CCommunicationTest<HAL_AllianceStationID> {};
|
||||
|
||||
TEST_P(AllianceTest, Alliance) {
|
||||
auto alliance = GetParam();
|
||||
frc::sim::DriverStationSim::SetAllianceStationId(alliance);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAllianceStationId(alliance);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(HALSIM_GetI2CInitialized(m_port));
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
char expected = 'U';
|
||||
switch (alliance) {
|
||||
@@ -111,12 +111,12 @@ class EnabledTest : public I2CCommunicationTest<bool> {};
|
||||
|
||||
TEST_P(EnabledTest, Enabled) {
|
||||
auto enabled = GetParam();
|
||||
frc::sim::DriverStationSim::SetEnabled(enabled);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetEnabled(enabled);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(HALSIM_GetI2CInitialized(m_port));
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
char expected = enabled ? 'E' : 'D';
|
||||
EXPECT_EQ(expected, gString.at(1));
|
||||
@@ -129,12 +129,12 @@ class AutonomousTest : public I2CCommunicationTest<bool> {};
|
||||
|
||||
TEST_P(AutonomousTest, Autonomous) {
|
||||
auto autonomous = GetParam();
|
||||
frc::sim::DriverStationSim::SetAutonomous(autonomous);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAutonomous(autonomous);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(HALSIM_GetI2CInitialized(m_port));
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
char expected = autonomous ? 'A' : 'T';
|
||||
EXPECT_EQ(expected, gString.at(2));
|
||||
@@ -147,12 +147,12 @@ class MatchTimeTest : public I2CCommunicationTest<int> {};
|
||||
|
||||
TEST_P(MatchTimeTest, Alert) {
|
||||
auto matchTime = GetParam();
|
||||
frc::sim::DriverStationSim::SetMatchTime(matchTime);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetMatchTime(matchTime);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(HALSIM_GetI2CInitialized(m_port));
|
||||
|
||||
frc::sim::StepTiming(20_ms);
|
||||
wpi::sim::StepTiming(20_ms);
|
||||
|
||||
std::string expected = fmt::format("{:03}", matchTime);
|
||||
EXPECT_EQ(expected, gString.substr(3));
|
||||
|
||||
@@ -22,16 +22,16 @@
|
||||
#include "Robot.hpp"
|
||||
|
||||
class PotentiometerPIDTest : public testing::Test {
|
||||
frc::DCMotor m_elevatorGearbox = frc::DCMotor::Vex775Pro(4);
|
||||
wpi::math::DCMotor m_elevatorGearbox = wpi::math::DCMotor::Vex775Pro(4);
|
||||
static constexpr double kElevatorGearing = 10.0;
|
||||
static constexpr units::meter_t kElevatorDrumRadius = 2.0_in;
|
||||
static constexpr units::kilogram_t kCarriageMass = 4.0_kg;
|
||||
static constexpr wpi::units::meter_t kElevatorDrumRadius = 2.0_in;
|
||||
static constexpr wpi::units::kilogram_t kCarriageMass = 4.0_kg;
|
||||
|
||||
Robot m_robot;
|
||||
std::optional<std::thread> m_thread;
|
||||
|
||||
protected:
|
||||
frc::sim::ElevatorSim m_elevatorSim{m_elevatorGearbox,
|
||||
wpi::sim::ElevatorSim m_elevatorSim{m_elevatorGearbox,
|
||||
kElevatorGearing,
|
||||
kCarriageMass,
|
||||
kElevatorDrumRadius,
|
||||
@@ -39,16 +39,16 @@ class PotentiometerPIDTest : public testing::Test {
|
||||
Robot::kFullHeight,
|
||||
true,
|
||||
0.0_m};
|
||||
frc::sim::PWMMotorControllerSim m_motorSim{Robot::kMotorChannel};
|
||||
frc::sim::AnalogInputSim m_analogSim{Robot::kPotChannel};
|
||||
frc::sim::JoystickSim m_joystickSim{Robot::kJoystickChannel};
|
||||
wpi::sim::PWMMotorControllerSim m_motorSim{Robot::kMotorChannel};
|
||||
wpi::sim::AnalogInputSim m_analogSim{Robot::kPotChannel};
|
||||
wpi::sim::JoystickSim m_joystickSim{Robot::kJoystickChannel};
|
||||
int32_t m_callback;
|
||||
int32_t m_port;
|
||||
|
||||
public:
|
||||
void SimPeriodicBefore() {
|
||||
m_elevatorSim.SetInputVoltage(m_motorSim.GetSpeed() *
|
||||
frc::RobotController::GetBatteryVoltage());
|
||||
wpi::RobotController::GetBatteryVoltage());
|
||||
m_elevatorSim.Update(20_ms);
|
||||
|
||||
/*
|
||||
@@ -57,7 +57,7 @@ class PotentiometerPIDTest : public testing::Test {
|
||||
3.3v * (meters / range) = v
|
||||
*/
|
||||
m_analogSim.SetVoltage(
|
||||
(frc::RobotController::GetVoltage3V3() *
|
||||
(wpi::RobotController::GetVoltage3V3() *
|
||||
(m_elevatorSim.GetPosition().value() / Robot::kFullHeight))
|
||||
.value());
|
||||
}
|
||||
@@ -67,8 +67,8 @@ class PotentiometerPIDTest : public testing::Test {
|
||||
}
|
||||
|
||||
void SetUp() override {
|
||||
frc::sim::PauseTiming();
|
||||
frc::sim::DriverStationSim::ResetData();
|
||||
wpi::sim::PauseTiming();
|
||||
wpi::sim::DriverStationSim::ResetData();
|
||||
|
||||
m_joystickSim.SetButtonsMaximumIndex(12);
|
||||
|
||||
@@ -76,7 +76,7 @@ class PotentiometerPIDTest : public testing::Test {
|
||||
HALSIM_RegisterSimPeriodicBeforeCallback(CallSimPeriodicBefore, this);
|
||||
|
||||
m_thread = std::thread([&] { m_robot.StartCompetition(); });
|
||||
frc::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
wpi::sim::StepTiming(0.0_ms); // Wait for Notifiers
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
@@ -91,9 +91,9 @@ class PotentiometerPIDTest : public testing::Test {
|
||||
TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
// teleop init
|
||||
{
|
||||
frc::sim::DriverStationSim::SetAutonomous(false);
|
||||
frc::sim::DriverStationSim::SetEnabled(true);
|
||||
frc::sim::DriverStationSim::NotifyNewData();
|
||||
wpi::sim::DriverStationSim::SetAutonomous(false);
|
||||
wpi::sim::DriverStationSim::SetEnabled(true);
|
||||
wpi::sim::DriverStationSim::NotifyNewData();
|
||||
|
||||
EXPECT_TRUE(m_analogSim.GetInitialized());
|
||||
}
|
||||
@@ -101,7 +101,7 @@ TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
// first setpoint
|
||||
{
|
||||
// advance 50 timesteps
|
||||
frc::sim::StepTiming(1_s);
|
||||
wpi::sim::StepTiming(1_s);
|
||||
|
||||
EXPECT_NEAR(Robot::kSetpoints[0].value(),
|
||||
m_elevatorSim.GetPosition().value(), 0.1);
|
||||
@@ -114,7 +114,7 @@ TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 50 timesteps
|
||||
frc::sim::StepTiming(1_s);
|
||||
wpi::sim::StepTiming(1_s);
|
||||
|
||||
EXPECT_NEAR(Robot::kSetpoints[1].value(),
|
||||
m_elevatorSim.GetPosition().value(), 0.1);
|
||||
@@ -126,7 +126,7 @@ TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 10 timesteps
|
||||
frc::sim::StepTiming(0.2_s);
|
||||
wpi::sim::StepTiming(0.2_s);
|
||||
}
|
||||
|
||||
// third setpoint
|
||||
@@ -136,7 +136,7 @@ TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 50 timesteps
|
||||
frc::sim::StepTiming(1_s);
|
||||
wpi::sim::StepTiming(1_s);
|
||||
|
||||
EXPECT_NEAR(Robot::kSetpoints[2].value(),
|
||||
m_elevatorSim.GetPosition().value(), 0.1);
|
||||
@@ -148,7 +148,7 @@ TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 10 timesteps
|
||||
frc::sim::StepTiming(0.2_s);
|
||||
wpi::sim::StepTiming(0.2_s);
|
||||
}
|
||||
|
||||
// rollover: first setpoint
|
||||
@@ -158,7 +158,7 @@ TEST_F(PotentiometerPIDTest, Teleop) {
|
||||
m_joystickSim.NotifyNewData();
|
||||
|
||||
// advance 60 timesteps
|
||||
frc::sim::StepTiming(1.2_s);
|
||||
wpi::sim::StepTiming(1.2_s);
|
||||
EXPECT_NEAR(Robot::kSetpoints[0].value(),
|
||||
m_elevatorSim.GetPosition().value(), 0.1);
|
||||
}
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
class IntakeTest : public testing::Test {
|
||||
protected:
|
||||
Intake intake; // create our intake
|
||||
frc::sim::PWMMotorControllerSim simMotor{
|
||||
wpi::sim::PWMMotorControllerSim simMotor{
|
||||
IntakeConstants::kMotorPort}; // create our simulation PWM
|
||||
frc::sim::DoubleSolenoidSim simPiston{
|
||||
frc::PneumaticsModuleType::CTREPCM, IntakeConstants::kPistonFwdChannel,
|
||||
wpi::sim::DoubleSolenoidSim simPiston{
|
||||
wpi::PneumaticsModuleType::CTREPCM, IntakeConstants::kPistonFwdChannel,
|
||||
IntakeConstants::kPistonRevChannel}; // create our simulation solenoid
|
||||
};
|
||||
|
||||
@@ -36,10 +36,10 @@ TEST_F(IntakeTest, WorksWhenOpen) {
|
||||
|
||||
TEST_F(IntakeTest, Retract) {
|
||||
intake.Retract();
|
||||
EXPECT_EQ(frc::DoubleSolenoid::Value::kReverse, simPiston.Get());
|
||||
EXPECT_EQ(wpi::DoubleSolenoid::Value::kReverse, simPiston.Get());
|
||||
}
|
||||
|
||||
TEST_F(IntakeTest, Deploy) {
|
||||
intake.Deploy();
|
||||
EXPECT_EQ(frc::DoubleSolenoid::Value::kForward, simPiston.Get());
|
||||
EXPECT_EQ(wpi::DoubleSolenoid::Value::kForward, simPiston.Get());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user