mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
[wpilib] Deprecate Accelerometer and Gyro interfaces (#5445)
Accelerometer is hyper-specific to ADXL accelerometers, and Gyro is less useful now that 3D IMUs are prevalent, and if those IMUs want to support the Gyro interface, they also need to provide a way to set the axis used for the Gyro interface, which is confusing. Higher-order functions (e.g., lambdas) are a more flexible interface boundary than interfaces, but they didn't exist when these interfaces were created.
This commit is contained in:
@@ -99,7 +99,7 @@ TEST(AcclerometerSimTest, SetRange) {
|
||||
|
||||
EnumCallback callback;
|
||||
|
||||
Accelerometer::Range range = Accelerometer::kRange_4G;
|
||||
BuiltInAccelerometer::Range range = BuiltInAccelerometer::kRange_4G;
|
||||
auto cb = sim.RegisterRangeCallback(callback.GetCallback(), false);
|
||||
BuiltInAccelerometer accel(range);
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
@@ -108,7 +108,7 @@ TEST(AcclerometerSimTest, SetRange) {
|
||||
|
||||
// 2G
|
||||
callback.Reset();
|
||||
range = Accelerometer::kRange_2G;
|
||||
range = BuiltInAccelerometer::kRange_2G;
|
||||
accel.SetRange(range);
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(static_cast<int>(range), sim.GetRange());
|
||||
@@ -116,7 +116,7 @@ TEST(AcclerometerSimTest, SetRange) {
|
||||
|
||||
// 4G
|
||||
callback.Reset();
|
||||
range = Accelerometer::kRange_4G;
|
||||
range = BuiltInAccelerometer::kRange_4G;
|
||||
accel.SetRange(range);
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(static_cast<int>(range), sim.GetRange());
|
||||
@@ -124,15 +124,10 @@ TEST(AcclerometerSimTest, SetRange) {
|
||||
|
||||
// 8G
|
||||
callback.Reset();
|
||||
range = Accelerometer::kRange_8G;
|
||||
range = BuiltInAccelerometer::kRange_8G;
|
||||
accel.SetRange(range);
|
||||
EXPECT_TRUE(callback.WasTriggered());
|
||||
EXPECT_EQ(static_cast<int>(range), sim.GetRange());
|
||||
EXPECT_EQ(static_cast<int>(range), callback.GetLastValue());
|
||||
|
||||
// 16G - Not supported
|
||||
callback.Reset();
|
||||
EXPECT_THROW(accel.SetRange(Accelerometer::kRange_16G), std::runtime_error);
|
||||
EXPECT_FALSE(callback.WasTriggered());
|
||||
}
|
||||
} // namespace frc::sim
|
||||
|
||||
Reference in New Issue
Block a user