include
ur_client_library
primary
robot_message.h
Go to the documentation of this file.
1
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2
3
// -- BEGIN LICENSE BLOCK ----------------------------------------------
4
// Copyright 2019 FZI Forschungszentrum Informatik
5
// Created on behalf of Universal Robots A/S
6
//
7
// Licensed under the Apache License, Version 2.0 (the "License");
8
// you may not use this file except in compliance with the License.
9
// You may obtain a copy of the License at
10
//
11
// http://www.apache.org/licenses/LICENSE-2.0
12
//
13
// Unless required by applicable law or agreed to in writing, software
14
// distributed under the License is distributed on an "AS IS" BASIS,
15
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
// See the License for the specific language governing permissions and
17
// limitations under the License.
18
// -- END LICENSE BLOCK ------------------------------------------------
19
20
//----------------------------------------------------------------------
27
//----------------------------------------------------------------------
28
29
#ifndef UR_CLIENT_LIBRARY_ROBOT_MESSAGE_H_INCLUDED
30
#define UR_CLIENT_LIBRARY_ROBOT_MESSAGE_H_INCLUDED
31
32
#include "
ur_client_library/primary/primary_package.h
"
33
34
namespace
urcl
35
{
36
namespace
primary_interface
37
{
41
enum class
RobotMessagePackageType
: uint8_t
42
{
43
ROBOT_MESSAGE_TEXT
= 0,
44
ROBOT_MESSAGE_PROGRAM_LABEL
= 1,
45
PROGRAM_STATE_MESSAGE_VARIABLE_UPDATE
= 2,
46
ROBOT_MESSAGE_VERSION
= 3,
47
ROBOT_MESSAGE_SAFETY_MODE
= 5,
48
ROBOT_MESSAGE_ERROR_CODE
= 6,
49
ROBOT_MESSAGE_KEY
= 7,
50
ROBOT_MESSAGE_REQUEST_VALUE
= 9,
51
ROBOT_MESSAGE_RUNTIME_EXCEPTION
= 10
52
};
53
57
class
RobotMessage
:
public
PrimaryPackage
58
{
59
public
:
66
RobotMessage
(
const
uint64_t timestamp,
const
uint8_t source) : timestamp_(timestamp), source_(source)
67
{
68
}
69
virtual
~
RobotMessage
() =
default
;
70
79
virtual
bool
parseWith(
comm::BinParser
& bp);
80
88
virtual
bool
consumeWith(
AbstractPrimaryConsumer
& consumer);
89
95
virtual
std::string toString()
const
;
96
97
uint64_t
timestamp_
;
98
uint8_t
source_
;
99
RobotMessagePackageType
message_type_
;
100
};
101
102
}
// namespace primary_interface
103
}
// namespace urcl
104
105
#endif
/* UR_CLIENT_LIBRARY_ROBOT_MESSAGE_H_INCLUDED */
urcl::primary_interface::RobotMessagePackageType
RobotMessagePackageType
Possible RobotMessage types.
Definition:
robot_message.h:41
urcl::primary_interface::RobotMessage::timestamp_
uint64_t timestamp_
Definition:
robot_message.h:97
urcl::primary_interface::AbstractPrimaryConsumer
Base consumer for primary packages.
Definition:
abstract_primary_consumer.h:47
urcl::comm::BinParser
The BinParser class handles a byte buffer and functionality to iteratively parse the content...
Definition:
bin_parser.h:44
urcl::primary_interface::RobotMessage::source_
uint8_t source_
Definition:
robot_message.h:98
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_KEY
urcl::primary_interface::RobotMessage::message_type_
RobotMessagePackageType message_type_
Definition:
robot_message.h:99
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_PROGRAM_LABEL
urcl::primary_interface::PrimaryPackage
The PrimaryPackage is solely an abstraction level. It inherits form the URPackage and is also a paren...
Definition:
primary_package.h:46
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_TEXT
urcl::primary_interface::RobotMessage
The RobotMessage class is a parent class for the different received robot messages.
Definition:
robot_message.h:57
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_RUNTIME_EXCEPTION
urcl::primary_interface::RobotMessage::RobotMessage
RobotMessage(const uint64_t timestamp, const uint8_t source)
Creates a new RobotMessage object to be filled from a package.
Definition:
robot_message.h:66
urcl::primary_interface::RobotMessagePackageType::PROGRAM_STATE_MESSAGE_VARIABLE_UPDATE
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_REQUEST_VALUE
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_SAFETY_MODE
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_ERROR_CODE
urcl
Definition:
bin_parser.h:36
primary_package.h
urcl::primary_interface::RobotMessagePackageType::ROBOT_MESSAGE_VERSION
ur_client_library
Author(s): Thomas Timm Andersen, Simon Rasmussen, Felix Exner, Lea Steffen, Tristan Schnell
autogenerated on Tue Jul 4 2023 02:09:47