|
CTRE Phoenix 6 C++ 26.0.0-beta-1
|
Follow the motor output of another Talon. More...
#include <ctre/phoenix6/controls/Follower.hpp>
Public Member Functions | |
| constexpr | Follower (int LeaderID, signals::MotorAlignmentValue MotorAlignment) |
| Follow the motor output of another Talon. | |
| constexpr | ~Follower () override |
| constexpr std::string_view | GetName () const override |
| Gets the name of this control request. | |
| constexpr Follower & | WithLeaderID (int newLeaderID) |
| Modifies this Control Request's LeaderID parameter and returns itself for method-chaining and easier to use request API. | |
| constexpr Follower & | WithMotorAlignment (signals::MotorAlignmentValue newMotorAlignment) |
| Modifies this Control Request's MotorAlignment parameter and returns itself for method-chaining and easier to use request API. | |
| constexpr Follower & | WithUpdateFreqHz (units::frequency::hertz_t newUpdateFreqHz) |
| Sets the frequency at which this control will update. | |
| std::string | ToString () const override |
| Returns a string representation of the object. | |
| std::map< std::string, std::string > | GetControlInfo () const override |
| Gets information about this control request. | |
Public Member Functions inherited from ctre::phoenix6::controls::ControlRequest | |
| constexpr | ControlRequest ()=default |
| Constructs a new Control Request. | |
| virtual constexpr | ~ControlRequest () |
Public Attributes | |
| int | LeaderID |
| Device ID of the leader to follow. | |
| signals::MotorAlignmentValue | MotorAlignment |
| Set to Aligned for motor invert to match the leader's configured Invert - which is typical when leader and follower are mechanically linked and spin in the same direction. | |
| units::frequency::hertz_t | UpdateFreqHz {20_Hz} |
| The frequency at which this control will update. | |
Additional Inherited Members | |
Protected Member Functions inherited from ctre::phoenix6::controls::ControlRequest | |
| constexpr | ControlRequest (ControlRequest const &)=default |
| constexpr | ControlRequest (ControlRequest &&)=default |
| constexpr ControlRequest & | operator= (ControlRequest const &)=default |
| constexpr ControlRequest & | operator= (ControlRequest &&)=default |
Follow the motor output of another Talon.
If Talon is in torque control, the torque is copied - which will increase the total torque applied. If Talon is in duty cycle output control, the duty cycle is matched. If Talon is in voltage output control, the motor voltage is matched. Motor direction either matches the leader's configured direction or opposes it based on the MotorAlignment.
The leader must enable the status signal corresponding to its control output type (DutyCycle, MotorVoltage, TorqueCurrent). The update rate of the status signal determines the update rate of the follower's output and should be no slower than 20 Hz.
|
inlineconstexpr |
Follow the motor output of another Talon.
If Talon is in torque control, the torque is copied - which will increase the total torque applied. If Talon is in duty cycle output control, the duty cycle is matched. If Talon is in voltage output control, the motor voltage is matched. Motor direction either matches the leader's configured direction or opposes it based on the MotorAlignment.
The leader must enable the status signal corresponding to its control output type (DutyCycle, MotorVoltage, TorqueCurrent). The update rate of the status signal determines the update rate of the follower's output and should be no slower than 20 Hz.
| LeaderID | Device ID of the leader to follow. |
| MotorAlignment | Set to Aligned for motor invert to match the leader's configured Invert - which is typical when leader and follower are mechanically linked and spin in the same direction. Set to Opposed for motor invert to oppose the leader's configured Invert - this is typical where the leader and follower mechanically spin in opposite directions. |
|
inlineconstexproverride |
|
overridevirtual |
Gets information about this control request.
Implements ctre::phoenix6::controls::ControlRequest.
|
inlineconstexproverridevirtual |
Gets the name of this control request.
Implements ctre::phoenix6::controls::ControlRequest.
|
overridevirtual |
Returns a string representation of the object.
Implements ctre::phoenix6::controls::ControlRequest.
|
inlineconstexpr |
Modifies this Control Request's LeaderID parameter and returns itself for method-chaining and easier to use request API.
Device ID of the leader to follow.
| newLeaderID | Parameter to modify |
|
inlineconstexpr |
Modifies this Control Request's MotorAlignment parameter and returns itself for method-chaining and easier to use request API.
Set to Aligned for motor invert to match the leader's configured Invert - which is typical when leader and follower are mechanically linked and spin in the same direction. Set to Opposed for motor invert to oppose the leader's configured Invert - this is typical where the leader and follower mechanically spin in opposite directions.
| newMotorAlignment | Parameter to modify |
|
inlineconstexpr |
Sets the frequency at which this control will update.
This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency.
If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.
| newUpdateFreqHz | Parameter to modify |
| int ctre::phoenix6::controls::Follower::LeaderID |
Device ID of the leader to follow.
| signals::MotorAlignmentValue ctre::phoenix6::controls::Follower::MotorAlignment |
Set to Aligned for motor invert to match the leader's configured Invert - which is typical when leader and follower are mechanically linked and spin in the same direction.
Set to Opposed for motor invert to oppose the leader's configured Invert - this is typical where the leader and follower mechanically spin in opposite directions.
| units::frequency::hertz_t ctre::phoenix6::controls::Follower::UpdateFreqHz {20_Hz} |
The frequency at which this control will update.
This is designated in Hertz, with a minimum of 20 Hz (every 50 ms) and a maximum of 1000 Hz (every 1 ms). Some update frequencies are not supported and will be promoted up to the next highest supported frequency.
If this field is set to 0 Hz, the control request will be sent immediately as a one-shot frame. This may be useful for advanced applications that require outputs to be synchronized with data acquisition. In this case, we recommend not exceeding 50 ms between control calls.