24class Diff_DutyCycleOut_Velocity final :
public ControlRequest {
25 ctre::phoenix::StatusCode SendRequest(
const char *network, uint32_t deviceHash, std::shared_ptr<ControlRequest> &req)
const override;
31 DutyCycleOut AverageRequest;
35 VelocityDutyCycle DifferentialRequest;
50 units::frequency::hertz_t UpdateFreqHz{100_Hz};
61 constexpr Diff_DutyCycleOut_Velocity(DutyCycleOut AverageRequest, VelocityDutyCycle DifferentialRequest) :
ControlRequest{},
62 AverageRequest{std::move(AverageRequest)},
63 DifferentialRequest{std::move(DifferentialRequest)}
66 constexpr ~Diff_DutyCycleOut_Velocity()
override {}
73 constexpr std::string_view GetName()
const override
75 return "Diff_DutyCycleOut_Velocity";
87 constexpr Diff_DutyCycleOut_Velocity &WithAverageRequest(DutyCycleOut newAverageRequest)
89 AverageRequest = std::move(newAverageRequest);
102 constexpr Diff_DutyCycleOut_Velocity &WithDifferentialRequest(VelocityDutyCycle newDifferentialRequest)
104 DifferentialRequest = std::move(newDifferentialRequest);
124 constexpr Diff_DutyCycleOut_Velocity &WithUpdateFreqHz(units::frequency::hertz_t newUpdateFreqHz)
126 UpdateFreqHz = newUpdateFreqHz;
135 std::string ToString()
const override;
142 std::map<std::string, std::string> GetControlInfo()
const override;
constexpr ControlRequest()=default
Constructs a new Control Request.
Status codes reported by APIs, including OK, warnings, and errors.
Definition StatusCodes.h:28
Definition motor_constants.h:14