xl320_reg.hpp
Go to the documentation of this file.
1 /*
2 xl30_reg.hpp
3 Copyright (C) 2020 Niryo
4 All rights reserved.
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http:// www.gnu.org/licenses/>.
15 */
16 
17 #ifndef XL320_REG_HPP
18 #define XL320_REG_HPP
19 
20 #include <memory>
21 #include "common/model/hardware_type_enum.hpp"
22 
23 namespace ttl_driver
24 {
25 struct XL320Reg
26 {
27  static constexpr common::model::EHardwareType motor_type = common::model::EHardwareType::XL320;
28 
29  static constexpr float PROTOCOL_VERSION = 2.0;
30  static constexpr int MODEL_NUMBER = 350;
31  static constexpr int VOLTAGE_CONVERSION = 10;
32 
33  // see table here : http:// support.robotis.com/en/product/actuator/dynamixel_x/xl_series/xl-320.htm
34  // EEPROM
35  static constexpr uint16_t ADDR_MODEL_NUMBER = 0;
36  using TYPE_MODEL_NUMBER = uint16_t;
37 
38  static constexpr uint16_t ADDR_FIRMWARE_VERSION = 2;
39  using TYPE_FIRMWARE_VERSION = uint8_t;
40 
41  static constexpr uint16_t ADDR_ID = 3;
42  using TYPE_ID = uint8_t;
43 
44  static constexpr uint16_t ADDR_BAUDRATE = 4;
45  using TYPE_BAUDRATE = uint8_t;
46 
47  static constexpr uint16_t ADDR_RETURN_DELAY_TIME = 5;
48  using TYPE_RETURN_DELAY_TIME = uint8_t;
49 
50  static constexpr uint16_t ADDR_CW_ANGLE_LIMIT = 6;
51  using TYPE_CW_ANGLE_LIMIT = uint16_t;
52 
53  static constexpr uint16_t ADDR_CCW_ANGLE_LIMIT = 8;
54  using TYPE_CCW_ANGLE_LIMIT = uint16_t;
55 
56  static constexpr uint16_t ADDR_OPERATING_MODE = 11;
57  using TYPE_OPERATING_MODE = uint8_t;
58 
59  static constexpr uint16_t ADDR_TEMPERATURE_LIMIT = 12;
60  using TYPE_TEMPERATURE_LIMIT = uint8_t;
61 
62  static constexpr uint16_t ADDR_MIN_VOLTAGE_LIMIT = 13;
63  using TYPE_MIN_VOLTAGE_LIMIT = uint8_t;
64 
65  static constexpr uint16_t ADDR_MAX_VOLTAGE_LIMIT = 14;
66  using TYPE_MAX_VOLTAGE_LIMIT = uint8_t;
67 
68  static constexpr uint16_t ADDR_MAX_TORQUE = 15;
69  using TYPE_MAX_TORQUE = uint16_t;
70 
71  static constexpr uint16_t ADDR_STATUS_RETURN_LEVEL = 17;
72  using TYPE_STATUS_RETURN_LEVEL = uint8_t;
73 
74  static constexpr uint16_t ADDR_ALARM_SHUTDOWN = 18;
75  using TYPE_ALARM_SHUTDOWN = uint8_t;
76 
77  // RAM
78  static constexpr uint16_t ADDR_TORQUE_ENABLE = 24;
79  using TYPE_TORQUE_ENABLE = uint8_t;
80 
81  static constexpr uint16_t ADDR_LED = 25;
82  using TYPE_LED = uint8_t;
83 
84  using TYPE_PID_GAIN = uint8_t;
85  static constexpr uint16_t ADDR_POSITION_D_GAIN = 27;
86  static constexpr uint16_t ADDR_POSITION_I_GAIN = 28;
87  static constexpr uint16_t ADDR_POSITION_P_GAIN = 29;
88 
89  static constexpr uint16_t ADDR_GOAL_POSITION = 30;
90  using TYPE_GOAL_POSITION = uint16_t;
91 
92  static constexpr uint16_t ADDR_GOAL_VELOCITY = 32;
93  using TYPE_GOAL_VELOCITY = uint16_t;
94 
95  static constexpr uint16_t ADDR_GOAL_TORQUE = 35;
96  using TYPE_GOAL_TORQUE = uint16_t;
97 
98  static constexpr uint16_t ADDR_PRESENT_POSITION = 37;
99  using TYPE_PRESENT_POSITION = uint16_t;
100 
101  static constexpr uint16_t ADDR_PRESENT_VELOCITY = 39;
102  using TYPE_PRESENT_VELOCITY = uint16_t;
103 
104  static constexpr uint16_t ADDR_PRESENT_LOAD = 41;
105  using TYPE_PRESENT_LOAD = uint16_t;
106 
107  static constexpr uint16_t ADDR_PRESENT_VOLTAGE = 45;
108  using TYPE_PRESENT_VOLTAGE = uint8_t;
109 
110  static constexpr uint16_t ADDR_PRESENT_TEMPERATURE = 46;
111  using TYPE_PRESENT_TEMPERATURE = uint8_t;
112 
113  static constexpr uint16_t ADDR_REGISTERED = 47;
114  using TYPE_REGISTERED = uint8_t;
115 
116  static constexpr uint16_t ADDR_MOVING = 49;
117  using TYPE_MOVING = uint8_t;
118 
119  static constexpr uint16_t ADDR_HW_ERROR_STATUS = 50;
120  using TYPE_HW_ERROR_STATUS = uint8_t;
121 
122  static constexpr uint16_t ADDR_PUNCH = 51;
123  using TYPE_PUNCH = uint16_t;
124 };
125 } // ttl_driver
126 
127 #endif // XL320_REG_HPP
ttl_driver::XL320Reg::MODEL_NUMBER
static constexpr int MODEL_NUMBER
Definition: xl320_reg.hpp:30
ttl_driver::XL320Reg::TYPE_HW_ERROR_STATUS
uint8_t TYPE_HW_ERROR_STATUS
Definition: xl320_reg.hpp:120
ttl_driver::XL320Reg::ADDR_MAX_TORQUE
static constexpr uint16_t ADDR_MAX_TORQUE
Definition: xl320_reg.hpp:68
ttl_driver::XL320Reg::ADDR_HW_ERROR_STATUS
static constexpr uint16_t ADDR_HW_ERROR_STATUS
Definition: xl320_reg.hpp:119
ttl_driver::XL320Reg::TYPE_PRESENT_VELOCITY
uint16_t TYPE_PRESENT_VELOCITY
Definition: xl320_reg.hpp:102
ttl_driver::XL320Reg::PROTOCOL_VERSION
static constexpr float PROTOCOL_VERSION
Definition: xl320_reg.hpp:29
ttl_driver::XL320Reg::ADDR_MODEL_NUMBER
static constexpr uint16_t ADDR_MODEL_NUMBER
Definition: xl320_reg.hpp:35
ttl_driver::XL320Reg::ADDR_TORQUE_ENABLE
static constexpr uint16_t ADDR_TORQUE_ENABLE
Definition: xl320_reg.hpp:78
ttl_driver::XL320Reg::TYPE_PRESENT_POSITION
uint16_t TYPE_PRESENT_POSITION
Definition: xl320_reg.hpp:99
ttl_driver::XL320Reg::ADDR_CCW_ANGLE_LIMIT
static constexpr uint16_t ADDR_CCW_ANGLE_LIMIT
Definition: xl320_reg.hpp:53
ttl_driver::XL320Reg::ADDR_CW_ANGLE_LIMIT
static constexpr uint16_t ADDR_CW_ANGLE_LIMIT
Definition: xl320_reg.hpp:50
ttl_driver::XL320Reg::ADDR_GOAL_TORQUE
static constexpr uint16_t ADDR_GOAL_TORQUE
Definition: xl320_reg.hpp:95
ttl_driver::XL320Reg::ADDR_PRESENT_VELOCITY
static constexpr uint16_t ADDR_PRESENT_VELOCITY
Definition: xl320_reg.hpp:101
ttl_driver::XL320Reg::ADDR_ID
static constexpr uint16_t ADDR_ID
Definition: xl320_reg.hpp:41
ttl_driver::XL320Reg::ADDR_POSITION_P_GAIN
static constexpr uint16_t ADDR_POSITION_P_GAIN
Definition: xl320_reg.hpp:87
ttl_driver::XL320Reg::ADDR_POSITION_I_GAIN
static constexpr uint16_t ADDR_POSITION_I_GAIN
Definition: xl320_reg.hpp:86
ttl_driver::XL320Reg::ADDR_OPERATING_MODE
static constexpr uint16_t ADDR_OPERATING_MODE
Definition: xl320_reg.hpp:56
ttl_driver::XL320Reg::TYPE_ID
uint8_t TYPE_ID
Definition: xl320_reg.hpp:42
ttl_driver::XL320Reg::TYPE_CCW_ANGLE_LIMIT
uint16_t TYPE_CCW_ANGLE_LIMIT
Definition: xl320_reg.hpp:54
ttl_driver::XL320Reg::ADDR_PRESENT_TEMPERATURE
static constexpr uint16_t ADDR_PRESENT_TEMPERATURE
Definition: xl320_reg.hpp:110
ttl_driver::XL320Reg::ADDR_MOVING
static constexpr uint16_t ADDR_MOVING
Definition: xl320_reg.hpp:116
ttl_driver::XL320Reg::ADDR_PUNCH
static constexpr uint16_t ADDR_PUNCH
Definition: xl320_reg.hpp:122
ttl_driver::XL320Reg::TYPE_TORQUE_ENABLE
uint8_t TYPE_TORQUE_ENABLE
Definition: xl320_reg.hpp:79
ttl_driver::XL320Reg::ADDR_FIRMWARE_VERSION
static constexpr uint16_t ADDR_FIRMWARE_VERSION
Definition: xl320_reg.hpp:38
ttl_driver::XL320Reg::TYPE_OPERATING_MODE
uint8_t TYPE_OPERATING_MODE
Definition: xl320_reg.hpp:57
ttl_driver::XL320Reg::motor_type
static constexpr common::model::EHardwareType motor_type
Definition: xl320_reg.hpp:27
ttl_driver::XL320Reg::TYPE_CW_ANGLE_LIMIT
uint16_t TYPE_CW_ANGLE_LIMIT
Definition: xl320_reg.hpp:51
ttl_driver::XL320Reg::TYPE_GOAL_TORQUE
uint16_t TYPE_GOAL_TORQUE
Definition: xl320_reg.hpp:96
ttl_driver::XL320Reg::ADDR_PRESENT_VOLTAGE
static constexpr uint16_t ADDR_PRESENT_VOLTAGE
Definition: xl320_reg.hpp:107
ttl_driver::XL320Reg::TYPE_MAX_VOLTAGE_LIMIT
uint8_t TYPE_MAX_VOLTAGE_LIMIT
Definition: xl320_reg.hpp:66
ttl_driver::XL320Reg::TYPE_MAX_TORQUE
uint16_t TYPE_MAX_TORQUE
Definition: xl320_reg.hpp:69
ttl_driver::XL320Reg
Definition: xl320_reg.hpp:25
ttl_driver::XL320Reg::ADDR_GOAL_POSITION
static constexpr uint16_t ADDR_GOAL_POSITION
Definition: xl320_reg.hpp:89
ttl_driver::XL320Reg::TYPE_STATUS_RETURN_LEVEL
uint8_t TYPE_STATUS_RETURN_LEVEL
Definition: xl320_reg.hpp:72
ttl_driver::XL320Reg::TYPE_GOAL_POSITION
uint16_t TYPE_GOAL_POSITION
Definition: xl320_reg.hpp:90
ttl_driver::XL320Reg::TYPE_REGISTERED
uint8_t TYPE_REGISTERED
Definition: xl320_reg.hpp:114
ttl_driver::XL320Reg::TYPE_GOAL_VELOCITY
uint16_t TYPE_GOAL_VELOCITY
Definition: xl320_reg.hpp:93
ttl_driver::XL320Reg::TYPE_BAUDRATE
uint8_t TYPE_BAUDRATE
Definition: xl320_reg.hpp:45
ttl_driver::XL320Reg::ADDR_ALARM_SHUTDOWN
static constexpr uint16_t ADDR_ALARM_SHUTDOWN
Definition: xl320_reg.hpp:74
ttl_driver::XL320Reg::VOLTAGE_CONVERSION
static constexpr int VOLTAGE_CONVERSION
Definition: xl320_reg.hpp:31
ttl_driver
Definition: abstract_dxl_driver.hpp:30
ttl_driver::XL320Reg::ADDR_GOAL_VELOCITY
static constexpr uint16_t ADDR_GOAL_VELOCITY
Definition: xl320_reg.hpp:92
ttl_driver::XL320Reg::TYPE_PUNCH
uint16_t TYPE_PUNCH
Definition: xl320_reg.hpp:123
ttl_driver::XL320Reg::ADDR_TEMPERATURE_LIMIT
static constexpr uint16_t ADDR_TEMPERATURE_LIMIT
Definition: xl320_reg.hpp:59
ttl_driver::XL320Reg::TYPE_LED
uint8_t TYPE_LED
Definition: xl320_reg.hpp:82
ttl_driver::XL320Reg::ADDR_LED
static constexpr uint16_t ADDR_LED
Definition: xl320_reg.hpp:81
ttl_driver::XL320Reg::ADDR_RETURN_DELAY_TIME
static constexpr uint16_t ADDR_RETURN_DELAY_TIME
Definition: xl320_reg.hpp:47
ttl_driver::XL320Reg::ADDR_MAX_VOLTAGE_LIMIT
static constexpr uint16_t ADDR_MAX_VOLTAGE_LIMIT
Definition: xl320_reg.hpp:65
ttl_driver::XL320Reg::TYPE_ALARM_SHUTDOWN
uint8_t TYPE_ALARM_SHUTDOWN
Definition: xl320_reg.hpp:75
ttl_driver::XL320Reg::ADDR_BAUDRATE
static constexpr uint16_t ADDR_BAUDRATE
Definition: xl320_reg.hpp:44
ttl_driver::XL320Reg::TYPE_TEMPERATURE_LIMIT
uint8_t TYPE_TEMPERATURE_LIMIT
Definition: xl320_reg.hpp:60
ttl_driver::XL320Reg::ADDR_POSITION_D_GAIN
static constexpr uint16_t ADDR_POSITION_D_GAIN
Definition: xl320_reg.hpp:85
ttl_driver::XL320Reg::TYPE_PRESENT_VOLTAGE
uint8_t TYPE_PRESENT_VOLTAGE
Definition: xl320_reg.hpp:108
ttl_driver::XL320Reg::TYPE_FIRMWARE_VERSION
uint8_t TYPE_FIRMWARE_VERSION
Definition: xl320_reg.hpp:39
ttl_driver::XL320Reg::ADDR_PRESENT_LOAD
static constexpr uint16_t ADDR_PRESENT_LOAD
Definition: xl320_reg.hpp:104
ttl_driver::XL320Reg::TYPE_RETURN_DELAY_TIME
uint8_t TYPE_RETURN_DELAY_TIME
Definition: xl320_reg.hpp:48
ttl_driver::XL320Reg::TYPE_MOVING
uint8_t TYPE_MOVING
Definition: xl320_reg.hpp:117
ttl_driver::XL320Reg::TYPE_PRESENT_TEMPERATURE
uint8_t TYPE_PRESENT_TEMPERATURE
Definition: xl320_reg.hpp:111
ttl_driver::XL320Reg::TYPE_PID_GAIN
uint8_t TYPE_PID_GAIN
Definition: xl320_reg.hpp:84
ttl_driver::XL320Reg::ADDR_STATUS_RETURN_LEVEL
static constexpr uint16_t ADDR_STATUS_RETURN_LEVEL
Definition: xl320_reg.hpp:71
ttl_driver::XL320Reg::ADDR_MIN_VOLTAGE_LIMIT
static constexpr uint16_t ADDR_MIN_VOLTAGE_LIMIT
Definition: xl320_reg.hpp:62
ttl_driver::XL320Reg::TYPE_PRESENT_LOAD
uint16_t TYPE_PRESENT_LOAD
Definition: xl320_reg.hpp:105
ttl_driver::XL320Reg::TYPE_MODEL_NUMBER
uint16_t TYPE_MODEL_NUMBER
Definition: xl320_reg.hpp:36
ttl_driver::XL320Reg::ADDR_PRESENT_POSITION
static constexpr uint16_t ADDR_PRESENT_POSITION
Definition: xl320_reg.hpp:98
ttl_driver::XL320Reg::TYPE_MIN_VOLTAGE_LIMIT
uint8_t TYPE_MIN_VOLTAGE_LIMIT
Definition: xl320_reg.hpp:63
ttl_driver::XL320Reg::ADDR_REGISTERED
static constexpr uint16_t ADDR_REGISTERED
Definition: xl320_reg.hpp:113


ttl_driver
Author(s): Clement Cocquempot
autogenerated on Wed May 21 2025 08:30:14