Dynamixel  2.9.5
RoadNarrows Robotics Dynamixel Package
DynaServoRX28.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // Package: Dynamixel
4 //
5 // Library: librnr_dynamixel
6 //
7 // File: DynaServoRX28.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-28 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_RX28_H
52 #define _DYNA_SERVO_RX28_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-28 Dynamixel Servo Class.
73  *
74  * The DynaServoRX28 class provides the specific interface to the EX-28
75  * Dynamixel servos
76  */
78 {
79 public:
80  /*! Model number */
81  static const int DYNA_MODEL_NUM = DYNA_MODEL_NUM_RX28;
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  DynaServoRX28(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 ~DynaServoRX28();
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_RX28_H
RoadNarrows Dynamixel Bus Communications Abstract Base Class Interface.
RoadNarrows RX Series Dynamixel Declarations.
#define DYNA_FWVER_NA
firmware version not available
Definition: Dynamixel.h:136
#define DYNA_MODEL_NUM_RX28
RX-28.
Definition: RX.h:75
Generic Dynamixel Servo Base Class Interface.
void Init()
Initialize servo class instance.
Generic Dynamixel Servo Base Class.
RX-28 Dynamixel Servo Class.
Definition: DynaServoRX28.h:77
RoadNarrows Dynamixel Archetype Servo Abstract Base Class.
void InitSpec()
Initialize servo fixed specification data.
RoadNarrows Dynamixel Top-Level Package Header File.
static const int DYNA_MODEL_NUM
Definition: DynaServoRX28.h:81
DynaServoRX28(DynaComm &comm)
Bare-bones initialization constructor.
Definition: DynaServoRX28.h:92
RoadNarrows Dynamixel Library Error and Logging Routines.
Dynamixel Bus Communications Abstract Base Class.
Definition: DynaComm.h:80
virtual ~DynaServoRX28()
Destructor.