Main Page
Namespaces
Classes
Files
File List
File Members
include
ur_modern_driver
ur
messages.h
Go to the documentation of this file.
1
/*
2
* Copyright 2017, 2018 Simon Rasmussen (refactor)
3
*
4
* Copyright 2015, 2016 Thomas Timm Andersen (original version)
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
#pragma once
20
21
#include <inttypes.h>
22
#include <cstddef>
23
#include "
ur_modern_driver/bin_parser.h
"
24
#include "
ur_modern_driver/pipeline.h
"
25
26
enum class
robot_message_type
: uint8_t
27
{
28
ROBOT_MESSAGE_TEXT
= 0,
29
ROBOT_MESSAGE_PROGRAM_LABEL
= 1,
30
PROGRAM_STATE_MESSAGE_VARIABLE_UPDATE
= 2,
31
ROBOT_MESSAGE_VERSION
= 3,
32
ROBOT_MESSAGE_SAFETY_MODE
= 5,
33
ROBOT_MESSAGE_ERROR_CODE
= 6,
34
ROBOT_MESSAGE_KEY
= 7,
35
ROBOT_MESSAGE_REQUEST_VALUE
= 9,
36
ROBOT_MESSAGE_RUNTIME_EXCEPTION
= 10
37
};
38
39
class
URMessagePacketConsumer
;
40
41
class
MessagePacket
42
{
43
public
:
44
MessagePacket
(uint64_t timestamp, uint8_t source) : timestamp(timestamp), source(source)
45
{
46
}
47
virtual
bool
parseWith(
BinParser
& bp) = 0;
48
virtual
bool
consumeWith(
URMessagePacketConsumer
& consumer) = 0;
49
50
uint64_t
timestamp
;
51
uint8_t
source
;
52
};
53
54
class
VersionMessage
:
public
MessagePacket
55
{
56
public
:
57
VersionMessage
(uint64_t timestamp, uint8_t source) :
MessagePacket
(timestamp, source)
58
{
59
}
60
61
virtual
bool
parseWith(
BinParser
& bp);
62
virtual
bool
consumeWith(
URMessagePacketConsumer
& consumer);
63
64
std::string
project_name
;
65
uint8_t
major_version
;
66
uint8_t
minor_version
;
67
int32_t
svn_version
;
68
std::string
build_date
;
69
};
VersionMessage::minor_version
uint8_t minor_version
Definition:
messages.h:66
MessagePacket::timestamp
uint64_t timestamp
Definition:
messages.h:50
robot_message_type
robot_message_type
Definition:
messages.h:26
URMessagePacketConsumer
Definition:
consumer.h:59
MessagePacket::MessagePacket
MessagePacket(uint64_t timestamp, uint8_t source)
Definition:
messages.h:44
robot_message_type::PROGRAM_STATE_MESSAGE_VARIABLE_UPDATE
pipeline.h
bin_parser.h
robot_message_type::ROBOT_MESSAGE_SAFETY_MODE
robot_message_type::ROBOT_MESSAGE_TEXT
VersionMessage::VersionMessage
VersionMessage(uint64_t timestamp, uint8_t source)
Definition:
messages.h:57
robot_message_type::ROBOT_MESSAGE_PROGRAM_LABEL
MessagePacket
Definition:
messages.h:41
robot_message_type::ROBOT_MESSAGE_REQUEST_VALUE
VersionMessage::project_name
std::string project_name
Definition:
messages.h:64
VersionMessage::build_date
std::string build_date
Definition:
messages.h:68
VersionMessage::major_version
uint8_t major_version
Definition:
messages.h:65
BinParser
Definition:
bin_parser.h:32
robot_message_type::ROBOT_MESSAGE_ERROR_CODE
VersionMessage::svn_version
int32_t svn_version
Definition:
messages.h:67
robot_message_type::ROBOT_MESSAGE_KEY
robot_message_type::ROBOT_MESSAGE_VERSION
VersionMessage
Definition:
messages.h:54
MessagePacket::source
uint8_t source
Definition:
messages.h:51
robot_message_type::ROBOT_MESSAGE_RUNTIME_EXCEPTION
ur_modern_driver
Author(s): Thomas Timm Andersen, Simon Rasmussen
autogenerated on Fri Jun 26 2020 03:37:00