[hal, wpilib] Rewrite CAN APIs (#7798)

This commit is contained in:
Thad House
2025-02-25 19:07:01 -08:00
committed by GitHub
parent b39744b562
commit baa20fa239
107 changed files with 1447 additions and 1379 deletions

View File

@@ -12,7 +12,7 @@
namespace frc {
TEST(DoubleSolenoidCTRETest, ValidInitialization) {
DoubleSolenoid solenoid{3, frc::PneumaticsModuleType::CTREPCM, 2, 3};
DoubleSolenoid solenoid{0, 3, frc::PneumaticsModuleType::CTREPCM, 2, 3};
solenoid.Set(DoubleSolenoid::kReverse);
EXPECT_EQ(DoubleSolenoid::kReverse, solenoid.Get());
@@ -25,29 +25,29 @@ TEST(DoubleSolenoidCTRETest, ValidInitialization) {
TEST(DoubleSolenoidCTRETest, ThrowForwardPortAlreadyInitialized) {
// Single solenoid that is reused for forward port
Solenoid solenoid{5, frc::PneumaticsModuleType::CTREPCM, 2};
EXPECT_THROW(DoubleSolenoid(5, frc::PneumaticsModuleType::CTREPCM, 2, 3),
Solenoid solenoid{0, 5, frc::PneumaticsModuleType::CTREPCM, 2};
EXPECT_THROW(DoubleSolenoid(0, 5, frc::PneumaticsModuleType::CTREPCM, 2, 3),
std::runtime_error);
}
TEST(DoubleSolenoidCTRETest, ThrowReversePortAlreadyInitialized) {
// Single solenoid that is reused for forward port
Solenoid solenoid{6, frc::PneumaticsModuleType::CTREPCM, 3};
Solenoid solenoid{0, 6, frc::PneumaticsModuleType::CTREPCM, 3};
EXPECT_THROW(DoubleSolenoid(6, frc::PneumaticsModuleType::CTREPCM, 2, 3),
std::runtime_error);
}
TEST(DoubleSolenoidCTRETest, ThrowBothPortsAlreadyInitialized) {
PneumaticsControlModule pcm{6};
PneumaticsControlModule pcm{0, 6};
// Single solenoid that is reused for forward port
Solenoid solenoid0(6, frc::PneumaticsModuleType::CTREPCM, 2);
Solenoid solenoid1(6, frc::PneumaticsModuleType::CTREPCM, 3);
Solenoid solenoid0(0, 6, frc::PneumaticsModuleType::CTREPCM, 2);
Solenoid solenoid1(0, 6, frc::PneumaticsModuleType::CTREPCM, 3);
EXPECT_THROW(DoubleSolenoid(6, frc::PneumaticsModuleType::CTREPCM, 2, 3),
std::runtime_error);
}
TEST(DoubleSolenoidCTRETest, Toggle) {
DoubleSolenoid solenoid{4, frc::PneumaticsModuleType::CTREPCM, 2, 3};
DoubleSolenoid solenoid{0, 4, frc::PneumaticsModuleType::CTREPCM, 2, 3};
// Bootstrap it into reverse
solenoid.Set(DoubleSolenoid::kReverse);
@@ -64,12 +64,12 @@ TEST(DoubleSolenoidCTRETest, Toggle) {
}
TEST(DoubleSolenoidCTRETest, InvalidForwardPort) {
EXPECT_THROW(DoubleSolenoid(0, frc::PneumaticsModuleType::CTREPCM, 100, 1),
EXPECT_THROW(DoubleSolenoid(0, 0, frc::PneumaticsModuleType::CTREPCM, 100, 1),
std::runtime_error);
}
TEST(DoubleSolenoidCTRETest, InvalidReversePort) {
EXPECT_THROW(DoubleSolenoid(0, frc::PneumaticsModuleType::CTREPCM, 0, 100),
EXPECT_THROW(DoubleSolenoid(0, 0, frc::PneumaticsModuleType::CTREPCM, 0, 100),
std::runtime_error);
}
} // namespace frc

View File

@@ -12,7 +12,7 @@
namespace frc {
TEST(DoubleSolenoidREVTest, ValidInitialization) {
DoubleSolenoid solenoid{3, frc::PneumaticsModuleType::CTREPCM, 2, 3};
DoubleSolenoid solenoid{0, 3, frc::PneumaticsModuleType::CTREPCM, 2, 3};
solenoid.Set(DoubleSolenoid::kReverse);
EXPECT_EQ(DoubleSolenoid::kReverse, solenoid.Get());
@@ -25,29 +25,29 @@ TEST(DoubleSolenoidREVTest, ValidInitialization) {
TEST(DoubleSolenoidREVTest, ThrowForwardPortAlreadyInitialized) {
// Single solenoid that is reused for forward port
Solenoid solenoid{5, frc::PneumaticsModuleType::CTREPCM, 2};
Solenoid solenoid{0, 5, frc::PneumaticsModuleType::CTREPCM, 2};
EXPECT_THROW(DoubleSolenoid(5, frc::PneumaticsModuleType::CTREPCM, 2, 3),
std::runtime_error);
}
TEST(DoubleSolenoidREVTest, ThrowReversePortAlreadyInitialized) {
// Single solenoid that is reused for forward port
Solenoid solenoid{6, frc::PneumaticsModuleType::CTREPCM, 3};
Solenoid solenoid{0, 6, frc::PneumaticsModuleType::CTREPCM, 3};
EXPECT_THROW(DoubleSolenoid(6, frc::PneumaticsModuleType::CTREPCM, 2, 3),
std::runtime_error);
}
TEST(DoubleSolenoidREVTest, ThrowBothPortsAlreadyInitialized) {
PneumaticsControlModule pcm{6};
PneumaticsControlModule pcm{0, 6};
// Single solenoid that is reused for forward port
Solenoid solenoid0(6, frc::PneumaticsModuleType::CTREPCM, 2);
Solenoid solenoid1(6, frc::PneumaticsModuleType::CTREPCM, 3);
Solenoid solenoid0(0, 6, frc::PneumaticsModuleType::CTREPCM, 2);
Solenoid solenoid1(0, 6, frc::PneumaticsModuleType::CTREPCM, 3);
EXPECT_THROW(DoubleSolenoid(6, frc::PneumaticsModuleType::CTREPCM, 2, 3),
std::runtime_error);
}
TEST(DoubleSolenoidREVTest, Toggle) {
DoubleSolenoid solenoid{4, frc::PneumaticsModuleType::CTREPCM, 2, 3};
DoubleSolenoid solenoid{0, 4, frc::PneumaticsModuleType::CTREPCM, 2, 3};
// Bootstrap it into reverse
solenoid.Set(DoubleSolenoid::kReverse);
@@ -64,12 +64,12 @@ TEST(DoubleSolenoidREVTest, Toggle) {
}
TEST(DoubleSolenoidREVTest, InvalidForwardPort) {
EXPECT_THROW(DoubleSolenoid(0, frc::PneumaticsModuleType::CTREPCM, 100, 1),
EXPECT_THROW(DoubleSolenoid(0, 0, frc::PneumaticsModuleType::CTREPCM, 100, 1),
std::runtime_error);
}
TEST(DoubleSolenoidREVTest, InvalidReversePort) {
EXPECT_THROW(DoubleSolenoid(0, frc::PneumaticsModuleType::CTREPCM, 0, 100),
EXPECT_THROW(DoubleSolenoid(0, 0, frc::PneumaticsModuleType::CTREPCM, 0, 100),
std::runtime_error);
}
} // namespace frc

View File

@@ -11,7 +11,7 @@
namespace frc {
TEST(SolenoidCTRETest, ValidInitialization) {
Solenoid solenoid{3, frc::PneumaticsModuleType::CTREPCM, 2};
Solenoid solenoid{0, 3, frc::PneumaticsModuleType::CTREPCM, 2};
EXPECT_EQ(2, solenoid.GetChannel());
solenoid.Set(true);
@@ -22,24 +22,24 @@ TEST(SolenoidCTRETest, ValidInitialization) {
}
TEST(SolenoidCTRETest, DoubleInitialization) {
Solenoid solenoid{3, frc::PneumaticsModuleType::CTREPCM, 2};
EXPECT_THROW(Solenoid(3, frc::PneumaticsModuleType::CTREPCM, 2),
Solenoid solenoid{0, 3, frc::PneumaticsModuleType::CTREPCM, 2};
EXPECT_THROW(Solenoid(0, 3, frc::PneumaticsModuleType::CTREPCM, 2),
std::runtime_error);
}
TEST(SolenoidCTRETest, DoubleInitializationFromDoubleSolenoid) {
DoubleSolenoid solenoid{3, frc::PneumaticsModuleType::CTREPCM, 2, 3};
EXPECT_THROW(Solenoid(3, frc::PneumaticsModuleType::CTREPCM, 2),
DoubleSolenoid solenoid{0, 3, frc::PneumaticsModuleType::CTREPCM, 2, 3};
EXPECT_THROW(Solenoid(0, 3, frc::PneumaticsModuleType::CTREPCM, 2),
std::runtime_error);
}
TEST(SolenoidCTRETest, InvalidChannel) {
EXPECT_THROW(Solenoid(3, frc::PneumaticsModuleType::CTREPCM, 100),
EXPECT_THROW(Solenoid(0, 3, frc::PneumaticsModuleType::CTREPCM, 100),
std::runtime_error);
}
TEST(SolenoidCTRETest, Toggle) {
Solenoid solenoid{3, frc::PneumaticsModuleType::CTREPCM, 2};
Solenoid solenoid{0, 3, frc::PneumaticsModuleType::CTREPCM, 2};
solenoid.Set(true);
EXPECT_TRUE(solenoid.Get());

View File

@@ -11,7 +11,7 @@
namespace frc {
TEST(SolenoidREVTest, ValidInitialization) {
Solenoid solenoid{3, frc::PneumaticsModuleType::REVPH, 2};
Solenoid solenoid{0, 3, frc::PneumaticsModuleType::REVPH, 2};
EXPECT_EQ(2, solenoid.GetChannel());
solenoid.Set(true);
@@ -22,24 +22,24 @@ TEST(SolenoidREVTest, ValidInitialization) {
}
TEST(SolenoidREVTest, DoubleInitialization) {
Solenoid solenoid{3, frc::PneumaticsModuleType::REVPH, 2};
EXPECT_THROW(Solenoid(3, frc::PneumaticsModuleType::REVPH, 2),
Solenoid solenoid{0, 3, frc::PneumaticsModuleType::REVPH, 2};
EXPECT_THROW(Solenoid(0, 3, frc::PneumaticsModuleType::REVPH, 2),
std::runtime_error);
}
TEST(SolenoidREVTest, DoubleInitializationFromDoubleSolenoid) {
DoubleSolenoid solenoid{3, frc::PneumaticsModuleType::REVPH, 2, 3};
EXPECT_THROW(Solenoid(3, frc::PneumaticsModuleType::REVPH, 2),
DoubleSolenoid solenoid{0, 3, frc::PneumaticsModuleType::REVPH, 2, 3};
EXPECT_THROW(Solenoid(0, 3, frc::PneumaticsModuleType::REVPH, 2),
std::runtime_error);
}
TEST(SolenoidREVTest, InvalidChannel) {
EXPECT_THROW(Solenoid(3, frc::PneumaticsModuleType::REVPH, 100),
EXPECT_THROW(Solenoid(0, 3, frc::PneumaticsModuleType::REVPH, 100),
std::runtime_error);
}
TEST(SolenoidREVTest, Toggle) {
Solenoid solenoid{3, frc::PneumaticsModuleType::REVPH, 2};
Solenoid solenoid{0, 3, frc::PneumaticsModuleType::REVPH, 2};
solenoid.Set(true);
EXPECT_TRUE(solenoid.Get());

View File

@@ -22,14 +22,14 @@ TEST(CTREPCMSimTest, InitializedCallback) {
BooleanCallback callback;
auto cb = sim.RegisterInitializedCallback(callback.GetCallback(), false);
PneumaticsControlModule pcm;
PneumaticsControlModule pcm{0};
EXPECT_TRUE(sim.GetInitialized());
EXPECT_TRUE(callback.WasTriggered());
EXPECT_TRUE(callback.GetLastValue());
}
TEST(CTREPCMSimTest, SolenoidOutput) {
PneumaticsControlModule pcm;
PneumaticsControlModule pcm{0};
CTREPCMSim sim(pcm);
sim.ResetData();
@@ -80,7 +80,7 @@ TEST(CTREPCMSimTest, SolenoidOutput) {
}
TEST(CTREPCMSimTest, SetCompressorOn) {
PneumaticsControlModule pcm;
PneumaticsControlModule pcm{0};
CTREPCMSim sim(pcm);
sim.ResetData();
@@ -97,7 +97,7 @@ TEST(CTREPCMSimTest, SetCompressorOn) {
}
TEST(CTREPCMSimTest, SetEnableDigital) {
PneumaticsControlModule pcm;
PneumaticsControlModule pcm{0};
CTREPCMSim sim(pcm);
sim.ResetData();
@@ -116,7 +116,7 @@ TEST(CTREPCMSimTest, SetEnableDigital) {
}
TEST(CTREPCMSimTest, SetPressureSwitchEnabled) {
PneumaticsControlModule pcm;
PneumaticsControlModule pcm{0};
CTREPCMSim sim(pcm);
sim.ResetData();
@@ -133,7 +133,7 @@ TEST(CTREPCMSimTest, SetPressureSwitchEnabled) {
}
TEST(CTREPCMSimTest, SetCompressorCurrent) {
PneumaticsControlModule pcm;
PneumaticsControlModule pcm{0};
CTREPCMSim sim(pcm);
sim.ResetData();

View File

@@ -22,7 +22,7 @@ TEST(PowerDistributionSimTest, Initialize) {
BooleanCallback callback;
auto cb = sim.RegisterInitializedCallback(callback.GetCallback(), false);
PowerDistribution pdp(2, frc::PowerDistribution::ModuleType::kCTRE);
PowerDistribution pdp(0, 2, frc::PowerDistribution::ModuleType::kCTRE);
EXPECT_TRUE(sim.GetInitialized());
EXPECT_TRUE(callback.WasTriggered());
EXPECT_TRUE(callback.GetLastValue());
@@ -35,7 +35,7 @@ TEST(PowerDistributionSimTest, Initialize) {
TEST(PowerDistributionSimTest, SetTemperature) {
HAL_Initialize(500, 0);
PowerDistribution pdp{2, frc::PowerDistribution::ModuleType::kCTRE};
PowerDistribution pdp{0, 2, frc::PowerDistribution::ModuleType::kCTRE};
PowerDistributionSim sim(pdp);
DoubleCallback callback;
@@ -50,7 +50,7 @@ TEST(PowerDistributionSimTest, SetTemperature) {
TEST(PowerDistributionSimTest, SetVoltage) {
HAL_Initialize(500, 0);
PowerDistribution pdp{2, frc::PowerDistribution::ModuleType::kCTRE};
PowerDistribution pdp{0, 2, frc::PowerDistribution::ModuleType::kCTRE};
PowerDistributionSim sim(pdp);
DoubleCallback callback;
@@ -65,7 +65,7 @@ TEST(PowerDistributionSimTest, SetVoltage) {
TEST(PowerDistributionSimTest, SetCurrent) {
HAL_Initialize(500, 0);
PowerDistribution pdp{2, frc::PowerDistribution::ModuleType::kCTRE};
PowerDistribution pdp{0, 2, frc::PowerDistribution::ModuleType::kCTRE};
PowerDistributionSim sim(pdp);
for (int channel = 0; channel < HAL_GetNumCTREPDPChannels(); ++channel) {
@@ -84,7 +84,7 @@ TEST(PowerDistributionSimTest, SetCurrent) {
TEST(PowerDistributionSimTest, GetAllCurrents) {
HAL_Initialize(500, 0);
PowerDistribution pdp{2, frc::PowerDistribution::ModuleType::kRev};
PowerDistribution pdp{0, 2, frc::PowerDistribution::ModuleType::kRev};
PowerDistributionSim sim(pdp);
// setup

View File

@@ -22,18 +22,18 @@ TEST(REVPHSimTest, InitializedCallback) {
BooleanCallback callback;
auto cb = sim.RegisterInitializedCallback(callback.GetCallback(), false);
PneumaticHub ph;
PneumaticHub ph{0};
EXPECT_TRUE(sim.GetInitialized());
EXPECT_TRUE(callback.WasTriggered());
EXPECT_TRUE(callback.GetLastValue());
}
TEST(REVPHSimTest, SolenoidOutput) {
PneumaticHub ph;
PneumaticHub ph{0};
REVPHSim sim(ph);
sim.ResetData();
DoubleSolenoid doubleSolenoid{1, frc::PneumaticsModuleType::REVPH, 3, 4};
DoubleSolenoid doubleSolenoid{0, 1, frc::PneumaticsModuleType::REVPH, 3, 4};
BooleanCallback callback3;
BooleanCallback callback4;
@@ -80,7 +80,7 @@ TEST(REVPHSimTest, SolenoidOutput) {
}
TEST(REVPHSimTest, SetCompressorOn) {
PneumaticHub ph;
PneumaticHub ph{0};
REVPHSim sim(ph);
sim.ResetData();
@@ -97,7 +97,7 @@ TEST(REVPHSimTest, SetCompressorOn) {
}
TEST(REVPHSimTest, SetEnableDigital) {
PneumaticHub ph;
PneumaticHub ph{0};
REVPHSim sim(ph);
sim.ResetData();
@@ -118,7 +118,7 @@ TEST(REVPHSimTest, SetEnableDigital) {
}
TEST(REVPHSimTest, SetEnableAnalog) {
PneumaticHub ph;
PneumaticHub ph{0};
REVPHSim sim(ph);
sim.ResetData();
@@ -139,7 +139,7 @@ TEST(REVPHSimTest, SetEnableAnalog) {
}
TEST(REVPHSimTest, SetEnableHybrid) {
PneumaticHub ph;
PneumaticHub ph{0};
REVPHSim sim(ph);
sim.ResetData();
@@ -160,7 +160,7 @@ TEST(REVPHSimTest, SetEnableHybrid) {
}
TEST(REVPHSimTest, SetPressureSwitchEnabled) {
PneumaticHub ph;
PneumaticHub ph{0};
REVPHSim sim(ph);
sim.ResetData();
@@ -177,7 +177,7 @@ TEST(REVPHSimTest, SetPressureSwitchEnabled) {
}
TEST(REVPHSimTest, SetCompressorCurrent) {
PneumaticHub ph;
PneumaticHub ph{0};
REVPHSim sim(ph);
sim.ResetData();