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" 51 void Set(
double speed)
override;
58 double Get()
const override;
91 void PIDWrite(
double output)
override;
116 void SetSafetyEnabled(
bool enabled)
override;
118 bool IsSafetyEnabled()
const override;
134 bool m_isInverted =
false;
135 std::atomic_bool m_disabled{
false};
138 double m_speed = 0.0;
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:45
Interface for speed controlling devices.
Definition: SpeedController.h:17
Definition: Utility.cpp:119
void SetInverted(bool isInverted) override
Common interface for inverting direction of a speed controller.
Definition: NidecBrushless.cpp:42
void InitSendable(SendableBuilder &builder) override
Initializes this Sendable object.
Definition: NidecBrushless.cpp:85
void Set(double speed) override
Set the PWM value.
Definition: NidecBrushless.cpp:31
double GetExpiration() const override
Return the safety expiration time.
Definition: NidecBrushless.cpp:65
void SetExpiration(double timeout) override
Set the safety expiration time.
Definition: NidecBrushless.cpp:61
void Enable()
Re-enable the motor after Disable() has been called.
Definition: NidecBrushless.cpp:57
Definition: MotorSafety.h:16
Definition: MotorSafetyHelper.h:20
void StopMotor() override
Stop the motor.
Definition: NidecBrushless.cpp:52
int GetChannel() const
Gets the channel number associated with the object.
Definition: NidecBrushless.cpp:83
void Disable() override
Disable the motor.
Definition: NidecBrushless.cpp:46
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:69
void PIDWrite(double output) override
Write out the PID value as seen in the PIDOutput base object.
Definition: NidecBrushless.cpp:59
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:40
Class implements the PWM generation in the FPGA.
Definition: PWM.h:36
NidecBrushless(int pwmChannel, int dioChannel)
Constructor.
Definition: NidecBrushless.cpp:16
bool GetInverted() const override
Common interface for returning the inversion state of a speed controller.
Definition: NidecBrushless.cpp:44