29 #ifndef UR_CLIENT_LIBRARY_REVERSE_INTERFACE_H_INCLUDED 30 #define UR_CLIENT_LIBRARY_REVERSE_INTERFACE_H_INCLUDED 38 #include <condition_variable> 71 static const int32_t MULT_JOINTSTATE = 1000000;
80 ReverseInterface(uint32_t port, std::function<
void(
bool)> handle_program_state);
124 keepalive_count_ = count;
128 virtual void connectionCallback(
const int filedescriptor);
130 virtual void disconnectionCallback(
const int filedescriptor);
132 virtual void messageCallback(
const int filedescriptor,
char* buffer,
int nbytesrecv);
137 template <
typename T>
140 size_t s =
sizeof(T);
141 std::memcpy(buffer, &val, s);
145 static const int MAX_MESSAGE_LENGTH = 8;
154 #endif // UR_CLIENT_LIBRARY_REVERSE_INTERFACE_H_INCLUDED
Represents command to start a new trajectory.
Represents command to cancel currently active trajectory.
FreedriveControlMessage
Control messages for starting and stopping freedrive mode.
size_t append(uint8_t *buffer, T &val)
Wrapper class for a TCP socket server.
uint32_t keepalive_count_
Set when no controller is currently active controlling the robot.
virtual void setKeepaliveCount(const uint32_t &count)
Set the Keepalive count. This will set the number of allowed timeout reads on the robot...
ControlMode
Control modes as interpreted from the script runnning on the robot.
Represents command to start freedrive mode.
TrajectoryControlMessage
Control messages for forwarding and aborting trajectories.
std::function< void(bool)> handle_program_state_
std::array< double, 6 > vector6d_t
Represents no new control command.
Represents keep running in freedrive mode.
The ReverseInterface class handles communication to the robot. It starts a server and waits for the r...
Represents command to stop freedrive mode.