CTRE Phoenix 6 C++ 25.0.0-beta-4
|
Configs that affect the open-loop control of this motor controller. More...
#include <ctre/phoenix6/configs/Configs.hpp>
Public Member Functions | |
constexpr | OpenLoopRampsConfigs ()=default |
constexpr OpenLoopRampsConfigs & | WithDutyCycleOpenLoopRampPeriod (units::time::second_t newDutyCycleOpenLoopRampPeriod) |
Modifies this configuration's DutyCycleOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API. | |
constexpr OpenLoopRampsConfigs & | WithVoltageOpenLoopRampPeriod (units::time::second_t newVoltageOpenLoopRampPeriod) |
Modifies this configuration's VoltageOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API. | |
constexpr OpenLoopRampsConfigs & | WithTorqueOpenLoopRampPeriod (units::time::second_t newTorqueOpenLoopRampPeriod) |
Modifies this configuration's TorqueOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API. | |
std::string | ToString () const override |
std::string | Serialize () const override |
ctre::phoenix::StatusCode | Deserialize (const std::string &to_deserialize) override |
Public Attributes | |
units::time::second_t | DutyCycleOpenLoopRampPeriod = 0_s |
If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCycleOut control mode. | |
units::time::second_t | VoltageOpenLoopRampPeriod = 0_s |
If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop VoltageOut control mode. | |
units::time::second_t | TorqueOpenLoopRampPeriod = 0_s |
If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop TorqueCurrent control mode. | |
Configs that affect the open-loop control of this motor controller.
Open-loop ramp rates for the various control types.
|
constexprdefault |
|
inlineoverridevirtual |
Implements ctre::phoenix6::configs::ParentConfiguration.
|
inlineoverridevirtual |
Implements ctre::phoenix6::ISerializable.
|
inlineoverridevirtual |
Implements ctre::phoenix6::configs::ParentConfiguration.
|
inlineconstexpr |
Modifies this configuration's DutyCycleOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.
If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCycleOut control mode.
This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.
newDutyCycleOpenLoopRampPeriod | Parameter to modify |
|
inlineconstexpr |
Modifies this configuration's TorqueOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.
If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop TorqueCurrent control mode.
Since TorqueCurrent is directly proportional to acceleration, this ramp limits jerk instead of acceleration.
newTorqueOpenLoopRampPeriod | Parameter to modify |
|
inlineconstexpr |
Modifies this configuration's VoltageOpenLoopRampPeriod parameter and returns itself for method-chaining and easier to use config API.
If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop VoltageOut control mode.
This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.
newVoltageOpenLoopRampPeriod | Parameter to modify |
units::time::second_t ctre::phoenix6::configs::OpenLoopRampsConfigs::DutyCycleOpenLoopRampPeriod = 0_s |
If non-zero, this determines how much time to ramp from 0% output to 100% during the open-loop DutyCycleOut control mode.
This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.
units::time::second_t ctre::phoenix6::configs::OpenLoopRampsConfigs::TorqueOpenLoopRampPeriod = 0_s |
If non-zero, this determines how much time to ramp from 0A output to 300A during the open-loop TorqueCurrent control mode.
Since TorqueCurrent is directly proportional to acceleration, this ramp limits jerk instead of acceleration.
units::time::second_t ctre::phoenix6::configs::OpenLoopRampsConfigs::VoltageOpenLoopRampPeriod = 0_s |
If non-zero, this determines how much time to ramp from 0V output to 12V during the open-loop VoltageOut control mode.
This provides an easy way to limit the acceleration of the motor. However, the acceleration and current draw of the motor can be better restricted using current limits instead of a ramp rate.