1
0
mirror of https://gitlab.com/obbart/universal_robots_ros_driver.git synced 2026-04-10 10:00:48 +02:00

Completed parsing of UR state, messages and RT

This commit is contained in:
Simon Rasmussen
2017-02-16 01:52:22 +01:00
parent d0fa801cad
commit c282c961f7
19 changed files with 599 additions and 248 deletions

View File

@@ -1,7 +1,10 @@
#pragma once
#include <cstddef>
#include <inttypes.h>
#include "ur_modern_driver/packet.h"
#include "ur_modern_driver/pipeline.h"
#include "ur_modern_driver/bin_parser.h"
enum class robot_message_type : uint8_t {
ROBOT_MESSAGE_TEXT = 0,
@@ -15,17 +18,24 @@ enum class robot_message_type : uint8_t {
ROBOT_MESSAGE_RUNTIME_EXCEPTION = 10
};
class MessageBase : public Packet {
class URMessagePacketConsumer;
class MessagePacket {
public:
MessagePacket(uint64_t timestamp, uint8_t source) : timestamp(timestamp), source(source) { }
virtual bool parse_with(BinParser &bp) = 0;
virtual bool consume_with(URMessagePacketConsumer &consumer) = 0;
uint64_t timestamp;
uint8_t source;
};
class VersionMessage : public MessageBase {
class VersionMessage : public MessagePacket {
public:
bool parse_with(BinParser &bp);
VersionMessage(uint64_t timestamp, uint8_t source) : MessagePacket(timestamp, source) { }
virtual bool parse_with(BinParser &bp);
virtual bool consume_with(URMessagePacketConsumer &consumer);
std::string project_name;
uint8_t major_version;