Dynamixel
2.9.5
RoadNarrows Robotics Dynamixel Package
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
cModPktProtocol.doxy
Go to the documentation of this file.
1
////////////////////////////////////////////////////////////////////////////////
2
//
3
// Package: Dynamixel
4
//
5
// File: cModPktProtocol.doxy
6
//
7
// Version:
8
// $LastChangedDate: 2014-06-25 13:09:23 -0600 (Wed, 25 Jun 2014) $
9
// $Rev: 3669 $
10
//
11
// Description:
12
// Defines Dynamixel Bus Packet Protocol
13
//
14
////////////////////////////////////////////////////////////////////////////////
15
16
/*! \file */
17
18
/*!
19
* \addtogroup dyna_bus_proto
20
\section dbp_intro Intro
21
The Dynamixel Bus packats are tranmitted over a half-duplex serial interface
22
at baud rates up to 3Mbs. The host initiates communication by transmitting a
23
request and then waits for a response, if any, from the servo.
24
There are two broad versions of the protocol:
25
- Version 1: Dynamixel product line (e.g. AX, MX, etc).
26
- Version 2: Dynamixel Pro product line.
27
28
Currently, only Version 1 of the protocol is supported.
29
30
\section dbp_pkt_types Supported Packets Types
31
\termblock
32
\term \b Ping \termdata Pings the specified servo. \endterm
33
\term \b Read \termdata Read byte/word from the specified servo. \endterm
34
\term \b Write \termdata Write byte/word to the specified servo. \endterm
35
\term \b SyncWrite
36
\termdata Synchonize write data to a specified set of servos.
37
\endterm
38
\endtermblock
39
40
\section dbp_pkt_fields Packet Fields
41
\termblock
42
\term \e Field \termdata \e Pos \termdata \e Len \termdata \e Values
43
\termdata \e Notes
44
\endterm
45
\term FRAME \termdata 0 \termdata 2 \termdata 0xffff
46
\termdata All tx/rx packets begin with the frame bytes.
47
\endterm
48
\term id \termdata 2 \termdata 1 \termdata 0-253, 254
49
\termdata Servo identifier: 0-253, BROADCAST: 254
50
\endterm
51
\term len \termdata 3 \termdata 1 \termdata 2-255
52
\termdata Length of packet excluding FRAME, len, and chksum.
53
\endterm
54
\term inst \termdata 4 \termdata 1 \termdata enum
55
\termdata Instruction. PING: 1, READ: 2, WRITE: 3, SYNC_WRITE: 131
56
\endterm
57
\term addr \termdata 5 \termdata 1 \termdata 0-255
58
\termdata Address of servo control table data.
59
\endterm
60
\term val_len \termdata 6 \termdata 1 \termdata 1, 2
61
\termdata Length of servo control table data.
62
\endterm
63
\term val \termdata - \termdata 1 \termdata byte
64
\termdata Byte read/written from/to servo control.
65
\endterm
66
\term val_lsb \termdata - \termdata 1 \termdata byte
67
\termdata Word LSB read/written from/to servo control table.
68
\endterm
69
\term val_msb \termdata - \termdata 1 \termdata byte
70
\termdata Word MSB read/written from/to servo control table.
71
\endterm
72
\term chksum \termdata len+3 \termdata 1 \termdata byte
73
\termdata Checksum over packet excluding FRAME.
74
\endterm
75
\endtermblock
76
77
\section dbp_pkt Packet Formats
78
\subsection dbp_pkt_ping Ping
79
\beginhtml
80
<table class="rn-std" style="margin-bottom:10px;">
81
<tr>
82
<td style="text-align:center; width:5em;">TX (6)</td>
83
<td style="text-align:center; width:5em;">0xff</td>
84
<td style="text-align:center; width:5em;">0xff</td>
85
<td style="text-align:center; width:5em;">id</td>
86
<td style="text-align:center; width:5em;">2</td>
87
<td style="text-align:center; width:5em;">PING</td>
88
<td style="text-align:center; width:5em;">chksum</td>
89
</tr>
90
</table>
91
<table class="rn-std" style="margin-bottom:10px;">
92
<tr>
93
<td style="text-align:center; width:5em;">RX (6)</td>
94
<td style="text-align:center; width:5em;">0xff</td>
95
<td style="text-align:center; width:5em;">0xff</td>
96
<td style="text-align:center; width:5em;">id</td>
97
<td style="text-align:center; width:5em;">2</td>
98
<td style="text-align:center; width:5em;">PING</td>
99
<td style="text-align:center; width:5em;">chksum</td>
100
</tr>
101
</table>
102
\endhtml
103
104
\subsection dbp_pkt_read_byte Read Byte
105
\beginhtml
106
<table class="rn-std" style="margin-bottom:10px;">
107
<tr>
108
<td style="text-align:center; width:5em;">TX (8)</td>
109
<td style="text-align:center; width:5em;">0xff</td>
110
<td style="text-align:center; width:5em;">0xff</td>
111
<td style="text-align:center; width:5em;">id</td>
112
<td style="text-align:center; width:5em;">4</td>
113
<td style="text-align:center; width:5em;">READ</td>
114
<td style="text-align:center; width:5em;">addr</td>
115
<td style="text-align:center; width:5em;">1</td>
116
<td style="text-align:center; width:5em;">chksum</td>
117
</tr>
118
</table>
119
<table class="rn-std" style="margin-bottom:10px;">
120
<tr>
121
<td style="text-align:center; width:5em;">RX (8)</td>
122
<td style="text-align:center; width:5em;">0xff</td>
123
<td style="text-align:center; width:5em;">0xff</td>
124
<td style="text-align:center; width:5em;">id</td>
125
<td style="text-align:center; width:5em;">4</td>
126
<td style="text-align:center; width:5em;">READ</td>
127
<td style="text-align:center; width:5em;">addr</td>
128
<td style="text-align:center; width:5em;">val</td>
129
<td style="text-align:center; width:5em;">chksum</td>
130
</tr>
131
</table>
132
\endhtml
133
134
\subsection dbp_pkt_read_word Read Word
135
\beginhtml
136
<table class="rn-std" style="margin-bottom:10px;">
137
<tr>
138
<td style="text-align:center; width:5em;">TX (8)</td>
139
<td style="text-align:center; width:5em;">0xff</td>
140
<td style="text-align:center; width:5em;">0xff</td>
141
<td style="text-align:center; width:5em;">id</td>
142
<td style="text-align:center; width:5em;">4</td>
143
<td style="text-align:center; width:5em;">READ</td>
144
<td style="text-align:center; width:5em;">addr</td>
145
<td style="text-align:center; width:5em;">2</td>
146
<td style="text-align:center; width:5em;">chksum</td>
147
</tr>
148
</table>
149
<table class="rn-std" style="margin-bottom:10px;">
150
<tr>
151
<td style="text-align:center; width:5em;">RX (9)</td>
152
<td style="text-align:center; width:5em;">0xff</td>
153
<td style="text-align:center; width:5em;">0xff</td>
154
<td style="text-align:center; width:5em;">id</td>
155
<td style="text-align:center; width:5em;">5</td>
156
<td style="text-align:center; width:5em;">READ</td>
157
<td style="text-align:center; width:5em;">addr</td>
158
<td style="text-align:center; width:5em;">val_lsb</td>
159
<td style="text-align:center; width:5em;">val_msb</td>
160
<td style="text-align:center; width:5em;">chksum</td>
161
</tr>
162
</table>
163
\endhtml
164
165
\subsection dbp_pkt_write_byte Write Byte
166
\beginhtml
167
<table class="rn-std" style="margin-bottom:10px;">
168
<tr>
169
<td style="text-align:center; width:5em;">TX (8)</td>
170
<td style="text-align:center; width:5em;">0xff</td>
171
<td style="text-align:center; width:5em;">0xff</td>
172
<td style="text-align:center; width:5em;">id</td>
173
<td style="text-align:center; width:5em;">4</td>
174
<td style="text-align:center; width:5em;">WRITE</td>
175
<td style="text-align:center; width:5em;">addr</td>
176
<td style="text-align:center; width:5em;">val</td>
177
<td style="text-align:center; width:5em;">chksum</td>
178
</tr>
179
</table>
180
<table class="rn-std" style="margin-bottom:10px;">
181
<tr>
182
<td style="text-align:center; width:5em;">RX (6)</td>
183
<td style="text-align:center; width:5em;">0xff</td>
184
<td style="text-align:center; width:5em;">0xff</td>
185
<td style="text-align:center; width:5em;">id</td>
186
<td style="text-align:center; width:5em;">2</td>
187
<td style="text-align:center; width:5em;">WRITE</td>
188
<td style="text-align:center; width:5em;">chksum</td>
189
</tr>
190
</table>
191
\endhtml
192
193
\subsection dbp_pkt_write_word Write Word
194
\beginhtml
195
<table class="rn-std" style="margin-bottom:10px;">
196
<tr>
197
<td style="text-align:center; width:5em;">TX (9)</td>
198
<td style="text-align:center; width:5em;">0xff</td>
199
<td style="text-align:center; width:5em;">0xff</td>
200
<td style="text-align:center; width:5em;">id</td>
201
<td style="text-align:center; width:5em;">5</td>
202
<td style="text-align:center; width:5em;">WRITE</td>
203
<td style="text-align:center; width:5em;">addr</td>
204
<td style="text-align:center; width:5em;">val_lsb</td>
205
<td style="text-align:center; width:5em;">val_msb</td>
206
<td style="text-align:center; width:5em;">chksum</td>
207
</tr>
208
</table>
209
<table class="rn-std" style="margin-bottom:10px;">
210
<tr>
211
<td style="text-align:center; width:5em;">RX (6)</td>
212
<td style="text-align:center; width:5em;">0xff</td>
213
<td style="text-align:center; width:5em;">0xff</td>
214
<td style="text-align:center; width:5em;">id</td>
215
<td style="text-align:center; width:5em;">2</td>
216
<td style="text-align:center; width:5em;">WRITE</td>
217
<td style="text-align:center; width:5em;">chksum</td>
218
</tr>
219
</table>
220
\endhtml
221
222
\subsection dbp_pkt_sync_write_byte Sync Write Byte
223
\beginhtml
224
<table class="rn-std" style="margin-bottom:10px;">
225
<tr>
226
<td style="text-align:center; width:6em;">TX (len+4)</td>
227
<td style="text-align:center; width:5em;">0xff</td>
228
<td style="text-align:center; width:5em;">0xff</td>
229
<td style="text-align:center; width:5em;">BROADCAST</td>
230
<td style="text-align:center; width:5em;">4+2*n</td>
231
<td style="text-align:center; width:5em;">SYNC_WRITE</td>
232
<td style="text-align:center; width:5em;">addr</td>
233
<td style="text-align:center; width:5em;">1</td>
234
<td style="text-align:center; width:5em;">id_1</td>
235
<td style="text-align:center; width:5em;">val_1</td>
236
<td style="text-align:center; width:3em;">...</td>
237
<td style="text-align:center; width:5em;">id_n</td>
238
<td style="text-align:center; width:5em;">val_n</td>
239
<td style="text-align:center; width:5em;">chksum</td>
240
</tr>
241
</table>
242
<p>no response</p>
243
\endhtml
244
245
246
\subsection dbp_pkt_sync_write_word Sync Write Word
247
\beginhtml
248
<table class="rn-std" style="margin-bottom:10px;">
249
<tr>
250
<td style="text-align:center; width:6em;">TX (len+4)</td>
251
<td style="text-align:center; width:5em;">0xff</td>
252
<td style="text-align:center; width:5em;">0xff</td>
253
<td style="text-align:center; width:5em;">BROADCAST</td>
254
<td style="text-align:center; width:5em;">4+3*n</td>
255
<td style="text-align:center; width:5em;">SYNC_WRITE</td>
256
<td style="text-align:center; width:5em;">addr</td>
257
<td style="text-align:center; width:5em;">2</td>
258
<td style="text-align:center; width:5em;">id_1</td>
259
<td style="text-align:center; width:5em;">val_lsb_1</td>
260
<td style="text-align:center; width:5em;">val_msb_1</td>
261
<td style="text-align:center; width:3em;">...</td>
262
<td style="text-align:center; width:5em;">id_n</td>
263
<td style="text-align:center; width:5em;">val_lsb_n</td>
264
<td style="text-align:center; width:5em;">val_msb_n</td>
265
<td style="text-align:center; width:5em;">chksum</td>
266
</tr>
267
</table>
268
<p>no response</p>
269
\endhtml
270
271
*/
272
\endhtml
273
274
275
*/
docs
doxy
cModPktProtocol.doxy
Generated on Fri Aug 10 2018 13:55:26 for Dynamixel by
1.8.11
©2018 RoadNarrows LLC
www.roadnarrows.com