fake_ttl_data.hpp
Go to the documentation of this file.
1 /*
2 fake_ttl_data.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 FAKE_TTL_DATA_HPP
18 #define FAKE_TTL_DATA_HPP
19 
20 #include <cstdint>
21 #include <string>
22 #include <map>
23 #include <vector>
24 
25 namespace ttl_driver
26 {
27 
29 {
30 public:
31  FakeTtlData() = default;
32 
33  void updateFullIdList();
34 
35 public:
37  {
38  uint8_t id{ 0 };
39  uint16_t model_number{ 0 };
40 
41  uint32_t position{ 0 };
42  uint32_t velocity{ 0 };
43 
44  uint32_t min_position{ 0 };
45  uint32_t max_position{ 0 };
46 
47  uint8_t temperature{ 0 };
48  double voltage{ 0 };
49  std::string firmware{};
50  };
51 
53  {
54  uint8_t torque{ 0 };
55  uint32_t v_start{ 1 };
56  uint32_t a_1{ 0 };
57  uint32_t v_1{ 0 };
58  uint32_t a_max{ 6000 };
59  uint32_t v_max{ 6 };
60  uint32_t d_max{ 6000 };
61  uint32_t d_1{ 0 };
62  uint32_t v_stop{ 2 };
63  int32_t homing_abs_position{ 0 };
64  uint8_t operating_mode{ 0 };
65  ;
66  };
67 
69  {
70  uint8_t torque{ 0 };
71  uint16_t position_p_gain{ 0 };
72  uint16_t position_i_gain{ 0 };
73  uint16_t position_d_gain{ 0 };
74 
75  uint16_t velocity_p_gain{ 0 };
76  uint16_t velocity_i_gain{ 0 };
77 
78  uint16_t ff1_gain{ 0 };
79  uint16_t ff2_gain{ 0 };
80  };
81 
83  {
84  uint32_t button0_action{ 1 };
85  uint32_t button1_action{ 2 };
86  uint32_t button2_action{ 8 };
87 
88  uint32_t x_value{ 1 };
89  uint32_t y_value{ 1 };
90  uint32_t z_value{ 1 };
91 
92  bool digital_input = false;
93  bool digital_output = false;
94  };
95 
96  // dxl by id
97  std::map<uint8_t, FakeDxlRegister> dxl_registers;
98 
99  // stepper by id
100  std::map<uint8_t, FakeStepperRegister> stepper_registers;
101 
102  // all ids
103  std::vector<uint8_t> full_id_list;
104 
105  // end_effector
107 };
108 
110 {
111  full_id_list.clear();
112  for (auto const &it : dxl_registers)
113  {
114  full_id_list.emplace_back(it.first);
115  }
116 
117  for (auto const &it : stepper_registers)
118  {
119  full_id_list.emplace_back(it.first);
120  }
121 
122  if (!end_effector.firmware.empty())
123  full_id_list.emplace_back(end_effector.id);
124 }
125 
126 } // namespace ttl_driver
127 #endif // FAKE_TTL_DATA_HPP
ttl_driver::FakeTtlData::FakeEndEffector::button0_action
uint32_t button0_action
Definition: fake_ttl_data.hpp:84
ttl_driver::FakeTtlData::AbstractFakeRegister::id
uint8_t id
Definition: fake_ttl_data.hpp:38
ttl_driver::FakeTtlData::FakeDxlRegister::position_p_gain
uint16_t position_p_gain
Definition: fake_ttl_data.hpp:71
ttl_driver::FakeTtlData::AbstractFakeRegister::voltage
double voltage
Definition: fake_ttl_data.hpp:48
ttl_driver::FakeTtlData::updateFullIdList
void updateFullIdList()
Definition: fake_ttl_data.hpp:109
ttl_driver::FakeTtlData::FakeDxlRegister::velocity_i_gain
uint16_t velocity_i_gain
Definition: fake_ttl_data.hpp:76
ttl_driver::FakeTtlData::FakeDxlRegister::position_d_gain
uint16_t position_d_gain
Definition: fake_ttl_data.hpp:73
ttl_driver::FakeTtlData::FakeStepperRegister::v_1
uint32_t v_1
Definition: fake_ttl_data.hpp:57
ttl_driver::FakeTtlData::AbstractFakeRegister::temperature
uint8_t temperature
Definition: fake_ttl_data.hpp:47
ttl_driver::FakeTtlData::end_effector
FakeEndEffector end_effector
Definition: fake_ttl_data.hpp:106
ttl_driver::FakeTtlData::FakeStepperRegister
Definition: fake_ttl_data.hpp:52
ttl_driver::FakeTtlData::AbstractFakeRegister::max_position
uint32_t max_position
Definition: fake_ttl_data.hpp:45
ttl_driver::FakeTtlData::FakeStepperRegister::operating_mode
uint8_t operating_mode
Definition: fake_ttl_data.hpp:64
ttl_driver::FakeTtlData::FakeDxlRegister
Definition: fake_ttl_data.hpp:68
ttl_driver::FakeTtlData::FakeDxlRegister::ff1_gain
uint16_t ff1_gain
Definition: fake_ttl_data.hpp:78
ttl_driver::FakeTtlData::FakeEndEffector
Definition: fake_ttl_data.hpp:82
ttl_driver::FakeTtlData::FakeStepperRegister::v_max
uint32_t v_max
Definition: fake_ttl_data.hpp:59
ttl_driver::FakeTtlData::FakeDxlRegister::torque
uint8_t torque
Definition: fake_ttl_data.hpp:70
ttl_driver::FakeTtlData::dxl_registers
std::map< uint8_t, FakeDxlRegister > dxl_registers
Definition: fake_ttl_data.hpp:97
ttl_driver::FakeTtlData::AbstractFakeRegister::min_position
uint32_t min_position
Definition: fake_ttl_data.hpp:44
ttl_driver::FakeTtlData::AbstractFakeRegister
Definition: fake_ttl_data.hpp:36
ttl_driver::FakeTtlData::stepper_registers
std::map< uint8_t, FakeStepperRegister > stepper_registers
Definition: fake_ttl_data.hpp:100
ttl_driver::FakeTtlData
Definition: fake_ttl_data.hpp:28
ttl_driver::FakeTtlData::AbstractFakeRegister::velocity
uint32_t velocity
Definition: fake_ttl_data.hpp:42
ttl_driver::FakeTtlData::FakeEndEffector::y_value
uint32_t y_value
Definition: fake_ttl_data.hpp:89
ttl_driver::FakeTtlData::FakeEndEffector::digital_input
bool digital_input
Definition: fake_ttl_data.hpp:92
ttl_driver::FakeTtlData::FakeEndEffector::x_value
uint32_t x_value
Definition: fake_ttl_data.hpp:88
ttl_driver::FakeTtlData::FakeEndEffector::button1_action
uint32_t button1_action
Definition: fake_ttl_data.hpp:85
ttl_driver::FakeTtlData::FakeStepperRegister::d_1
uint32_t d_1
Definition: fake_ttl_data.hpp:61
ttl_driver::FakeTtlData::FakeEndEffector::z_value
uint32_t z_value
Definition: fake_ttl_data.hpp:90
ttl_driver::FakeTtlData::FakeDxlRegister::velocity_p_gain
uint16_t velocity_p_gain
Definition: fake_ttl_data.hpp:75
ttl_driver::FakeTtlData::FakeDxlRegister::position_i_gain
uint16_t position_i_gain
Definition: fake_ttl_data.hpp:72
ttl_driver::FakeTtlData::FakeStepperRegister::a_max
uint32_t a_max
Definition: fake_ttl_data.hpp:58
ttl_driver
Definition: abstract_dxl_driver.hpp:30
ttl_driver::FakeTtlData::FakeEndEffector::digital_output
bool digital_output
Definition: fake_ttl_data.hpp:93
ttl_driver::FakeTtlData::FakeStepperRegister::d_max
uint32_t d_max
Definition: fake_ttl_data.hpp:60
ttl_driver::FakeTtlData::FakeStepperRegister::torque
uint8_t torque
Definition: fake_ttl_data.hpp:54
ttl_driver::FakeTtlData::FakeStepperRegister::a_1
uint32_t a_1
Definition: fake_ttl_data.hpp:56
ttl_driver::FakeTtlData::full_id_list
std::vector< uint8_t > full_id_list
Definition: fake_ttl_data.hpp:103
ttl_driver::FakeTtlData::FakeTtlData
FakeTtlData()=default
ttl_driver::FakeTtlData::AbstractFakeRegister::firmware
std::string firmware
Definition: fake_ttl_data.hpp:49
ttl_driver::FakeTtlData::FakeEndEffector::button2_action
uint32_t button2_action
Definition: fake_ttl_data.hpp:86
ttl_driver::FakeTtlData::AbstractFakeRegister::model_number
uint16_t model_number
Definition: fake_ttl_data.hpp:39
ttl_driver::FakeTtlData::FakeDxlRegister::ff2_gain
uint16_t ff2_gain
Definition: fake_ttl_data.hpp:79
ttl_driver::FakeTtlData::FakeStepperRegister::v_stop
uint32_t v_stop
Definition: fake_ttl_data.hpp:62
ttl_driver::FakeTtlData::AbstractFakeRegister::position
uint32_t position
Definition: fake_ttl_data.hpp:41
ttl_driver::FakeTtlData::FakeStepperRegister::v_start
uint32_t v_start
Definition: fake_ttl_data.hpp:55
ttl_driver::FakeTtlData::FakeStepperRegister::homing_abs_position
int32_t homing_abs_position
Definition: fake_ttl_data.hpp:63


ttl_driver
Author(s): Clement Cocquempot
autogenerated on Fri Mar 6 2026 15:24:15