niryo_robot_hardware_stack
ttl_driver
include
ttl_driver
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
28
class
FakeTtlData
29
{
30
public
:
31
FakeTtlData
() =
default
;
32
33
void
updateFullIdList
();
34
35
public
:
36
struct
AbstractFakeRegister
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
52
struct
FakeStepperRegister
:
public
AbstractFakeRegister
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
struct
FakeDxlRegister
:
public
AbstractFakeRegister
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
81
struct
FakeEndEffector
:
public
AbstractFakeRegister
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
105
FakeEndEffector
end_effector
;
106
};
107
108
inline
109
void
FakeTtlData::updateFullIdList
()
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