13 #include "SmartDashboard/SendableBase.h" 14 #include "SpeedController.h" 20 template <
class... SpeedControllers>
22 SpeedControllers&... speedControllers);
23 ~SpeedControllerGroup()
override =
default;
25 void Set(
double speed)
override;
26 double Get()
const override;
31 void PIDWrite(
double output)
override;
36 bool m_isInverted =
false;
37 std::vector<std::reference_wrapper<SpeedController>> m_speedControllers;
42 #include "SpeedControllerGroup.inc" Interface for speed controlling devices.
Definition: SpeedController.h:17
Definition: RobotController.cpp:14
Definition: SpeedControllerGroup.h:18
void Set(double speed) override
Common interface for setting the speed of a speed controller.
Definition: SpeedControllerGroup.cpp:14
void InitSendable(SendableBuilder &builder) override
Initializes this Sendable object.
Definition: SpeedControllerGroup.cpp:47
double Get() const override
Common interface for getting the current set speed of a speed controller.
Definition: SpeedControllerGroup.cpp:20
void StopMotor() override
Common interface to stop the motor until Set is called again.
Definition: SpeedControllerGroup.cpp:39
void SetInverted(bool isInverted) override
Common interface for inverting direction of a speed controller.
Definition: SpeedControllerGroup.cpp:27
void Disable() override
Common interface for disabling a motor.
Definition: SpeedControllerGroup.cpp:33
bool GetInverted() const override
Common interface for returning the inversion state of a speed controller.
Definition: SpeedControllerGroup.cpp:31
Definition: SendableBase.h:19
Definition: SendableBuilder.h:23