5 #define M_PI 3.14159265358979323846 15 Feedback::FloatField::operator bool()
const 30 ret = std::numeric_limits<float>::quiet_NaN();
40 Feedback::HighResAngleField::operator bool()
const 56 return std::numeric_limits<double>::quiet_NaN();
59 static_cast<double>(revolutions) * 2.0 *
M_PI +
60 static_cast<double>(radian_offset)
69 *radian_offset = std::numeric_limits<float>::quiet_NaN();
88 ret = std::numeric_limits<float>::quiet_NaN();
98 Feedback::UInt64Field::operator bool()
const 123 Feedback::Vector3fField::operator bool()
const 138 ret.
x = std::numeric_limits<float>::quiet_NaN();
139 ret.
y = std::numeric_limits<float>::quiet_NaN();
140 ret.
z = std::numeric_limits<float>::quiet_NaN();
148 Feedback::QuaternionfField::operator bool()
const 162 ret.
w = std::numeric_limits<float>::quiet_NaN();
163 ret.
x = std::numeric_limits<float>::quiet_NaN();
164 ret.
y = std::numeric_limits<float>::quiet_NaN();
165 ret.
z = std::numeric_limits<float>::quiet_NaN();
218 return Color(r, g, b);
Ambient temperature inside the module (measured at the IMU chip), in degrees Celsius.
HebiFeedbackQuaternionfField
HebiFeedbackPtr const internal_
FloatField processor_temperature_
HebiFeedbackIoPinBank const bank_
bool hasInt(size_t pinNumber) const
True if (and only if) the particular numbered pin in this bank has an integer (e.g., digital) value.
const NumberedFloatField & debug() const
Values for internal debug functions (channel 1-9 available).
float getFloat(size_t pinNumber) const
If this numbered pin in this bank has an floating point (e.g., analog or PWM) value, returns that value; otherwise returns a default.
HighResAngleField(HebiFeedbackPtr internal, HebiFeedbackHighResAngleField field)
FloatField board_temperature_
Structure to hold a 3-D floating point vector (i.e., x/y/z components)
Feedback(HebiFeedbackPtr)
Wraps an existing C-style object that is managed by its parent. NOTE: this should not be used except ...
HebiFeedbackVector3fField
QuaternionfField(HebiFeedbackPtr internal, HebiFeedbackQuaternionfField field)
const FloatField & boardTemperature() const
Ambient temperature inside the module (measured at the IMU chip), in degrees Celsius.
HebiFeedbackPtr const internal_
~Feedback() noexcept
Cleans up feedback object as necessary.
HebiFeedbackHighResAngleField
bool has() const
True if (and only if) the field has a value.
NumberedFloatField(HebiFeedbackPtr internal, HebiFeedbackNumberedFloatField field)
HebiFeedbackPtr const internal_
FloatField(HebiFeedbackPtr internal, HebiFeedbackFloatField field)
HebiStatusCode hebiFeedbackGetIoPinInt(HebiFeedbackPtr fbk, HebiFeedbackIoPinBank field, size_t pin_number, int64_t *value)
HebiFeedbackNumberedFloatField
HebiStatusCode hebiFeedbackGetLedColor(HebiFeedbackPtr fbk, HebiFeedbackLedField field, uint8_t *r, uint8_t *g, uint8_t *b)
Structure to hold a floating point quaternion (i.e., w/x/y/z components)
Vector3f get() const
If the field has a value, returns that value; otherwise, returns a default.
UInt64Field(HebiFeedbackPtr internal, HebiFeedbackUInt64Field field)
bool has() const
True if (and only if) the field has a value.
NumberedFloatField debug_
int64_t getInt(size_t pinNumber) const
If this numbered pin in this bank has an integer (e.g., digital) value, returns that value; otherwise...
HebiFeedbackLedField const field_
HebiFeedbackUInt64Field const field_
Vector3fField(HebiFeedbackPtr internal, HebiFeedbackVector3fField field)
HebiFeedbackVector3fField const field_
HebiStatusCode hebiFeedbackGetUInt64(HebiFeedbackPtr fbk, HebiFeedbackUInt64Field field, uint64_t *value)
A message field representable by a single-precision floating point value.
Feedback objects have various fields representing feedback from modules; which fields are populated d...
float get(size_t fieldNumber) const
If the particular numbered subvalue of this field has a value, returns that value; otherwise returns ...
HebiFeedbackPtr const internal_
HebiStatusCode hebiFeedbackGetVector3f(HebiFeedbackPtr fbk, HebiFeedbackVector3fField field, HebiVector3f *value)
double get() const
If the field has a value, returns that value as a double; otherwise, returns a default.
HebiFeedbackPtr const internal_
const LedField & led() const
The module's LED.
bool has() const
True if (and only if) the field has a value.
bool hasFloat(size_t pinNumber) const
True if (and only if) the particular numbered pin in this bank has an floating point (e...
HebiStatusCode hebiFeedbackGetFloat(HebiFeedbackPtr fbk, HebiFeedbackFloatField field, float *value)
bool hasColor() const
Returns true if the LED color is set, and false otherwise.
HebiFeedbackHighResAngleField const field_
IoBank(HebiFeedbackPtr internal, HebiFeedbackIoPinBank bank)
A message field for interfacing with an LED.
const FloatField & voltage() const
Bus voltage that the module is running at (in Volts).
bool has() const
True if (and only if) the field has a value.
HebiFeedbackPtr const internal_
bool has() const
True if (and only if) the field has a value.
HebiStatusCode hebiFeedbackGetQuaternionf(HebiFeedbackPtr fbk, HebiFeedbackQuaternionfField field, HebiQuaternionf *value)
bool has(size_t fieldNumber) const
True if (and only if) the particular numbered subvalue of this field has a value. ...
struct _HebiFeedback * HebiFeedbackPtr
The C-style's API representation of feedback.
float get() const
If the field has a value, returns that value; otherwise, returns a default.
HebiStatusCode hebiFeedbackGetHighResAngle(HebiFeedbackPtr fbk, HebiFeedbackHighResAngleField field, int64_t *int_part, float *dec_part)
const FloatField & processorTemperature() const
Temperature of the processor chip, in degrees Celsius.
Temperature of the processor chip, in degrees Celsius.
HebiFeedbackPtr const internal_
HebiStatusCode hebiFeedbackGetIoPinFloat(HebiFeedbackPtr fbk, HebiFeedbackIoPinBank field, size_t pin_number, float *value)
HebiFeedbackFloatField const field_
HebiStatusCode hebiFeedbackGetNumberedFloat(HebiFeedbackPtr fbk, HebiFeedbackNumberedFloatField field, size_t number, float *value)
HebiFeedbackQuaternionfField const field_
Quaternionf get() const
If the field has a value, returns that value; otherwise, returns a default.
uint64_t get() const
If the field has a value, returns that value; otherwise, returns a default.
HebiFeedbackPtr const internal_
Structure to describe an RGB color.
HebiFeedbackNumberedFloatField const field_
EIGEN_DEVICE_FUNC const Scalar & b
Color getColor() const
Returns the led color.
A message field containing a numbered set of single-precision floating point values.
LedField(HebiFeedbackPtr internal, HebiFeedbackLedField field)
HebiFeedbackPtr internal_