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 
68  {
69  uint8_t torque{0};
70  uint16_t position_p_gain{0};
71  uint16_t position_i_gain{0};
72  uint16_t position_d_gain{0};
73 
74  uint16_t velocity_p_gain{0};
75  uint16_t velocity_i_gain{0};
76 
77  uint16_t ff1_gain{0};
78  uint16_t ff2_gain{0};
79  };
80 
82  {
83  uint32_t button0_action{1};
84  uint32_t button1_action{2};
85  uint32_t button2_action{8};
86 
87  uint32_t x_value{1};
88  uint32_t y_value{1};
89  uint32_t z_value{1};
90 
91  bool digitalInput = true;
92  bool DigitalOutput = true;
93  };
94 
95  // dxl by id
96  std::map<uint8_t, FakeDxlRegister> dxl_registers;
97 
98  // stepper by id
99  std::map<uint8_t, FakeStepperRegister> stepper_registers;
100 
101  // all ids
102  std::vector<uint8_t> full_id_list;
103 
104  // end_effector
106 };
107 
108 inline
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 }
127 #endif //FAKE_TTL_DATA_HPP
ttl_driver::FakeTtlData::FakeEndEffector::button0_action
uint32_t button0_action
Definition: fake_ttl_data.hpp:83
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:70
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:75
ttl_driver::FakeTtlData::FakeDxlRegister::position_d_gain
uint16_t position_d_gain
Definition: fake_ttl_data.hpp:72
ttl_driver::FakeTtlData::FakeEndEffector::digitalInput
bool digitalInput
Definition: fake_ttl_data.hpp:91
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:105
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:67
ttl_driver::FakeTtlData::FakeDxlRegister::ff1_gain
uint16_t ff1_gain
Definition: fake_ttl_data.hpp:77
ttl_driver::FakeTtlData::FakeEndEffector
Definition: fake_ttl_data.hpp:81
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:69
ttl_driver::FakeTtlData::dxl_registers
std::map< uint8_t, FakeDxlRegister > dxl_registers
Definition: fake_ttl_data.hpp:96
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:99
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:88
ttl_driver::FakeTtlData::FakeEndEffector::x_value
uint32_t x_value
Definition: fake_ttl_data.hpp:87
ttl_driver::FakeTtlData::FakeEndEffector::button1_action
uint32_t button1_action
Definition: fake_ttl_data.hpp:84
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:89
ttl_driver::FakeTtlData::FakeDxlRegister::velocity_p_gain
uint16_t velocity_p_gain
Definition: fake_ttl_data.hpp:74
ttl_driver::FakeTtlData::FakeDxlRegister::position_i_gain
uint16_t position_i_gain
Definition: fake_ttl_data.hpp:71
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::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:102
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:85
ttl_driver::FakeTtlData::AbstractFakeRegister::model_number
uint16_t model_number
Definition: fake_ttl_data.hpp:39
ttl_driver::FakeTtlData::FakeEndEffector::DigitalOutput
bool DigitalOutput
Definition: fake_ttl_data.hpp:92
ttl_driver::FakeTtlData::FakeDxlRegister::ff2_gain
uint16_t ff2_gain
Definition: fake_ttl_data.hpp:78
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 Wed May 21 2025 08:30:14