control_package_setup_inputs.cpp
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 
30 
31 namespace urcl
32 {
33 namespace rtde_interface
34 {
36 {
39 
40  return true;
41 }
43 {
44  std::stringstream ss;
45  ss << "input recipe id: " << static_cast<int>(input_recipe_id_) << std::endl;
46  ss << "variable types: " << variable_types_;
47 
48  return ss.str();
49 }
50 
52  std::vector<std::string> variable_names)
53 {
54  if (variable_names.size() == 0)
55  {
56  return 0;
57  }
58  std::string variables;
59  for (const auto& piece : variable_names)
60  variables += (piece + ",");
61  variables.pop_back();
62  uint16_t payload_size = variables.size();
63 
64  size_t size = 0;
65  size += PackageHeader::serializeHeader(buffer, PACKAGE_TYPE, payload_size);
66  size += comm::PackageSerializer::serialize(buffer + size, variables);
67 
68  return size;
69 }
70 } // namespace rtde_interface
71 } // namespace urcl
void parse(T &val)
Parses the next bytes as given type.
Definition: bin_parser.h:139
virtual std::string toString() const
Produces a human readable representation of the package object.
void parseRemainder(std::string &val)
Parses the remaining bytes as a string.
Definition: bin_parser.h:255
static size_t generateSerializedRequest(uint8_t *buffer, std::vector< std::string > variable_names)
Generates a serialized package.
The BinParser class handles a byte buffer and functionality to iteratively parse the content...
Definition: bin_parser.h:44
virtual bool parseWith(comm::BinParser &bp)
Sets the attributes of the package by parsing a serialized representation of the package.
static size_t serialize(uint8_t *buffer, T val)
A generalized serialization method for arbitrary datatypes.
static size_t serializeHeader(uint8_t *buffer, PackageType package_type, uint16_t payload_length)
Creates a serialization of a header based on given values.


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