dynamixel_item.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2018 ROBOTIS CO., LTD.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *******************************************************************************/
16 
17 /* Authors: Taehun Lim (Darby), Ryan Shim */
18 
19 #ifndef DYNAMIXEL_ITEM_H
20 #define DYNAMIXEL_ITEM_H
21 
22 #include <stdint.h>
23 #include <stddef.h>
24 
25 #define AX_12A 12
26 #define AX_12W 300
27 #define AX_18A 18
28 
29 #define RX_10 10
30 #define RX_24F 24
31 #define RX_28 28
32 #define RX_64 64
33 
34 #define EX_106 107
35 
36 #define MX_12W 360
37 #define MX_28 29
38 #define MX_28_2 30
39 #define MX_64 310
40 #define MX_64_2 311
41 #define MX_106 320
42 #define MX_106_2 321
43 
44 #define XL_320 350
45 #define XL430_W250 1060
46 
47 #define XL430_W250_2 1090 // 2XL
48 
49 #define XC430_W150 1070
50 #define XC430_W240 1080
51 
52 #define XM430_W210 1030
53 #define XM430_W350 1020
54 
55 #define XM540_W150 1130
56 #define XM540_W270 1120
57 
58 #define XH430_W210 1010
59 #define XH430_W350 1000
60 #define XH430_V210 1050
61 #define XH430_V350 1040
62 
63 #define XH540_W150 1110
64 #define XH540_W270 1100
65 #define XH540_V150 1150
66 #define XH540_V270 1140
67 
68 #define XW540_T260 1170
69 #define XW540_T140 1180
70 
71 #define PRO_L42_10_S300_R 35072
72 #define PRO_L54_30_S400_R 37928
73 #define PRO_L54_30_S500_R 37896
74 #define PRO_L54_50_S290_R 38176
75 #define PRO_L54_50_S500_R 38152
76 
77 #define PRO_M42_10_S260_R 43288
78 #define PRO_M54_40_S250_R 46096
79 #define PRO_M54_60_S250_R 46352
80 
81 #define PRO_H42_20_S300_R 51200
82 #define PRO_H54_100_S500_R 53768
83 #define PRO_H54_200_S500_R 54024
84 
85 #define PRO_M42_10_S260_R_A 43289
86 #define PRO_M54_40_S250_R_A 46097
87 #define PRO_M54_60_S250_R_A 46353
88 
89 #define PRO_H42_20_S300_R_A 51201
90 #define PRO_H54_100_S500_R_A 53769
91 #define PRO_H54_200_S500_R_A 54025
92 
93 #define PRO_PLUS_M42P_010_S260_R 2100
94 #define PRO_PLUS_M54P_040_S250_R 2110
95 #define PRO_PLUS_M54P_060_S250_R 2120
96 
97 #define PRO_PLUS_H42P_020_S300_R 2000
98 #define PRO_PLUS_H54P_100_S500_R 2010
99 #define PRO_PLUS_H54P_200_S500_R 2020
100 
101 #define RH_P12_RN 35073
102 #define RH_P12_RN_A 35074
103 
104 #define BYTE 1
105 #define WORD 2
106 #define DWORD 4
107 
108 typedef struct
109 {
110  const char *item_name;
111  uint16_t address;
113  uint16_t data_length;
114 } ControlItem;
115 
116 typedef struct
117 {
118  float rpm;
119 
123 
124  float min_radian;
125  float max_radian;
126 } ModelInfo;
127 
128 // Public Functions
129 namespace DynamixelItem
130 {
131 const ControlItem *getControlTable(uint16_t model_number);
132 const ModelInfo *getModelInfo(uint16_t model_number);
133 
134 uint8_t getTheNumberOfControlItem();
135 }
136 
137 #endif //DYNAMIXEL_ITEM_H
const ControlItem * getControlTable(uint16_t model_number)
uint16_t address
int64_t value_of_min_radian_position
uint8_t getTheNumberOfControlItem()
const ModelInfo * getModelInfo(uint16_t model_number)
uint8_t item_name_length
int64_t value_of_max_radian_position
float max_radian
int64_t value_of_zero_radian_position
uint16_t data_length
float min_radian
const char * item_name


dynamixel_workbench_toolbox
Author(s): Darby Lim , Ryan Shim
autogenerated on Mon Sep 28 2020 03:37:05