Dynamixel  2.9.5
RoadNarrows Robotics Dynamixel Package
DynaServoMX106.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // Package: Dynamixel
4 //
5 // Library: librnr_dynamixel
6 //
7 // File: DynaServoMX106.h
8 //
9 /*! \file
10  *
11  * $LastChangedDate: 2015-01-12 10:56:06 -0700 (Mon, 12 Jan 2015) $
12  * $Rev: 3845 $
13  *
14  * \ingroup dyna_lib_hdrs
15  *
16  * \brief RoadNarrows MX-106T and MX-106R Dynamixel Servo Class Interface.
17  *
18  * \author Robin Knight (robin.knight@roadnarrows.com)
19  *
20  * \copyright
21  * \h_copy 2011-2017. RoadNarrows LLC.\n
22  * http://www.roadnarrows.com\n
23  * All Rights Reserved
24  */
25 /*
26  * @EulaBegin@
27  *
28  * Unless otherwise stated explicitly, all materials contained are copyrighted
29  * and may not be used without RoadNarrows LLC's written consent,
30  * except as provided in these terms and conditions or in the copyright
31  * notice (documents and software) or other proprietary notice provided with
32  * the relevant materials.
33  *
34  * IN NO EVENT SHALL THE AUTHOR, ROADNARROWS LLC, OR ANY
35  * MEMBERS/EMPLOYEES/CONTRACTORS OF ROADNARROWS OR DISTRIBUTORS OF THIS SOFTWARE
36  * BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
37  * CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
38  * DOCUMENTATION, EVEN IF THE AUTHORS OR ANY OF THE ABOVE PARTIES HAVE BEEN
39  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40  *
41  * THE AUTHORS AND ROADNARROWS LLC SPECIFICALLY DISCLAIM ANY WARRANTIES,
42  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
43  * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN
44  * "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO
45  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
46  *
47  * @EulaEnd@
48  */
49 ////////////////////////////////////////////////////////////////////////////////
50 
51 #ifndef _DYNA_SERVO_MX106_H
52 #define _DYNA_SERVO_MX106_H
53 
54 #include "rnr/rnrconfig.h"
55 #include "rnr/log.h"
56 
57 #include "Dynamixel/Dynamixel.h"
58 #include "Dynamixel/MX.h"
59 #include "Dynamixel/DynaError.h"
60 #include "Dynamixel/DynaComm.h"
61 #include "Dynamixel/DynaServo.h"
63 
64 
65 // ---------------------------------------------------------------------------
66 // MX-106 Dynamixel Servo Base Class
67 // ---------------------------------------------------------------------------
68 
69 /*!
70  * \ingroup dyna_lib_classes
71  *
72  * \brief MX-106 Dynamixel Servo Class.
73  *
74  * The DynaServoMX106 class provides the specific interface to the MX-106
75  * Dynamixel servos.
76  */
78 {
79 public:
80  /*! Model number */
82 
83  /*!
84  * \brief Bare-bones initialization constructor.
85  *
86  * May be used be derived classes to avoid undue communication and
87  * initializaton overhead.
88  *
89  * \param comm Dynamixel bus communication instance.
90  *
91  */
93  {
94  }
95 
96  /*!
97  * \brief Initialization constructor.
98  *
99  * \param comm Dynamixel bus communication instance.
100  * \param nServoId Servo Id.
101  * \param uModelNum Servo model number.
102  * \param uFwVer Servo firmware version.
103  */
104  DynaServoMX106(DynaComm &comm,
105  int nServoId,
106  uint_t uModelNum = DYNA_MODEL_NUM,
107  uint_t uFwVer = DYNA_FWVER_NA);
108 
109  /*!
110  * \brief Destructor.
111  */
112  virtual ~DynaServoMX106();
113 
114 
115  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
116  // Attribute Functions
117  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
118 
119  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
120  // Servo Move Functions
121  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122 
123  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
124  // Servo Read/Write Functions
125  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
126 
127  /*!
128  * \brief Dump contents of the servo EEPROM and RAM control tables.
129  */
130  virtual void Dump();
131 
132 protected:
133 
134  /*!
135  * \brief Initialize servo class instance.
136  *
137  * \param nServoId Servo Id.
138  * \param uFwVer Servo firmware version.
139  */
140  void Init(int nServoid, uint_t uFwVer);
141 
142  /*!
143  * \brief Initialize servo fixed specification data.
144  */
145  void InitSpec();
146 
147  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148  // Linking Fuctions
149  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
150 
151  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
152  // Field Packing Functions
153  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
154 };
155 
156 
157 #endif // _DYNA_SERVO_MX106_H
RoadNarrows Dynamixel Bus Communications Abstract Base Class Interface.
#define DYNA_MODEL_NUM_MX106
MX-106T, MX-106R.
Definition: MX.h:76
void InitSpec()
Initialize servo fixed specification data.
RoadNarrows MX Series Dynamixel Declarations.
virtual ~DynaServoMX106()
Destructor.
virtual void Dump()
Dump contents of the servo EEPROM and RAM control tables.
#define DYNA_FWVER_NA
firmware version not available
Definition: Dynamixel.h:136
Generic Dynamixel Servo Base Class Interface.
void Init()
Initialize servo class instance.
Generic Dynamixel Servo Base Class.
MX-106 Dynamixel Servo Class.
DynaServoMX106(DynaComm &comm)
Bare-bones initialization constructor.
RoadNarrows Dynamixel Archetype Servo Abstract Base Class.
static const int DYNA_MODEL_NUM
RoadNarrows Dynamixel Top-Level Package Header File.
RoadNarrows Dynamixel Library Error and Logging Routines.
Dynamixel Bus Communications Abstract Base Class.
Definition: DynaComm.h:80