Go to the documentation of this file.
86 #ifndef DOXYGEN_OMIT_INTERNAL
88 #endif // DOXYGEN_OMIT_INTERNAL
89 explicit operator bool()
const {
return has(); }
121 #ifndef DOXYGEN_OMIT_INTERNAL
123 #endif // DOXYGEN_OMIT_INTERNAL
124 explicit operator bool()
const {
return has(); }
156 void get(int64_t* revolutions,
float* radian_offset)
const;
167 #ifndef DOXYGEN_OMIT_INTERNAL
169 #endif // DOXYGEN_OMIT_INTERNAL
185 #ifndef DOXYGEN_OMIT_INTERNAL
187 #endif // DOXYGEN_OMIT_INTERNAL
188 explicit operator bool()
const {
return has(); }
205 std::string
get()
const;
216 #ifndef DOXYGEN_OMIT_INTERNAL
218 #endif // DOXYGEN_OMIT_INTERNAL
219 explicit operator bool()
const {
return has(); }
245 #ifndef DOXYGEN_OMIT_INTERNAL
247 #endif // DOXYGEN_OMIT_INTERNAL
248 explicit operator bool()
const {
return has(); }
270 return static_cast<T
>(ret);
282 #ifndef DOXYGEN_OMIT_INTERNAL
284 #endif // DOXYGEN_OMIT_INTERNAL
285 explicit operator bool()
const {
return hasColor(); }
317 #ifndef DOXYGEN_OMIT_INTERNAL
333 #endif // DOXYGEN_OMIT_INTERNAL
394 #ifndef DOXYGEN_OMIT_INTERNAL
397 #endif // DOXYGEN_OMIT_INTERNAL
413 #ifndef DOXYGEN_OMIT_INTERNAL
420 #endif // DOXYGEN_OMIT_INTERNAL
454 #ifndef DOXYGEN_OMIT_INTERNAL
456 #endif // DOXYGEN_OMIT_INTERNAL
480 #ifndef DOXYGEN_OMIT_INTERNAL
486 #endif // DOXYGEN_OMIT_INTERNAL
bool has() const
Returns true if the flag is set, false if it is cleared.
bool has() const
True if (and only if) the field has a value.
Info objects have various fields representing the module state; which fields are populated depends on...
@ Normal
The module has been calibrated; this is the normal state.
@ UncalibratedPosition
The factory zero position has not been set.
@ HebiInfoEnumMstopStrategy
The calibration state of the module.
const StringField & name() const
Gets the name for this module.
const FloatField & velocityLimitMax() const
The firmware safety limit for the maximum allowed velocity.
const HebiInfoBoolField field_
const FloatField & effortLimitMin() const
The firmware safety limit for the minimum allowed effort.
Structure to describe an RGB color.
A message field representable by a std::string.
FloatField spring_constant_
const InfoGains & velocityGains() const
Controller gains for the velocity PID loop.
InfoGains velocity_gains_
@ HebiInfoFloatVelocityLimitMax
The firmware safety limit for the minimum allowed velocity.
const EnumField< ControlStrategy > & controlStrategy() const
How the position, velocity, and effort PID loops are connected in order to control motor PWM.
Info(HebiInfoPtr)
Wraps an existing C-style object that is managed by its parent. NOTE: this should not be used except ...
bool has() const
True if (and only if) the field has a value.
A message field representable by a bool value.
EnumField< MstopStrategy > mstop_strategy_
struct HebiInfo_ * HebiInfoPtr
The C-style's API representation of info.
LedField(const HebiInfoRef &internal, HebiInfoLedField field)
StringField(HebiInfoPtr internal, HebiInfoStringField field)
@ Off
The motor is not given power (equivalent to a 0 PWM value)
T get() const
If the field has a value, returns that value; otherwise, returns a default.
const LedField & led() const
The module's LED.
Actuator(const HebiInfoRef &internal)
const StringField & serial() const
Gets the serial number for this module (e.g., X5-0001).
FloatField effort_limit_max_
EnumField< PositionLimitStrategy > min_position_limit_strategy_
HebiInfoRef internal_ref_
float get() const
If the field has a value, returns that value; otherwise, returns a default.
@ HebiInfoEnumCalibrationState
How the position, velocity, and effort PID loops are connected in order to control motor PWM.
BoolField(const HebiInfoRef &internal, HebiInfoBoolField field)
#define HEBI_DISABLE_COPY(Class)
FlagField(const HebiInfoRef &internal, HebiInfoFlagField field)
const InfoGains & positionGains() const
Controller gains for the position PID loop.
EnumField(const HebiInfoRef &internal, HebiInfoEnumField field)
const EnumField< CalibrationState > & calibrationState() const
The calibration state of the module.
@ HebiInfoFloatEffortLimitMax
The firmware safety limit for the minimum allowed effort.
const Imu & imu() const
IMU-specific settings.
@ HebiInfoFloatSpringConstant
A simple lowpass filter applied to the controller output; needs to be between 0 and 1....
@ HebiInfoFloatPositionKp
const HebiInfoLedField field_
std::string get() const
If the field has a value, returns a copy of that value; otherwise, returns a default.
@ HebiInfoFloatEffortLimitMin
The firmware safety limit for the maximum allowed velocity.
@ HebiInfoHighResAnglePositionLimitMin
bool hasColor() const
Returns true if the LED color is set, and false otherwise.
#define HEBI_DISABLE_COPY_MOVE(Class)
A message field for an angle measurement which does not lose precision at very high angles.
const FloatField & velocityLimitMin() const
The firmware safety limit for the minimum allowed velocity.
const InfoGains & effortGains() const
Controller gains for the effort PID loop.
HighResAngleField position_limit_max_
@ DirectPWM
A direct PWM value (-1 to 1) can be sent to the motor (subject to onboard safety limiting).
const HighResAngleField & positionLimitMin() const
The firmware safety limit for the minimum allowed position.
HebiInfoFloatField
Info Enums.
A message field representable by a single-precision floating point value.
const Settings & settings() const
Module settings that are typically changed at a slower rate.
FloatField velocity_limit_max_
Actuator-specific settings, such as controller gains.
@ HebiInfoHighResAnglePositionLimitMax
The firmware safety limit for the minimum allowed position.
@ HoldPosition
Triggering the M-Stop results in the motor holding the motor position. Operations resume to normal on...
@ HebiInfoBoolEffortDOnError
Controls whether the Kd term uses the "derivative of error" or "derivative of measurement....
@ HebiInfoFloatEffortKp
A simple lowpass filter applied to the controller output; needs to be between 0 and 1....
const FloatField & springConstant() const
The spring constant of the module.
Actuator-specific information.
const HebiInfoRef & internal_
const HebiInfoRef & internal_
Imu(const HebiInfoRef &internal)
@ Disabled
Triggering the M-Stop has no effect.
const HebiInfoEnumField field_
HighResAngleField position_limit_min_
const HebiInfoRef & internal_
const EnumField< PositionLimitStrategy > & maxPositionLimitStrategy() const
The position limit strategy (at the maximum position) for the actuator.
FlagField save_current_settings_
@ Disabled
Exceeding the position limit has no effect.
Actuator(const HebiInfoRef &internal)
Info & operator=(Info &&other)=delete
HebiInfoHighResAngleField
@ HebiInfoBoolVelocityDOnError
Controls whether the Kd term uses the "derivative of error" or "derivative of measurement....
@ UncalibratedCurrent
The current has not been calibrated.
double get() const
If the field has a value, returns that value as a double; otherwise, returns a default.
const FlagField & saveCurrentSettings() const
Indicates if the module should save the current values of all of its settings.
const HighResAngleField & positionLimitMax() const
The firmware safety limit for the maximum allowed position.
A two-state message field (either set/true or cleared/false).
const HebiInfoFloatField field_
EnumField< ControlStrategy > control_strategy_
@ HebiInfoFlagSaveCurrentSettings
@ HebiInfoFloatVelocityKp
A simple lowpass filter applied to the controller output; needs to be between 0 and 1....
bool get() const
If the field has a value, returns that value; otherwise, returns false.
const HebiInfoRef & internal_
@ HebiInfoBoolPositionDOnError
@ HebiInfoStringFamily
The name for this module. The string must be null-terminated and less than 21 characters.
@ HebiInfoEnumControlStrategy
@ DampedSpring
Exceeding the position limit results in a virtual spring that pushes the actuator back to within the ...
const HebiInfoPtr internal_
@ HebiInfoFloatVelocityLimitMin
The spring constant of the module.
FloatField(const HebiInfoRef &internal, HebiInfoFloatField field)
const Actuator & actuator() const
Actuator-specific settings, such as controller gains.
const EnumField< MstopStrategy > & mstopStrategy() const
The motion stop strategy for the actuator.
Settings(HebiInfoPtr internal_ptr, const HebiInfoRef &internal)
FloatField effort_limit_min_
InfoGains position_gains_
HebiStatusCode enumGetter(const RefT &ref, MetadataT &metadata, int field, int32_t *value)
bool has() const
True if (and only if) the field has a value.
HighResAngleField(const HebiInfoRef &internal, HebiInfoHighResAngleField field)
@ MotorOff
Exceeding the position limit results in the control strategy being set to 'off'. Remains 'off' until ...
@ HebiInfoEnumMinPositionLimitStrategy
The motion stop strategy for the actuator.
const Actuator & actuator() const
Actuator-specific information.
const StringField & family() const
Gets the family for this module.
@ HebiInfoBoolAccelIncludesGravity
Controls whether the Kd term uses the "derivative of error" or "derivative of measurement....
const HebiInfoRef & internal_
@ HebiInfoEnumMaxPositionLimitStrategy
The position limit strategy (at the minimum position) for the actuator.
const HebiInfoHighResAngleField field_
BoolField accel_includes_gravity_
@ HoldPosition
Exceeding the position limit results in the actuator holding the position. Needs to be manually set t...
A message field representable by an enum of a given type.
const HebiInfoFlagField field_
bool has() const
True if (and only if) the field has a value.
FloatField velocity_limit_min_
const BoolField & accelIncludesGravity() const
Whether to include acceleration due to gravity in acceleration feedback.
const FloatField & effortLimitMax() const
The firmware safety limit for the maximum allowed effort.
@ MotorOff
Triggering the M-Stop results in the control strategy being set to 'off'. Remains 'off' until changed...
const HebiInfoRef & internal_
EnumField< CalibrationState > calibration_state_
const HebiInfoStringField field_
bool has() const
True if (and only if) the field has a value.
@ UncalibratedEffort
The effort (e.g., spring nonlinearity) has not been calibrated.
EnumField< PositionLimitStrategy > max_position_limit_strategy_
Color getColor() const
Returns the led color.
const EnumField< PositionLimitStrategy > & minPositionLimitStrategy() const
The position limit strategy (at the minimum position) for the actuator.
Module settings that are typically changed at a slower rate.
A message field for interfacing with an LED.
hebi_cpp_api_ros
Author(s): Chris Bollinger
, Matthew Tesch
autogenerated on Fri Aug 2 2024 08:35:18