12 #include "DigitalOutput.h" 13 #include "ErrorBase.h" 14 #include "MotorSafety.h" 15 #include "MotorSafetyHelper.h" 17 #include "SmartDashboard/SendableBase.h" 18 #include "SpeedController.h" 34 void Set(
double speed)
override;
35 double Get()
const override;
44 void PIDWrite(
double output)
override;
50 void SetSafetyEnabled(
bool enabled)
override;
61 bool m_isInverted =
false;
62 std::atomic_bool m_disabled{
false};
Interface for speed controlling devices.
Definition: SpeedController.h:17
Definition: RobotController.cpp:14
void SetInverted(bool isInverted) override
Common interface for inverting direction of a speed controller.
Definition: NidecBrushless.cpp:63
void InitSendable(SendableBuilder &builder) override
Initializes this Sendable object.
Definition: NidecBrushless.cpp:150
bool IsSafetyEnabled() const override
Check if motor safety is enabled.
Definition: NidecBrushless.cpp:115
void Set(double speed) override
Set the PWM value.
Definition: NidecBrushless.cpp:47
double GetExpiration() const override
Return the safety expiration time.
Definition: NidecBrushless.cpp:88
void SetExpiration(double timeout) override
Set the safety expiration time.
Definition: NidecBrushless.cpp:79
void Enable()
Re-enable the motor after Disable() has been called.
Definition: NidecBrushless.cpp:141
Definition: MotorSafety.h:16
Definition: MotorSafetyHelper.h:20
void StopMotor() override
Stop the motor.
Definition: NidecBrushless.cpp:105
int GetChannel() const
Gets the channel number associated with the object.
Definition: NidecBrushless.cpp:148
void Disable() override
Disable the motor.
Definition: NidecBrushless.cpp:131
Nidec Brushless Motor.
Definition: NidecBrushless.h:25
Base class for most objects.
Definition: ErrorBase.h:74
Definition: SendableBase.h:19
bool IsAlive() const override
Check if the motor is currently alive or stopped due to a timeout.
Definition: NidecBrushless.cpp:98
void PIDWrite(double output) override
Write out the PID value as seen in the PIDOutput base object.
Definition: NidecBrushless.cpp:72
Class to write to digital outputs.
Definition: DigitalOutput.h:24
Definition: SendableBuilder.h:23
double Get() const override
Get the recently set value of the PWM.
Definition: NidecBrushless.cpp:61
Class implements the PWM generation in the FPGA.
Definition: PWM.h:36
NidecBrushless(int pwmChannel, int dioChannel)
Constructor.
Definition: NidecBrushless.cpp:24
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:33
bool GetInverted() const override
Common interface for returning the inversion state of a speed controller.
Definition: NidecBrushless.cpp:65