1
0
mirror of https://gitlab.com/obbart/universal_robots_ros_driver.git synced 2026-04-10 01:50:46 +02:00

Added and implemented rtde message types

This commit is contained in:
Tristan Schnell
2019-04-09 10:15:30 +02:00
committed by Felix Mauch
parent 6699c1facb
commit b1d82c2be6
18 changed files with 733 additions and 5 deletions

View File

@@ -48,7 +48,6 @@ private:
std::string buffer_;
};
} // namespace primary_interface
} // namespace ur_driver

View File

@@ -0,0 +1,59 @@
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// Copyright 2019 FZI Forschungszentrum Informatik
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
/*!\file
*
* \author Tristan Schnell schnell@fzi.de
* \date 2019-04-09
*
*/
//----------------------------------------------------------------------
#ifndef UR_RTDE_DRIVER_CONTROL_PACKAGE_PAUSE_H_INCLUDED
#define UR_RTDE_DRIVER_CONTROL_PACKAGE_PAUSE_H_INCLUDED
#include "ur_rtde_driver/rtde/rtde_package.h"
namespace ur_driver
{
namespace rtde_interface
{
class ControlPackagePause : public RTDEPackage
{
public:
ControlPackagePause() = default;
virtual ~ControlPackagePause() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
uint8_t accepted_;
};
class ControlPackagePauseRequest : public RTDEPackage
{
public:
ControlPackagePauseRequest() = default;
virtual ~ControlPackagePauseRequest() = default;
};
} // namespace rtde_interface
} // namespace ur_driver
#endif // UR_RTDE_DRIVER_CONTROL_PACKAGE_PAUSE_H_INCLUDED

View File

@@ -0,0 +1,62 @@
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// Copyright 2019 FZI Forschungszentrum Informatik
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
/*!\file
*
* \author Tristan Schnell schnell@fzi.de
* \date 2019-04-09
*
*/
//----------------------------------------------------------------------
#ifndef UR_RTDE_DRIVER_CONTROL_PACKAGE_SETUP_INPUTS_H_INCLUDED
#define UR_RTDE_DRIVER_CONTROL_PACKAGE_SETUP_INPUTS_H_INCLUDED
#include "ur_rtde_driver/rtde/rtde_package.h"
namespace ur_driver
{
namespace rtde_interface
{
class ControlPackageSetupInputs : public RTDEPackage
{
public:
ControlPackageSetupInputs() = default;
virtual ~ControlPackageSetupInputs() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
uint8_t input_recipe_id_;
std::string variable_types_;
};
class ControlPackageSetupInputsRequest : public RTDEPackage
{
public:
ControlPackageSetupInputsRequest() = default;
virtual ~ControlPackageSetupInputsRequest() = default;
std::string variable_names_;
};
} // namespace rtde_interface
} // namespace ur_driver
#endif // UR_RTDE_DRIVER_CONTROL_PACKAGE_SETUP_INPUTS_H_INCLUDED

View File

@@ -0,0 +1,63 @@
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// Copyright 2019 FZI Forschungszentrum Informatik
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
/*!\file
*
* \author Tristan Schnell schnell@fzi.de
* \date 2019-04-09
*
*/
//----------------------------------------------------------------------
#ifndef UR_RTDE_DRIVER_CONTROL_PACKAGE_SETUP_OUTPUTS_H_INCLUDED
#define UR_RTDE_DRIVER_CONTROL_PACKAGE_SETUP_OUTPUTS_H_INCLUDED
#include "ur_rtde_driver/rtde/rtde_package.h"
namespace ur_driver
{
namespace rtde_interface
{
class ControlPackageSetupOutputs : public RTDEPackage
{
public:
ControlPackageSetupOutputs() = default;
virtual ~ControlPackageSetupOutputs() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
uint8_t output_recipe_id_;
std::string variable_types_;
};
class ControlPackageSetupOutputsRequest : public RTDEPackage
{
public:
ControlPackageSetupOutputsRequest() = default;
virtual ~ControlPackageSetupOutputsRequest() = default;
double output_frequency_;
std::string variable_names_;
};
} // namespace rtde_interface
} // namespace ur_driver
#endif // UR_RTDE_DRIVER_CONTROL_PACKAGE_SETUP_OUTPUTS_H_INCLUDED

View File

@@ -0,0 +1,59 @@
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// Copyright 2019 FZI Forschungszentrum Informatik
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
/*!\file
*
* \author Tristan Schnell schnell@fzi.de
* \date 2019-04-09
*
*/
//----------------------------------------------------------------------
#ifndef UR_RTDE_DRIVER_CONTROL_PACKAGE_START_H_INCLUDED
#define UR_RTDE_DRIVER_CONTROL_PACKAGE_START_H_INCLUDED
#include "ur_rtde_driver/rtde/rtde_package.h"
namespace ur_driver
{
namespace rtde_interface
{
class ControlPackageStart : public RTDEPackage
{
public:
ControlPackageStart() = default;
virtual ~ControlPackageStart() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
uint8_t accepted_;
};
class ControlPackageStartRequest : public RTDEPackage
{
public:
ControlPackageStartRequest() = default;
virtual ~ControlPackageStartRequest() = default;
};
} // namespace rtde_interface
} // namespace ur_driver
#endif // UR_RTDE_DRIVER_CONTROL_PACKAGE_START_H_INCLUDED

View File

@@ -34,7 +34,7 @@ namespace ur_driver
{
namespace rtde_interface
{
class DataPackage : RTDEPackage
class DataPackage : public RTDEPackage
{
private:
uint8_t recipe_id_;

View File

@@ -0,0 +1,62 @@
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// Copyright 2019 FZI Forschungszentrum Informatik
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
/*!\file
*
* \author Tristan Schnell schnell@fzi.de
* \date 2019-04-09
*
*/
//----------------------------------------------------------------------
#ifndef UR_RTDE_DRIVER_GET_URCONTROL_VERSION_H_INCLUDED
#define UR_RTDE_DRIVER_GET_URCONTROL_VERSION_H_INCLUDED
#include "ur_rtde_driver/rtde/rtde_package.h"
namespace ur_driver
{
namespace rtde_interface
{
class GetUrcontrolVersion : public RTDEPackage
{
public:
GetUrcontrolVersion() = default;
virtual ~GetUrcontrolVersion() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
uint32_t major_;
uint32_t minor_;
uint32_t bugfix_;
uint32_t build_;
};
class GetUrcontrolVersionRequest : public RTDEPackage
{
public:
GetUrcontrolVersionRequest() = default;
virtual ~GetUrcontrolVersionRequest() = default;
};
} // namespace rtde_interface
} // namespace ur_driver
#endif // UR_RTDE_DRIVER_GET_URCONTROL_VERSION_H_INCLUDED

View File

@@ -0,0 +1,61 @@
// this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
// -- BEGIN LICENSE BLOCK ----------------------------------------------
// Copyright 2019 FZI Forschungszentrum Informatik
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -- END LICENSE BLOCK ------------------------------------------------
//----------------------------------------------------------------------
/*!\file
*
* \author Tristan Schnell schnell@fzi.de
* \date 2019-04-09
*
*/
//----------------------------------------------------------------------
#ifndef UR_RTDE_DRIVER_REQUEST_PROTOCOL_VERSION_H_INCLUDED
#define UR_RTDE_DRIVER_REQUEST_PROTOCOL_VERSION_H_INCLUDED
#include "ur_rtde_driver/rtde/rtde_package.h"
namespace ur_driver
{
namespace rtde_interface
{
class RequestProtocolVersion : public RTDEPackage
{
public:
RequestProtocolVersion() = default;
virtual ~RequestProtocolVersion() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
uint8_t accepted_;
};
class RequestProtocolVersionRequest : public RTDEPackage
{
public:
RequestProtocolVersionRequest() = default;
virtual ~RequestProtocolVersionRequest() = default;
uint16_t protocol_version_;
};
} // namespace rtde_interface
} // namespace ur_driver
#endif // UR_RTDE_DRIVER_REQUEST_PROTOCOL_VERSION_H_INCLUDED

View File

@@ -35,7 +35,7 @@ namespace ur_driver
{
namespace rtde_interface
{
class RTDEPackage : comm::URPackage<PackageHeader>
class RTDEPackage : public comm::URPackage<PackageHeader>
{
public:
RTDEPackage() = default;

View File

@@ -34,14 +34,23 @@ namespace ur_driver
{
namespace rtde_interface
{
class TextMessage : RTDEPackage
class TextMessage : public RTDEPackage
{
public:
TextMessage() = default;
virtual ~TextMessage() = default;
virtual bool parseWith(comm::BinParser& bp);
virtual std::string toString() const;
uint8_t message_length_;
std::string message_;
uint8_t source_length_;
std::string source_;
uint8_t warning_level_;
};
} // namespace rtde_interface
} // namespace ur_driver
#endif // UR_RTDE_DRIVER_TEXT_MESSAGE_H_INCLUDED
#endif // UR_RTDE_DRIVER_TEXT_MESSAGE_H_INCLUDED