|
CTRE Phoenix 6 C++ 26.0.0-beta-1
|
Request neutral output of actuator. More...
#include <ctre/phoenix6/controls/NeutralOut.hpp>
Public Member Functions | |
| constexpr | NeutralOut () |
| Request neutral output of actuator. | |
| constexpr | ~NeutralOut () override |
| constexpr std::string_view | GetName () const override |
| Gets the name of this control request. | |
| constexpr NeutralOut & | WithUseTimesync (bool newUseTimesync) |
| Modifies this Control Request's UseTimesync parameter and returns itself for method-chaining and easier to use request API. | |
| constexpr NeutralOut & | 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 | |
| bool | UseTimesync = false |
| Set to true to delay applying this control request until a timesync boundary (requires Phoenix Pro and CANivore). | |
| 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 |
Request neutral output of actuator.
The applied brake type is determined by the NeutralMode configuration.
|
inlineconstexpr |
Request neutral output of actuator.
The applied brake type is determined by the NeutralMode configuration.
|
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 |
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 |
|
inlineconstexpr |
Modifies this Control Request's UseTimesync parameter and returns itself for method-chaining and easier to use request API.
Set to true to delay applying this control request until a timesync boundary (requires Phoenix Pro and CANivore). This eliminates the impact of nondeterministic network delays in exchange for a larger but deterministic control latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.
| newUseTimesync | Parameter to modify |
| units::frequency::hertz_t ctre::phoenix6::controls::NeutralOut::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.
| bool ctre::phoenix6::controls::NeutralOut::UseTimesync = false |
Set to true to delay applying this control request until a timesync boundary (requires Phoenix Pro and CANivore).
This eliminates the impact of nondeterministic network delays in exchange for a larger but deterministic control latency.
This requires setting the ControlTimesyncFreqHz config in MotorOutputConfigs. Additionally, when this is enabled, the UpdateFreqHz of this request should be set to 0 Hz.