|
HEBI C++ API
1.0.0
|
Info objects have various fields representing the module state; which fields are populated depends on the module type and various other settings. More...
#include <info.hpp>
Classes | |
| class | BoolField |
| A message field representable by a bool value. More... | |
| class | EnumField |
| A message field representable by an enum of a given type. More... | |
| class | FlagField |
| A two-state message field (either set/true or cleared/false). More... | |
| class | FloatField |
| A message field representable by a single-precision floating point value. More... | |
| class | LedField |
| A message field for interfacing with an LED. More... | |
| class | Settings |
| Module settings that are typically changed at a slower rate. More... | |
| class | StringField |
| A message field representable by a std::string. More... | |
Public Types | |
| enum | ControlStrategy { ControlStrategy::Off, ControlStrategy::DirectPWM, ControlStrategy::Strategy2, ControlStrategy::Strategy3, ControlStrategy::Strategy4 } |
Public Member Functions | |
| Info (Info &&other) | |
| Move constructor (necessary for containment in STL template classes) More... | |
| ~Info () noexcept | |
| Cleans up info object as necessary. More... | |
| const Settings & | settings () const |
| Module settings that are typically changed at a slower rate. More... | |
| const LedField & | led () const |
| The module's LED. More... | |
| const StringField & | serial () const |
| Gets the serial number for this module (e.g., X5-0001). More... | |
Protected Types | |
| using | InfoGains = Gains< HebiInfoPtr, FloatField, BoolField, HebiInfoFloatField, HebiInfoBoolField > |
Info objects have various fields representing the module state; which fields are populated depends on the module type and various other settings.
This object has a hierarchical structure – there are some direct general-purpose fields at the top level, and many more specific fields contained in different nested subobjects.
The subobjects contain references to the parent info object, and so should not be used after the parent object has been destroyed.
The fields in the info object are typed; generally, these are optional-style read-only fields (i.e., have the concept of has/get), although the return types and exact interface vary slightly between fields. Where appropriate, the explicit bool operator has been overridden so that you can shortcut if(field.has()) by calling if(field).
Although this header file can be used to look at the hierarchy of the messages, in general the online documentation at apidocs.hebi.us presents this information. in a more readable form.
|
protected |
|
strong |
| hebi::Info::Info | ( | Info && | other | ) |
Move constructor (necessary for containment in STL template classes)
|
noexcept |
Cleans up info object as necessary.
|
inline |
Module settings that are typically changed at a slower rate.
| const Info::LedField & hebi::Info::led | ( | ) | const |
The module's LED.
|
inline |
Gets the serial number for this module (e.g., X5-0001).