Hekateros  3.4.3
RoadNarrows Robotics Robot Arm Project
Hekateros Product Identifiers

Macros

#define HEK_PROD_GA   0x000
 product general availability
 
#define HEK_PROD_BETA   0x001
 product beta version
 
#define HEK_PROD_ALPHA   0x002
 product alpha version
 
#define HEK_PROD_PROTO   0x003
 product prototype version
 
#define HEK_CLASS_ARM   0xBA000000
 base arm
 
#define HEK_CLASS_EE   0xEE000000
 end effector
 
#define HEK_CLASS_EQUIP_DECK   0xED000000
 equipment deck effector
 
#define HEK_CLASS_AUX   0xAE000000
 auxiliary effector
 
#define HEK_PRODUCT_ID(sizecode, dof, special)
 Convert robotic arm (base) product triplet to product id. More...
 
#define HEK_EE_PRODUCT_ID(family, sizecode, dof, special)
 Convert end effector product 4-tuple to product id. More...
 
#define HEK_ED_PRODUCT_ID(sizecode, dof, special)
 Convert equipment deck effector product triplet to product id. More...
 
#define HEK_AE_PRODUCT_ID(sizecode, dof, special)
 Convert auxiliary effector product triplet to product id. More...
 
#define HEK_VERSION(major, minor, revision)   ((((major)&0xff)<<24) | (((minor)&0xff)<<16) | ((revision)&0xffff))
 Convert version triplet to integer equivalent. More...
 
#define HEK_VER_MAJOR(ver)   (((ver)>>24) &0xff)
 Get version major number from version. More...
 
#define HEK_VER_MINOR(ver)   (((ver)>>16) &0xff)
 Get version minor number from version. More...
 
#define HEK_VER_REV(ver)   ((ver) & 0xffff)
 Get revision number from version. More...
 

Enumerations

enum  hekateros::HekProdSize {
  hekateros::HekProdSizeUnknown = 0,
  hekateros::HekProdSizeStd = 1,
  hekateros::HekProdSizeShort = 2,
  hekateros::HekProdSizeLong = 3,
  hekateros::HekProdSizeMini = 4,
  hekateros::HekProdSizeNumOf = 5
}
  Hekateros product size codes. More...
 

Variables

const char *const hekateros::HekProdFamily = "Hekateros"
 product family name
 
const int hekateros::HekProdFamilyUnknown = 0
 unknown/undefined product family
 
const int hekateros::HekProdIdUnknown = 0
 unknown/undefined product id
 
const char *const hekateros::HekProdSizeStrUnknown = "?"
 Common Hekateros product size codes as strings. More...
 
const char *const hekateros::HekProdSizeStrStd = "N"
 standard (normal) size
 
const char *const hekateros::HekProdSizeStrShort = "S"
 short
 
const char *const hekateros::HekProdSizeStrLong = "L"
 long
 
const char *const hekateros::HekProdSizeStrMini = "Mini"
 mini
 

Detailed Description

Hekateros product ids, names, and descriptions.

Products ids are classified by class, family, size, dof, and special fields.

Macro Definition Documentation

#define HEK_AE_PRODUCT_ID (   sizecode,
  dof,
  special 
)
Value:
(((sizecode)&0xf)<<20) | (((dof)&0xff)<<12) | ((special)&0xfff) )
#define HEK_CLASS_AUX
auxiliary effector
Definition: hekateros.h:131

Convert auxiliary effector product triplet to product id.

Parameters
sizecodeProduct size code.
dofDegrees of freedom.
specialSpecial product subfields. To be defined as needed.

Definition at line 174 of file hekateros.h.

#define HEK_ED_PRODUCT_ID (   sizecode,
  dof,
  special 
)
Value:
(((sizecode)&0xf)<<20) | (((dof)&0xff)<<12) | ((special)&0xfff) )
#define HEK_CLASS_EQUIP_DECK
equipment deck effector
Definition: hekateros.h:130

Convert equipment deck effector product triplet to product id.

Parameters
sizecodeProduct size code.
dofDegrees of freedom.
specialSpecial product subfields. To be defined as needed.

Definition at line 163 of file hekateros.h.

#define HEK_EE_PRODUCT_ID (   family,
  sizecode,
  dof,
  special 
)
Value:
( HEK_CLASS_EE | (((family)&0xff)<<16) | \
(((sizecode)&0xf)<<12) | (((dof)&0xff)<<4) | ((special)&0xf) )
#define HEK_CLASS_EE
end effector
Definition: hekateros.h:129

Convert end effector product 4-tuple to product id.

Parameters
familyEnd effector family
sizecodeProduct size code.
dofDegrees of freedom.
specialSpecial product subfields. To be defined as needed.

Definition at line 152 of file hekateros.h.

#define HEK_PRODUCT_ID (   sizecode,
  dof,
  special 
)
Value:
(((sizecode)&0xf)<<20) | (((dof)&0xff)<<12) | ((special)&0xfff) )
#define HEK_CLASS_ARM
base arm
Definition: hekateros.h:128

Convert robotic arm (base) product triplet to product id.

Parameters
sizecodeProduct size code.
dofDegrees of freedom.
specialSpecial product subfields. To be defined as needed.

Definition at line 140 of file hekateros.h.

#define HEK_VER_MAJOR (   ver)    (((ver)>>24) &0xff)

Get version major number from version.

Parameters
verVersion number.
Returns
Major number.

Definition at line 195 of file hekateros.h.

Referenced by hekateros::HekRobot::getVersion(), and hekateros::HekSpec::set().

#define HEK_VER_MINOR (   ver)    (((ver)>>16) &0xff)

Get version minor number from version.

Parameters
verVersion number.
Returns
Minor number.

Definition at line 204 of file hekateros.h.

Referenced by hekateros::HekRobot::getVersion(), and hekateros::HekSpec::set().

#define HEK_VER_REV (   ver)    ((ver) & 0xffff)

Get revision number from version.

Parameters
verVersion number.
Returns
Revision number.

Definition at line 213 of file hekateros.h.

Referenced by hekateros::HekRobot::getVersion(), and hekateros::HekSpec::set().

#define HEK_VERSION (   major,
  minor,
  revision 
)    ((((major)&0xff)<<24) | (((minor)&0xff)<<16) | ((revision)&0xffff))

Convert version triplet to integer equivalent.

Parameters
majorMajor version number.
minorMinor version number.
revisionRevision number.

Definition at line 185 of file hekateros.h.

Referenced by hekateros::HekUno::cmdSetAlarmLED(), hekateros::HekUno::cmdSetHaltedState(), hekateros::HekUno::cmdSetStatusLED(), and hekateros::HekSpec::set().

Enumeration Type Documentation

Hekateros product size codes.

Sizes are relavent to the product family. For example, a short base is different from a short end effector.

Enumerator
HekProdSizeUnknown 

unknown size

HekProdSizeStd 

standard (normal) size

HekProdSizeShort 

short

HekProdSizeLong 

long

HekProdSizeMini 

mini

HekProdSizeNumOf 

number of

Definition at line 227 of file hekateros.h.

228  {
229  HekProdSizeUnknown = 0, ///< unknown size
230  HekProdSizeStd = 1, ///< standard (normal) size
231  HekProdSizeShort = 2, ///< short
232  HekProdSizeLong = 3, ///< long
233  HekProdSizeMini = 4, ///< mini
234 
235  HekProdSizeNumOf = 5 ///< number of
236  };
standard (normal) size
Definition: hekateros.h:230

Variable Documentation

const char* const hekateros::HekProdSizeStrUnknown = "?"

Common Hekateros product size codes as strings.

unknown base size

Definition at line 241 of file hekateros.h.