10#include <units/frequency.h>
29 virtual ctre::phoenix::StatusCode SendRequest(
const char *network, uint32_t deviceHash, std::shared_ptr<ControlRequest> &req)
const = 0;
50 constexpr virtual std::string_view
GetName()
const = 0;
66 ctre::phoenix::StatusCode SendRequest(
const char *network, uint32_t deviceHash, std::shared_ptr<ControlRequest> &req)
const override;
80 constexpr std::string_view
GetName()
const override
82 return "EmptyControl";
87 return "class: EmptyControl";
Common interface implemented by all control requests.
Definition ControlRequest.hpp:27
constexpr ControlRequest(ControlRequest &&)=default
constexpr ControlRequest()=default
Constructs a new Control Request.
virtual constexpr std::string_view GetName() const =0
Gets the name of this control request.
constexpr ControlRequest(ControlRequest const &)=default
virtual constexpr ~ControlRequest()
Definition ControlRequest.hpp:43
constexpr ControlRequest & operator=(ControlRequest &&)=default
constexpr ControlRequest & operator=(ControlRequest const &)=default
virtual std::map< std::string, std::string > GetControlInfo() const =0
Gets information about this control request.
virtual std::string ToString() const =0
Generic Empty Control class used to do nothing.
Definition ControlRequest.hpp:65
std::map< std::string, std::string > GetControlInfo() const override
Gets information about this control request.
constexpr EmptyControl()=default
Constructs an empty control request.
constexpr std::string_view GetName() const override
Gets the name of this control request.
Definition ControlRequest.hpp:80
constexpr EmptyControl & WithUpdateFreqHz(units::frequency::hertz_t)
Definition ControlRequest.hpp:97
constexpr ~EmptyControl() override
Definition ControlRequest.hpp:73
std::string ToString() const override
Definition ControlRequest.hpp:85
Parent class for all devices.
Definition ParentDevice.hpp:23
Status codes reported by APIs, including OK, warnings, and errors.
Definition StatusCodes.h:28
Definition motor_constants.h:14