Dynamixel  2.9.5
RoadNarrows Robotics Dynamixel Package
DynaServoRX64.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // Package: Dynamixel
4 //
5 // Library: librnr_dynamixel
6 //
7 // File: DynaServoRX64.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 RX-64 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_RX64_H
52 #define _DYNA_SERVO_RX64_H
53 
54 #include "rnr/rnrconfig.h"
55 #include "rnr/log.h"
56 
57 #include "Dynamixel/Dynamixel.h"
58 #include "Dynamixel/RX.h"
59 #include "Dynamixel/DynaError.h"
60 #include "Dynamixel/DynaComm.h"
61 #include "Dynamixel/DynaServo.h"
63 
64 
65 // ---------------------------------------------------------------------------
66 // Generic Dynamixel Servo Base Class
67 // ---------------------------------------------------------------------------
68 
69 /*!
70  * \ingroup dyna_lib_classes
71  *
72  * \brief RX-64 Dynamixel Servo Class.
73  *
74  * The DynaServoRX64 class provides the specific interface to the RX-64
75  * Dynamixel servos
76  */
78 {
79 public:
80  /*! Model number */
81  static const int DYNA_MODEL_NUM = DYNA_MODEL_NUM_RX64;
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  DynaServoRX64(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 ~DynaServoRX64();
113 
114 
115  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
116  // Attribute Functions
117  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
118 
119  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
120  // Servo Move Functions
121  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
122 
123  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
124  // Servo Read/Write Functions
125  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
126 
127 protected:
128  /*!
129  * \brief Initialize servo class instance.
130  *
131  * \param nServoId Servo Id.
132  * \param uFwVer Servo firmware version.
133  */
134  void Init(int nServoid, uint_t uFwVer);
135 
136  /*!
137  * \brief Initialize servo fixed specification data.
138  */
139  void InitSpec();
140 
141  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
142  // Linking Fuctions
143  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
144 
145  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
146  // Field Packing Functions
147  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
148 };
149 
150 
151 #endif // _DYNA_SERVO_RX64_H
RoadNarrows Dynamixel Bus Communications Abstract Base Class Interface.
DynaServoRX64(DynaComm &comm)
Bare-bones initialization constructor.
Definition: DynaServoRX64.h:92
RoadNarrows RX Series Dynamixel Declarations.
#define DYNA_MODEL_NUM_RX64
RX-64.
Definition: RX.h:76
virtual ~DynaServoRX64()
Destructor.
static const int DYNA_MODEL_NUM
Definition: DynaServoRX64.h:81
RX-64 Dynamixel Servo Class.
Definition: DynaServoRX64.h:77
#define DYNA_FWVER_NA
firmware version not available
Definition: Dynamixel.h:136
Generic Dynamixel Servo Base Class Interface.
void Init()
Initialize servo class instance.
void InitSpec()
Initialize servo fixed specification data.
Generic Dynamixel Servo Base Class.
RoadNarrows Dynamixel Archetype Servo Abstract Base Class.
RoadNarrows Dynamixel Top-Level Package Header File.
RoadNarrows Dynamixel Library Error and Logging Routines.
Dynamixel Bus Communications Abstract Base Class.
Definition: DynaComm.h:80