117 #ifndef DOXYGEN_OMIT_INTERNAL 119 #endif // DOXYGEN_OMIT_INTERNAL 120 explicit operator bool()
const;
153 #ifndef DOXYGEN_OMIT_INTERNAL 155 #endif // DOXYGEN_OMIT_INTERNAL 156 explicit operator bool()
const;
188 void get(int64_t* revolutions,
float* radian_offset)
const;
202 #ifndef DOXYGEN_OMIT_INTERNAL 204 #endif // DOXYGEN_OMIT_INTERNAL 205 bool has(
size_t fieldNumber)
const;
216 float get(
size_t fieldNumber)
const;
229 #ifndef DOXYGEN_OMIT_INTERNAL 231 #endif // DOXYGEN_OMIT_INTERNAL 232 explicit operator bool()
const;
249 uint64_t
get()
const;
262 #ifndef DOXYGEN_OMIT_INTERNAL 264 #endif // DOXYGEN_OMIT_INTERNAL 265 explicit operator bool()
const;
295 #ifndef DOXYGEN_OMIT_INTERNAL 297 #endif // DOXYGEN_OMIT_INTERNAL 298 explicit operator bool()
const;
325 template <
typename T>
329 #ifndef DOXYGEN_OMIT_INTERNAL 332 #endif // DOXYGEN_OMIT_INTERNAL 333 explicit operator bool()
const {
return has(); }
363 #ifndef DOXYGEN_OMIT_INTERNAL 365 #endif // DOXYGEN_OMIT_INTERNAL 366 bool hasInt(
size_t pinNumber)
const;
377 bool hasFloat(
size_t pinNumber)
const;
383 int64_t getInt(
size_t pinNumber)
const;
390 float getFloat(
size_t pinNumber)
const;
402 #ifndef DOXYGEN_OMIT_INTERNAL 404 #endif // DOXYGEN_OMIT_INTERNAL 405 explicit operator bool()
const {
return hasColor(); }
419 bool hasColor()
const;
421 Color getColor()
const;
434 #ifndef DOXYGEN_OMIT_INTERNAL 445 #endif // DOXYGEN_OMIT_INTERNAL 482 #ifndef DOXYGEN_OMIT_INTERNAL 513 #endif // DOXYGEN_OMIT_INTERNAL 610 #ifndef DOXYGEN_OMIT_INTERNAL 618 #endif // DOXYGEN_OMIT_INTERNAL 650 #ifndef DOXYGEN_OMIT_INTERNAL 656 #endif // DOXYGEN_OMIT_INTERNAL 686 #ifndef DOXYGEN_OMIT_INTERNAL 689 #endif // DOXYGEN_OMIT_INTERNAL HebiFeedbackQuaternionfField
const EnumField< MstopState > & mstopState() const
Current status of the MStop.
UInt64Field sequence_number_
Timestamp of when message was received from module (local)
const Imu & imu() const
Inertial measurement unit feedback (accelerometers and gyros).
HebiFeedbackPtr const internal_
const EnumField< CommandLifetimeState > & commandLifetimeState() const
The state of the command lifetime safety controller, with respect to the current group.
FloatField processor_temperature_
UInt64Field hardware_receive_time_
HebiFeedbackIoPinBank const bank_
Io(HebiFeedbackPtr internal)
const NumberedFloatField & debug() const
Values for internal debug functions (channel 1-9 available).
EnumField(HebiFeedbackPtr internal, HebiFeedbackEnumField field)
const UInt64Field & transmitTime() const
Timestamp of when message was transmitted to module (local)
FloatField board_temperature_
Structure to hold a 3-D floating point vector (i.e., x/y/z components)
FloatField motor_winding_temperature_
#define HEBI_DISABLE_COPY(Class)
Difference (in radians) between the pre-spring and post-spring output position.
Feedback(HebiFeedbackPtr)
Wraps an existing C-style object that is managed by its parent. NOTE: this should not be used except ...
HebiFeedbackVector3fField
HebiFeedbackPtr const internal_
EnumField< CommandLifetimeState > command_lifetime_state_
const FloatField & boardTemperature() const
Ambient temperature inside the module (measured at the IMU chip), in degrees Celsius.
const FloatField & effortCommand() const
Commanded effort at the module output; units vary (e.g., N * m for rotational joints and N for linear...
Software-controlled bounds on the allowable position of the module; user settable.
HebiFeedbackPtr const internal_
~Feedback() noexcept
Cleans up feedback object as necessary.
Current status of the MStop.
HebiFeedbackHighResAngleField
const IoBank & c() const
I/O pin bank c (pins 1-8 available)
Software-controlled bounds on the allowable velocity of the module.
HebiFeedbackPtr const internal_
EnumField< EffortLimitState > effort_limit_state_
const FloatField & deflectionVelocity() const
Velocity (in radians/second) of the difference between the pre-spring and post-spring output position...
HebiFeedbackNumberedFloatField
const UInt64Field & hardwareTransmitTime() const
Timestamp of when message was transmitted from module (remote)
The velocity (in radians/second) of the motor shaft.
const FloatField & motorSensorTemperature() const
The temperature from a sensor near the motor housing.
const EnumField< TemperatureState > & temperatureState() const
Describes how the temperature inside the module is limiting the output of the motor.
const FloatField & motorWindingTemperature() const
The estimated temperature of the motor windings.
Vector3fField accelerometer_
FloatField effort_command_
Structure to hold a floating point quaternion (i.e., w/x/y/z components)
const UInt64Field & sequenceNumber() const
Sequence number going to module (local)
HebiFeedbackPtr const internal_
const IoBank & d() const
I/O pin bank d (pins 1-8 available)
NumberedFloatField debug_
const FloatField & motorWindingCurrent() const
The estimated current in the motor windings.
HebiFeedbackPtr const internal_
HebiFeedbackLedField const field_
const UInt64Field & hardwareReceiveTime() const
Timestamp of when message was received by module (remote)
Sequence number going to module (local)
HebiFeedbackUInt64Field const field_
FloatField motor_winding_current_
const QuaternionfField & orientation() const
On-board filtered orientation estimate.
HebiFeedbackVector3fField const field_
#define HEBI_DISABLE_COPY_MOVE(Class)
A message field representable by a single-precision floating point value.
const FloatField & motorHousingTemperature() const
The estimated temperature of the motor housing.
Inertial measurement unit feedback (accelerometers and gyros).
Feedback objects have various fields representing feedback from modules; which fields are populated d...
I/O pin bank e (pins 1-8 available)
A message field for interfacing with a bank of I/O pins.
Accelerometer data, in m/s^2.
QuaternionfField orientation_
Effort at the module output; units vary (e.g., N * m for rotational joints and N for linear stages)...
HebiFeedbackPtr const internal_
HighResAngleField position_
I/O pin bank b (pins 1-8 available)
const UInt64Field & receiveTime() const
Timestamp of when message was received from module (local)
A message field representable by a 3-D vector of single-precision floating point values.
const FloatField & motorVelocity() const
The velocity (in radians/second) of the motor shaft.
Bus voltage that the module is running at (in Volts).
const EnumField< PositionLimitState > & positionLimitState() const
Software-controlled bounds on the allowable position of the module; user settable.
Actuator(HebiFeedbackPtr internal)
HebiFeedbackPtr const internal_
const HighResAngleField & position() const
Position of the module output (post-spring), in radians.
const LedField & led() const
The module's LED.
FloatField motor_housing_temperature_
A message field for an angle measurement which does not lose precision at very high angles...
HebiFeedbackPtr const internal_
A message field representable by an enum of a given type.
const FloatField & deflection() const
Difference (in radians) between the pre-spring and post-spring output position.
const Actuator & actuator() const
Actuator-specific feedback.
const IoBank & e() const
I/O pin bank e (pins 1-8 available)
Current supplied to the motor.
EnumField< VelocityLimitState > velocity_limit_state_
I/O pin bank c (pins 1-8 available)
Temperature within normal range.
The estimated temperature of the motor windings.
Timestamp of when message was transmitted to module (local)
const FloatField & velocityCommand() const
Commanded velocity of the module output (post-spring), in radians/second.
HebiFeedbackHighResAngleField const field_
UInt64Field hardware_transmit_time_
HebiStatusCode hebiFeedbackGetEnum(HebiFeedbackPtr, HebiFeedbackEnumField, int32_t *)
FloatField motor_current_
A message field for interfacing with an LED.
const FloatField & voltage() const
Bus voltage that the module is running at (in Volts).
const FloatField & motorCurrent() const
Current supplied to the motor.
ROSCPP_DECL bool has(const std::string &key)
bool has() const
True if (and only if) the field has a value.
FloatField motor_velocity_
EnumField< MstopState > mstop_state_
const EnumField< EffortLimitState > & effortLimitState() const
Software-controlled bounds on the allowable effort of the module.
HebiFeedbackPtr const internal_
The estimated current in the motor windings.
Timestamp of when message was transmitted from module (remote)
const IoBank & f() const
I/O pin bank f (pins 1-8 available)
HighResAngleField position_command_
Motor output beginning to be limited due to high temperature.
The temperature from a sensor near the motor housing.
Feedback from any available I/O pins on the device.
A message field representable by an unsigned 64 bit integer value.
const UInt64Field & senderId() const
Unique ID of the module transmitting this feedback.
Temperature exceeds max allowable for electronics; motor output disabled.
struct _HebiFeedback * HebiFeedbackPtr
The C-style's API representation of feedback.
const IoBank & a() const
I/O pin bank a (pins 1-8 available)
FloatField deflection_velocity_
Temperature exceeds max allowable for motor; motor output disabled.
const FloatField & processorTemperature() const
Temperature of the processor chip, in degrees Celsius.
FloatField motor_sensor_temperature_
Actuator-specific feedback.
UInt64Field receive_time_
Imu(HebiFeedbackPtr internal)
const Io & io() const
Feedback from any available I/O pins on the device.
EnumField< TemperatureState > temperature_state_
Commanded velocity of the module output (post-spring), in radians/second.
I/O pin bank d (pins 1-8 available)
HebiFeedbackPtr const internal_
EnumField< PositionLimitState > position_limit_state_
const Vector3fField & accelerometer() const
Accelerometer data, in m/s^2.
HebiFeedbackFloatField const field_
FloatField velocity_command_
Velocity (in radians/second) of the difference between the pre-spring and post-spring output position...
HebiFeedbackQuaternionfField const field_
const IoBank & b() const
I/O pin bank b (pins 1-8 available)
const HighResAngleField & positionCommand() const
Commanded position of the module output (post-spring), in radians.
HebiFeedbackPtr const internal_
Structure to describe an RGB color.
Describes how the temperature inside the module is limiting the output of the motor.
HebiFeedbackNumberedFloatField const field_
Timestamp of when message was received by module (remote)
I/O pin bank a (pins 1-8 available)
const FloatField & velocity() const
Velocity of the module output (post-spring), in radians/second.
A message field containing a numbered set of single-precision floating point values.
Position of the module output (post-spring), in radians.
A message field representable by a 3-D vector of single-precision floating point values.
const EnumField< VelocityLimitState > & velocityLimitState() const
Software-controlled bounds on the allowable velocity of the module.
Software-controlled bounds on the allowable effort of the module.
HebiFeedbackPtr internal_
const FloatField & effort() const
Effort at the module output; units vary (e.g., N * m for rotational joints and N for linear stages)...
const Vector3fField & gyro() const
Gyro data, in radians/second.
Commanded effort at the module output; units vary (e.g., N * m for rotational joints and N for linear...
Velocity of the module output (post-spring), in radians/second.
HebiFeedbackEnumField const field_
UInt64Field transmit_time_