63 #ifndef DOXYGEN_OMIT_INTERNAL 65 #endif // DOXYGEN_OMIT_INTERNAL 66 explicit operator bool()
const;
99 #ifndef DOXYGEN_OMIT_INTERNAL 101 #endif // DOXYGEN_OMIT_INTERNAL 102 explicit operator bool()
const;
134 void get(int64_t* revolutions,
float* radian_offset)
const;
147 #ifndef DOXYGEN_OMIT_INTERNAL 149 #endif // DOXYGEN_OMIT_INTERNAL 167 #ifndef DOXYGEN_OMIT_INTERNAL 169 #endif // DOXYGEN_OMIT_INTERNAL 170 explicit operator bool()
const;
187 std::string
get()
const;
200 #ifndef DOXYGEN_OMIT_INTERNAL 202 #endif // DOXYGEN_OMIT_INTERNAL 203 explicit operator bool()
const;
227 template <
typename T>
231 #ifndef DOXYGEN_OMIT_INTERNAL 234 #endif // DOXYGEN_OMIT_INTERNAL 235 explicit operator bool()
const {
return has(); }
265 #ifndef DOXYGEN_OMIT_INTERNAL 267 #endif // DOXYGEN_OMIT_INTERNAL 268 explicit operator bool()
const {
return hasColor(); }
282 bool hasColor()
const;
284 Color getColor()
const;
304 #ifndef DOXYGEN_OMIT_INTERNAL 316 #endif // DOXYGEN_OMIT_INTERNAL 357 #ifndef DOXYGEN_OMIT_INTERNAL 366 #endif // DOXYGEN_OMIT_INTERNAL 401 #ifndef DOXYGEN_OMIT_INTERNAL 407 #endif // DOXYGEN_OMIT_INTERNAL 433 #ifndef DOXYGEN_OMIT_INTERNAL 439 #endif // DOXYGEN_OMIT_INTERNAL 481 Info& operator= (const
Info&& other) = delete;
InfoGains position_gains_
const FlagField & saveCurrentSettings() const
Indicates if the module should save the current values of all of its settings.
Module settings that are typically changed at a slower rate.
HebiInfoPtr const internal_
A message field for an angle measurement which does not lose precision at very high angles...
#define HEBI_DISABLE_COPY(Class)
HebiInfoPtr const internal_
Actuator-specific settings, such as controller gains.
A simple lowpass filter applied to the controller output; needs to be between 0 and 1...
HebiInfoPtr const internal_
HighResAngleField position_limit_min_
A simple lowpass filter applied to the controller output; needs to be between 0 and 1...
A message field representable by a bool value.
const Settings & settings() const
Module settings that are typically changed at a slower rate.
HebiInfoEnumField const field_
const StringField & name() const
Gets the name for this module.
Actuator-specific information.
~Info() noexcept
Cleans up info object as necessary.
const Actuator & actuator() const
Actuator-specific information.
const Actuator & actuator() const
Actuator-specific settings, such as controller gains.
Info objects have various fields representing the module state; which fields are populated depends on...
EnumField< CalibrationState > calibration_state_
The firmware safety limit for the minimum allowed position.
#define HEBI_DISABLE_COPY_MOVE(Class)
HebiInfoFloatField const field_
A two-state message field (either set/true or cleared/false).
Actuator(HebiInfoPtr internal)
const FloatField & springConstant() const
The spring constant of the module.
HebiInfoFlagField const field_
HighResAngleField position_limit_max_
A message field for interfacing with an LED.
const InfoGains & effortGains() const
Controller gains for the effort PID loop.
EnumField< ControlStrategy > control_strategy_
FlagField save_current_settings_
HebiInfoHighResAngleField
HebiInfoPtr const internal_
A combination of the position, velocity, and effort loops with P and V feeding to T; documented on do...
const LedField & led() const
The module's LED.
const InfoGains & velocityGains() const
Controller gains for the velocity PID loop.
A direct PWM value (-1 to 1) can be sent to the motor (subject to onboard safety limiting).
const EnumField< CalibrationState > & calibrationState() const
The calibration state of the module.
bool has() const
True if (and only if) the field has a value.
HebiInfoPtr const internal_
const StringField & family() const
Gets the family for this module.
HebiInfoPtr const internal_
The motor is not given power (equivalent to a 0 PWM value)
How the position, velocity, and effort PID loops are connected in order to control motor PWM...
HebiInfoPtr const internal_
A message field representable by a std::string.
Controls whether the Kd term uses the "derivative of error" or "derivative of measurement." When the setpoints have step inputs or are noisy, setting this to false can eliminate corresponding spikes or noise in the output.
ROSCPP_DECL bool has(const std::string &key)
const EnumField< ControlStrategy > & controlStrategy() const
How the position, velocity, and effort PID loops are connected in order to control motor PWM...
Settings(HebiInfoPtr internal)
const HighResAngleField & positionLimitMax() const
The firmware safety limit for the maximum allowed position.
HebiInfoPtr const internal_
Info(HebiInfoPtr)
Wraps an existing C-style object that is managed by its parent. NOTE: this should not be used except ...
A combination of the position, velocity, and effort loops with P feeding to T and V feeding to PWM; d...
Controls whether the Kd term uses the "derivative of error" or "derivative of measurement." When the setpoints have step inputs or are noisy, setting this to false can eliminate corresponding spikes or noise in the output.
const StringField & serial() const
Gets the serial number for this module (e.g., X5-0001).
HebiInfoLedField const field_
HebiInfoStringField const field_
A combination of the position, velocity, and effort loops with P, V, and T feeding to PWM; documented...
EnumField(HebiInfoPtr internal, HebiInfoEnumField field)
const HighResAngleField & positionLimitMin() const
The firmware safety limit for the minimum allowed position.
A simple lowpass filter applied to the controller output; needs to be between 0 and 1...
Actuator(HebiInfoPtr internal)
struct _HebiInfo * HebiInfoPtr
The C-style's API representation of a group.
HebiStatusCode hebiInfoGetEnum(HebiInfoPtr info, HebiInfoEnumField field, int32_t *value)
A message field representable by an enum of a given type.
InfoGains velocity_gains_
Structure to describe an RGB color.
Gets the name for this module.
FloatField spring_constant_
A message field representable by a single-precision floating point value.
HebiInfoHighResAngleField const field_
HebiInfoPtr const internal_
HebiInfoPtr const internal_
const InfoGains & positionGains() const
Controller gains for the position PID loop.
HebiInfoBoolField const field_