mirror of
https://gitlab.com/obbart/universal_robots_ros_driver.git
synced 2026-04-10 10:00:48 +02:00
turn around order of commands and keepalive
This way we can leave the commands empty very easily
This commit is contained in:
@@ -57,20 +57,23 @@ public:
|
|||||||
server_.disconnectClient();
|
server_.disconnectClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool write(const vector6d_t& positions)
|
bool write(const vector6d_t* positions, const int32_t type = 2)
|
||||||
{
|
{
|
||||||
uint8_t buffer[sizeof(uint32_t) * 7];
|
uint8_t buffer[sizeof(uint32_t) * 7];
|
||||||
uint8_t* b_pos = buffer;
|
uint8_t* b_pos = buffer;
|
||||||
for (auto const& pos : positions)
|
|
||||||
{
|
|
||||||
int32_t val = static_cast<int32_t>(pos * MULT_JOINTSTATE);
|
|
||||||
val = htobe32(val);
|
|
||||||
b_pos += append(b_pos, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Make this a parameter: Number of allowed missed packages
|
int32_t val = htobe32(type);
|
||||||
int32_t val = htobe32(5);
|
b_pos += append(b_pos, val);
|
||||||
append(b_pos, val);
|
|
||||||
|
if (positions != nullptr)
|
||||||
|
{
|
||||||
|
for (auto const& pos : *positions)
|
||||||
|
{
|
||||||
|
int32_t val = static_cast<int32_t>(pos * MULT_JOINTSTATE);
|
||||||
|
val = htobe32(val);
|
||||||
|
b_pos += append(b_pos, val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
size_t written;
|
size_t written;
|
||||||
|
|
||||||
|
|||||||
@@ -71,16 +71,20 @@ socket_open("{{SERVER_IP_REPLACE}}", {{SERVER_PORT_REPLACE}}, "reverse_socket")
|
|||||||
|
|
||||||
thread_servo = run servoThread()
|
thread_servo = run servoThread()
|
||||||
keepalive = -2
|
keepalive = -2
|
||||||
params_mult = socket_read_binary_integer(6+1, "reverse_socket")
|
params_mult = socket_read_binary_integer(1+6, "reverse_socket")
|
||||||
keepalive = params_mult[7]
|
keepalive = params_mult[1]
|
||||||
while keepalive > 0:
|
while keepalive > 0:
|
||||||
enter_critical
|
enter_critical
|
||||||
socket_send_line(1, "reverse_socket")
|
socket_send_line(1, "reverse_socket")
|
||||||
params_mult = socket_read_binary_integer(6+1, "reverse_socket", 0.02) # steptime could work as well, but does not work in simulation
|
params_mult = socket_read_binary_integer(1+6, "reverse_socket", 0.02) # steptime could work as well, but does not work in simulation
|
||||||
if params_mult[0] > 0:
|
if params_mult[0] > 0:
|
||||||
keepalive = params_mult[7]
|
if params_mult[1] > 1:
|
||||||
q = [params_mult[1] / MULT_jointstate, params_mult[2] / MULT_jointstate, params_mult[3] / MULT_jointstate, params_mult[4] / MULT_jointstate, params_mult[5] / MULT_jointstate, params_mult[6] / MULT_jointstate]
|
keepalive = params_mult[1]
|
||||||
set_servo_setpoint(q)
|
q = [params_mult[2] / MULT_jointstate, params_mult[3] / MULT_jointstate, params_mult[4] / MULT_jointstate, params_mult[5] / MULT_jointstate, params_mult[6] / MULT_jointstate, params_mult[7] / MULT_jointstate]
|
||||||
|
set_servo_setpoint(q)
|
||||||
|
else:
|
||||||
|
keepalive = 1
|
||||||
|
end
|
||||||
else:
|
else:
|
||||||
keepalive = keepalive - 1
|
keepalive = keepalive - 1
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user