mirror of
https://gitlab.com/obbart/universal_robots_ros_driver.git
synced 2026-04-10 01:50:46 +02:00
Implemented initial robot state and parsing
This commit is contained in:
59
include/ur_modern_driver/ur/state.h
Normal file
59
include/ur_modern_driver/ur/state.h
Normal file
@@ -0,0 +1,59 @@
|
||||
#pragma once
|
||||
#include <cstddef>
|
||||
#include <inttypes.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"
|
||||
|
||||
|
||||
|
||||
enum class package_type : uint8_t {
|
||||
ROBOT_MODE_DATA = 0,
|
||||
JOINT_DATA = 1,
|
||||
TOOL_DATA = 2,
|
||||
MASTERBOARD_DATA = 3,
|
||||
CARTESIAN_INFO = 4,
|
||||
KINEMATICS_INFO = 5,
|
||||
CONFIGURATION_DATA = 6,
|
||||
FORCE_MODE_DATA = 7,
|
||||
ADDITIONAL_INFO = 8,
|
||||
CALIBRATION_DATA = 9
|
||||
};
|
||||
|
||||
enum class message_type : uint8_t {
|
||||
ROBOT_STATE = 16,
|
||||
ROBOT_MESSAGE = 20,
|
||||
PROGRAM_STATE_MESSAGE = 25
|
||||
};
|
||||
|
||||
|
||||
class RobotState : public Packet {
|
||||
public:
|
||||
bool parse_with(BinParser &bp);
|
||||
protected:
|
||||
virtual bool parse_package(BinParser &bp) = 0;
|
||||
};
|
||||
|
||||
class RobotState_V1_6__7 : public RobotState {
|
||||
protected:
|
||||
virtual bool parse_package(BinParser &bp) = 0;
|
||||
public:
|
||||
RobotModeData_V1_X robot_mode;
|
||||
//JointData
|
||||
//ToolData
|
||||
MasterBoardData_V1_X master_board;
|
||||
//CartesianInfo
|
||||
};
|
||||
|
||||
class RobotState_V1_8 : public RobotState_V1_6__7 {
|
||||
protected:
|
||||
virtual bool parse_package(BinParser &bp) = 0;
|
||||
public:
|
||||
|
||||
//KinematicsInfo
|
||||
//ConfigurationData
|
||||
//ForceModeData
|
||||
//AdditionalInfo
|
||||
//CalibrationData
|
||||
};
|
||||
Reference in New Issue
Block a user