10#include <units/frequency.h>
11#include <units/time.h>
12#include <units/dimensionless.h>
28 ctre::phoenix::StatusCode SendRequest(
const char *network, uint32_t deviceHash, std::shared_ptr<ControlRequest> &req)
const override;
37 units::dimensionless::scalar_t
Output;
77 constexpr std::string_view
GetName()
const override
79 return "ModulateVBatOut";
96 Output = std::move(newOutput);
Common interface implemented by all control requests.
Definition ControlRequest.hpp:27
Modulates the CANdle VBat output to the specified duty cycle.
Definition ModulateVBatOut.hpp:27
units::dimensionless::scalar_t Output
Proportion of VBat to output in fractional units between 0.0 and 1.0.
Definition ModulateVBatOut.hpp:37
constexpr ModulateVBatOut & WithOutput(units::dimensionless::scalar_t newOutput)
Modifies this Control Request's Output parameter and returns itself for method-chaining and easier to...
Definition ModulateVBatOut.hpp:94
constexpr ModulateVBatOut(units::dimensionless::scalar_t Output)
Modulates the CANdle VBat output to the specified duty cycle.
Definition ModulateVBatOut.hpp:66
constexpr ~ModulateVBatOut() override
Definition ModulateVBatOut.hpp:70
constexpr std::string_view GetName() const override
Gets the name of this control request.
Definition ModulateVBatOut.hpp:77
units::frequency::hertz_t UpdateFreqHz
The frequency at which this control will update.
Definition ModulateVBatOut.hpp:52
std::string ToString() const override
Returns a string representation of the object.
constexpr ModulateVBatOut & WithUpdateFreqHz(units::frequency::hertz_t newUpdateFreqHz)
Sets the frequency at which this control will update.
Definition ModulateVBatOut.hpp:116
std::map< std::string, std::string > GetControlInfo() const override
Gets information about this control request.
Status codes reported by APIs, including OK, warnings, and errors.
Definition StatusCodes.h:28
Definition motor_constants.h:14