Primo commit Completo

This commit is contained in:
2019-10-21 10:02:06 +02:00
parent 595af0738d
commit 84e9328d7c
3180 changed files with 600831 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
catkin_make
+1
View File
@@ -0,0 +1 @@
/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src
+2
View File
@@ -0,0 +1,2 @@
- setup-file:
local-name: /home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/setup.sh
+306
View File
@@ -0,0 +1,306 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Software License Agreement (BSD License)
#
# Copyright (c) 2012, Willow Garage, Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
# * Neither the name of Willow Garage, Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
'''This file generates shell code for the setup.SHELL scripts to set environment variables'''
from __future__ import print_function
import argparse
import copy
import errno
import os
import platform
import sys
CATKIN_MARKER_FILE = '.catkin'
system = platform.system()
IS_DARWIN = (system == 'Darwin')
IS_WINDOWS = (system == 'Windows')
PATH_TO_ADD_SUFFIX = ['bin']
if IS_WINDOWS:
# while catkin recommends putting dll's into bin, 3rd party packages often put dll's into lib
# since Windows finds dll's via the PATH variable, prepend it with path to lib
PATH_TO_ADD_SUFFIX.extend([['lib', os.path.join('lib', 'x86_64-linux-gnu')]])
# subfolder of workspace prepended to CMAKE_PREFIX_PATH
ENV_VAR_SUBFOLDERS = {
'CMAKE_PREFIX_PATH': '',
'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')],
'PATH': PATH_TO_ADD_SUFFIX,
'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')],
'PYTHONPATH': 'lib/python2.7/dist-packages',
}
def rollback_env_variables(environ, env_var_subfolders):
'''
Generate shell code to reset environment variables
by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH.
This does not cover modifications performed by environment hooks.
'''
lines = []
unmodified_environ = copy.copy(environ)
for key in sorted(env_var_subfolders.keys()):
subfolders = env_var_subfolders[key]
if not isinstance(subfolders, list):
subfolders = [subfolders]
value = _rollback_env_variable(unmodified_environ, key, subfolders)
if value is not None:
environ[key] = value
lines.append(assignment(key, value))
if lines:
lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH'))
return lines
def _rollback_env_variable(environ, name, subfolders):
'''
For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder.
:param subfolders: list of str '' or subfoldername that may start with '/'
:returns: the updated value of the environment variable.
'''
value = environ[name] if name in environ else ''
env_paths = [path for path in value.split(os.pathsep) if path]
value_modified = False
for subfolder in subfolders:
if subfolder:
if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)):
subfolder = subfolder[1:]
if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)):
subfolder = subfolder[:-1]
for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True):
path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path
path_to_remove = None
for env_path in env_paths:
env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path
if env_path_clean == path_to_find:
path_to_remove = env_path
break
if path_to_remove:
env_paths.remove(path_to_remove)
value_modified = True
new_value = os.pathsep.join(env_paths)
return new_value if value_modified else None
def _get_workspaces(environ, include_fuerte=False, include_non_existing=False):
'''
Based on CMAKE_PREFIX_PATH return all catkin workspaces.
:param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool``
'''
# get all cmake prefix paths
env_name = 'CMAKE_PREFIX_PATH'
value = environ[env_name] if env_name in environ else ''
paths = [path for path in value.split(os.pathsep) if path]
# remove non-workspace paths
workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))]
return workspaces
def prepend_env_variables(environ, env_var_subfolders, workspaces):
'''
Generate shell code to prepend environment variables
for the all workspaces.
'''
lines = []
lines.append(comment('prepend folders of workspaces to environment variables'))
paths = [path for path in workspaces.split(os.pathsep) if path]
prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '')
lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix))
for key in sorted([key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH']):
subfolder = env_var_subfolders[key]
prefix = _prefix_env_variable(environ, key, paths, subfolder)
lines.append(prepend(environ, key, prefix))
return lines
def _prefix_env_variable(environ, name, paths, subfolders):
'''
Return the prefix to prepend to the environment variable NAME, adding any path in NEW_PATHS_STR without creating duplicate or empty items.
'''
value = environ[name] if name in environ else ''
environ_paths = [path for path in value.split(os.pathsep) if path]
checked_paths = []
for path in paths:
if not isinstance(subfolders, list):
subfolders = [subfolders]
for subfolder in subfolders:
path_tmp = path
if subfolder:
path_tmp = os.path.join(path_tmp, subfolder)
# skip nonexistent paths
if not os.path.exists(path_tmp):
continue
# exclude any path already in env and any path we already added
if path_tmp not in environ_paths and path_tmp not in checked_paths:
checked_paths.append(path_tmp)
prefix_str = os.pathsep.join(checked_paths)
if prefix_str != '' and environ_paths:
prefix_str += os.pathsep
return prefix_str
def assignment(key, value):
if not IS_WINDOWS:
return 'export %s="%s"' % (key, value)
else:
return 'set %s=%s' % (key, value)
def comment(msg):
if not IS_WINDOWS:
return '# %s' % msg
else:
return 'REM %s' % msg
def prepend(environ, key, prefix):
if key not in environ or not environ[key]:
return assignment(key, prefix)
if not IS_WINDOWS:
return 'export %s="%s$%s"' % (key, prefix, key)
else:
return 'set %s=%s%%%s%%' % (key, prefix, key)
def find_env_hooks(environ, cmake_prefix_path):
'''
Generate shell code with found environment hooks
for the all workspaces.
'''
lines = []
lines.append(comment('found environment hooks in workspaces'))
generic_env_hooks = []
generic_env_hooks_workspace = []
specific_env_hooks = []
specific_env_hooks_workspace = []
generic_env_hooks_by_filename = {}
specific_env_hooks_by_filename = {}
generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh'
specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None
# remove non-workspace paths
workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))]
for workspace in reversed(workspaces):
env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d')
if os.path.isdir(env_hook_dir):
for filename in sorted(os.listdir(env_hook_dir)):
if filename.endswith('.%s' % generic_env_hook_ext):
# remove previous env hook with same name if present
if filename in generic_env_hooks_by_filename:
i = generic_env_hooks.index(generic_env_hooks_by_filename[filename])
generic_env_hooks.pop(i)
generic_env_hooks_workspace.pop(i)
# append env hook
generic_env_hooks.append(os.path.join(env_hook_dir, filename))
generic_env_hooks_workspace.append(workspace)
generic_env_hooks_by_filename[filename] = generic_env_hooks[-1]
elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext):
# remove previous env hook with same name if present
if filename in specific_env_hooks_by_filename:
i = specific_env_hooks.index(specific_env_hooks_by_filename[filename])
specific_env_hooks.pop(i)
specific_env_hooks_workspace.pop(i)
# append env hook
specific_env_hooks.append(os.path.join(env_hook_dir, filename))
specific_env_hooks_workspace.append(workspace)
specific_env_hooks_by_filename[filename] = specific_env_hooks[-1]
env_hooks = generic_env_hooks + specific_env_hooks
env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace
count = len(env_hooks)
lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count))
for i in range(count):
lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i]))
lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i]))
return lines
def _parse_arguments(args=None):
parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.')
parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context')
parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment')
return parser.parse_known_args(args=args)[0]
if __name__ == '__main__':
try:
try:
args = _parse_arguments()
except Exception as e:
print(e, file=sys.stderr)
sys.exit(1)
if not args.local:
# environment at generation time
CMAKE_PREFIX_PATH = '/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel;/opt/ros/kinetic'.split(';')
else:
# don't consider any other prefix path than this one
CMAKE_PREFIX_PATH = []
# prepend current workspace if not already part of CPP
base_path = os.path.dirname(__file__)
# CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent
# base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison
if os.path.sep != '/':
base_path = base_path.replace(os.path.sep, '/')
if base_path not in CMAKE_PREFIX_PATH:
CMAKE_PREFIX_PATH.insert(0, base_path)
CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH)
environ = dict(os.environ)
lines = []
if not args.extend:
lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS)
lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH)
lines += find_env_hooks(environ, CMAKE_PREFIX_PATH)
print('\n'.join(lines))
# need to explicitly flush the output
sys.stdout.flush()
except IOError as e:
# and catch potential "broken pipe" if stdout is not writable
# which can happen when piping the output to a file but the disk is full
if e.errno == errno.EPIPE:
print(e, file=sys.stderr)
sys.exit(2)
raise
sys.exit(0)
View File
Executable
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env sh
# generated from catkin/cmake/templates/env.sh.in
if [ $# -eq 0 ] ; then
/bin/echo "Usage: env.sh COMMANDS"
/bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually."
exit 1
fi
# ensure to not use different shell type which was set before
CATKIN_SHELL=sh
# source setup.sh from same directory as this file
_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd)
. "$_CATKIN_SETUP_DIR/setup.sh"
exec "$@"
+289
View File
@@ -0,0 +1,289 @@
// Generated by gencpp from file jog_msgs/JogFrame.msg
// DO NOT EDIT!
#ifndef JOG_MSGS_MESSAGE_JOGFRAME_H
#define JOG_MSGS_MESSAGE_JOGFRAME_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
#include <std_msgs/Header.h>
#include <geometry_msgs/Vector3.h>
#include <geometry_msgs/Vector3.h>
namespace jog_msgs
{
template <class ContainerAllocator>
struct JogFrame_
{
typedef JogFrame_<ContainerAllocator> Type;
JogFrame_()
: header()
, group_name()
, link_name()
, linear_delta()
, angular_delta()
, avoid_collisions(false) {
}
JogFrame_(const ContainerAllocator& _alloc)
: header(_alloc)
, group_name(_alloc)
, link_name(_alloc)
, linear_delta(_alloc)
, angular_delta(_alloc)
, avoid_collisions(false) {
(void)_alloc;
}
typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
_header_type header;
typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _group_name_type;
_group_name_type group_name;
typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _link_name_type;
_link_name_type link_name;
typedef ::geometry_msgs::Vector3_<ContainerAllocator> _linear_delta_type;
_linear_delta_type linear_delta;
typedef ::geometry_msgs::Vector3_<ContainerAllocator> _angular_delta_type;
_angular_delta_type angular_delta;
typedef uint8_t _avoid_collisions_type;
_avoid_collisions_type avoid_collisions;
typedef boost::shared_ptr< ::jog_msgs::JogFrame_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::jog_msgs::JogFrame_<ContainerAllocator> const> ConstPtr;
}; // struct JogFrame_
typedef ::jog_msgs::JogFrame_<std::allocator<void> > JogFrame;
typedef boost::shared_ptr< ::jog_msgs::JogFrame > JogFramePtr;
typedef boost::shared_ptr< ::jog_msgs::JogFrame const> JogFrameConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::jog_msgs::JogFrame_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::jog_msgs::JogFrame_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace jog_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': True}
// {'geometry_msgs': ['/opt/ros/kinetic/share/geometry_msgs/cmake/../msg'], 'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'jog_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/jog_arm/jog_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::jog_msgs::JogFrame_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::jog_msgs::JogFrame_<ContainerAllocator> const>
: FalseType
{ };
template <class ContainerAllocator>
struct IsMessage< ::jog_msgs::JogFrame_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::jog_msgs::JogFrame_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::jog_msgs::JogFrame_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::jog_msgs::JogFrame_<ContainerAllocator> const>
: TrueType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::jog_msgs::JogFrame_<ContainerAllocator> >
{
static const char* value()
{
return "e342f29bf6beaf00261bdae365abfff9";
}
static const char* value(const ::jog_msgs::JogFrame_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0xe342f29bf6beaf00ULL;
static const uint64_t static_value2 = 0x261bdae365abfff9ULL;
};
template<class ContainerAllocator>
struct DataType< ::jog_msgs::JogFrame_<ContainerAllocator> >
{
static const char* value()
{
return "jog_msgs/JogFrame";
}
static const char* value(const ::jog_msgs::JogFrame_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::jog_msgs::JogFrame_<ContainerAllocator> >
{
static const char* value()
{
return "# This is a message to hold data to jog by specifying a target\n\
# frame. It uses MoveIt! kinematics, so you need to specify the\n\
# JointGroup name to use in group_name. (lienar|angular)_delta is the\n\
# amount of displacement.\n\
\n\
# header message. You must set frame_id to define the reference\n\
# coordinate system of the displacament\n\
Header header\n\
\n\
# Name of JointGroup of MoveIt!\n\
string group_name\n\
\n\
# Target link name to jog. The link must be in the JoingGroup\n\
string link_name\n\
\n\
# Linear displacement vector to jog. The refrence frame is defined by\n\
# frame_id in header. Unit is in meter.\n\
geometry_msgs/Vector3 linear_delta\n\
\n\
# Angular displacement vector to jog. The refrence frame is defined by\n\
# frame_id in header. Unit is in radian.\n\
geometry_msgs/Vector3 angular_delta\n\
\n\
# It uses avoid_collisions option of MoveIt! kinematics. If it is\n\
# true, the robot doesn't move if any collisions occured.\n\
bool avoid_collisions\n\
\n\
================================================================================\n\
MSG: std_msgs/Header\n\
# Standard metadata for higher-level stamped data types.\n\
# This is generally used to communicate timestamped data \n\
# in a particular coordinate frame.\n\
# \n\
# sequence ID: consecutively increasing ID \n\
uint32 seq\n\
#Two-integer timestamp that is expressed as:\n\
# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\
# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\
# time-handling sugar is provided by the client library\n\
time stamp\n\
#Frame this data is associated with\n\
# 0: no frame\n\
# 1: global frame\n\
string frame_id\n\
\n\
================================================================================\n\
MSG: geometry_msgs/Vector3\n\
# This represents a vector in free space. \n\
# It is only meant to represent a direction. Therefore, it does not\n\
# make sense to apply a translation to it (e.g., when applying a \n\
# generic rigid transformation to a Vector3, tf2 will only apply the\n\
# rotation). If you want your data to be translatable too, use the\n\
# geometry_msgs/Point message instead.\n\
\n\
float64 x\n\
float64 y\n\
float64 z\n\
";
}
static const char* value(const ::jog_msgs::JogFrame_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::jog_msgs::JogFrame_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.header);
stream.next(m.group_name);
stream.next(m.link_name);
stream.next(m.linear_delta);
stream.next(m.angular_delta);
stream.next(m.avoid_collisions);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct JogFrame_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::jog_msgs::JogFrame_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::jog_msgs::JogFrame_<ContainerAllocator>& v)
{
s << indent << "header: ";
s << std::endl;
Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
s << indent << "group_name: ";
Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.group_name);
s << indent << "link_name: ";
Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.link_name);
s << indent << "linear_delta: ";
s << std::endl;
Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.linear_delta);
s << indent << "angular_delta: ";
s << std::endl;
Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.angular_delta);
s << indent << "avoid_collisions: ";
Printer<uint8_t>::stream(s, indent + " ", v.avoid_collisions);
}
};
} // namespace message_operations
} // namespace ros
#endif // JOG_MSGS_MESSAGE_JOGFRAME_H
+246
View File
@@ -0,0 +1,246 @@
// Generated by gencpp from file jog_msgs/JogJoint.msg
// DO NOT EDIT!
#ifndef JOG_MSGS_MESSAGE_JOGJOINT_H
#define JOG_MSGS_MESSAGE_JOGJOINT_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
#include <std_msgs/Header.h>
namespace jog_msgs
{
template <class ContainerAllocator>
struct JogJoint_
{
typedef JogJoint_<ContainerAllocator> Type;
JogJoint_()
: header()
, joint_names()
, deltas() {
}
JogJoint_(const ContainerAllocator& _alloc)
: header(_alloc)
, joint_names(_alloc)
, deltas(_alloc) {
(void)_alloc;
}
typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
_header_type header;
typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _joint_names_type;
_joint_names_type joint_names;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _deltas_type;
_deltas_type deltas;
typedef boost::shared_ptr< ::jog_msgs::JogJoint_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::jog_msgs::JogJoint_<ContainerAllocator> const> ConstPtr;
}; // struct JogJoint_
typedef ::jog_msgs::JogJoint_<std::allocator<void> > JogJoint;
typedef boost::shared_ptr< ::jog_msgs::JogJoint > JogJointPtr;
typedef boost::shared_ptr< ::jog_msgs::JogJoint const> JogJointConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::jog_msgs::JogJoint_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::jog_msgs::JogJoint_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace jog_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': True}
// {'geometry_msgs': ['/opt/ros/kinetic/share/geometry_msgs/cmake/../msg'], 'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'jog_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/jog_arm/jog_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::jog_msgs::JogJoint_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::jog_msgs::JogJoint_<ContainerAllocator> const>
: FalseType
{ };
template <class ContainerAllocator>
struct IsMessage< ::jog_msgs::JogJoint_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::jog_msgs::JogJoint_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::jog_msgs::JogJoint_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::jog_msgs::JogJoint_<ContainerAllocator> const>
: TrueType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::jog_msgs::JogJoint_<ContainerAllocator> >
{
static const char* value()
{
return "8d2aa14be64b51cf6374d198bfd489b2";
}
static const char* value(const ::jog_msgs::JogJoint_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x8d2aa14be64b51cfULL;
static const uint64_t static_value2 = 0x6374d198bfd489b2ULL;
};
template<class ContainerAllocator>
struct DataType< ::jog_msgs::JogJoint_<ContainerAllocator> >
{
static const char* value()
{
return "jog_msgs/JogJoint";
}
static const char* value(const ::jog_msgs::JogJoint_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::jog_msgs::JogJoint_<ContainerAllocator> >
{
static const char* value()
{
return "# This is a message to hold data to jog by specifying joint\n\
# displacement. You only need to set relative displacement to joint\n\
# angles (or displacements for linear joints).\n\
\n\
# header message. You must set frame_id to define the reference\n\
# coordinate system of the displacament\n\
Header header\n\
\n\
# Name list of the joints. You don't need to specify all joint of the\n\
# robot. Joint names are case-sensitive.\n\
string[] joint_names\n\
\n\
# Relative displacement of the joints to jog. The order must be\n\
# identical to joint_names. Unit is in radian for revolutive joints,\n\
# meter for linear joints.\n\
float64[] deltas\n\
\n\
================================================================================\n\
MSG: std_msgs/Header\n\
# Standard metadata for higher-level stamped data types.\n\
# This is generally used to communicate timestamped data \n\
# in a particular coordinate frame.\n\
# \n\
# sequence ID: consecutively increasing ID \n\
uint32 seq\n\
#Two-integer timestamp that is expressed as:\n\
# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\
# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\
# time-handling sugar is provided by the client library\n\
time stamp\n\
#Frame this data is associated with\n\
# 0: no frame\n\
# 1: global frame\n\
string frame_id\n\
";
}
static const char* value(const ::jog_msgs::JogJoint_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::jog_msgs::JogJoint_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.header);
stream.next(m.joint_names);
stream.next(m.deltas);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct JogJoint_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::jog_msgs::JogJoint_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::jog_msgs::JogJoint_<ContainerAllocator>& v)
{
s << indent << "header: ";
s << std::endl;
Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
s << indent << "joint_names[]" << std::endl;
for (size_t i = 0; i < v.joint_names.size(); ++i)
{
s << indent << " joint_names[" << i << "]: ";
Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.joint_names[i]);
}
s << indent << "deltas[]" << std::endl;
for (size_t i = 0; i < v.deltas.size(); ++i)
{
s << indent << " deltas[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.deltas[i]);
}
}
};
} // namespace message_operations
} // namespace ros
#endif // JOG_MSGS_MESSAGE_JOGJOINT_H
+487
View File
@@ -0,0 +1,487 @@
//#line 2 "/opt/ros/kinetic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template"
// *********************************************************
//
// File autogenerated for the ur_driver package
// by the dynamic_reconfigure package.
// Please do not edit.
//
// ********************************************************/
#ifndef __ur_driver__URDRIVERCONFIG_H__
#define __ur_driver__URDRIVERCONFIG_H__
#if __cplusplus >= 201103L
#define DYNAMIC_RECONFIGURE_FINAL final
#else
#define DYNAMIC_RECONFIGURE_FINAL
#endif
#include <dynamic_reconfigure/config_tools.h>
#include <limits>
#include <ros/node_handle.h>
#include <dynamic_reconfigure/ConfigDescription.h>
#include <dynamic_reconfigure/ParamDescription.h>
#include <dynamic_reconfigure/Group.h>
#include <dynamic_reconfigure/config_init_mutex.h>
#include <boost/any.hpp>
namespace ur_driver
{
class URDriverConfigStatics;
class URDriverConfig
{
public:
class AbstractParamDescription : public dynamic_reconfigure::ParamDescription
{
public:
AbstractParamDescription(std::string n, std::string t, uint32_t l,
std::string d, std::string e)
{
name = n;
type = t;
level = l;
description = d;
edit_method = e;
}
virtual void clamp(URDriverConfig &config, const URDriverConfig &max, const URDriverConfig &min) const = 0;
virtual void calcLevel(uint32_t &level, const URDriverConfig &config1, const URDriverConfig &config2) const = 0;
virtual void fromServer(const ros::NodeHandle &nh, URDriverConfig &config) const = 0;
virtual void toServer(const ros::NodeHandle &nh, const URDriverConfig &config) const = 0;
virtual bool fromMessage(const dynamic_reconfigure::Config &msg, URDriverConfig &config) const = 0;
virtual void toMessage(dynamic_reconfigure::Config &msg, const URDriverConfig &config) const = 0;
virtual void getValue(const URDriverConfig &config, boost::any &val) const = 0;
};
typedef boost::shared_ptr<AbstractParamDescription> AbstractParamDescriptionPtr;
typedef boost::shared_ptr<const AbstractParamDescription> AbstractParamDescriptionConstPtr;
// Final keyword added to class because it has virtual methods and inherits
// from a class with a non-virtual destructor.
template <class T>
class ParamDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractParamDescription
{
public:
ParamDescription(std::string a_name, std::string a_type, uint32_t a_level,
std::string a_description, std::string a_edit_method, T URDriverConfig::* a_f) :
AbstractParamDescription(a_name, a_type, a_level, a_description, a_edit_method),
field(a_f)
{}
T (URDriverConfig::* field);
virtual void clamp(URDriverConfig &config, const URDriverConfig &max, const URDriverConfig &min) const
{
if (config.*field > max.*field)
config.*field = max.*field;
if (config.*field < min.*field)
config.*field = min.*field;
}
virtual void calcLevel(uint32_t &comb_level, const URDriverConfig &config1, const URDriverConfig &config2) const
{
if (config1.*field != config2.*field)
comb_level |= level;
}
virtual void fromServer(const ros::NodeHandle &nh, URDriverConfig &config) const
{
nh.getParam(name, config.*field);
}
virtual void toServer(const ros::NodeHandle &nh, const URDriverConfig &config) const
{
nh.setParam(name, config.*field);
}
virtual bool fromMessage(const dynamic_reconfigure::Config &msg, URDriverConfig &config) const
{
return dynamic_reconfigure::ConfigTools::getParameter(msg, name, config.*field);
}
virtual void toMessage(dynamic_reconfigure::Config &msg, const URDriverConfig &config) const
{
dynamic_reconfigure::ConfigTools::appendParameter(msg, name, config.*field);
}
virtual void getValue(const URDriverConfig &config, boost::any &val) const
{
val = config.*field;
}
};
class AbstractGroupDescription : public dynamic_reconfigure::Group
{
public:
AbstractGroupDescription(std::string n, std::string t, int p, int i, bool s)
{
name = n;
type = t;
parent = p;
state = s;
id = i;
}
std::vector<AbstractParamDescriptionConstPtr> abstract_parameters;
bool state;
virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &config) const = 0;
virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &config) const =0;
virtual void updateParams(boost::any &cfg, URDriverConfig &top) const= 0;
virtual void setInitialState(boost::any &cfg) const = 0;
void convertParams()
{
for(std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = abstract_parameters.begin(); i != abstract_parameters.end(); ++i)
{
parameters.push_back(dynamic_reconfigure::ParamDescription(**i));
}
}
};
typedef boost::shared_ptr<AbstractGroupDescription> AbstractGroupDescriptionPtr;
typedef boost::shared_ptr<const AbstractGroupDescription> AbstractGroupDescriptionConstPtr;
// Final keyword added to class because it has virtual methods and inherits
// from a class with a non-virtual destructor.
template<class T, class PT>
class GroupDescription DYNAMIC_RECONFIGURE_FINAL : public AbstractGroupDescription
{
public:
GroupDescription(std::string a_name, std::string a_type, int a_parent, int a_id, bool a_s, T PT::* a_f) : AbstractGroupDescription(a_name, a_type, a_parent, a_id, a_s), field(a_f)
{
}
GroupDescription(const GroupDescription<T, PT>& g): AbstractGroupDescription(g.name, g.type, g.parent, g.id, g.state), field(g.field), groups(g.groups)
{
parameters = g.parameters;
abstract_parameters = g.abstract_parameters;
}
virtual bool fromMessage(const dynamic_reconfigure::Config &msg, boost::any &cfg) const
{
PT* config = boost::any_cast<PT*>(cfg);
if(!dynamic_reconfigure::ConfigTools::getGroupState(msg, name, (*config).*field))
return false;
for(std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); ++i)
{
boost::any n = &((*config).*field);
if(!(*i)->fromMessage(msg, n))
return false;
}
return true;
}
virtual void setInitialState(boost::any &cfg) const
{
PT* config = boost::any_cast<PT*>(cfg);
T* group = &((*config).*field);
group->state = state;
for(std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); ++i)
{
boost::any n = boost::any(&((*config).*field));
(*i)->setInitialState(n);
}
}
virtual void updateParams(boost::any &cfg, URDriverConfig &top) const
{
PT* config = boost::any_cast<PT*>(cfg);
T* f = &((*config).*field);
f->setParams(top, abstract_parameters);
for(std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); ++i)
{
boost::any n = &((*config).*field);
(*i)->updateParams(n, top);
}
}
virtual void toMessage(dynamic_reconfigure::Config &msg, const boost::any &cfg) const
{
const PT config = boost::any_cast<PT>(cfg);
dynamic_reconfigure::ConfigTools::appendGroup<T>(msg, name, id, parent, config.*field);
for(std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = groups.begin(); i != groups.end(); ++i)
{
(*i)->toMessage(msg, config.*field);
}
}
T (PT::* field);
std::vector<URDriverConfig::AbstractGroupDescriptionConstPtr> groups;
};
class DEFAULT
{
public:
DEFAULT()
{
state = true;
name = "Default";
}
void setParams(URDriverConfig &config, const std::vector<AbstractParamDescriptionConstPtr> params)
{
for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator _i = params.begin(); _i != params.end(); ++_i)
{
boost::any val;
(*_i)->getValue(config, val);
if("prevent_programming"==(*_i)->name){prevent_programming = boost::any_cast<bool>(val);}
}
}
bool prevent_programming;
bool state;
std::string name;
}groups;
//#line 290 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
bool prevent_programming;
//#line 228 "/opt/ros/kinetic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template"
bool __fromMessage__(dynamic_reconfigure::Config &msg)
{
const std::vector<AbstractParamDescriptionConstPtr> &__param_descriptions__ = __getParamDescriptions__();
const std::vector<AbstractGroupDescriptionConstPtr> &__group_descriptions__ = __getGroupDescriptions__();
int count = 0;
for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i)
if ((*i)->fromMessage(msg, *this))
count++;
for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i ++)
{
if ((*i)->id == 0)
{
boost::any n = boost::any(this);
(*i)->updateParams(n, *this);
(*i)->fromMessage(msg, n);
}
}
if (count != dynamic_reconfigure::ConfigTools::size(msg))
{
ROS_ERROR("URDriverConfig::__fromMessage__ called with an unexpected parameter.");
ROS_ERROR("Booleans:");
for (unsigned int i = 0; i < msg.bools.size(); i++)
ROS_ERROR(" %s", msg.bools[i].name.c_str());
ROS_ERROR("Integers:");
for (unsigned int i = 0; i < msg.ints.size(); i++)
ROS_ERROR(" %s", msg.ints[i].name.c_str());
ROS_ERROR("Doubles:");
for (unsigned int i = 0; i < msg.doubles.size(); i++)
ROS_ERROR(" %s", msg.doubles[i].name.c_str());
ROS_ERROR("Strings:");
for (unsigned int i = 0; i < msg.strs.size(); i++)
ROS_ERROR(" %s", msg.strs[i].name.c_str());
// @todo Check that there are no duplicates. Make this error more
// explicit.
return false;
}
return true;
}
// This version of __toMessage__ is used during initialization of
// statics when __getParamDescriptions__ can't be called yet.
void __toMessage__(dynamic_reconfigure::Config &msg, const std::vector<AbstractParamDescriptionConstPtr> &__param_descriptions__, const std::vector<AbstractGroupDescriptionConstPtr> &__group_descriptions__) const
{
dynamic_reconfigure::ConfigTools::clear(msg);
for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i)
(*i)->toMessage(msg, *this);
for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i)
{
if((*i)->id == 0)
{
(*i)->toMessage(msg, *this);
}
}
}
void __toMessage__(dynamic_reconfigure::Config &msg) const
{
const std::vector<AbstractParamDescriptionConstPtr> &__param_descriptions__ = __getParamDescriptions__();
const std::vector<AbstractGroupDescriptionConstPtr> &__group_descriptions__ = __getGroupDescriptions__();
__toMessage__(msg, __param_descriptions__, __group_descriptions__);
}
void __toServer__(const ros::NodeHandle &nh) const
{
const std::vector<AbstractParamDescriptionConstPtr> &__param_descriptions__ = __getParamDescriptions__();
for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i)
(*i)->toServer(nh, *this);
}
void __fromServer__(const ros::NodeHandle &nh)
{
static bool setup=false;
const std::vector<AbstractParamDescriptionConstPtr> &__param_descriptions__ = __getParamDescriptions__();
for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i)
(*i)->fromServer(nh, *this);
const std::vector<AbstractGroupDescriptionConstPtr> &__group_descriptions__ = __getGroupDescriptions__();
for (std::vector<AbstractGroupDescriptionConstPtr>::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); i++){
if (!setup && (*i)->id == 0) {
setup = true;
boost::any n = boost::any(this);
(*i)->setInitialState(n);
}
}
}
void __clamp__()
{
const std::vector<AbstractParamDescriptionConstPtr> &__param_descriptions__ = __getParamDescriptions__();
const URDriverConfig &__max__ = __getMax__();
const URDriverConfig &__min__ = __getMin__();
for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i)
(*i)->clamp(*this, __max__, __min__);
}
uint32_t __level__(const URDriverConfig &config) const
{
const std::vector<AbstractParamDescriptionConstPtr> &__param_descriptions__ = __getParamDescriptions__();
uint32_t level = 0;
for (std::vector<AbstractParamDescriptionConstPtr>::const_iterator i = __param_descriptions__.begin(); i != __param_descriptions__.end(); ++i)
(*i)->calcLevel(level, config, *this);
return level;
}
static const dynamic_reconfigure::ConfigDescription &__getDescriptionMessage__();
static const URDriverConfig &__getDefault__();
static const URDriverConfig &__getMax__();
static const URDriverConfig &__getMin__();
static const std::vector<AbstractParamDescriptionConstPtr> &__getParamDescriptions__();
static const std::vector<AbstractGroupDescriptionConstPtr> &__getGroupDescriptions__();
private:
static const URDriverConfigStatics *__get_statics__();
};
template <> // Max and min are ignored for strings.
inline void URDriverConfig::ParamDescription<std::string>::clamp(URDriverConfig &config, const URDriverConfig &max, const URDriverConfig &min) const
{
(void) config;
(void) min;
(void) max;
return;
}
class URDriverConfigStatics
{
friend class URDriverConfig;
URDriverConfigStatics()
{
URDriverConfig::GroupDescription<URDriverConfig::DEFAULT, URDriverConfig> Default("Default", "", 0, 0, true, &URDriverConfig::groups);
//#line 290 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
__min__.prevent_programming = 0;
//#line 290 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
__max__.prevent_programming = 1;
//#line 290 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
__default__.prevent_programming = 0;
//#line 290 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
Default.abstract_parameters.push_back(URDriverConfig::AbstractParamDescriptionConstPtr(new URDriverConfig::ParamDescription<bool>("prevent_programming", "bool", 0, "Prevent driver from continuously uploading 'prog'", "", &URDriverConfig::prevent_programming)));
//#line 290 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
__param_descriptions__.push_back(URDriverConfig::AbstractParamDescriptionConstPtr(new URDriverConfig::ParamDescription<bool>("prevent_programming", "bool", 0, "Prevent driver from continuously uploading 'prog'", "", &URDriverConfig::prevent_programming)));
//#line 245 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
Default.convertParams();
//#line 245 "/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py"
__group_descriptions__.push_back(URDriverConfig::AbstractGroupDescriptionConstPtr(new URDriverConfig::GroupDescription<URDriverConfig::DEFAULT, URDriverConfig>(Default)));
//#line 366 "/opt/ros/kinetic/share/dynamic_reconfigure/cmake/../templates/ConfigType.h.template"
for (std::vector<URDriverConfig::AbstractGroupDescriptionConstPtr>::const_iterator i = __group_descriptions__.begin(); i != __group_descriptions__.end(); ++i)
{
__description_message__.groups.push_back(**i);
}
__max__.__toMessage__(__description_message__.max, __param_descriptions__, __group_descriptions__);
__min__.__toMessage__(__description_message__.min, __param_descriptions__, __group_descriptions__);
__default__.__toMessage__(__description_message__.dflt, __param_descriptions__, __group_descriptions__);
}
std::vector<URDriverConfig::AbstractParamDescriptionConstPtr> __param_descriptions__;
std::vector<URDriverConfig::AbstractGroupDescriptionConstPtr> __group_descriptions__;
URDriverConfig __max__;
URDriverConfig __min__;
URDriverConfig __default__;
dynamic_reconfigure::ConfigDescription __description_message__;
static const URDriverConfigStatics *get_instance()
{
// Split this off in a separate function because I know that
// instance will get initialized the first time get_instance is
// called, and I am guaranteeing that get_instance gets called at
// most once.
static URDriverConfigStatics instance;
return &instance;
}
};
inline const dynamic_reconfigure::ConfigDescription &URDriverConfig::__getDescriptionMessage__()
{
return __get_statics__()->__description_message__;
}
inline const URDriverConfig &URDriverConfig::__getDefault__()
{
return __get_statics__()->__default__;
}
inline const URDriverConfig &URDriverConfig::__getMax__()
{
return __get_statics__()->__max__;
}
inline const URDriverConfig &URDriverConfig::__getMin__()
{
return __get_statics__()->__min__;
}
inline const std::vector<URDriverConfig::AbstractParamDescriptionConstPtr> &URDriverConfig::__getParamDescriptions__()
{
return __get_statics__()->__param_descriptions__;
}
inline const std::vector<URDriverConfig::AbstractGroupDescriptionConstPtr> &URDriverConfig::__getGroupDescriptions__()
{
return __get_statics__()->__group_descriptions__;
}
inline const URDriverConfigStatics *URDriverConfig::__get_statics__()
{
const static URDriverConfigStatics *statics;
if (statics) // Common case
return statics;
boost::mutex::scoped_lock lock(dynamic_reconfigure::__init_mutex__);
if (statics) // In case we lost a race.
return statics;
statics = URDriverConfigStatics::get_instance();
return statics;
}
}
#undef DYNAMIC_RECONFIGURE_FINAL
#endif // __URDRIVERRECONFIGURATOR_H__
+196
View File
@@ -0,0 +1,196 @@
// Generated by gencpp from file ur_msgs/Analog.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_ANALOG_H
#define UR_MSGS_MESSAGE_ANALOG_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct Analog_
{
typedef Analog_<ContainerAllocator> Type;
Analog_()
: pin(0)
, state(0.0) {
}
Analog_(const ContainerAllocator& _alloc)
: pin(0)
, state(0.0) {
(void)_alloc;
}
typedef uint8_t _pin_type;
_pin_type pin;
typedef float _state_type;
_state_type state;
typedef boost::shared_ptr< ::ur_msgs::Analog_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::Analog_<ContainerAllocator> const> ConstPtr;
}; // struct Analog_
typedef ::ur_msgs::Analog_<std::allocator<void> > Analog;
typedef boost::shared_ptr< ::ur_msgs::Analog > AnalogPtr;
typedef boost::shared_ptr< ::ur_msgs::Analog const> AnalogConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::Analog_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::Analog_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::Analog_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::Analog_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::Analog_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::Analog_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::Analog_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::Analog_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::Analog_<ContainerAllocator> >
{
static const char* value()
{
return "341541c8828d055b6dcc443d40207a7d";
}
static const char* value(const ::ur_msgs::Analog_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x341541c8828d055bULL;
static const uint64_t static_value2 = 0x6dcc443d40207a7dULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::Analog_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/Analog";
}
static const char* value(const ::ur_msgs::Analog_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::Analog_<ContainerAllocator> >
{
static const char* value()
{
return "uint8 pin\n\
float32 state\n\
";
}
static const char* value(const ::ur_msgs::Analog_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::Analog_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.pin);
stream.next(m.state);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct Analog_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::Analog_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::Analog_<ContainerAllocator>& v)
{
s << indent << "pin: ";
Printer<uint8_t>::stream(s, indent + " ", v.pin);
s << indent << "state: ";
Printer<float>::stream(s, indent + " ", v.state);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_ANALOG_H
+196
View File
@@ -0,0 +1,196 @@
// Generated by gencpp from file ur_msgs/Digital.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_DIGITAL_H
#define UR_MSGS_MESSAGE_DIGITAL_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct Digital_
{
typedef Digital_<ContainerAllocator> Type;
Digital_()
: pin(0)
, state(false) {
}
Digital_(const ContainerAllocator& _alloc)
: pin(0)
, state(false) {
(void)_alloc;
}
typedef uint8_t _pin_type;
_pin_type pin;
typedef uint8_t _state_type;
_state_type state;
typedef boost::shared_ptr< ::ur_msgs::Digital_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::Digital_<ContainerAllocator> const> ConstPtr;
}; // struct Digital_
typedef ::ur_msgs::Digital_<std::allocator<void> > Digital;
typedef boost::shared_ptr< ::ur_msgs::Digital > DigitalPtr;
typedef boost::shared_ptr< ::ur_msgs::Digital const> DigitalConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::Digital_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::Digital_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::Digital_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::Digital_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::Digital_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::Digital_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::Digital_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::Digital_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::Digital_<ContainerAllocator> >
{
static const char* value()
{
return "83707be3fa18d2ffe57381ea034aa262";
}
static const char* value(const ::ur_msgs::Digital_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x83707be3fa18d2ffULL;
static const uint64_t static_value2 = 0xe57381ea034aa262ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::Digital_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/Digital";
}
static const char* value(const ::ur_msgs::Digital_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::Digital_<ContainerAllocator> >
{
static const char* value()
{
return "uint8 pin\n\
bool state\n\
";
}
static const char* value(const ::ur_msgs::Digital_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::Digital_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.pin);
stream.next(m.state);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct Digital_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::Digital_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::Digital_<ContainerAllocator>& v)
{
s << indent << "pin: ";
Printer<uint8_t>::stream(s, indent + " ", v.pin);
s << indent << "state: ";
Printer<uint8_t>::stream(s, indent + " ", v.state);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_DIGITAL_H
+268
View File
@@ -0,0 +1,268 @@
// Generated by gencpp from file ur_msgs/IOStates.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_IOSTATES_H
#define UR_MSGS_MESSAGE_IOSTATES_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
#include <ur_msgs/Digital.h>
#include <ur_msgs/Digital.h>
#include <ur_msgs/Digital.h>
#include <ur_msgs/Analog.h>
#include <ur_msgs/Analog.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct IOStates_
{
typedef IOStates_<ContainerAllocator> Type;
IOStates_()
: digital_in_states()
, digital_out_states()
, flag_states()
, analog_in_states()
, analog_out_states() {
}
IOStates_(const ContainerAllocator& _alloc)
: digital_in_states(_alloc)
, digital_out_states(_alloc)
, flag_states(_alloc)
, analog_in_states(_alloc)
, analog_out_states(_alloc) {
(void)_alloc;
}
typedef std::vector< ::ur_msgs::Digital_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ur_msgs::Digital_<ContainerAllocator> >::other > _digital_in_states_type;
_digital_in_states_type digital_in_states;
typedef std::vector< ::ur_msgs::Digital_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ur_msgs::Digital_<ContainerAllocator> >::other > _digital_out_states_type;
_digital_out_states_type digital_out_states;
typedef std::vector< ::ur_msgs::Digital_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ur_msgs::Digital_<ContainerAllocator> >::other > _flag_states_type;
_flag_states_type flag_states;
typedef std::vector< ::ur_msgs::Analog_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ur_msgs::Analog_<ContainerAllocator> >::other > _analog_in_states_type;
_analog_in_states_type analog_in_states;
typedef std::vector< ::ur_msgs::Analog_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::ur_msgs::Analog_<ContainerAllocator> >::other > _analog_out_states_type;
_analog_out_states_type analog_out_states;
typedef boost::shared_ptr< ::ur_msgs::IOStates_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::IOStates_<ContainerAllocator> const> ConstPtr;
}; // struct IOStates_
typedef ::ur_msgs::IOStates_<std::allocator<void> > IOStates;
typedef boost::shared_ptr< ::ur_msgs::IOStates > IOStatesPtr;
typedef boost::shared_ptr< ::ur_msgs::IOStates const> IOStatesConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::IOStates_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::IOStates_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::IOStates_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::IOStates_<ContainerAllocator> const>
: FalseType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::IOStates_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::IOStates_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::IOStates_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::IOStates_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::IOStates_<ContainerAllocator> >
{
static const char* value()
{
return "0a5c7b73e3189e9a2caf8583d1bae2e2";
}
static const char* value(const ::ur_msgs::IOStates_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x0a5c7b73e3189e9aULL;
static const uint64_t static_value2 = 0x2caf8583d1bae2e2ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::IOStates_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/IOStates";
}
static const char* value(const ::ur_msgs::IOStates_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::IOStates_<ContainerAllocator> >
{
static const char* value()
{
return "Digital[] digital_in_states\n\
Digital[] digital_out_states\n\
Digital[] flag_states\n\
Analog[] analog_in_states\n\
Analog[] analog_out_states\n\
\n\
================================================================================\n\
MSG: ur_msgs/Digital\n\
uint8 pin\n\
bool state\n\
\n\
================================================================================\n\
MSG: ur_msgs/Analog\n\
uint8 pin\n\
float32 state\n\
";
}
static const char* value(const ::ur_msgs::IOStates_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::IOStates_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.digital_in_states);
stream.next(m.digital_out_states);
stream.next(m.flag_states);
stream.next(m.analog_in_states);
stream.next(m.analog_out_states);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct IOStates_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::IOStates_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::IOStates_<ContainerAllocator>& v)
{
s << indent << "digital_in_states[]" << std::endl;
for (size_t i = 0; i < v.digital_in_states.size(); ++i)
{
s << indent << " digital_in_states[" << i << "]: ";
s << std::endl;
s << indent;
Printer< ::ur_msgs::Digital_<ContainerAllocator> >::stream(s, indent + " ", v.digital_in_states[i]);
}
s << indent << "digital_out_states[]" << std::endl;
for (size_t i = 0; i < v.digital_out_states.size(); ++i)
{
s << indent << " digital_out_states[" << i << "]: ";
s << std::endl;
s << indent;
Printer< ::ur_msgs::Digital_<ContainerAllocator> >::stream(s, indent + " ", v.digital_out_states[i]);
}
s << indent << "flag_states[]" << std::endl;
for (size_t i = 0; i < v.flag_states.size(); ++i)
{
s << indent << " flag_states[" << i << "]: ";
s << std::endl;
s << indent;
Printer< ::ur_msgs::Digital_<ContainerAllocator> >::stream(s, indent + " ", v.flag_states[i]);
}
s << indent << "analog_in_states[]" << std::endl;
for (size_t i = 0; i < v.analog_in_states.size(); ++i)
{
s << indent << " analog_in_states[" << i << "]: ";
s << std::endl;
s << indent;
Printer< ::ur_msgs::Analog_<ContainerAllocator> >::stream(s, indent + " ", v.analog_in_states[i]);
}
s << indent << "analog_out_states[]" << std::endl;
for (size_t i = 0; i < v.analog_out_states.size(); ++i)
{
s << indent << " analog_out_states[" << i << "]: ";
s << std::endl;
s << indent;
Printer< ::ur_msgs::Analog_<ContainerAllocator> >::stream(s, indent + " ", v.analog_out_states[i]);
}
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_IOSTATES_H
+333
View File
@@ -0,0 +1,333 @@
// Generated by gencpp from file ur_msgs/MasterboardDataMsg.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_MASTERBOARDDATAMSG_H
#define UR_MSGS_MESSAGE_MASTERBOARDDATAMSG_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct MasterboardDataMsg_
{
typedef MasterboardDataMsg_<ContainerAllocator> Type;
MasterboardDataMsg_()
: digital_input_bits(0)
, digital_output_bits(0)
, analog_input_range0(0)
, analog_input_range1(0)
, analog_input0(0.0)
, analog_input1(0.0)
, analog_output_domain0(0)
, analog_output_domain1(0)
, analog_output0(0.0)
, analog_output1(0.0)
, masterboard_temperature(0.0)
, robot_voltage_48V(0.0)
, robot_current(0.0)
, master_io_current(0.0)
, master_safety_state(0)
, master_onoff_state(0) {
}
MasterboardDataMsg_(const ContainerAllocator& _alloc)
: digital_input_bits(0)
, digital_output_bits(0)
, analog_input_range0(0)
, analog_input_range1(0)
, analog_input0(0.0)
, analog_input1(0.0)
, analog_output_domain0(0)
, analog_output_domain1(0)
, analog_output0(0.0)
, analog_output1(0.0)
, masterboard_temperature(0.0)
, robot_voltage_48V(0.0)
, robot_current(0.0)
, master_io_current(0.0)
, master_safety_state(0)
, master_onoff_state(0) {
(void)_alloc;
}
typedef uint32_t _digital_input_bits_type;
_digital_input_bits_type digital_input_bits;
typedef uint32_t _digital_output_bits_type;
_digital_output_bits_type digital_output_bits;
typedef int8_t _analog_input_range0_type;
_analog_input_range0_type analog_input_range0;
typedef int8_t _analog_input_range1_type;
_analog_input_range1_type analog_input_range1;
typedef double _analog_input0_type;
_analog_input0_type analog_input0;
typedef double _analog_input1_type;
_analog_input1_type analog_input1;
typedef int8_t _analog_output_domain0_type;
_analog_output_domain0_type analog_output_domain0;
typedef int8_t _analog_output_domain1_type;
_analog_output_domain1_type analog_output_domain1;
typedef double _analog_output0_type;
_analog_output0_type analog_output0;
typedef double _analog_output1_type;
_analog_output1_type analog_output1;
typedef float _masterboard_temperature_type;
_masterboard_temperature_type masterboard_temperature;
typedef float _robot_voltage_48V_type;
_robot_voltage_48V_type robot_voltage_48V;
typedef float _robot_current_type;
_robot_current_type robot_current;
typedef float _master_io_current_type;
_master_io_current_type master_io_current;
typedef uint8_t _master_safety_state_type;
_master_safety_state_type master_safety_state;
typedef uint8_t _master_onoff_state_type;
_master_onoff_state_type master_onoff_state;
typedef boost::shared_ptr< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> const> ConstPtr;
}; // struct MasterboardDataMsg_
typedef ::ur_msgs::MasterboardDataMsg_<std::allocator<void> > MasterboardDataMsg;
typedef boost::shared_ptr< ::ur_msgs::MasterboardDataMsg > MasterboardDataMsgPtr;
typedef boost::shared_ptr< ::ur_msgs::MasterboardDataMsg const> MasterboardDataMsgConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "807af5dc427082b111fa23d1fd2cd585";
}
static const char* value(const ::ur_msgs::MasterboardDataMsg_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x807af5dc427082b1ULL;
static const uint64_t static_value2 = 0x11fa23d1fd2cd585ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/MasterboardDataMsg";
}
static const char* value(const ::ur_msgs::MasterboardDataMsg_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "# This data structure contains the MasterboardData structure\n\
# used by the Universal Robots controller\n\
#\n\
# MasterboardData is part of the data structure being send on the \n\
# secondary client communications interface\n\
# \n\
# This data structure is send at 10 Hz on TCP port 30002\n\
# \n\
# Documentation can be found on the Universal Robots Support site, article\n\
# number 16496.\n\
\n\
uint32 digital_input_bits\n\
uint32 digital_output_bits\n\
int8 analog_input_range0\n\
int8 analog_input_range1\n\
float64 analog_input0\n\
float64 analog_input1\n\
int8 analog_output_domain0\n\
int8 analog_output_domain1\n\
float64 analog_output0\n\
float64 analog_output1\n\
float32 masterboard_temperature\n\
float32 robot_voltage_48V\n\
float32 robot_current\n\
float32 master_io_current\n\
uint8 master_safety_state\n\
uint8 master_onoff_state\n\
";
}
static const char* value(const ::ur_msgs::MasterboardDataMsg_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.digital_input_bits);
stream.next(m.digital_output_bits);
stream.next(m.analog_input_range0);
stream.next(m.analog_input_range1);
stream.next(m.analog_input0);
stream.next(m.analog_input1);
stream.next(m.analog_output_domain0);
stream.next(m.analog_output_domain1);
stream.next(m.analog_output0);
stream.next(m.analog_output1);
stream.next(m.masterboard_temperature);
stream.next(m.robot_voltage_48V);
stream.next(m.robot_current);
stream.next(m.master_io_current);
stream.next(m.master_safety_state);
stream.next(m.master_onoff_state);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct MasterboardDataMsg_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::MasterboardDataMsg_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::MasterboardDataMsg_<ContainerAllocator>& v)
{
s << indent << "digital_input_bits: ";
Printer<uint32_t>::stream(s, indent + " ", v.digital_input_bits);
s << indent << "digital_output_bits: ";
Printer<uint32_t>::stream(s, indent + " ", v.digital_output_bits);
s << indent << "analog_input_range0: ";
Printer<int8_t>::stream(s, indent + " ", v.analog_input_range0);
s << indent << "analog_input_range1: ";
Printer<int8_t>::stream(s, indent + " ", v.analog_input_range1);
s << indent << "analog_input0: ";
Printer<double>::stream(s, indent + " ", v.analog_input0);
s << indent << "analog_input1: ";
Printer<double>::stream(s, indent + " ", v.analog_input1);
s << indent << "analog_output_domain0: ";
Printer<int8_t>::stream(s, indent + " ", v.analog_output_domain0);
s << indent << "analog_output_domain1: ";
Printer<int8_t>::stream(s, indent + " ", v.analog_output_domain1);
s << indent << "analog_output0: ";
Printer<double>::stream(s, indent + " ", v.analog_output0);
s << indent << "analog_output1: ";
Printer<double>::stream(s, indent + " ", v.analog_output1);
s << indent << "masterboard_temperature: ";
Printer<float>::stream(s, indent + " ", v.masterboard_temperature);
s << indent << "robot_voltage_48V: ";
Printer<float>::stream(s, indent + " ", v.robot_voltage_48V);
s << indent << "robot_current: ";
Printer<float>::stream(s, indent + " ", v.robot_current);
s << indent << "master_io_current: ";
Printer<float>::stream(s, indent + " ", v.master_io_current);
s << indent << "master_safety_state: ";
Printer<uint8_t>::stream(s, indent + " ", v.master_safety_state);
s << indent << "master_onoff_state: ";
Printer<uint8_t>::stream(s, indent + " ", v.master_onoff_state);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_MASTERBOARDDATAMSG_H
+257
View File
@@ -0,0 +1,257 @@
// Generated by gencpp from file ur_msgs/RobotModeDataMsg.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_ROBOTMODEDATAMSG_H
#define UR_MSGS_MESSAGE_ROBOTMODEDATAMSG_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct RobotModeDataMsg_
{
typedef RobotModeDataMsg_<ContainerAllocator> Type;
RobotModeDataMsg_()
: timestamp(0)
, is_robot_connected(false)
, is_real_robot_enabled(false)
, is_power_on_robot(false)
, is_emergency_stopped(false)
, is_protective_stopped(false)
, is_program_running(false)
, is_program_paused(false) {
}
RobotModeDataMsg_(const ContainerAllocator& _alloc)
: timestamp(0)
, is_robot_connected(false)
, is_real_robot_enabled(false)
, is_power_on_robot(false)
, is_emergency_stopped(false)
, is_protective_stopped(false)
, is_program_running(false)
, is_program_paused(false) {
(void)_alloc;
}
typedef uint64_t _timestamp_type;
_timestamp_type timestamp;
typedef uint8_t _is_robot_connected_type;
_is_robot_connected_type is_robot_connected;
typedef uint8_t _is_real_robot_enabled_type;
_is_real_robot_enabled_type is_real_robot_enabled;
typedef uint8_t _is_power_on_robot_type;
_is_power_on_robot_type is_power_on_robot;
typedef uint8_t _is_emergency_stopped_type;
_is_emergency_stopped_type is_emergency_stopped;
typedef uint8_t _is_protective_stopped_type;
_is_protective_stopped_type is_protective_stopped;
typedef uint8_t _is_program_running_type;
_is_program_running_type is_program_running;
typedef uint8_t _is_program_paused_type;
_is_program_paused_type is_program_paused;
typedef boost::shared_ptr< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> const> ConstPtr;
}; // struct RobotModeDataMsg_
typedef ::ur_msgs::RobotModeDataMsg_<std::allocator<void> > RobotModeDataMsg;
typedef boost::shared_ptr< ::ur_msgs::RobotModeDataMsg > RobotModeDataMsgPtr;
typedef boost::shared_ptr< ::ur_msgs::RobotModeDataMsg const> RobotModeDataMsgConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "867308ca39e2cc0644b50db27deb661f";
}
static const char* value(const ::ur_msgs::RobotModeDataMsg_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x867308ca39e2cc06ULL;
static const uint64_t static_value2 = 0x44b50db27deb661fULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/RobotModeDataMsg";
}
static const char* value(const ::ur_msgs::RobotModeDataMsg_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "# This data structure contains the RobotModeData structure\n\
# used by the Universal Robots controller\n\
#\n\
# This data structure is send at 10 Hz on TCP port 30002\n\
#\n\
# Note: this message does not carry all fields from the RobotModeData structure as broadcast by the robot controller, but a subset.\n\
\n\
uint64 timestamp\n\
bool is_robot_connected\n\
bool is_real_robot_enabled\n\
bool is_power_on_robot\n\
bool is_emergency_stopped\n\
bool is_protective_stopped\n\
bool is_program_running\n\
bool is_program_paused\n\
";
}
static const char* value(const ::ur_msgs::RobotModeDataMsg_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.timestamp);
stream.next(m.is_robot_connected);
stream.next(m.is_real_robot_enabled);
stream.next(m.is_power_on_robot);
stream.next(m.is_emergency_stopped);
stream.next(m.is_protective_stopped);
stream.next(m.is_program_running);
stream.next(m.is_program_paused);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct RobotModeDataMsg_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::RobotModeDataMsg_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::RobotModeDataMsg_<ContainerAllocator>& v)
{
s << indent << "timestamp: ";
Printer<uint64_t>::stream(s, indent + " ", v.timestamp);
s << indent << "is_robot_connected: ";
Printer<uint8_t>::stream(s, indent + " ", v.is_robot_connected);
s << indent << "is_real_robot_enabled: ";
Printer<uint8_t>::stream(s, indent + " ", v.is_real_robot_enabled);
s << indent << "is_power_on_robot: ";
Printer<uint8_t>::stream(s, indent + " ", v.is_power_on_robot);
s << indent << "is_emergency_stopped: ";
Printer<uint8_t>::stream(s, indent + " ", v.is_emergency_stopped);
s << indent << "is_protective_stopped: ";
Printer<uint8_t>::stream(s, indent + " ", v.is_protective_stopped);
s << indent << "is_program_running: ";
Printer<uint8_t>::stream(s, indent + " ", v.is_program_running);
s << indent << "is_program_paused: ";
Printer<uint8_t>::stream(s, indent + " ", v.is_program_paused);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_ROBOTMODEDATAMSG_H
+413
View File
@@ -0,0 +1,413 @@
// Generated by gencpp from file ur_msgs/RobotStateRTMsg.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_ROBOTSTATERTMSG_H
#define UR_MSGS_MESSAGE_ROBOTSTATERTMSG_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct RobotStateRTMsg_
{
typedef RobotStateRTMsg_<ContainerAllocator> Type;
RobotStateRTMsg_()
: time(0.0)
, q_target()
, qd_target()
, qdd_target()
, i_target()
, m_target()
, q_actual()
, qd_actual()
, i_actual()
, tool_acc_values()
, tcp_force()
, tool_vector()
, tcp_speed()
, digital_input_bits(0.0)
, motor_temperatures()
, controller_timer(0.0)
, test_value(0.0)
, robot_mode(0.0)
, joint_modes() {
}
RobotStateRTMsg_(const ContainerAllocator& _alloc)
: time(0.0)
, q_target(_alloc)
, qd_target(_alloc)
, qdd_target(_alloc)
, i_target(_alloc)
, m_target(_alloc)
, q_actual(_alloc)
, qd_actual(_alloc)
, i_actual(_alloc)
, tool_acc_values(_alloc)
, tcp_force(_alloc)
, tool_vector(_alloc)
, tcp_speed(_alloc)
, digital_input_bits(0.0)
, motor_temperatures(_alloc)
, controller_timer(0.0)
, test_value(0.0)
, robot_mode(0.0)
, joint_modes(_alloc) {
(void)_alloc;
}
typedef double _time_type;
_time_type time;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _q_target_type;
_q_target_type q_target;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _qd_target_type;
_qd_target_type qd_target;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _qdd_target_type;
_qdd_target_type qdd_target;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _i_target_type;
_i_target_type i_target;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _m_target_type;
_m_target_type m_target;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _q_actual_type;
_q_actual_type q_actual;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _qd_actual_type;
_qd_actual_type qd_actual;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _i_actual_type;
_i_actual_type i_actual;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _tool_acc_values_type;
_tool_acc_values_type tool_acc_values;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _tcp_force_type;
_tcp_force_type tcp_force;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _tool_vector_type;
_tool_vector_type tool_vector;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _tcp_speed_type;
_tcp_speed_type tcp_speed;
typedef double _digital_input_bits_type;
_digital_input_bits_type digital_input_bits;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _motor_temperatures_type;
_motor_temperatures_type motor_temperatures;
typedef double _controller_timer_type;
_controller_timer_type controller_timer;
typedef double _test_value_type;
_test_value_type test_value;
typedef double _robot_mode_type;
_robot_mode_type robot_mode;
typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _joint_modes_type;
_joint_modes_type joint_modes;
typedef boost::shared_ptr< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> const> ConstPtr;
}; // struct RobotStateRTMsg_
typedef ::ur_msgs::RobotStateRTMsg_<std::allocator<void> > RobotStateRTMsg;
typedef boost::shared_ptr< ::ur_msgs::RobotStateRTMsg > RobotStateRTMsgPtr;
typedef boost::shared_ptr< ::ur_msgs::RobotStateRTMsg const> RobotStateRTMsgConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': False, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> const>
: FalseType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
{
static const char* value()
{
return "ce6feddd3ccb4ca7dbcd0ff105b603c7";
}
static const char* value(const ::ur_msgs::RobotStateRTMsg_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0xce6feddd3ccb4ca7ULL;
static const uint64_t static_value2 = 0xdbcd0ff105b603c7ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/RobotStateRTMsg";
}
static const char* value(const ::ur_msgs::RobotStateRTMsg_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
{
static const char* value()
{
return "# Data structure for the realtime communications interface (aka Matlab interface)\n\
# used by the Universal Robots controller\n\
# \n\
# This data structure is send at 125 Hz on TCP port 30003\n\
# \n\
# Dokumentation can be found on the Universal Robots Support Wiki\n\
# (http://wiki03.lynero.net/Technical/RealTimeClientInterface?rev=9)\n\
\n\
float64 time\n\
float64[] q_target\n\
float64[] qd_target\n\
float64[] qdd_target\n\
float64[] i_target\n\
float64[] m_target\n\
float64[] q_actual\n\
float64[] qd_actual\n\
float64[] i_actual\n\
float64[] tool_acc_values\n\
float64[] tcp_force\n\
float64[] tool_vector\n\
float64[] tcp_speed\n\
float64 digital_input_bits\n\
float64[] motor_temperatures\n\
float64 controller_timer\n\
float64 test_value\n\
float64 robot_mode\n\
float64[] joint_modes\n\
";
}
static const char* value(const ::ur_msgs::RobotStateRTMsg_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.time);
stream.next(m.q_target);
stream.next(m.qd_target);
stream.next(m.qdd_target);
stream.next(m.i_target);
stream.next(m.m_target);
stream.next(m.q_actual);
stream.next(m.qd_actual);
stream.next(m.i_actual);
stream.next(m.tool_acc_values);
stream.next(m.tcp_force);
stream.next(m.tool_vector);
stream.next(m.tcp_speed);
stream.next(m.digital_input_bits);
stream.next(m.motor_temperatures);
stream.next(m.controller_timer);
stream.next(m.test_value);
stream.next(m.robot_mode);
stream.next(m.joint_modes);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct RobotStateRTMsg_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::RobotStateRTMsg_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::RobotStateRTMsg_<ContainerAllocator>& v)
{
s << indent << "time: ";
Printer<double>::stream(s, indent + " ", v.time);
s << indent << "q_target[]" << std::endl;
for (size_t i = 0; i < v.q_target.size(); ++i)
{
s << indent << " q_target[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.q_target[i]);
}
s << indent << "qd_target[]" << std::endl;
for (size_t i = 0; i < v.qd_target.size(); ++i)
{
s << indent << " qd_target[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.qd_target[i]);
}
s << indent << "qdd_target[]" << std::endl;
for (size_t i = 0; i < v.qdd_target.size(); ++i)
{
s << indent << " qdd_target[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.qdd_target[i]);
}
s << indent << "i_target[]" << std::endl;
for (size_t i = 0; i < v.i_target.size(); ++i)
{
s << indent << " i_target[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.i_target[i]);
}
s << indent << "m_target[]" << std::endl;
for (size_t i = 0; i < v.m_target.size(); ++i)
{
s << indent << " m_target[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.m_target[i]);
}
s << indent << "q_actual[]" << std::endl;
for (size_t i = 0; i < v.q_actual.size(); ++i)
{
s << indent << " q_actual[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.q_actual[i]);
}
s << indent << "qd_actual[]" << std::endl;
for (size_t i = 0; i < v.qd_actual.size(); ++i)
{
s << indent << " qd_actual[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.qd_actual[i]);
}
s << indent << "i_actual[]" << std::endl;
for (size_t i = 0; i < v.i_actual.size(); ++i)
{
s << indent << " i_actual[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.i_actual[i]);
}
s << indent << "tool_acc_values[]" << std::endl;
for (size_t i = 0; i < v.tool_acc_values.size(); ++i)
{
s << indent << " tool_acc_values[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.tool_acc_values[i]);
}
s << indent << "tcp_force[]" << std::endl;
for (size_t i = 0; i < v.tcp_force.size(); ++i)
{
s << indent << " tcp_force[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.tcp_force[i]);
}
s << indent << "tool_vector[]" << std::endl;
for (size_t i = 0; i < v.tool_vector.size(); ++i)
{
s << indent << " tool_vector[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.tool_vector[i]);
}
s << indent << "tcp_speed[]" << std::endl;
for (size_t i = 0; i < v.tcp_speed.size(); ++i)
{
s << indent << " tcp_speed[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.tcp_speed[i]);
}
s << indent << "digital_input_bits: ";
Printer<double>::stream(s, indent + " ", v.digital_input_bits);
s << indent << "motor_temperatures[]" << std::endl;
for (size_t i = 0; i < v.motor_temperatures.size(); ++i)
{
s << indent << " motor_temperatures[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.motor_temperatures[i]);
}
s << indent << "controller_timer: ";
Printer<double>::stream(s, indent + " ", v.controller_timer);
s << indent << "test_value: ";
Printer<double>::stream(s, indent + " ", v.test_value);
s << indent << "robot_mode: ";
Printer<double>::stream(s, indent + " ", v.robot_mode);
s << indent << "joint_modes[]" << std::endl;
for (size_t i = 0; i < v.joint_modes.size(); ++i)
{
s << indent << " joint_modes[" << i << "]: ";
Printer<double>::stream(s, indent + " ", v.joint_modes[i]);
}
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_ROBOTSTATERTMSG_H
+123
View File
@@ -0,0 +1,123 @@
// Generated by gencpp from file ur_msgs/SetIO.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_SETIO_H
#define UR_MSGS_MESSAGE_SETIO_H
#include <ros/service_traits.h>
#include <ur_msgs/SetIORequest.h>
#include <ur_msgs/SetIOResponse.h>
namespace ur_msgs
{
struct SetIO
{
typedef SetIORequest Request;
typedef SetIOResponse Response;
Request request;
Response response;
typedef Request RequestType;
typedef Response ResponseType;
}; // struct SetIO
} // namespace ur_msgs
namespace ros
{
namespace service_traits
{
template<>
struct MD5Sum< ::ur_msgs::SetIO > {
static const char* value()
{
return "e1b580ccf43a938f2efbbb98bbe3e277";
}
static const char* value(const ::ur_msgs::SetIO&) { return value(); }
};
template<>
struct DataType< ::ur_msgs::SetIO > {
static const char* value()
{
return "ur_msgs/SetIO";
}
static const char* value(const ::ur_msgs::SetIO&) { return value(); }
};
// service_traits::MD5Sum< ::ur_msgs::SetIORequest> should match
// service_traits::MD5Sum< ::ur_msgs::SetIO >
template<>
struct MD5Sum< ::ur_msgs::SetIORequest>
{
static const char* value()
{
return MD5Sum< ::ur_msgs::SetIO >::value();
}
static const char* value(const ::ur_msgs::SetIORequest&)
{
return value();
}
};
// service_traits::DataType< ::ur_msgs::SetIORequest> should match
// service_traits::DataType< ::ur_msgs::SetIO >
template<>
struct DataType< ::ur_msgs::SetIORequest>
{
static const char* value()
{
return DataType< ::ur_msgs::SetIO >::value();
}
static const char* value(const ::ur_msgs::SetIORequest&)
{
return value();
}
};
// service_traits::MD5Sum< ::ur_msgs::SetIOResponse> should match
// service_traits::MD5Sum< ::ur_msgs::SetIO >
template<>
struct MD5Sum< ::ur_msgs::SetIOResponse>
{
static const char* value()
{
return MD5Sum< ::ur_msgs::SetIO >::value();
}
static const char* value(const ::ur_msgs::SetIOResponse&)
{
return value();
}
};
// service_traits::DataType< ::ur_msgs::SetIOResponse> should match
// service_traits::DataType< ::ur_msgs::SetIO >
template<>
struct DataType< ::ur_msgs::SetIOResponse>
{
static const char* value()
{
return DataType< ::ur_msgs::SetIO >::value();
}
static const char* value(const ::ur_msgs::SetIOResponse&)
{
return value();
}
};
} // namespace service_traits
} // namespace ros
#endif // UR_MSGS_MESSAGE_SETIO_H
+271
View File
@@ -0,0 +1,271 @@
// Generated by gencpp from file ur_msgs/SetIORequest.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_SETIOREQUEST_H
#define UR_MSGS_MESSAGE_SETIOREQUEST_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct SetIORequest_
{
typedef SetIORequest_<ContainerAllocator> Type;
SetIORequest_()
: fun(0)
, pin(0)
, state(0.0) {
}
SetIORequest_(const ContainerAllocator& _alloc)
: fun(0)
, pin(0)
, state(0.0) {
(void)_alloc;
}
typedef int8_t _fun_type;
_fun_type fun;
typedef int8_t _pin_type;
_pin_type pin;
typedef float _state_type;
_state_type state;
enum {
FUN_SET_DIGITAL_OUT = 1,
FUN_SET_FLAG = 2,
FUN_SET_ANALOG_OUT = 3,
FUN_SET_TOOL_VOLTAGE = 4,
STATE_OFF = 0,
STATE_ON = 1,
STATE_TOOL_VOLTAGE_0V = 0,
STATE_TOOL_VOLTAGE_12V = 12,
STATE_TOOL_VOLTAGE_24V = 24,
};
typedef boost::shared_ptr< ::ur_msgs::SetIORequest_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::SetIORequest_<ContainerAllocator> const> ConstPtr;
}; // struct SetIORequest_
typedef ::ur_msgs::SetIORequest_<std::allocator<void> > SetIORequest;
typedef boost::shared_ptr< ::ur_msgs::SetIORequest > SetIORequestPtr;
typedef boost::shared_ptr< ::ur_msgs::SetIORequest const> SetIORequestConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::SetIORequest_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::SetIORequest_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetIORequest_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetIORequest_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetIORequest_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetIORequest_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetIORequest_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetIORequest_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::SetIORequest_<ContainerAllocator> >
{
static const char* value()
{
return "85200c86fbe60ea3e047bae3d6574bfd";
}
static const char* value(const ::ur_msgs::SetIORequest_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x85200c86fbe60ea3ULL;
static const uint64_t static_value2 = 0xe047bae3d6574bfdULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::SetIORequest_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/SetIORequest";
}
static const char* value(const ::ur_msgs::SetIORequest_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::SetIORequest_<ContainerAllocator> >
{
static const char* value()
{
return "\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
\n\
int8 FUN_SET_DIGITAL_OUT = 1\n\
int8 FUN_SET_FLAG = 2\n\
int8 FUN_SET_ANALOG_OUT = 3\n\
int8 FUN_SET_TOOL_VOLTAGE = 4\n\
\n\
\n\
int8 STATE_OFF = 0\n\
int8 STATE_ON = 1\n\
\n\
\n\
int8 STATE_TOOL_VOLTAGE_0V = 0\n\
int8 STATE_TOOL_VOLTAGE_12V = 12\n\
int8 STATE_TOOL_VOLTAGE_24V = 24\n\
\n\
\n\
int8 fun\n\
int8 pin\n\
float32 state\n\
";
}
static const char* value(const ::ur_msgs::SetIORequest_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::SetIORequest_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.fun);
stream.next(m.pin);
stream.next(m.state);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct SetIORequest_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::SetIORequest_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::SetIORequest_<ContainerAllocator>& v)
{
s << indent << "fun: ";
Printer<int8_t>::stream(s, indent + " ", v.fun);
s << indent << "pin: ";
Printer<int8_t>::stream(s, indent + " ", v.pin);
s << indent << "state: ";
Printer<float>::stream(s, indent + " ", v.state);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_SETIOREQUEST_H
+188
View File
@@ -0,0 +1,188 @@
// Generated by gencpp from file ur_msgs/SetIOResponse.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_SETIORESPONSE_H
#define UR_MSGS_MESSAGE_SETIORESPONSE_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct SetIOResponse_
{
typedef SetIOResponse_<ContainerAllocator> Type;
SetIOResponse_()
: success(false) {
}
SetIOResponse_(const ContainerAllocator& _alloc)
: success(false) {
(void)_alloc;
}
typedef uint8_t _success_type;
_success_type success;
typedef boost::shared_ptr< ::ur_msgs::SetIOResponse_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::SetIOResponse_<ContainerAllocator> const> ConstPtr;
}; // struct SetIOResponse_
typedef ::ur_msgs::SetIOResponse_<std::allocator<void> > SetIOResponse;
typedef boost::shared_ptr< ::ur_msgs::SetIOResponse > SetIOResponsePtr;
typedef boost::shared_ptr< ::ur_msgs::SetIOResponse const> SetIOResponseConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::SetIOResponse_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::SetIOResponse_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetIOResponse_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetIOResponse_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetIOResponse_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
{
static const char* value()
{
return "358e233cde0c8a8bcfea4ce193f8fc15";
}
static const char* value(const ::ur_msgs::SetIOResponse_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x358e233cde0c8a8bULL;
static const uint64_t static_value2 = 0xcfea4ce193f8fc15ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/SetIOResponse";
}
static const char* value(const ::ur_msgs::SetIOResponse_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
{
static const char* value()
{
return "bool success\n\
\n\
";
}
static const char* value(const ::ur_msgs::SetIOResponse_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.success);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct SetIOResponse_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::SetIOResponse_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::SetIOResponse_<ContainerAllocator>& v)
{
s << indent << "success: ";
Printer<uint8_t>::stream(s, indent + " ", v.success);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_SETIORESPONSE_H
+123
View File
@@ -0,0 +1,123 @@
// Generated by gencpp from file ur_msgs/SetPayload.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_SETPAYLOAD_H
#define UR_MSGS_MESSAGE_SETPAYLOAD_H
#include <ros/service_traits.h>
#include <ur_msgs/SetPayloadRequest.h>
#include <ur_msgs/SetPayloadResponse.h>
namespace ur_msgs
{
struct SetPayload
{
typedef SetPayloadRequest Request;
typedef SetPayloadResponse Response;
Request request;
Response response;
typedef Request RequestType;
typedef Response ResponseType;
}; // struct SetPayload
} // namespace ur_msgs
namespace ros
{
namespace service_traits
{
template<>
struct MD5Sum< ::ur_msgs::SetPayload > {
static const char* value()
{
return "7f12eb632882cb73e5721178d0073e39";
}
static const char* value(const ::ur_msgs::SetPayload&) { return value(); }
};
template<>
struct DataType< ::ur_msgs::SetPayload > {
static const char* value()
{
return "ur_msgs/SetPayload";
}
static const char* value(const ::ur_msgs::SetPayload&) { return value(); }
};
// service_traits::MD5Sum< ::ur_msgs::SetPayloadRequest> should match
// service_traits::MD5Sum< ::ur_msgs::SetPayload >
template<>
struct MD5Sum< ::ur_msgs::SetPayloadRequest>
{
static const char* value()
{
return MD5Sum< ::ur_msgs::SetPayload >::value();
}
static const char* value(const ::ur_msgs::SetPayloadRequest&)
{
return value();
}
};
// service_traits::DataType< ::ur_msgs::SetPayloadRequest> should match
// service_traits::DataType< ::ur_msgs::SetPayload >
template<>
struct DataType< ::ur_msgs::SetPayloadRequest>
{
static const char* value()
{
return DataType< ::ur_msgs::SetPayload >::value();
}
static const char* value(const ::ur_msgs::SetPayloadRequest&)
{
return value();
}
};
// service_traits::MD5Sum< ::ur_msgs::SetPayloadResponse> should match
// service_traits::MD5Sum< ::ur_msgs::SetPayload >
template<>
struct MD5Sum< ::ur_msgs::SetPayloadResponse>
{
static const char* value()
{
return MD5Sum< ::ur_msgs::SetPayload >::value();
}
static const char* value(const ::ur_msgs::SetPayloadResponse&)
{
return value();
}
};
// service_traits::DataType< ::ur_msgs::SetPayloadResponse> should match
// service_traits::DataType< ::ur_msgs::SetPayload >
template<>
struct DataType< ::ur_msgs::SetPayloadResponse>
{
static const char* value()
{
return DataType< ::ur_msgs::SetPayload >::value();
}
static const char* value(const ::ur_msgs::SetPayloadResponse&)
{
return value();
}
};
} // namespace service_traits
} // namespace ros
#endif // UR_MSGS_MESSAGE_SETPAYLOAD_H
+187
View File
@@ -0,0 +1,187 @@
// Generated by gencpp from file ur_msgs/SetPayloadRequest.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_SETPAYLOADREQUEST_H
#define UR_MSGS_MESSAGE_SETPAYLOADREQUEST_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct SetPayloadRequest_
{
typedef SetPayloadRequest_<ContainerAllocator> Type;
SetPayloadRequest_()
: payload(0.0) {
}
SetPayloadRequest_(const ContainerAllocator& _alloc)
: payload(0.0) {
(void)_alloc;
}
typedef float _payload_type;
_payload_type payload;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> const> ConstPtr;
}; // struct SetPayloadRequest_
typedef ::ur_msgs::SetPayloadRequest_<std::allocator<void> > SetPayloadRequest;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadRequest > SetPayloadRequestPtr;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadRequest const> SetPayloadRequestConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::SetPayloadRequest_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
{
static const char* value()
{
return "d12269f931817591aa52047629ca66ca";
}
static const char* value(const ::ur_msgs::SetPayloadRequest_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0xd12269f931817591ULL;
static const uint64_t static_value2 = 0xaa52047629ca66caULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/SetPayloadRequest";
}
static const char* value(const ::ur_msgs::SetPayloadRequest_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
{
static const char* value()
{
return "float32 payload\n\
";
}
static const char* value(const ::ur_msgs::SetPayloadRequest_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.payload);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct SetPayloadRequest_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::SetPayloadRequest_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::SetPayloadRequest_<ContainerAllocator>& v)
{
s << indent << "payload: ";
Printer<float>::stream(s, indent + " ", v.payload);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_SETPAYLOADREQUEST_H
+188
View File
@@ -0,0 +1,188 @@
// Generated by gencpp from file ur_msgs/SetPayloadResponse.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_SETPAYLOADRESPONSE_H
#define UR_MSGS_MESSAGE_SETPAYLOADRESPONSE_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct SetPayloadResponse_
{
typedef SetPayloadResponse_<ContainerAllocator> Type;
SetPayloadResponse_()
: success(false) {
}
SetPayloadResponse_(const ContainerAllocator& _alloc)
: success(false) {
(void)_alloc;
}
typedef uint8_t _success_type;
_success_type success;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> const> ConstPtr;
}; // struct SetPayloadResponse_
typedef ::ur_msgs::SetPayloadResponse_<std::allocator<void> > SetPayloadResponse;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadResponse > SetPayloadResponsePtr;
typedef boost::shared_ptr< ::ur_msgs::SetPayloadResponse const> SetPayloadResponseConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::SetPayloadResponse_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
{
static const char* value()
{
return "358e233cde0c8a8bcfea4ce193f8fc15";
}
static const char* value(const ::ur_msgs::SetPayloadResponse_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x358e233cde0c8a8bULL;
static const uint64_t static_value2 = 0xcfea4ce193f8fc15ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/SetPayloadResponse";
}
static const char* value(const ::ur_msgs::SetPayloadResponse_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
{
static const char* value()
{
return "bool success\n\
\n\
";
}
static const char* value(const ::ur_msgs::SetPayloadResponse_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.success);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct SetPayloadResponse_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::SetPayloadResponse_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::SetPayloadResponse_<ContainerAllocator>& v)
{
s << indent << "success: ";
Printer<uint8_t>::stream(s, indent + " ", v.success);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_SETPAYLOADRESPONSE_H
+287
View File
@@ -0,0 +1,287 @@
// Generated by gencpp from file ur_msgs/ToolDataMsg.msg
// DO NOT EDIT!
#ifndef UR_MSGS_MESSAGE_TOOLDATAMSG_H
#define UR_MSGS_MESSAGE_TOOLDATAMSG_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_msgs
{
template <class ContainerAllocator>
struct ToolDataMsg_
{
typedef ToolDataMsg_<ContainerAllocator> Type;
ToolDataMsg_()
: analog_input_range2(0)
, analog_input_range3(0)
, analog_input2(0.0)
, analog_input3(0.0)
, tool_voltage_48v(0.0)
, tool_output_voltage(0)
, tool_current(0.0)
, tool_temperature(0.0)
, tool_mode(0) {
}
ToolDataMsg_(const ContainerAllocator& _alloc)
: analog_input_range2(0)
, analog_input_range3(0)
, analog_input2(0.0)
, analog_input3(0.0)
, tool_voltage_48v(0.0)
, tool_output_voltage(0)
, tool_current(0.0)
, tool_temperature(0.0)
, tool_mode(0) {
(void)_alloc;
}
typedef int8_t _analog_input_range2_type;
_analog_input_range2_type analog_input_range2;
typedef int8_t _analog_input_range3_type;
_analog_input_range3_type analog_input_range3;
typedef double _analog_input2_type;
_analog_input2_type analog_input2;
typedef double _analog_input3_type;
_analog_input3_type analog_input3;
typedef float _tool_voltage_48v_type;
_tool_voltage_48v_type tool_voltage_48v;
typedef uint8_t _tool_output_voltage_type;
_tool_output_voltage_type tool_output_voltage;
typedef float _tool_current_type;
_tool_current_type tool_current;
typedef float _tool_temperature_type;
_tool_temperature_type tool_temperature;
typedef uint8_t _tool_mode_type;
_tool_mode_type tool_mode;
enum {
ANALOG_INPUT_RANGE_CURRENT = 0,
ANALOG_INPUT_RANGE_VOLTAGE = 1,
TOOL_BOOTLOADER_MODE = 249u,
TOOL_RUNNING_MODE = 253u,
TOOL_IDLE_MODE = 255u,
};
typedef boost::shared_ptr< ::ur_msgs::ToolDataMsg_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_msgs::ToolDataMsg_<ContainerAllocator> const> ConstPtr;
}; // struct ToolDataMsg_
typedef ::ur_msgs::ToolDataMsg_<std::allocator<void> > ToolDataMsg;
typedef boost::shared_ptr< ::ur_msgs::ToolDataMsg > ToolDataMsgPtr;
typedef boost::shared_ptr< ::ur_msgs::ToolDataMsg const> ToolDataMsgConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_msgs::ToolDataMsg_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {'std_msgs': ['/opt/ros/kinetic/share/std_msgs/cmake/../msg'], 'ur_msgs': ['/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_msgs/msg']}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_msgs::ToolDataMsg_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_msgs::ToolDataMsg_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_msgs::ToolDataMsg_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "404fc266f37d89f75b372d12fa94a122";
}
static const char* value(const ::ur_msgs::ToolDataMsg_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x404fc266f37d89f7ULL;
static const uint64_t static_value2 = 0x5b372d12fa94a122ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "ur_msgs/ToolDataMsg";
}
static const char* value(const ::ur_msgs::ToolDataMsg_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
{
static const char* value()
{
return "# This data structure contains the ToolData structure\n\
# used by the Universal Robots controller\n\
\n\
int8 ANALOG_INPUT_RANGE_CURRENT = 0\n\
int8 ANALOG_INPUT_RANGE_VOLTAGE = 1\n\
\n\
int8 analog_input_range2 # one of ANALOG_INPUT_RANGE_*\n\
int8 analog_input_range3 # one of ANALOG_INPUT_RANGE_*\n\
float64 analog_input2\n\
float64 analog_input3\n\
float32 tool_voltage_48v\n\
uint8 tool_output_voltage\n\
float32 tool_current\n\
float32 tool_temperature\n\
\n\
uint8 TOOL_BOOTLOADER_MODE = 249\n\
uint8 TOOL_RUNNING_MODE = 253\n\
uint8 TOOL_IDLE_MODE = 255\n\
\n\
uint8 tool_mode # one of TOOL_*\n\
";
}
static const char* value(const ::ur_msgs::ToolDataMsg_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.analog_input_range2);
stream.next(m.analog_input_range3);
stream.next(m.analog_input2);
stream.next(m.analog_input3);
stream.next(m.tool_voltage_48v);
stream.next(m.tool_output_voltage);
stream.next(m.tool_current);
stream.next(m.tool_temperature);
stream.next(m.tool_mode);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct ToolDataMsg_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_msgs::ToolDataMsg_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_msgs::ToolDataMsg_<ContainerAllocator>& v)
{
s << indent << "analog_input_range2: ";
Printer<int8_t>::stream(s, indent + " ", v.analog_input_range2);
s << indent << "analog_input_range3: ";
Printer<int8_t>::stream(s, indent + " ", v.analog_input_range3);
s << indent << "analog_input2: ";
Printer<double>::stream(s, indent + " ", v.analog_input2);
s << indent << "analog_input3: ";
Printer<double>::stream(s, indent + " ", v.analog_input3);
s << indent << "tool_voltage_48v: ";
Printer<float>::stream(s, indent + " ", v.tool_voltage_48v);
s << indent << "tool_output_voltage: ";
Printer<uint8_t>::stream(s, indent + " ", v.tool_output_voltage);
s << indent << "tool_current: ";
Printer<float>::stream(s, indent + " ", v.tool_current);
s << indent << "tool_temperature: ";
Printer<float>::stream(s, indent + " ", v.tool_temperature);
s << indent << "tool_mode: ";
Printer<uint8_t>::stream(s, indent + " ", v.tool_mode);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_MSGS_MESSAGE_TOOLDATAMSG_H
+123
View File
@@ -0,0 +1,123 @@
// Generated by gencpp from file ur_rtde_msgs/SetSpeedSlider.msg
// DO NOT EDIT!
#ifndef UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDER_H
#define UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDER_H
#include <ros/service_traits.h>
#include <ur_rtde_msgs/SetSpeedSliderRequest.h>
#include <ur_rtde_msgs/SetSpeedSliderResponse.h>
namespace ur_rtde_msgs
{
struct SetSpeedSlider
{
typedef SetSpeedSliderRequest Request;
typedef SetSpeedSliderResponse Response;
Request request;
Response response;
typedef Request RequestType;
typedef Response ResponseType;
}; // struct SetSpeedSlider
} // namespace ur_rtde_msgs
namespace ros
{
namespace service_traits
{
template<>
struct MD5Sum< ::ur_rtde_msgs::SetSpeedSlider > {
static const char* value()
{
return "6dffcb6acc6bec80315e1c470ea1bca9";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSlider&) { return value(); }
};
template<>
struct DataType< ::ur_rtde_msgs::SetSpeedSlider > {
static const char* value()
{
return "ur_rtde_msgs/SetSpeedSlider";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSlider&) { return value(); }
};
// service_traits::MD5Sum< ::ur_rtde_msgs::SetSpeedSliderRequest> should match
// service_traits::MD5Sum< ::ur_rtde_msgs::SetSpeedSlider >
template<>
struct MD5Sum< ::ur_rtde_msgs::SetSpeedSliderRequest>
{
static const char* value()
{
return MD5Sum< ::ur_rtde_msgs::SetSpeedSlider >::value();
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderRequest&)
{
return value();
}
};
// service_traits::DataType< ::ur_rtde_msgs::SetSpeedSliderRequest> should match
// service_traits::DataType< ::ur_rtde_msgs::SetSpeedSlider >
template<>
struct DataType< ::ur_rtde_msgs::SetSpeedSliderRequest>
{
static const char* value()
{
return DataType< ::ur_rtde_msgs::SetSpeedSlider >::value();
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderRequest&)
{
return value();
}
};
// service_traits::MD5Sum< ::ur_rtde_msgs::SetSpeedSliderResponse> should match
// service_traits::MD5Sum< ::ur_rtde_msgs::SetSpeedSlider >
template<>
struct MD5Sum< ::ur_rtde_msgs::SetSpeedSliderResponse>
{
static const char* value()
{
return MD5Sum< ::ur_rtde_msgs::SetSpeedSlider >::value();
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderResponse&)
{
return value();
}
};
// service_traits::DataType< ::ur_rtde_msgs::SetSpeedSliderResponse> should match
// service_traits::DataType< ::ur_rtde_msgs::SetSpeedSlider >
template<>
struct DataType< ::ur_rtde_msgs::SetSpeedSliderResponse>
{
static const char* value()
{
return DataType< ::ur_rtde_msgs::SetSpeedSlider >::value();
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderResponse&)
{
return value();
}
};
} // namespace service_traits
} // namespace ros
#endif // UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDER_H
@@ -0,0 +1,187 @@
// Generated by gencpp from file ur_rtde_msgs/SetSpeedSliderRequest.msg
// DO NOT EDIT!
#ifndef UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDERREQUEST_H
#define UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDERREQUEST_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_rtde_msgs
{
template <class ContainerAllocator>
struct SetSpeedSliderRequest_
{
typedef SetSpeedSliderRequest_<ContainerAllocator> Type;
SetSpeedSliderRequest_()
: data(0.0) {
}
SetSpeedSliderRequest_(const ContainerAllocator& _alloc)
: data(0.0) {
(void)_alloc;
}
typedef double _data_type;
_data_type data;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> const> ConstPtr;
}; // struct SetSpeedSliderRequest_
typedef ::ur_rtde_msgs::SetSpeedSliderRequest_<std::allocator<void> > SetSpeedSliderRequest;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderRequest > SetSpeedSliderRequestPtr;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderRequest const> SetSpeedSliderRequestConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_rtde_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
{
static const char* value()
{
return "fdb28210bfa9d7c91146260178d9a584";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0xfdb28210bfa9d7c9ULL;
static const uint64_t static_value2 = 0x1146260178d9a584ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
{
static const char* value()
{
return "ur_rtde_msgs/SetSpeedSliderRequest";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
{
static const char* value()
{
return "float64 data\n\
";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.data);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct SetSpeedSliderRequest_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_rtde_msgs::SetSpeedSliderRequest_<ContainerAllocator>& v)
{
s << indent << "data: ";
Printer<double>::stream(s, indent + " ", v.data);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDERREQUEST_H
@@ -0,0 +1,188 @@
// Generated by gencpp from file ur_rtde_msgs/SetSpeedSliderResponse.msg
// DO NOT EDIT!
#ifndef UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDERRESPONSE_H
#define UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDERRESPONSE_H
#include <string>
#include <vector>
#include <map>
#include <ros/types.h>
#include <ros/serialization.h>
#include <ros/builtin_message_traits.h>
#include <ros/message_operations.h>
namespace ur_rtde_msgs
{
template <class ContainerAllocator>
struct SetSpeedSliderResponse_
{
typedef SetSpeedSliderResponse_<ContainerAllocator> Type;
SetSpeedSliderResponse_()
: success(false) {
}
SetSpeedSliderResponse_(const ContainerAllocator& _alloc)
: success(false) {
(void)_alloc;
}
typedef uint8_t _success_type;
_success_type success;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> const> ConstPtr;
}; // struct SetSpeedSliderResponse_
typedef ::ur_rtde_msgs::SetSpeedSliderResponse_<std::allocator<void> > SetSpeedSliderResponse;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderResponse > SetSpeedSliderResponsePtr;
typedef boost::shared_ptr< ::ur_rtde_msgs::SetSpeedSliderResponse const> SetSpeedSliderResponseConstPtr;
// constants requiring out of line definition
template<typename ContainerAllocator>
std::ostream& operator<<(std::ostream& s, const ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> & v)
{
ros::message_operations::Printer< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >::stream(s, "", v);
return s;
}
} // namespace ur_rtde_msgs
namespace ros
{
namespace message_traits
{
// BOOLTRAITS {'IsFixedSize': True, 'IsMessage': True, 'HasHeader': False}
// {}
// !!!!!!!!!!! ['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parsed_fields', 'constants', 'fields', 'full_name', 'has_header', 'header_present', 'names', 'package', 'parsed_fields', 'short_name', 'text', 'types']
template <class ContainerAllocator>
struct IsFixedSize< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsFixedSize< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
: TrueType
{ };
template <class ContainerAllocator>
struct IsMessage< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> const>
: TrueType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
: FalseType
{ };
template <class ContainerAllocator>
struct HasHeader< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> const>
: FalseType
{ };
template<class ContainerAllocator>
struct MD5Sum< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
{
static const char* value()
{
return "358e233cde0c8a8bcfea4ce193f8fc15";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator>&) { return value(); }
static const uint64_t static_value1 = 0x358e233cde0c8a8bULL;
static const uint64_t static_value2 = 0xcfea4ce193f8fc15ULL;
};
template<class ContainerAllocator>
struct DataType< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
{
static const char* value()
{
return "ur_rtde_msgs/SetSpeedSliderResponse";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator>&) { return value(); }
};
template<class ContainerAllocator>
struct Definition< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
{
static const char* value()
{
return "bool success\n\
\n\
";
}
static const char* value(const ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator>&) { return value(); }
};
} // namespace message_traits
} // namespace ros
namespace ros
{
namespace serialization
{
template<class ContainerAllocator> struct Serializer< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
{
template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
{
stream.next(m.success);
}
ROS_DECLARE_ALLINONE_SERIALIZER
}; // struct SetSpeedSliderResponse_
} // namespace serialization
} // namespace ros
namespace ros
{
namespace message_operations
{
template<class ContainerAllocator>
struct Printer< ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator> >
{
template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::ur_rtde_msgs::SetSpeedSliderResponse_<ContainerAllocator>& v)
{
s << indent << "success: ";
Printer<uint8_t>::stream(s, indent + " ", v.success);
}
};
} // namespace message_operations
} // namespace ros
#endif // UR_RTDE_MSGS_MESSAGE_SETSPEEDSLIDERRESPONSE_H
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: bio_ik
Description: Description of bio_ik
Version: 1.0.0
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/bio_ik-kinetic-support/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib -lbio_ik
Requires: moveit_core moveit_ros_planning pluginlib roscpp tf tf_conversions
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: controller_stopper
Description: Description of controller_stopper
Version: 0.0.1
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires: controller_manager_msgs roscpp std_msgs
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: jog_arm
Description: Description of jog_arm
Version: 0.0.3
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/jog_arm/jog_arm/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires: roscpp moveit_ros_manipulation moveit_ros_move_group moveit_ros_planning_interface tf
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: jog_msgs
Description: Description of jog_msgs
Version: 0.0.0
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires: message_runtime std_msgs geometry_msgs
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: moveit_tutorials
Description: Description of moveit_tutorials
Version: 0.1.0
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/moveit_tutorials/doc/interactivity/include -I/usr/include/eigen3
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib -linteractivity_utils
Requires: moveit_core moveit_visual_tools moveit_ros_planning_interface interactive_markers
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: panda_moveit_config
Description: Description of panda_moveit_config
Version: 0.7.0
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: roboglue_ros
Description: Description of roboglue_ros
Version: 0.0.2
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/roboglue_ros/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib -lroboglue_ros
Requires: roscpp
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur10_e_moveit_config
Description: Description of ur10_e_moveit_config
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur10_moveit_config
Description: Description of ur10_moveit_config
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur3_e_moveit_config
Description: Description of ur3_e_moveit_config
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur3_moveit_config
Description: Description of ur3_moveit_config
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur5_e_moveit_config
Description: Description of ur5_e_moveit_config
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur5_moveit_config
Description: Description of ur5_moveit_config
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_bringup
Description: Description of ur_bringup
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_calibration
Description: Description of ur_calibration
Version: 0.0.2
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires: roscpp ur_rtde_driver
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_controllers
Description: Description of ur_controllers
Version: 0.0.2
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robots_ros_driver/ur_controllers/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib -lur_controllers
Requires: controller_interface hardware_interface joint_trajectory_controller pluginlib realtime_tools std_msgs
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_description
Description: Description of ur_description
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_driver
Description: Description of ur_driver
Version: 1.2.5
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires: dynamic_reconfigure
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_e_description
Description: Description of ur_e_description
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_e_gazebo
Description: Description of ur_e_gazebo
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_gazebo
Description: Description of ur_gazebo
Version: 1.2.5
Cflags:
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires:
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_kinematics
Description: Description of ur_kinematics
Version: 1.2.5
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_kinematics/include -I/usr/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib -lur3_kin -lur5_kin -lur10_kin -lur3_moveit_plugin -lur5_moveit_plugin -lur10_moveit_plugin /usr/lib/x86_64-linux-gnu/libboost_system.so
Requires: roscpp geometry_msgs moveit_core moveit_kinematics moveit_ros_planning pluginlib tf_conversions
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_modern_driver
Description: Description of ur_modern_driver
Version: 0.1.0
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/ur_modern_driver/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib -lur_hardware_interface
Requires: actionlib control_msgs controller_manager geometry_msgs hardware_interface industrial_msgs roscpp sensor_msgs trajectory_msgs ur_msgs
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_msgs
Description: Description of ur_msgs
Version: 1.2.5
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires: message_runtime std_msgs
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_rtde_driver
Description: Description of ur_rtde_driver
Version: 0.0.3
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robots_ros_driver/ur_rtde_driver/include -I/usr/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib -lur_rtde_driver
Requires: actionlib control_msgs controller_manager geometry_msgs hardware_interface industrial_msgs roscpp sensor_msgs tf tf2_geometry_msgs tf2_msgs trajectory_msgs ur_controllers ur_msgs std_srvs ur_rtde_msgs
+8
View File
@@ -0,0 +1,8 @@
prefix=/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel
Name: ur_rtde_msgs
Description: Description of ur_rtde_msgs
Version: 0.0.1
Cflags: -I/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/include
Libs: -L/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/devel/lib
Requires: message_runtime
@@ -0,0 +1,304 @@
# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from jog_msgs/JogFrame.msg. Do not edit."""
import sys
python3 = True if sys.hexversion > 0x03000000 else False
import genpy
import struct
import geometry_msgs.msg
import std_msgs.msg
class JogFrame(genpy.Message):
_md5sum = "e342f29bf6beaf00261bdae365abfff9"
_type = "jog_msgs/JogFrame"
_has_header = True #flag to mark the presence of a Header object
_full_text = """# This is a message to hold data to jog by specifying a target
# frame. It uses MoveIt! kinematics, so you need to specify the
# JointGroup name to use in group_name. (lienar|angular)_delta is the
# amount of displacement.
# header message. You must set frame_id to define the reference
# coordinate system of the displacament
Header header
# Name of JointGroup of MoveIt!
string group_name
# Target link name to jog. The link must be in the JoingGroup
string link_name
# Linear displacement vector to jog. The refrence frame is defined by
# frame_id in header. Unit is in meter.
geometry_msgs/Vector3 linear_delta
# Angular displacement vector to jog. The refrence frame is defined by
# frame_id in header. Unit is in radian.
geometry_msgs/Vector3 angular_delta
# It uses avoid_collisions option of MoveIt! kinematics. If it is
# true, the robot doesn't move if any collisions occured.
bool avoid_collisions
================================================================================
MSG: std_msgs/Header
# Standard metadata for higher-level stamped data types.
# This is generally used to communicate timestamped data
# in a particular coordinate frame.
#
# sequence ID: consecutively increasing ID
uint32 seq
#Two-integer timestamp that is expressed as:
# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
# time-handling sugar is provided by the client library
time stamp
#Frame this data is associated with
# 0: no frame
# 1: global frame
string frame_id
================================================================================
MSG: geometry_msgs/Vector3
# This represents a vector in free space.
# It is only meant to represent a direction. Therefore, it does not
# make sense to apply a translation to it (e.g., when applying a
# generic rigid transformation to a Vector3, tf2 will only apply the
# rotation). If you want your data to be translatable too, use the
# geometry_msgs/Point message instead.
float64 x
float64 y
float64 z"""
__slots__ = ['header','group_name','link_name','linear_delta','angular_delta','avoid_collisions']
_slot_types = ['std_msgs/Header','string','string','geometry_msgs/Vector3','geometry_msgs/Vector3','bool']
def __init__(self, *args, **kwds):
"""
Constructor. Any message fields that are implicitly/explicitly
set to None will be assigned a default value. The recommend
use is keyword arguments as this is more robust to future message
changes. You cannot mix in-order arguments and keyword arguments.
The available fields are:
header,group_name,link_name,linear_delta,angular_delta,avoid_collisions
:param args: complete set of field values, in .msg order
:param kwds: use keyword arguments corresponding to message field names
to set specific fields.
"""
if args or kwds:
super(JogFrame, self).__init__(*args, **kwds)
#message fields cannot be None, assign default values for those that are
if self.header is None:
self.header = std_msgs.msg.Header()
if self.group_name is None:
self.group_name = ''
if self.link_name is None:
self.link_name = ''
if self.linear_delta is None:
self.linear_delta = geometry_msgs.msg.Vector3()
if self.angular_delta is None:
self.angular_delta = geometry_msgs.msg.Vector3()
if self.avoid_collisions is None:
self.avoid_collisions = False
else:
self.header = std_msgs.msg.Header()
self.group_name = ''
self.link_name = ''
self.linear_delta = geometry_msgs.msg.Vector3()
self.angular_delta = geometry_msgs.msg.Vector3()
self.avoid_collisions = False
def _get_types(self):
"""
internal API method
"""
return self._slot_types
def serialize(self, buff):
"""
serialize message into buffer
:param buff: buffer, ``StringIO``
"""
try:
_x = self
buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
_x = self.header.frame_id
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
_x = self.group_name
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
_x = self.link_name
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
_x = self
buff.write(_get_struct_6dB().pack(_x.linear_delta.x, _x.linear_delta.y, _x.linear_delta.z, _x.angular_delta.x, _x.angular_delta.y, _x.angular_delta.z, _x.avoid_collisions))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize(self, str):
"""
unpack serialized message in str into this message instance
:param str: byte array of serialized message, ``str``
"""
try:
if self.header is None:
self.header = std_msgs.msg.Header()
if self.linear_delta is None:
self.linear_delta = geometry_msgs.msg.Vector3()
if self.angular_delta is None:
self.angular_delta = geometry_msgs.msg.Vector3()
end = 0
_x = self
start = end
end += 12
(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.header.frame_id = str[start:end].decode('utf-8')
else:
self.header.frame_id = str[start:end]
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.group_name = str[start:end].decode('utf-8')
else:
self.group_name = str[start:end]
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.link_name = str[start:end].decode('utf-8')
else:
self.link_name = str[start:end]
_x = self
start = end
end += 49
(_x.linear_delta.x, _x.linear_delta.y, _x.linear_delta.z, _x.angular_delta.x, _x.angular_delta.y, _x.angular_delta.z, _x.avoid_collisions,) = _get_struct_6dB().unpack(str[start:end])
self.avoid_collisions = bool(self.avoid_collisions)
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
def serialize_numpy(self, buff, numpy):
"""
serialize message with numpy array types into buffer
:param buff: buffer, ``StringIO``
:param numpy: numpy python module
"""
try:
_x = self
buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
_x = self.header.frame_id
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
_x = self.group_name
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
_x = self.link_name
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
_x = self
buff.write(_get_struct_6dB().pack(_x.linear_delta.x, _x.linear_delta.y, _x.linear_delta.z, _x.angular_delta.x, _x.angular_delta.y, _x.angular_delta.z, _x.avoid_collisions))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize_numpy(self, str, numpy):
"""
unpack serialized message in str into this message instance using numpy for array types
:param str: byte array of serialized message, ``str``
:param numpy: numpy python module
"""
try:
if self.header is None:
self.header = std_msgs.msg.Header()
if self.linear_delta is None:
self.linear_delta = geometry_msgs.msg.Vector3()
if self.angular_delta is None:
self.angular_delta = geometry_msgs.msg.Vector3()
end = 0
_x = self
start = end
end += 12
(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.header.frame_id = str[start:end].decode('utf-8')
else:
self.header.frame_id = str[start:end]
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.group_name = str[start:end].decode('utf-8')
else:
self.group_name = str[start:end]
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.link_name = str[start:end].decode('utf-8')
else:
self.link_name = str[start:end]
_x = self
start = end
end += 49
(_x.linear_delta.x, _x.linear_delta.y, _x.linear_delta.z, _x.angular_delta.x, _x.angular_delta.y, _x.angular_delta.z, _x.avoid_collisions,) = _get_struct_6dB().unpack(str[start:end])
self.avoid_collisions = bool(self.avoid_collisions)
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
_struct_I = genpy.struct_I
def _get_struct_I():
global _struct_I
return _struct_I
_struct_3I = None
def _get_struct_3I():
global _struct_3I
if _struct_3I is None:
_struct_3I = struct.Struct("<3I")
return _struct_3I
_struct_6dB = None
def _get_struct_6dB():
global _struct_6dB
if _struct_6dB is None:
_struct_6dB = struct.Struct("<6dB")
return _struct_6dB
@@ -0,0 +1,252 @@
# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from jog_msgs/JogJoint.msg. Do not edit."""
import sys
python3 = True if sys.hexversion > 0x03000000 else False
import genpy
import struct
import std_msgs.msg
class JogJoint(genpy.Message):
_md5sum = "8d2aa14be64b51cf6374d198bfd489b2"
_type = "jog_msgs/JogJoint"
_has_header = True #flag to mark the presence of a Header object
_full_text = """# This is a message to hold data to jog by specifying joint
# displacement. You only need to set relative displacement to joint
# angles (or displacements for linear joints).
# header message. You must set frame_id to define the reference
# coordinate system of the displacament
Header header
# Name list of the joints. You don't need to specify all joint of the
# robot. Joint names are case-sensitive.
string[] joint_names
# Relative displacement of the joints to jog. The order must be
# identical to joint_names. Unit is in radian for revolutive joints,
# meter for linear joints.
float64[] deltas
================================================================================
MSG: std_msgs/Header
# Standard metadata for higher-level stamped data types.
# This is generally used to communicate timestamped data
# in a particular coordinate frame.
#
# sequence ID: consecutively increasing ID
uint32 seq
#Two-integer timestamp that is expressed as:
# * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
# * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
# time-handling sugar is provided by the client library
time stamp
#Frame this data is associated with
# 0: no frame
# 1: global frame
string frame_id
"""
__slots__ = ['header','joint_names','deltas']
_slot_types = ['std_msgs/Header','string[]','float64[]']
def __init__(self, *args, **kwds):
"""
Constructor. Any message fields that are implicitly/explicitly
set to None will be assigned a default value. The recommend
use is keyword arguments as this is more robust to future message
changes. You cannot mix in-order arguments and keyword arguments.
The available fields are:
header,joint_names,deltas
:param args: complete set of field values, in .msg order
:param kwds: use keyword arguments corresponding to message field names
to set specific fields.
"""
if args or kwds:
super(JogJoint, self).__init__(*args, **kwds)
#message fields cannot be None, assign default values for those that are
if self.header is None:
self.header = std_msgs.msg.Header()
if self.joint_names is None:
self.joint_names = []
if self.deltas is None:
self.deltas = []
else:
self.header = std_msgs.msg.Header()
self.joint_names = []
self.deltas = []
def _get_types(self):
"""
internal API method
"""
return self._slot_types
def serialize(self, buff):
"""
serialize message into buffer
:param buff: buffer, ``StringIO``
"""
try:
_x = self
buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
_x = self.header.frame_id
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
length = len(self.joint_names)
buff.write(_struct_I.pack(length))
for val1 in self.joint_names:
length = len(val1)
if python3 or type(val1) == unicode:
val1 = val1.encode('utf-8')
length = len(val1)
buff.write(struct.pack('<I%ss'%length, length, val1))
length = len(self.deltas)
buff.write(_struct_I.pack(length))
pattern = '<%sd'%length
buff.write(struct.pack(pattern, *self.deltas))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize(self, str):
"""
unpack serialized message in str into this message instance
:param str: byte array of serialized message, ``str``
"""
try:
if self.header is None:
self.header = std_msgs.msg.Header()
end = 0
_x = self
start = end
end += 12
(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.header.frame_id = str[start:end].decode('utf-8')
else:
self.header.frame_id = str[start:end]
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.joint_names = []
for i in range(0, length):
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
val1 = str[start:end].decode('utf-8')
else:
val1 = str[start:end]
self.joint_names.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
pattern = '<%sd'%length
start = end
end += struct.calcsize(pattern)
self.deltas = struct.unpack(pattern, str[start:end])
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
def serialize_numpy(self, buff, numpy):
"""
serialize message with numpy array types into buffer
:param buff: buffer, ``StringIO``
:param numpy: numpy python module
"""
try:
_x = self
buff.write(_get_struct_3I().pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
_x = self.header.frame_id
length = len(_x)
if python3 or type(_x) == unicode:
_x = _x.encode('utf-8')
length = len(_x)
buff.write(struct.pack('<I%ss'%length, length, _x))
length = len(self.joint_names)
buff.write(_struct_I.pack(length))
for val1 in self.joint_names:
length = len(val1)
if python3 or type(val1) == unicode:
val1 = val1.encode('utf-8')
length = len(val1)
buff.write(struct.pack('<I%ss'%length, length, val1))
length = len(self.deltas)
buff.write(_struct_I.pack(length))
pattern = '<%sd'%length
buff.write(self.deltas.tostring())
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize_numpy(self, str, numpy):
"""
unpack serialized message in str into this message instance using numpy for array types
:param str: byte array of serialized message, ``str``
:param numpy: numpy python module
"""
try:
if self.header is None:
self.header = std_msgs.msg.Header()
end = 0
_x = self
start = end
end += 12
(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
self.header.frame_id = str[start:end].decode('utf-8')
else:
self.header.frame_id = str[start:end]
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.joint_names = []
for i in range(0, length):
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
start = end
end += length
if python3:
val1 = str[start:end].decode('utf-8')
else:
val1 = str[start:end]
self.joint_names.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
pattern = '<%sd'%length
start = end
end += struct.calcsize(pattern)
self.deltas = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
_struct_I = genpy.struct_I
def _get_struct_I():
global _struct_I
return _struct_I
_struct_3I = None
def _get_struct_3I():
global _struct_3I
if _struct_3I is None:
_struct_3I = struct.Struct("<3I")
return _struct_3I
@@ -0,0 +1,2 @@
from ._JogFrame import *
from ._JogJoint import *
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# generated from catkin/cmake/template/__init__.py.in
# keep symbol table as clean as possible by deleting all unnecessary symbols
from os import path as os_path
from sys import path as sys_path
from pkgutil import extend_path
__extended_path = "/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_driver/src".split(";")
for p in reversed(__extended_path):
sys_path.insert(0, p)
del p
del sys_path
__path__ = extend_path(__path__, __name__)
del extend_path
__execfiles = []
for p in __extended_path:
src_init_file = os_path.join(p, __name__ + '.py')
if os_path.isfile(src_init_file):
__execfiles.append(src_init_file)
else:
src_init_file = os_path.join(p, __name__, '__init__.py')
if os_path.isfile(src_init_file):
__execfiles.append(src_init_file)
del src_init_file
del p
del os_path
del __extended_path
for __execfile in __execfiles:
with open(__execfile, 'r') as __fh:
exec(__fh.read())
del __fh
del __execfile
del __execfiles
@@ -0,0 +1,36 @@
## *********************************************************
##
## File autogenerated for the ur_driver package
## by the dynamic_reconfigure package.
## Please do not edit.
##
## ********************************************************/
from dynamic_reconfigure.encoding import extract_params
inf = float('inf')
config_description = {'upper': 'DEFAULT', 'lower': 'groups', 'srcline': 245, 'name': 'Default', 'parent': 0, 'srcfile': '/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'cstate': 'true', 'parentname': 'Default', 'class': 'DEFAULT', 'field': 'default', 'state': True, 'parentclass': '', 'groups': [], 'parameters': [{'srcline': 290, 'description': "Prevent driver from continuously uploading 'prog'", 'max': True, 'cconsttype': 'const bool', 'ctype': 'bool', 'srcfile': '/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator_catkin.py', 'name': 'prevent_programming', 'edit_method': '', 'default': False, 'level': 0, 'min': False, 'type': 'bool'}], 'type': '', 'id': 0}
min = {}
max = {}
defaults = {}
level = {}
type = {}
all_level = 0
#def extract_params(config):
# params = []
# params.extend(config['parameters'])
# for group in config['groups']:
# params.extend(extract_params(group))
# return params
for param in extract_params(config_description):
min[param['name']] = param['min']
max[param['name']] = param['max']
defaults[param['name']] = param['default']
level[param['name']] = param['level']
type[param['name']] = param['type']
all_level = all_level | param['level']
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# generated from catkin/cmake/template/__init__.py.in
# keep symbol table as clean as possible by deleting all unnecessary symbols
from os import path as os_path
from sys import path as sys_path
from pkgutil import extend_path
__extended_path = "/home/emanuele/Documents/GestioneMacchine/Robot_Incollaggio/Software/roboglue_ros_ws/src/universal_robot/ur_kinematics/src".split(";")
for p in reversed(__extended_path):
sys_path.insert(0, p)
del p
del sys_path
__path__ = extend_path(__path__, __name__)
del extend_path
__execfiles = []
for p in __extended_path:
src_init_file = os_path.join(p, __name__ + '.py')
if os_path.isfile(src_init_file):
__execfiles.append(src_init_file)
else:
src_init_file = os_path.join(p, __name__, '__init__.py')
if os_path.isfile(src_init_file):
__execfiles.append(src_init_file)
del src_init_file
del p
del os_path
del __extended_path
for __execfile in __execfiles:
with open(__execfile, 'r') as __fh:
exec(__fh.read())
del __fh
del __execfile
del __execfiles
@@ -0,0 +1,114 @@
# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from ur_msgs/Analog.msg. Do not edit."""
import sys
python3 = True if sys.hexversion > 0x03000000 else False
import genpy
import struct
class Analog(genpy.Message):
_md5sum = "341541c8828d055b6dcc443d40207a7d"
_type = "ur_msgs/Analog"
_has_header = False #flag to mark the presence of a Header object
_full_text = """uint8 pin
float32 state
"""
__slots__ = ['pin','state']
_slot_types = ['uint8','float32']
def __init__(self, *args, **kwds):
"""
Constructor. Any message fields that are implicitly/explicitly
set to None will be assigned a default value. The recommend
use is keyword arguments as this is more robust to future message
changes. You cannot mix in-order arguments and keyword arguments.
The available fields are:
pin,state
:param args: complete set of field values, in .msg order
:param kwds: use keyword arguments corresponding to message field names
to set specific fields.
"""
if args or kwds:
super(Analog, self).__init__(*args, **kwds)
#message fields cannot be None, assign default values for those that are
if self.pin is None:
self.pin = 0
if self.state is None:
self.state = 0.
else:
self.pin = 0
self.state = 0.
def _get_types(self):
"""
internal API method
"""
return self._slot_types
def serialize(self, buff):
"""
serialize message into buffer
:param buff: buffer, ``StringIO``
"""
try:
_x = self
buff.write(_get_struct_Bf().pack(_x.pin, _x.state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize(self, str):
"""
unpack serialized message in str into this message instance
:param str: byte array of serialized message, ``str``
"""
try:
end = 0
_x = self
start = end
end += 5
(_x.pin, _x.state,) = _get_struct_Bf().unpack(str[start:end])
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
def serialize_numpy(self, buff, numpy):
"""
serialize message with numpy array types into buffer
:param buff: buffer, ``StringIO``
:param numpy: numpy python module
"""
try:
_x = self
buff.write(_get_struct_Bf().pack(_x.pin, _x.state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize_numpy(self, str, numpy):
"""
unpack serialized message in str into this message instance using numpy for array types
:param str: byte array of serialized message, ``str``
:param numpy: numpy python module
"""
try:
end = 0
_x = self
start = end
end += 5
(_x.pin, _x.state,) = _get_struct_Bf().unpack(str[start:end])
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
_struct_I = genpy.struct_I
def _get_struct_I():
global _struct_I
return _struct_I
_struct_Bf = None
def _get_struct_Bf():
global _struct_Bf
if _struct_Bf is None:
_struct_Bf = struct.Struct("<Bf")
return _struct_Bf
@@ -0,0 +1,116 @@
# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from ur_msgs/Digital.msg. Do not edit."""
import sys
python3 = True if sys.hexversion > 0x03000000 else False
import genpy
import struct
class Digital(genpy.Message):
_md5sum = "83707be3fa18d2ffe57381ea034aa262"
_type = "ur_msgs/Digital"
_has_header = False #flag to mark the presence of a Header object
_full_text = """uint8 pin
bool state
"""
__slots__ = ['pin','state']
_slot_types = ['uint8','bool']
def __init__(self, *args, **kwds):
"""
Constructor. Any message fields that are implicitly/explicitly
set to None will be assigned a default value. The recommend
use is keyword arguments as this is more robust to future message
changes. You cannot mix in-order arguments and keyword arguments.
The available fields are:
pin,state
:param args: complete set of field values, in .msg order
:param kwds: use keyword arguments corresponding to message field names
to set specific fields.
"""
if args or kwds:
super(Digital, self).__init__(*args, **kwds)
#message fields cannot be None, assign default values for those that are
if self.pin is None:
self.pin = 0
if self.state is None:
self.state = False
else:
self.pin = 0
self.state = False
def _get_types(self):
"""
internal API method
"""
return self._slot_types
def serialize(self, buff):
"""
serialize message into buffer
:param buff: buffer, ``StringIO``
"""
try:
_x = self
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize(self, str):
"""
unpack serialized message in str into this message instance
:param str: byte array of serialized message, ``str``
"""
try:
end = 0
_x = self
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
self.state = bool(self.state)
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
def serialize_numpy(self, buff, numpy):
"""
serialize message with numpy array types into buffer
:param buff: buffer, ``StringIO``
:param numpy: numpy python module
"""
try:
_x = self
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize_numpy(self, str, numpy):
"""
unpack serialized message in str into this message instance using numpy for array types
:param str: byte array of serialized message, ``str``
:param numpy: numpy python module
"""
try:
end = 0
_x = self
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
self.state = bool(self.state)
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
_struct_I = genpy.struct_I
def _get_struct_I():
global _struct_I
return _struct_I
_struct_2B = None
def _get_struct_2B():
global _struct_2B
if _struct_2B is None:
_struct_2B = struct.Struct("<2B")
return _struct_2B
@@ -0,0 +1,317 @@
# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from ur_msgs/IOStates.msg. Do not edit."""
import sys
python3 = True if sys.hexversion > 0x03000000 else False
import genpy
import struct
import ur_msgs.msg
class IOStates(genpy.Message):
_md5sum = "0a5c7b73e3189e9a2caf8583d1bae2e2"
_type = "ur_msgs/IOStates"
_has_header = False #flag to mark the presence of a Header object
_full_text = """Digital[] digital_in_states
Digital[] digital_out_states
Digital[] flag_states
Analog[] analog_in_states
Analog[] analog_out_states
================================================================================
MSG: ur_msgs/Digital
uint8 pin
bool state
================================================================================
MSG: ur_msgs/Analog
uint8 pin
float32 state
"""
__slots__ = ['digital_in_states','digital_out_states','flag_states','analog_in_states','analog_out_states']
_slot_types = ['ur_msgs/Digital[]','ur_msgs/Digital[]','ur_msgs/Digital[]','ur_msgs/Analog[]','ur_msgs/Analog[]']
def __init__(self, *args, **kwds):
"""
Constructor. Any message fields that are implicitly/explicitly
set to None will be assigned a default value. The recommend
use is keyword arguments as this is more robust to future message
changes. You cannot mix in-order arguments and keyword arguments.
The available fields are:
digital_in_states,digital_out_states,flag_states,analog_in_states,analog_out_states
:param args: complete set of field values, in .msg order
:param kwds: use keyword arguments corresponding to message field names
to set specific fields.
"""
if args or kwds:
super(IOStates, self).__init__(*args, **kwds)
#message fields cannot be None, assign default values for those that are
if self.digital_in_states is None:
self.digital_in_states = []
if self.digital_out_states is None:
self.digital_out_states = []
if self.flag_states is None:
self.flag_states = []
if self.analog_in_states is None:
self.analog_in_states = []
if self.analog_out_states is None:
self.analog_out_states = []
else:
self.digital_in_states = []
self.digital_out_states = []
self.flag_states = []
self.analog_in_states = []
self.analog_out_states = []
def _get_types(self):
"""
internal API method
"""
return self._slot_types
def serialize(self, buff):
"""
serialize message into buffer
:param buff: buffer, ``StringIO``
"""
try:
length = len(self.digital_in_states)
buff.write(_struct_I.pack(length))
for val1 in self.digital_in_states:
_x = val1
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
length = len(self.digital_out_states)
buff.write(_struct_I.pack(length))
for val1 in self.digital_out_states:
_x = val1
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
length = len(self.flag_states)
buff.write(_struct_I.pack(length))
for val1 in self.flag_states:
_x = val1
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
length = len(self.analog_in_states)
buff.write(_struct_I.pack(length))
for val1 in self.analog_in_states:
_x = val1
buff.write(_get_struct_Bf().pack(_x.pin, _x.state))
length = len(self.analog_out_states)
buff.write(_struct_I.pack(length))
for val1 in self.analog_out_states:
_x = val1
buff.write(_get_struct_Bf().pack(_x.pin, _x.state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize(self, str):
"""
unpack serialized message in str into this message instance
:param str: byte array of serialized message, ``str``
"""
try:
if self.digital_in_states is None:
self.digital_in_states = None
if self.digital_out_states is None:
self.digital_out_states = None
if self.flag_states is None:
self.flag_states = None
if self.analog_in_states is None:
self.analog_in_states = None
if self.analog_out_states is None:
self.analog_out_states = None
end = 0
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.digital_in_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Digital()
_x = val1
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
val1.state = bool(val1.state)
self.digital_in_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.digital_out_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Digital()
_x = val1
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
val1.state = bool(val1.state)
self.digital_out_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.flag_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Digital()
_x = val1
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
val1.state = bool(val1.state)
self.flag_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.analog_in_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Analog()
_x = val1
start = end
end += 5
(_x.pin, _x.state,) = _get_struct_Bf().unpack(str[start:end])
self.analog_in_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.analog_out_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Analog()
_x = val1
start = end
end += 5
(_x.pin, _x.state,) = _get_struct_Bf().unpack(str[start:end])
self.analog_out_states.append(val1)
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
def serialize_numpy(self, buff, numpy):
"""
serialize message with numpy array types into buffer
:param buff: buffer, ``StringIO``
:param numpy: numpy python module
"""
try:
length = len(self.digital_in_states)
buff.write(_struct_I.pack(length))
for val1 in self.digital_in_states:
_x = val1
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
length = len(self.digital_out_states)
buff.write(_struct_I.pack(length))
for val1 in self.digital_out_states:
_x = val1
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
length = len(self.flag_states)
buff.write(_struct_I.pack(length))
for val1 in self.flag_states:
_x = val1
buff.write(_get_struct_2B().pack(_x.pin, _x.state))
length = len(self.analog_in_states)
buff.write(_struct_I.pack(length))
for val1 in self.analog_in_states:
_x = val1
buff.write(_get_struct_Bf().pack(_x.pin, _x.state))
length = len(self.analog_out_states)
buff.write(_struct_I.pack(length))
for val1 in self.analog_out_states:
_x = val1
buff.write(_get_struct_Bf().pack(_x.pin, _x.state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize_numpy(self, str, numpy):
"""
unpack serialized message in str into this message instance using numpy for array types
:param str: byte array of serialized message, ``str``
:param numpy: numpy python module
"""
try:
if self.digital_in_states is None:
self.digital_in_states = None
if self.digital_out_states is None:
self.digital_out_states = None
if self.flag_states is None:
self.flag_states = None
if self.analog_in_states is None:
self.analog_in_states = None
if self.analog_out_states is None:
self.analog_out_states = None
end = 0
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.digital_in_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Digital()
_x = val1
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
val1.state = bool(val1.state)
self.digital_in_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.digital_out_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Digital()
_x = val1
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
val1.state = bool(val1.state)
self.digital_out_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.flag_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Digital()
_x = val1
start = end
end += 2
(_x.pin, _x.state,) = _get_struct_2B().unpack(str[start:end])
val1.state = bool(val1.state)
self.flag_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.analog_in_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Analog()
_x = val1
start = end
end += 5
(_x.pin, _x.state,) = _get_struct_Bf().unpack(str[start:end])
self.analog_in_states.append(val1)
start = end
end += 4
(length,) = _struct_I.unpack(str[start:end])
self.analog_out_states = []
for i in range(0, length):
val1 = ur_msgs.msg.Analog()
_x = val1
start = end
end += 5
(_x.pin, _x.state,) = _get_struct_Bf().unpack(str[start:end])
self.analog_out_states.append(val1)
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
_struct_I = genpy.struct_I
def _get_struct_I():
global _struct_I
return _struct_I
_struct_Bf = None
def _get_struct_Bf():
global _struct_Bf
if _struct_Bf is None:
_struct_Bf = struct.Struct("<Bf")
return _struct_Bf
_struct_2B = None
def _get_struct_2B():
global _struct_2B
if _struct_2B is None:
_struct_2B = struct.Struct("<2B")
return _struct_2B
@@ -0,0 +1,181 @@
# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from ur_msgs/MasterboardDataMsg.msg. Do not edit."""
import sys
python3 = True if sys.hexversion > 0x03000000 else False
import genpy
import struct
class MasterboardDataMsg(genpy.Message):
_md5sum = "807af5dc427082b111fa23d1fd2cd585"
_type = "ur_msgs/MasterboardDataMsg"
_has_header = False #flag to mark the presence of a Header object
_full_text = """# This data structure contains the MasterboardData structure
# used by the Universal Robots controller
#
# MasterboardData is part of the data structure being send on the
# secondary client communications interface
#
# This data structure is send at 10 Hz on TCP port 30002
#
# Documentation can be found on the Universal Robots Support site, article
# number 16496.
uint32 digital_input_bits
uint32 digital_output_bits
int8 analog_input_range0
int8 analog_input_range1
float64 analog_input0
float64 analog_input1
int8 analog_output_domain0
int8 analog_output_domain1
float64 analog_output0
float64 analog_output1
float32 masterboard_temperature
float32 robot_voltage_48V
float32 robot_current
float32 master_io_current
uint8 master_safety_state
uint8 master_onoff_state
"""
__slots__ = ['digital_input_bits','digital_output_bits','analog_input_range0','analog_input_range1','analog_input0','analog_input1','analog_output_domain0','analog_output_domain1','analog_output0','analog_output1','masterboard_temperature','robot_voltage_48V','robot_current','master_io_current','master_safety_state','master_onoff_state']
_slot_types = ['uint32','uint32','int8','int8','float64','float64','int8','int8','float64','float64','float32','float32','float32','float32','uint8','uint8']
def __init__(self, *args, **kwds):
"""
Constructor. Any message fields that are implicitly/explicitly
set to None will be assigned a default value. The recommend
use is keyword arguments as this is more robust to future message
changes. You cannot mix in-order arguments and keyword arguments.
The available fields are:
digital_input_bits,digital_output_bits,analog_input_range0,analog_input_range1,analog_input0,analog_input1,analog_output_domain0,analog_output_domain1,analog_output0,analog_output1,masterboard_temperature,robot_voltage_48V,robot_current,master_io_current,master_safety_state,master_onoff_state
:param args: complete set of field values, in .msg order
:param kwds: use keyword arguments corresponding to message field names
to set specific fields.
"""
if args or kwds:
super(MasterboardDataMsg, self).__init__(*args, **kwds)
#message fields cannot be None, assign default values for those that are
if self.digital_input_bits is None:
self.digital_input_bits = 0
if self.digital_output_bits is None:
self.digital_output_bits = 0
if self.analog_input_range0 is None:
self.analog_input_range0 = 0
if self.analog_input_range1 is None:
self.analog_input_range1 = 0
if self.analog_input0 is None:
self.analog_input0 = 0.
if self.analog_input1 is None:
self.analog_input1 = 0.
if self.analog_output_domain0 is None:
self.analog_output_domain0 = 0
if self.analog_output_domain1 is None:
self.analog_output_domain1 = 0
if self.analog_output0 is None:
self.analog_output0 = 0.
if self.analog_output1 is None:
self.analog_output1 = 0.
if self.masterboard_temperature is None:
self.masterboard_temperature = 0.
if self.robot_voltage_48V is None:
self.robot_voltage_48V = 0.
if self.robot_current is None:
self.robot_current = 0.
if self.master_io_current is None:
self.master_io_current = 0.
if self.master_safety_state is None:
self.master_safety_state = 0
if self.master_onoff_state is None:
self.master_onoff_state = 0
else:
self.digital_input_bits = 0
self.digital_output_bits = 0
self.analog_input_range0 = 0
self.analog_input_range1 = 0
self.analog_input0 = 0.
self.analog_input1 = 0.
self.analog_output_domain0 = 0
self.analog_output_domain1 = 0
self.analog_output0 = 0.
self.analog_output1 = 0.
self.masterboard_temperature = 0.
self.robot_voltage_48V = 0.
self.robot_current = 0.
self.master_io_current = 0.
self.master_safety_state = 0
self.master_onoff_state = 0
def _get_types(self):
"""
internal API method
"""
return self._slot_types
def serialize(self, buff):
"""
serialize message into buffer
:param buff: buffer, ``StringIO``
"""
try:
_x = self
buff.write(_get_struct_2I2b2d2b2d4f2B().pack(_x.digital_input_bits, _x.digital_output_bits, _x.analog_input_range0, _x.analog_input_range1, _x.analog_input0, _x.analog_input1, _x.analog_output_domain0, _x.analog_output_domain1, _x.analog_output0, _x.analog_output1, _x.masterboard_temperature, _x.robot_voltage_48V, _x.robot_current, _x.master_io_current, _x.master_safety_state, _x.master_onoff_state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize(self, str):
"""
unpack serialized message in str into this message instance
:param str: byte array of serialized message, ``str``
"""
try:
end = 0
_x = self
start = end
end += 62
(_x.digital_input_bits, _x.digital_output_bits, _x.analog_input_range0, _x.analog_input_range1, _x.analog_input0, _x.analog_input1, _x.analog_output_domain0, _x.analog_output_domain1, _x.analog_output0, _x.analog_output1, _x.masterboard_temperature, _x.robot_voltage_48V, _x.robot_current, _x.master_io_current, _x.master_safety_state, _x.master_onoff_state,) = _get_struct_2I2b2d2b2d4f2B().unpack(str[start:end])
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
def serialize_numpy(self, buff, numpy):
"""
serialize message with numpy array types into buffer
:param buff: buffer, ``StringIO``
:param numpy: numpy python module
"""
try:
_x = self
buff.write(_get_struct_2I2b2d2b2d4f2B().pack(_x.digital_input_bits, _x.digital_output_bits, _x.analog_input_range0, _x.analog_input_range1, _x.analog_input0, _x.analog_input1, _x.analog_output_domain0, _x.analog_output_domain1, _x.analog_output0, _x.analog_output1, _x.masterboard_temperature, _x.robot_voltage_48V, _x.robot_current, _x.master_io_current, _x.master_safety_state, _x.master_onoff_state))
except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
def deserialize_numpy(self, str, numpy):
"""
unpack serialized message in str into this message instance using numpy for array types
:param str: byte array of serialized message, ``str``
:param numpy: numpy python module
"""
try:
end = 0
_x = self
start = end
end += 62
(_x.digital_input_bits, _x.digital_output_bits, _x.analog_input_range0, _x.analog_input_range1, _x.analog_input0, _x.analog_input1, _x.analog_output_domain0, _x.analog_output_domain1, _x.analog_output0, _x.analog_output1, _x.masterboard_temperature, _x.robot_voltage_48V, _x.robot_current, _x.master_io_current, _x.master_safety_state, _x.master_onoff_state,) = _get_struct_2I2b2d2b2d4f2B().unpack(str[start:end])
return self
except struct.error as e:
raise genpy.DeserializationError(e) #most likely buffer underfill
_struct_I = genpy.struct_I
def _get_struct_I():
global _struct_I
return _struct_I
_struct_2I2b2d2b2d4f2B = None
def _get_struct_2I2b2d2b2d4f2B():
global _struct_2I2b2d2b2d4f2B
if _struct_2I2b2d2b2d4f2B is None:
_struct_2I2b2d2b2d4f2B = struct.Struct("<2I2b2d2b2d4f2B")
return _struct_2I2b2d2b2d4f2B

Some files were not shown because too many files have changed in this diff Show More