10#include <units/frequency.h>
11#include <units/time.h>
12#include <units/angle.h>
14#include <units/angular_velocity.h>
15#include <units/dimensionless.h>
40 ctre::phoenix::StatusCode SendRequest(
const char *network, uint32_t deviceHash, std::shared_ptr<ControlRequest> &req)
const override;
61 ctre::unit::volts_per_turn_per_second_t
kV;
73 ctre::unit::volts_per_turn_per_second_squared_t
kA;
82 units::angular_velocity::turns_per_second_t
Velocity = 0_tps;
228 constexpr std::string_view
GetName()
const override
230 return "DynamicMotionMagicExpoDutyCycle";
270 kV = std::move(newKV);
293 kA = std::move(newKA);
374 Slot = std::move(newSlot);
Common interface implemented by all control requests.
Definition ControlRequest.hpp:27
Requires Phoenix Pro and CANivore; Requests Motion Magic® Expo to target a final position using an ex...
Definition DynamicMotionMagicExpoDutyCycle.hpp:39
constexpr DynamicMotionMagicExpoDutyCycle & WithIgnoreHardwareLimits(bool newIgnoreHardwareLimits)
Modifies this Control Request's IgnoreHardwareLimits parameter and returns itself for method-chaining...
Definition DynamicMotionMagicExpoDutyCycle.hpp:447
constexpr DynamicMotionMagicExpoDutyCycle & WithPosition(units::angle::turn_t newPosition)
Modifies this Control Request's Position parameter and returns itself for method-chaining and easier ...
Definition DynamicMotionMagicExpoDutyCycle.hpp:245
int Slot
Select which gains are applied by selecting the slot.
Definition DynamicMotionMagicExpoDutyCycle.hpp:110
std::map< std::string, std::string > GetControlInfo() const override
Gets information about this control request.
units::frequency::hertz_t UpdateFreqHz
The frequency at which this control will update.
Definition DynamicMotionMagicExpoDutyCycle.hpp:178
constexpr DynamicMotionMagicExpoDutyCycle & WithUpdateFreqHz(units::frequency::hertz_t newUpdateFreqHz)
Sets the frequency at which this control will update.
Definition DynamicMotionMagicExpoDutyCycle.hpp:512
ctre::unit::volts_per_turn_per_second_t kV
Mechanism kV for profiling.
Definition DynamicMotionMagicExpoDutyCycle.hpp:61
constexpr DynamicMotionMagicExpoDutyCycle & WithKA(ctre::unit::volts_per_turn_per_second_squared_t newKA)
Modifies this Control Request's kA parameter and returns itself for method-chaining and easier to use...
Definition DynamicMotionMagicExpoDutyCycle.hpp:291
units::angular_velocity::turns_per_second_t Velocity
Cruise velocity for profiling.
Definition DynamicMotionMagicExpoDutyCycle.hpp:82
constexpr DynamicMotionMagicExpoDutyCycle & WithUseTimesync(bool newUseTimesync)
Modifies this Control Request's UseTimesync parameter and returns itself for method-chaining and easi...
Definition DynamicMotionMagicExpoDutyCycle.hpp:490
constexpr ~DynamicMotionMagicExpoDutyCycle() override
Definition DynamicMotionMagicExpoDutyCycle.hpp:221
units::angle::turn_t Position
Position to drive toward in rotations.
Definition DynamicMotionMagicExpoDutyCycle.hpp:49
bool IgnoreSoftwareLimits
Set to true to ignore software limits, instead allowing motion.
Definition DynamicMotionMagicExpoDutyCycle.hpp:152
constexpr DynamicMotionMagicExpoDutyCycle & WithOverrideBrakeDurNeutral(bool newOverrideBrakeDurNeutral)
Modifies this Control Request's OverrideBrakeDurNeutral parameter and returns itself for method-chain...
Definition DynamicMotionMagicExpoDutyCycle.hpp:390
constexpr DynamicMotionMagicExpoDutyCycle & WithIgnoreSoftwareLimits(bool newIgnoreSoftwareLimits)
Modifies this Control Request's IgnoreSoftwareLimits parameter and returns itself for method-chaining...
Definition DynamicMotionMagicExpoDutyCycle.hpp:468
units::dimensionless::scalar_t FeedForward
Feedforward to apply in fractional units between -1 and +1.
Definition DynamicMotionMagicExpoDutyCycle.hpp:104
constexpr DynamicMotionMagicExpoDutyCycle & WithSlot(int newSlot)
Modifies this Control Request's Slot parameter and returns itself for method-chaining and easier to u...
Definition DynamicMotionMagicExpoDutyCycle.hpp:372
bool IgnoreHardwareLimits
Set to true to ignore hardware limit switches and the LimitForwardMotion and LimitReverseMotion param...
Definition DynamicMotionMagicExpoDutyCycle.hpp:142
constexpr DynamicMotionMagicExpoDutyCycle & WithFeedForward(units::dimensionless::scalar_t newFeedForward)
Modifies this Control Request's FeedForward parameter and returns itself for method-chaining and easi...
Definition DynamicMotionMagicExpoDutyCycle.hpp:355
ctre::unit::volts_per_turn_per_second_squared_t kA
Mechanism kA for profiling.
Definition DynamicMotionMagicExpoDutyCycle.hpp:73
constexpr DynamicMotionMagicExpoDutyCycle & WithLimitReverseMotion(bool newLimitReverseMotion)
Modifies this Control Request's LimitReverseMotion parameter and returns itself for method-chaining a...
Definition DynamicMotionMagicExpoDutyCycle.hpp:424
constexpr std::string_view GetName() const override
Gets the name of this control request.
Definition DynamicMotionMagicExpoDutyCycle.hpp:228
constexpr DynamicMotionMagicExpoDutyCycle(units::angle::turn_t Position, ctre::unit::volts_per_turn_per_second_t kV, ctre::unit::volts_per_turn_per_second_squared_t kA)
Requires Phoenix Pro and CANivore; Requests Motion Magic® Expo to target a final position using an ex...
Definition DynamicMotionMagicExpoDutyCycle.hpp:215
bool LimitForwardMotion
Set to true to force forward limiting.
Definition DynamicMotionMagicExpoDutyCycle.hpp:123
bool UseTimesync
Set to true to delay applying this control request until a timesync boundary (requires Phoenix Pro an...
Definition DynamicMotionMagicExpoDutyCycle.hpp:163
bool LimitReverseMotion
Set to true to force reverse limiting.
Definition DynamicMotionMagicExpoDutyCycle.hpp:129
constexpr DynamicMotionMagicExpoDutyCycle & WithVelocity(units::angular_velocity::turns_per_second_t newVelocity)
Modifies this Control Request's Velocity parameter and returns itself for method-chaining and easier ...
Definition DynamicMotionMagicExpoDutyCycle.hpp:311
constexpr DynamicMotionMagicExpoDutyCycle & WithLimitForwardMotion(bool newLimitForwardMotion)
Modifies this Control Request's LimitForwardMotion parameter and returns itself for method-chaining a...
Definition DynamicMotionMagicExpoDutyCycle.hpp:407
constexpr DynamicMotionMagicExpoDutyCycle & WithKV(ctre::unit::volts_per_turn_per_second_t newKV)
Modifies this Control Request's kV parameter and returns itself for method-chaining and easier to use...
Definition DynamicMotionMagicExpoDutyCycle.hpp:268
bool EnableFOC
Set to true to use FOC commutation (requires Phoenix Pro), which increases peak power by ~15% on supp...
Definition DynamicMotionMagicExpoDutyCycle.hpp:96
bool OverrideBrakeDurNeutral
Set to true to static-brake the rotor when output is zero (or within deadband).
Definition DynamicMotionMagicExpoDutyCycle.hpp:117
std::string ToString() const override
Returns a string representation of the object.
constexpr DynamicMotionMagicExpoDutyCycle & WithEnableFOC(bool newEnableFOC)
Modifies this Control Request's EnableFOC parameter and returns itself for method-chaining and easier...
Definition DynamicMotionMagicExpoDutyCycle.hpp:336
Status codes reported by APIs, including OK, warnings, and errors.
Definition StatusCodes.h:28
Definition motor_constants.h:14