1
0
mirror of https://gitlab.com/obbart/universal_robots_ros_driver.git synced 2026-04-10 01:50:46 +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,12 +1,10 @@
#pragma once
#include <cstddef>
#include <inttypes.h>
#include "ur_modern_driver/pipeline.h"
#include "ur_modern_driver/bin_parser.h"
#include "ur_modern_driver/packet.h"
#include "ur_modern_driver/ur/master_board.h"
#include "ur_modern_driver/ur/robot_mode.h"
#include "ur_modern_driver/log.h"
enum class package_type : uint8_t {
ROBOT_MODE_DATA = 0,
@@ -27,68 +25,10 @@ enum class message_type : uint8_t {
PROGRAM_STATE_MESSAGE = 25
};
class URStatePacketConsumer;
class RobotState : public Packet {
class StatePacket {
public:
bool parse_with(BinParser &bp);
protected:
virtual bool parse_package(BinParser &bp) = 0;
};
class RobotState_V1_6__7 : public RobotState {
protected:
bool parse_package(BinParser &bp);
public:
RobotModeData_V1_X robot_mode;
//JointData
//ToolData
MasterBoardData_V1_X master_board;
//CartesianInfo
};
class RobotState_V1_8 : public RobotState_V1_6__7 {
protected:
bool parse_package(BinParser &bp);
public:
//KinematicsInfo
//ConfigurationData
//ForceModeData
//AdditionalInfo
//CalibrationData
};
class RobotState_V3_0__1 : public RobotState {
protected:
bool parse_package(BinParser &bp);
public:
RobotModeData_V3_0__1 robot_mode;
//JointData
//ToolData
MasterBoardData_V3_0__1 master_board;
//CartesianInfo
//KinematicsInfo
//ConfigurationData
//ForceModeData
//AdditionalInfo
//CalibrationData
};
class RobotState_V3_2 : public RobotState {
protected:
bool parse_package(BinParser &bp);
public:
RobotModeData_V3_2 robot_mode;
//JointData
//ToolData
MasterBoardData_V3_2 master_board;
//CartesianInfo
//KinematicsInfo
//ConfigurationData
//ForceModeData
//AdditionalInfo
//CalibrationData
virtual bool parse_with(BinParser &bp) = 0;
virtual bool consume_with(URStatePacketConsumer &consumer) = 0;
};