HEBI C++ API  3.10.0
hebi Namespace Reference

Namespaces

 experimental
 
 robot_model
 
 trajectory
 
 util
 

Classes

struct  Color
 Structure to describe an RGB color. More...
 
class  Command
 Command objects have various fields that can be set; when sent to the module, these fields control internal properties and setpoints. More...
 
class  Feedback
 Feedback objects have various fields representing feedback from modules; which fields are populated depends on the module type and various other settings. More...
 
class  FunctionCallResult
 Used as a return. More...
 
class  Gains
 
class  Group
 Represents a group of physical HEBI modules, and allows Command, Feedback, and Info objects to be sent to and received from the hardware. More...
 
class  GroupCommand
 A list of Command objects appropriate for sending to a Group of modules; the size() must match the number of modules in the group. More...
 
class  GroupCommandWrapper
 
class  GroupFeedback
 A list of Feedback objects that can be received from a Group of modules; the size() must match the number of modules in the group. More...
 
class  GroupFeedbackWrapper
 
class  GroupInfo
 A list of Info objects that can be received from a Group of modules; the size() must match the number of modules in the group. More...
 
class  GroupInfoWrapper
 
class  Info
 Info objects have various fields representing the module state; which fields are populated depends on the module type and various other settings. More...
 
class  IpAddress
 A simple wrapper class for IpAddress objects. More...
 
class  LogFile
 
class  Lookup
 Maintains a registry of network-connected modules and returns Group objects to the user. More...
 
class  MacAddress
 A simple wrapper class for internal C-API HebiMacAddress objects to allow interfacing with API calls that use MAC addresses. More...
 
class  MutableProxyBitSet
 
class  ProxyBitSet
 
struct  Quaternionf
 Structure to hold a floating point quaternion (i.e., w/x/y/z components) More...
 
class  RobotConfig
 
struct  Vector3f
 Structure to hold a 3-D floating point vector (i.e., x/y/z components) More...
 
class  VersionNumber
 A simple structure to hold a standard semantic versioning version number. More...
 

Typedefs

using GroupFeedbackHandler = std::function< void(const GroupFeedback &)>
 Definition of a callback function for GroupFeedback returned from a Group of modules. More...
 

Enumerations

enum  InfoExtraFields : uint64_t { EthernetInfo = HebiInfoExtraFieldsEthernetInfo, UserData = HebiInfoExtraFieldsUserData, FirmwareInfo = HebiInfoExtraFieldsFirmwareInfo, RuntimeData = HebiInfoExtraFieldsRuntimeData }
 

Functions

static bool extractBit (unsigned int index, int word)
 
static int setBit (unsigned int index, int word)
 
static int clearBit (unsigned int index, int word)
 
template<typename RefT , typename MetadataT >
HebiStatusCode floatGetter (const RefT &ref, MetadataT &metadata, int field, float *value)
 
HebiStatusCode floatGetter (const HebiCommandRef &ref, int field, float *value)
 
HebiStatusCode floatGetter (const HebiFeedbackRef &ref, int field, float *value)
 
HebiStatusCode floatGetter (const HebiInfoRef &ref, int field, float *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode highResAngleGetter (const RefT &ref, MetadataT &metadata, int field, int64_t *revs, float *offset)
 
HebiStatusCode highResAngleGetter (const HebiCommandRef &ref, int field, int64_t *revs, float *offset)
 
HebiStatusCode highResAngleGetter (const HebiFeedbackRef &ref, int field, int64_t *revs, float *offset)
 
HebiStatusCode highResAngleGetter (const HebiInfoRef &ref, int field, int64_t *revs, float *offset)
 
template<typename RefT , typename MetadataT >
HebiStatusCode numberedFloatGetter (const RefT &ref, MetadataT &metadata, int field, size_t number, float *value)
 
HebiStatusCode numberedFloatGetter (const HebiCommandRef &ref, int field, size_t number, float *value)
 
HebiStatusCode numberedFloatGetter (const HebiFeedbackRef &ref, int field, size_t number, float *value)
 
HebiStatusCode numberedFloatGetter (const HebiInfoRef &ref, int field, size_t number, float *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode vector3fGetter (const RefT &ref, MetadataT &metadata, int field, HebiVector3f *value)
 
HebiStatusCode vector3fGetter (const HebiCommandRef &ref, int field, HebiVector3f *value)
 
HebiStatusCode vector3fGetter (const HebiFeedbackRef &ref, int field, HebiVector3f *value)
 
HebiStatusCode vector3fGetter (const HebiInfoRef &ref, int field, HebiVector3f *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode quaternionfGetter (const RefT &ref, MetadataT &metadata, int field, HebiQuaternionf *value)
 
HebiStatusCode quaternionfGetter (const HebiCommandRef &ref, int field, HebiQuaternionf *value)
 
HebiStatusCode quaternionfGetter (const HebiFeedbackRef &ref, int field, HebiQuaternionf *value)
 
HebiStatusCode quaternionfGetter (const HebiInfoRef &ref, int field, HebiQuaternionf *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode floatIoPinGetter (const RefT &ref, MetadataT &metadata, int bank, size_t pin_number, float *value)
 
HebiStatusCode floatIoPinGetter (const HebiCommandRef &ref, int index, size_t pin_number, float *value)
 
HebiStatusCode floatIoPinGetter (const HebiFeedbackRef &ref, int index, size_t pin_number, float *value)
 
HebiStatusCode floatIoPinGetter (const HebiInfoRef &ref, int index, size_t pin_number, float *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode intIoPinGetter (const RefT &ref, MetadataT &metadata, int bank, size_t pin_number, int64_t *value)
 
HebiStatusCode intIoPinGetter (const HebiCommandRef &ref, int index, size_t pin_number, int64_t *value)
 
HebiStatusCode intIoPinGetter (const HebiFeedbackRef &ref, int index, size_t pin_number, int64_t *value)
 
HebiStatusCode intIoPinGetter (const HebiInfoRef &ref, int index, size_t pin_number, int64_t *value)
 
template<typename RefT , typename MetadataT >
bool flagGetter (const RefT &ref, MetadataT &metadata, int field)
 
bool flagGetter (const HebiCommandRef &ref, int field)
 
bool flagGetter (const HebiFeedbackRef &ref, int field)
 
bool flagGetter (const HebiInfoRef &ref, int field)
 
template<typename RefT , typename MetadataT >
HebiStatusCode boolGetter (const RefT &ref, MetadataT &metadata, int field, bool *value)
 
HebiStatusCode boolGetter (const HebiCommandRef &ref, int field, bool *value)
 
HebiStatusCode boolGetter (const HebiFeedbackRef &ref, int field, bool *value)
 
HebiStatusCode boolGetter (const HebiInfoRef &ref, int field, bool *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode enumGetter (const RefT &ref, MetadataT &metadata, int field, int32_t *value)
 
HebiStatusCode enumGetter (const HebiCommandRef &ref, int field, int32_t *value)
 
HebiStatusCode enumGetter (const HebiFeedbackRef &ref, int field, int32_t *value)
 
HebiStatusCode enumGetter (const HebiInfoRef &ref, int field, int32_t *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode uint64Getter (const RefT &ref, MetadataT &metadata, int field, uint64_t *value)
 
HebiStatusCode uint64Getter (const HebiCommandRef &ref, int field, uint64_t *value)
 
HebiStatusCode uint64Getter (const HebiFeedbackRef &ref, int field, uint64_t *value)
 
HebiStatusCode uint64Getter (const HebiInfoRef &ref, int field, uint64_t *value)
 
template<typename RefT , typename MetadataT >
HebiStatusCode ledGetter (const RefT &ref, MetadataT &metadata, int field, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
 
HebiStatusCode ledGetter (const HebiCommandRef ref, int field, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
 
HebiStatusCode ledGetter (const HebiFeedbackRef ref, int field, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
 
HebiStatusCode ledGetter (const HebiInfoRef ref, int field, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *a)
 
void hebiCommandSetEnum (HebiCommandRef &command, HebiCommandEnumField field, const int32_t *value)
 
void hebiCommandSetFloat (HebiCommandRef &command, HebiCommandFloatField field, const float *value)
 
void hebiCommandSetHighResAngle (HebiCommandRef &command, HebiCommandHighResAngleField field, const int64_t *int_part, const float *dec_part)
 
void hebiCommandSetNumberedFloat (HebiCommandRef &command, HebiCommandNumberedFloatField field, size_t number, const float *value)
 
void hebiCommandSetBool (HebiCommandRef &command, HebiCommandBoolField field, const int32_t *value)
 
void hebiCommandSetFlag (HebiCommandRef &command, HebiCommandFlagField field, int32_t value)
 
void hebiCommandSetIoPinInt (HebiCommandRef &command, HebiCommandIoPinBank bank, size_t pin_number, const int64_t *value)
 
void hebiCommandSetIoPinFloat (HebiCommandRef &command, HebiCommandIoPinBank bank, size_t pin_number, const float *value)
 
void hebiCommandSetUInt64 (HebiCommandRef &command, HebiCommandUInt64Field field, const uint64_t *value)
 
void hebiCommandSetLed (HebiCommandRef &command, HebiCommandLedField field, const Color *color)
 
VersionNumber getCVersion ()
 Returns the version numbers for the HEBI C API that is wrapped by this HEBI C++ API. More...
 
VersionNumber getCppVersion ()
 Returns the version numbers for the HEBI C++ API. More...
 

Variables

static constexpr size_t BitsInDataWord = sizeof(int) * 8
 

Typedef Documentation

◆ GroupFeedbackHandler

using hebi::GroupFeedbackHandler = typedef std::function<void(const GroupFeedback&)>

Definition of a callback function for GroupFeedback returned from a Group of modules.

Enumeration Type Documentation

◆ InfoExtraFields

enum hebi::InfoExtraFields : uint64_t
Enumerator
EthernetInfo 
UserData 
FirmwareInfo 
RuntimeData 

Function Documentation

◆ extractBit()

static bool hebi::extractBit ( unsigned int  index,
int  word 
)
inlinestatic

◆ setBit()

static int hebi::setBit ( unsigned int  index,
int  word 
)
inlinestatic

◆ clearBit()

static int hebi::clearBit ( unsigned int  index,
int  word 
)
inlinestatic

◆ floatGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::floatGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
float *  value 
)

◆ floatGetter() [2/4]

HebiStatusCode hebi::floatGetter ( const HebiCommandRef &  ref,
int  field,
float *  value 
)

◆ floatGetter() [3/4]

HebiStatusCode hebi::floatGetter ( const HebiFeedbackRef &  ref,
int  field,
float *  value 
)

◆ floatGetter() [4/4]

HebiStatusCode hebi::floatGetter ( const HebiInfoRef &  ref,
int  field,
float *  value 
)

◆ highResAngleGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::highResAngleGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
int64_t *  revs,
float *  offset 
)

◆ highResAngleGetter() [2/4]

HebiStatusCode hebi::highResAngleGetter ( const HebiCommandRef &  ref,
int  field,
int64_t *  revs,
float *  offset 
)

◆ highResAngleGetter() [3/4]

HebiStatusCode hebi::highResAngleGetter ( const HebiFeedbackRef &  ref,
int  field,
int64_t *  revs,
float *  offset 
)

◆ highResAngleGetter() [4/4]

HebiStatusCode hebi::highResAngleGetter ( const HebiInfoRef &  ref,
int  field,
int64_t *  revs,
float *  offset 
)

◆ numberedFloatGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::numberedFloatGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
size_t  number,
float *  value 
)

◆ numberedFloatGetter() [2/4]

HebiStatusCode hebi::numberedFloatGetter ( const HebiCommandRef &  ref,
int  field,
size_t  number,
float *  value 
)

◆ numberedFloatGetter() [3/4]

HebiStatusCode hebi::numberedFloatGetter ( const HebiFeedbackRef &  ref,
int  field,
size_t  number,
float *  value 
)

◆ numberedFloatGetter() [4/4]

HebiStatusCode hebi::numberedFloatGetter ( const HebiInfoRef &  ref,
int  field,
size_t  number,
float *  value 
)

◆ vector3fGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::vector3fGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
HebiVector3f *  value 
)

◆ vector3fGetter() [2/4]

HebiStatusCode hebi::vector3fGetter ( const HebiCommandRef &  ref,
int  field,
HebiVector3f *  value 
)

◆ vector3fGetter() [3/4]

HebiStatusCode hebi::vector3fGetter ( const HebiFeedbackRef &  ref,
int  field,
HebiVector3f *  value 
)

◆ vector3fGetter() [4/4]

HebiStatusCode hebi::vector3fGetter ( const HebiInfoRef &  ref,
int  field,
HebiVector3f *  value 
)

◆ quaternionfGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::quaternionfGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
HebiQuaternionf *  value 
)

◆ quaternionfGetter() [2/4]

HebiStatusCode hebi::quaternionfGetter ( const HebiCommandRef &  ref,
int  field,
HebiQuaternionf *  value 
)

◆ quaternionfGetter() [3/4]

HebiStatusCode hebi::quaternionfGetter ( const HebiFeedbackRef &  ref,
int  field,
HebiQuaternionf *  value 
)

◆ quaternionfGetter() [4/4]

HebiStatusCode hebi::quaternionfGetter ( const HebiInfoRef &  ref,
int  field,
HebiQuaternionf *  value 
)

◆ floatIoPinGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::floatIoPinGetter ( const RefT &  ref,
MetadataT &  metadata,
int  bank,
size_t  pin_number,
float *  value 
)

◆ floatIoPinGetter() [2/4]

HebiStatusCode hebi::floatIoPinGetter ( const HebiCommandRef &  ref,
int  index,
size_t  pin_number,
float *  value 
)

◆ floatIoPinGetter() [3/4]

HebiStatusCode hebi::floatIoPinGetter ( const HebiFeedbackRef &  ref,
int  index,
size_t  pin_number,
float *  value 
)

◆ floatIoPinGetter() [4/4]

HebiStatusCode hebi::floatIoPinGetter ( const HebiInfoRef &  ref,
int  index,
size_t  pin_number,
float *  value 
)

◆ intIoPinGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::intIoPinGetter ( const RefT &  ref,
MetadataT &  metadata,
int  bank,
size_t  pin_number,
int64_t *  value 
)

◆ intIoPinGetter() [2/4]

HebiStatusCode hebi::intIoPinGetter ( const HebiCommandRef &  ref,
int  index,
size_t  pin_number,
int64_t *  value 
)

◆ intIoPinGetter() [3/4]

HebiStatusCode hebi::intIoPinGetter ( const HebiFeedbackRef &  ref,
int  index,
size_t  pin_number,
int64_t *  value 
)

◆ intIoPinGetter() [4/4]

HebiStatusCode hebi::intIoPinGetter ( const HebiInfoRef &  ref,
int  index,
size_t  pin_number,
int64_t *  value 
)

◆ flagGetter() [1/4]

template<typename RefT , typename MetadataT >
bool hebi::flagGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field 
)

◆ flagGetter() [2/4]

bool hebi::flagGetter ( const HebiCommandRef &  ref,
int  field 
)

◆ flagGetter() [3/4]

bool hebi::flagGetter ( const HebiFeedbackRef &  ref,
int  field 
)

◆ flagGetter() [4/4]

bool hebi::flagGetter ( const HebiInfoRef &  ref,
int  field 
)

◆ boolGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::boolGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
bool *  value 
)

◆ boolGetter() [2/4]

HebiStatusCode hebi::boolGetter ( const HebiCommandRef &  ref,
int  field,
bool *  value 
)

◆ boolGetter() [3/4]

HebiStatusCode hebi::boolGetter ( const HebiFeedbackRef &  ref,
int  field,
bool *  value 
)

◆ boolGetter() [4/4]

HebiStatusCode hebi::boolGetter ( const HebiInfoRef &  ref,
int  field,
bool *  value 
)

◆ enumGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::enumGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
int32_t *  value 
)

◆ enumGetter() [2/4]

HebiStatusCode hebi::enumGetter ( const HebiCommandRef &  ref,
int  field,
int32_t *  value 
)

◆ enumGetter() [3/4]

HebiStatusCode hebi::enumGetter ( const HebiFeedbackRef &  ref,
int  field,
int32_t *  value 
)

◆ enumGetter() [4/4]

HebiStatusCode hebi::enumGetter ( const HebiInfoRef &  ref,
int  field,
int32_t *  value 
)

◆ uint64Getter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::uint64Getter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
uint64_t *  value 
)

◆ uint64Getter() [2/4]

HebiStatusCode hebi::uint64Getter ( const HebiCommandRef &  ref,
int  field,
uint64_t *  value 
)

◆ uint64Getter() [3/4]

HebiStatusCode hebi::uint64Getter ( const HebiFeedbackRef &  ref,
int  field,
uint64_t *  value 
)

◆ uint64Getter() [4/4]

HebiStatusCode hebi::uint64Getter ( const HebiInfoRef &  ref,
int  field,
uint64_t *  value 
)

◆ ledGetter() [1/4]

template<typename RefT , typename MetadataT >
HebiStatusCode hebi::ledGetter ( const RefT &  ref,
MetadataT &  metadata,
int  field,
uint8_t *  r,
uint8_t *  g,
uint8_t *  b,
uint8_t *  a 
)

◆ ledGetter() [2/4]

HebiStatusCode hebi::ledGetter ( const HebiCommandRef  ref,
int  field,
uint8_t *  r,
uint8_t *  g,
uint8_t *  b,
uint8_t *  a 
)

◆ ledGetter() [3/4]

HebiStatusCode hebi::ledGetter ( const HebiFeedbackRef  ref,
int  field,
uint8_t *  r,
uint8_t *  g,
uint8_t *  b,
uint8_t *  a 
)

◆ ledGetter() [4/4]

HebiStatusCode hebi::ledGetter ( const HebiInfoRef  ref,
int  field,
uint8_t *  r,
uint8_t *  g,
uint8_t *  b,
uint8_t *  a 
)

◆ hebiCommandSetEnum()

void hebi::hebiCommandSetEnum ( HebiCommandRef &  command,
HebiCommandEnumField  field,
const int32_t *  value 
)

◆ hebiCommandSetFloat()

void hebi::hebiCommandSetFloat ( HebiCommandRef &  command,
HebiCommandFloatField  field,
const float *  value 
)

◆ hebiCommandSetHighResAngle()

void hebi::hebiCommandSetHighResAngle ( HebiCommandRef &  command,
HebiCommandHighResAngleField  field,
const int64_t *  int_part,
const float *  dec_part 
)

◆ hebiCommandSetNumberedFloat()

void hebi::hebiCommandSetNumberedFloat ( HebiCommandRef &  command,
HebiCommandNumberedFloatField  field,
size_t  number,
const float *  value 
)

◆ hebiCommandSetBool()

void hebi::hebiCommandSetBool ( HebiCommandRef &  command,
HebiCommandBoolField  field,
const int32_t *  value 
)

◆ hebiCommandSetFlag()

void hebi::hebiCommandSetFlag ( HebiCommandRef &  command,
HebiCommandFlagField  field,
int32_t  value 
)

◆ hebiCommandSetIoPinInt()

void hebi::hebiCommandSetIoPinInt ( HebiCommandRef &  command,
HebiCommandIoPinBank  bank,
size_t  pin_number,
const int64_t *  value 
)

◆ hebiCommandSetIoPinFloat()

void hebi::hebiCommandSetIoPinFloat ( HebiCommandRef &  command,
HebiCommandIoPinBank  bank,
size_t  pin_number,
const float *  value 
)

◆ hebiCommandSetUInt64()

void hebi::hebiCommandSetUInt64 ( HebiCommandRef &  command,
HebiCommandUInt64Field  field,
const uint64_t *  value 
)

◆ hebiCommandSetLed()

void hebi::hebiCommandSetLed ( HebiCommandRef &  command,
HebiCommandLedField  field,
const Color color 
)

◆ getCVersion()

VersionNumber hebi::getCVersion ( )

Returns the version numbers for the HEBI C API that is wrapped by this HEBI C++ API.

◆ getCppVersion()

VersionNumber hebi::getCppVersion ( )

Returns the version numbers for the HEBI C++ API.

Variable Documentation

◆ BitsInDataWord

constexpr size_t hebi::BitsInDataWord = sizeof(int) * 8
static