Skip to content

Commit 250bca5

Browse files
committed
Rename first block buffer
1 parent 6772bbe commit 250bca5

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

src/control/trajectory_point_interface.cpp

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ bool TrajectoryPointInterface::writeMotionPrimitive(const std::shared_ptr<contro
6868
}
6969
std::array<int32_t, MESSAGE_LENGTH> buffer;
7070

71-
vector6d_t positions;
71+
// We write three blocks of 6 doubles and some additional data
72+
vector6d_t first_block;
7273
vector6d_t second_block;
7374
vector6d_t third_block;
7475

@@ -77,34 +78,40 @@ bool TrajectoryPointInterface::writeMotionPrimitive(const std::shared_ptr<contro
7778
case MotionType::MOVEJ:
7879
{
7980
auto movej_primitive = std::static_pointer_cast<control::MoveJPrimitive>(primitive);
80-
positions = movej_primitive->target_joint_configuration;
81+
first_block = movej_primitive->target_joint_configuration;
8182
second_block.fill(primitive->velocity);
8283
third_block.fill(primitive->acceleration);
8384
break;
8485
}
8586
case MotionType::MOVEL:
8687
{
8788
auto movel_primitive = std::static_pointer_cast<control::MoveLPrimitive>(primitive);
88-
positions = { movel_primitive->target_pose.x, movel_primitive->target_pose.y, movel_primitive->target_pose.z,
89-
movel_primitive->target_pose.rx, movel_primitive->target_pose.ry, movel_primitive->target_pose.rz };
89+
first_block = {
90+
movel_primitive->target_pose.x, movel_primitive->target_pose.y, movel_primitive->target_pose.z,
91+
movel_primitive->target_pose.rx, movel_primitive->target_pose.ry, movel_primitive->target_pose.rz
92+
};
9093
second_block.fill(primitive->velocity);
9194
third_block.fill(primitive->acceleration);
9295
break;
9396
}
9497
case MotionType::MOVEP:
9598
{
9699
auto movep_primitive = std::static_pointer_cast<control::MovePPrimitive>(primitive);
97-
positions = { movep_primitive->target_pose.x, movep_primitive->target_pose.y, movep_primitive->target_pose.z,
98-
movep_primitive->target_pose.rx, movep_primitive->target_pose.ry, movep_primitive->target_pose.rz };
100+
first_block = {
101+
movep_primitive->target_pose.x, movep_primitive->target_pose.y, movep_primitive->target_pose.z,
102+
movep_primitive->target_pose.rx, movep_primitive->target_pose.ry, movep_primitive->target_pose.rz
103+
};
99104
second_block.fill(primitive->velocity);
100105
third_block.fill(primitive->acceleration);
101106
break;
102107
}
103108
case MotionType::MOVEC:
104109
{
105110
auto movec_primitive = std::static_pointer_cast<control::MoveCPrimitive>(primitive);
106-
positions = { movec_primitive->target_pose.x, movec_primitive->target_pose.y, movec_primitive->target_pose.z,
107-
movec_primitive->target_pose.rx, movec_primitive->target_pose.ry, movec_primitive->target_pose.rz };
111+
first_block = {
112+
movec_primitive->target_pose.x, movec_primitive->target_pose.y, movec_primitive->target_pose.z,
113+
movec_primitive->target_pose.rx, movec_primitive->target_pose.ry, movec_primitive->target_pose.rz
114+
};
108115
second_block = { movec_primitive->via_point_pose.x, movec_primitive->via_point_pose.y,
109116
movec_primitive->via_point_pose.z, movec_primitive->via_point_pose.rx,
110117
movec_primitive->via_point_pose.ry, movec_primitive->via_point_pose.rz };
@@ -116,7 +123,7 @@ bool TrajectoryPointInterface::writeMotionPrimitive(const std::shared_ptr<contro
116123
case control::MotionType::SPLINE:
117124
{
118125
auto spline_primitive = std::static_pointer_cast<control::SplinePrimitive>(primitive);
119-
positions = spline_primitive->target_positions;
126+
first_block = spline_primitive->target_positions;
120127
second_block = spline_primitive->target_velocities;
121128
if (spline_primitive->target_accelerations.has_value())
122129
{
@@ -129,7 +136,7 @@ bool TrajectoryPointInterface::writeMotionPrimitive(const std::shared_ptr<contro
129136
}
130137

131138
size_t index = 0;
132-
for (auto const& pos : positions)
139+
for (auto const& pos : first_block)
133140
{
134141
int32_t val = static_cast<int32_t>(round(pos * MULT_JOINTSTATE));
135142
buffer[index] = htobe32(val);

0 commit comments

Comments
 (0)