mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-02 02:51:42 +00:00
[wpilib] Move motor controllers to motorcontrol package (#3302)
Also deprecate SpeedController in favor of motorcontrol.MotorController and SpeedControllerGroup in favor of motorcontrol.MotorControllerGroup. The MotorController interface is derived from the SpeedController interface so that code such as SpeedController x = new VictorSP(1) continues to compile (just with a warning). SpeedControllerGroup and MotorControllerGroup are independent classes; both implement the MotorController interface.
This commit is contained in:
@@ -12,6 +12,17 @@
|
||||
|
||||
namespace frc {
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4996) // was declared deprecated
|
||||
#elif defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#elif defined(__GNUC__)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
#endif
|
||||
|
||||
class SpeedController;
|
||||
|
||||
/**
|
||||
@@ -19,9 +30,9 @@ class SpeedController;
|
||||
* the Kit of Parts drive base, "tank drive", or West Coast Drive.
|
||||
*
|
||||
* These drive bases typically have drop-center / skid-steer with two or more
|
||||
* wheels per side (e.g., 6WD or 8WD). This class takes a SpeedController per
|
||||
* wheels per side (e.g., 6WD or 8WD). This class takes a MotorController per
|
||||
* side. For four and six motor drivetrains, construct and pass in
|
||||
* SpeedControllerGroup instances as follows.
|
||||
* MotorControllerGroup instances as follows.
|
||||
*
|
||||
* Four motor drivetrain:
|
||||
* @code{.cpp}
|
||||
@@ -29,11 +40,11 @@ class SpeedController;
|
||||
* public:
|
||||
* frc::PWMVictorSPX m_frontLeft{1};
|
||||
* frc::PWMVictorSPX m_rearLeft{2};
|
||||
* frc::SpeedControllerGroup m_left{m_frontLeft, m_rearLeft};
|
||||
* frc::MotorControllerGroup m_left{m_frontLeft, m_rearLeft};
|
||||
*
|
||||
* frc::PWMVictorSPX m_frontRight{3};
|
||||
* frc::PWMVictorSPX m_rearRight{4};
|
||||
* frc::SpeedControllerGroup m_right{m_frontRight, m_rearRight};
|
||||
* frc::MotorControllerGroup m_right{m_frontRight, m_rearRight};
|
||||
*
|
||||
* frc::DifferentialDrive m_drive{m_left, m_right};
|
||||
* };
|
||||
@@ -46,12 +57,12 @@ class SpeedController;
|
||||
* frc::PWMVictorSPX m_frontLeft{1};
|
||||
* frc::PWMVictorSPX m_midLeft{2};
|
||||
* frc::PWMVictorSPX m_rearLeft{3};
|
||||
* frc::SpeedControllerGroup m_left{m_frontLeft, m_midLeft, m_rearLeft};
|
||||
* frc::MotorControllerGroup m_left{m_frontLeft, m_midLeft, m_rearLeft};
|
||||
*
|
||||
* frc::PWMVictorSPX m_frontRight{4};
|
||||
* frc::PWMVictorSPX m_midRight{5};
|
||||
* frc::PWMVictorSPX m_rearRight{6};
|
||||
* frc::SpeedControllerGroup m_right{m_frontRight, m_midRight, m_rearRight};
|
||||
* frc::MotorControllerGroup m_right{m_frontRight, m_midRight, m_rearRight};
|
||||
*
|
||||
* frc::DifferentialDrive m_drive{m_left, m_right};
|
||||
* };
|
||||
@@ -105,7 +116,7 @@ class DifferentialDrive : public RobotDriveBase,
|
||||
/**
|
||||
* Construct a DifferentialDrive.
|
||||
*
|
||||
* To pass multiple motors per side, use a SpeedControllerGroup. If a motor
|
||||
* To pass multiple motors per side, use a MotorControllerGroup. If a motor
|
||||
* needs to be inverted, do so before passing it in.
|
||||
*/
|
||||
DifferentialDrive(SpeedController& leftMotor, SpeedController& rightMotor);
|
||||
@@ -219,4 +230,12 @@ class DifferentialDrive : public RobotDriveBase,
|
||||
double m_rightSideInvertMultiplier = -1.0;
|
||||
};
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(pop)
|
||||
#elif defined(__clang__)
|
||||
#pragma clang diagnostic pop
|
||||
#elif defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
} // namespace frc
|
||||
|
||||
@@ -15,6 +15,17 @@
|
||||
|
||||
namespace frc {
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4996) // was declared deprecated
|
||||
#elif defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#elif defined(__GNUC__)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
#endif
|
||||
|
||||
class SpeedController;
|
||||
|
||||
/**
|
||||
@@ -140,4 +151,12 @@ class KilloughDrive : public RobotDriveBase,
|
||||
bool reported = false;
|
||||
};
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(pop)
|
||||
#elif defined(__clang__)
|
||||
#pragma clang diagnostic pop
|
||||
#elif defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
} // namespace frc
|
||||
|
||||
@@ -14,6 +14,17 @@
|
||||
|
||||
namespace frc {
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4996) // was declared deprecated
|
||||
#elif defined(__clang__)
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
#elif defined(__GNUC__)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
#endif
|
||||
|
||||
class SpeedController;
|
||||
|
||||
/**
|
||||
@@ -145,4 +156,12 @@ class MecanumDrive : public RobotDriveBase,
|
||||
bool reported = false;
|
||||
};
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning(pop)
|
||||
#elif defined(__clang__)
|
||||
#pragma clang diagnostic pop
|
||||
#elif defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
|
||||
} // namespace frc
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
|
||||
namespace frc {
|
||||
|
||||
class SpeedController;
|
||||
|
||||
/**
|
||||
* Common base class for drive platforms.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user