Dynamixel  2.9.5
RoadNarrows Robotics Dynamixel Package
DynaRecord Class Reference

#include <dynashell_recording.h>

Classes

struct  FieldTuple_T
 Record Field Tuple Structure Type. More...
 

Public Member Functions

 DynaRecord ()
 Default constructor.
 
virtual ~DynaRecord ()
 Default destructor.
 
int GetFieldCount () const
 Get the current number of field tuples in record. More...
 
void ResetFieldCount ()
 Reset the field count to zero.
 
virtual int AddField (int nPos, int nSpeed)
 Add a field tuple to the record. More...
 
DynaRecordoperator= (const DynaRecord &rhs)
 Assignment operator. More...
 
FieldTuple_T const & operator[] (const int nFldNum) const
 Subscript operator. More...
 

Static Public Member Functions

static const bool NaF (FieldTuple_T &field)
 Test if field is 'Not a Field'. More...
 

Static Public Attributes

static const int END = -1
 past-the-end mark
 
static const FieldTuple_T NoField = {INT_MAX, INT_MAX}
 

Protected Attributes

int m_nFieldCnt
 number of field tuples
 
FieldTuple_T m_field [DYNA_ID_NUMOF]
 one record of field data
 

Friends

class DynaRecording
 

Detailed Description

Dynamixel record.

Definition at line 93 of file dynashell_recording.h.

Member Function Documentation

int DynaRecord::AddField ( int  nPos,
int  nSpeed 
)
virtual

Add a field tuple to the record.

Parameters
nPosServo position.
nSpeedServo speed.
Returns
On success, returns the newly added field number.
On failure, DynaRecord::END is returned.

Definition at line 94 of file dynashell_recording.cxx.

References DYNA_ID_NUMOF, and END.

95 {
97  {
98  int nFldNum = m_nFieldCnt;
99  m_field[nFldNum].m_nPos = nPos;
100  m_field[nFldNum].m_nSpeed = nSpeed;
101  m_nFieldCnt++;
102  return nFldNum;
103  }
104  else
105  {
106  return DynaRecord::END;
107  }
108 }
#define DYNA_ID_NUMOF
number of unique servo id&#39;s
Definition: Dynamixel.h:148
FieldTuple_T m_field[DYNA_ID_NUMOF]
one record of field data
static const int END
past-the-end mark
int m_nFieldCnt
number of field tuples
int DynaRecord::GetFieldCount ( ) const
inline

Get the current number of field tuples in record.

Returns
Field tuple count.

Definition at line 128 of file dynashell_recording.h.

129  {
130  return m_nFieldCnt;
131  }
int m_nFieldCnt
number of field tuples
static const bool DynaRecord::NaF ( FieldTuple_T field)
inlinestatic

Test if field is 'Not a Field'.

Parameters
fieldField tuple to test.
Returns
Returns true or false.

Definition at line 150 of file dynashell_recording.h.

References DynaRecord::FieldTuple_T::m_nPos, DynaRecord::FieldTuple_T::m_nSpeed, and NoField.

151  {
152  return (field.m_nPos == DynaRecord::NoField.m_nPos) &&
153  (field.m_nSpeed == DynaRecord::NoField.m_nSpeed);
154  }
static const FieldTuple_T NoField
DynaRecord & DynaRecord::operator= ( const DynaRecord rhs)

Assignment operator.

Parameters
rhsRight hand side.
Returns
Reference to this.

Definition at line 117 of file dynashell_recording.cxx.

References m_field, m_nFieldCnt, and NoField.

118 {
119  int i;
120 
121  m_nFieldCnt = rhs.m_nFieldCnt;
122 
123  for(i=0; i<m_nFieldCnt; ++i)
124  {
125  m_field[i] = rhs.m_field[i];
126  }
127 
128  return *this;
129 }
FieldTuple_T m_field[DYNA_ID_NUMOF]
one record of field data
int m_nFieldCnt
number of field tuples
FieldTuple_T const& DynaRecord::operator[] ( const int  nFldNum) const
inline

Subscript operator.

Parameters
nFldNumField number subscript.
Returns
Field tuple.

Definition at line 165 of file dynashell_recording.h.

166  {
167  return nFldNum < m_nFieldCnt? m_field[nFldNum]: NoField;
168  }
FieldTuple_T m_field[DYNA_ID_NUMOF]
one record of field data
static const FieldTuple_T NoField
int m_nFieldCnt
number of field tuples

Member Data Documentation

const DynaRecord::FieldTuple_T DynaRecord::NoField = {INT_MAX, INT_MAX}
static

'Not a Field' field.

Definition at line 108 of file dynashell_recording.h.

Referenced by DynaRecording::GetField(), NaF(), and operator=().


The documentation for this class was generated from the following files: