Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

micro-ROS Library auto-update 11-02-2022 08:31 #403

Merged
merged 1 commit into from
Feb 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions built_packages
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

https://github.com/micro-ROS/micro_ros_utilities d9d01643b3fa3c2272299821da2c922f552194aa
https://github.com/micro-ROS/micro_ros_utilities ba1c537f4b5c25a9335dfa5c1439d63111e24122
https://github.com/micro-ROS/rmw-microxrcedds.git 2eee1a22a1c7a14c2ced4714f9bf1484f10ed7c6
https://github.com/micro-ROS/rcl e83aa1aac7974bec3bb92f6eb984c3a60b7fed36
https://github.com/micro-ROS/rcl 7816f59d27c64b147e52c5bf046ec84b2ddfafb9
https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing.git/ 0c9092cffcfaf78ce02e10cf465ae7737bd7c7f6
https://github.com/micro-ROS/rosidl_typesupport.git acaa92b845e418d67dd364fc612a7647c1b4a9ec
https://github.com/ros2/rclc ce4296879a08794ff701978fac45eb885ab9e40c
Expand All @@ -13,9 +13,9 @@ https://github.com/eProsima/Micro-XRCE-DDS-Client.git 243b16b659f1b46e6678db21c3
https://github.com/eProsima/Micro-CDR.git cb4403a8780095df94a7b1936b1e00153c90070d
https://github.com/ros2/rmw.git 5c822d1f0d15132a983080527e2e3cebbfceb2cc
https://github.com/ros2/test_interface_files.git 96d65b61e9acdb9480075ffdc00dadddd67ff832
https://github.com/ros2/rcl.git 0be33d25522a904eeade91984cb979fde34ff37e
https://github.com/ros2/rcl.git 83ac5b0c38c65b05a80f74f4a8a11665f3506735
https://github.com/ros2/example_interfaces.git 2977bbe4e5e30c74d3594d31a8212193f5c27761
https://github.com/ros2/rosidl.git fa8da35735a2b77e3b96f3daedc1d9490ca148b8
https://github.com/ros2/rosidl.git 0c48c48f7d98e30b1817dae589cdd9b58e44d5f2
https://github.com/ros2/rcpputils.git b8fe7a3e91c7e1a940120bfb7466d3e1df1d25a8
https://github.com/ros2/rosidl_dds.git 664a9daadce12d02d35091d1bfde7acabe829354
https://github.com/ros2/common_interfaces.git fa1d0093db5df80c886093f27810d09c46f5111e
Expand Down
16 changes: 16 additions & 0 deletions libmicroros/include/rcl/node.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ extern "C"
#include "rcl/types.h"
#include "rcl/visibility_control.h"

extern const char * const RCL_DISABLE_LOANED_MESSAGES_ENV_VAR;

typedef struct rcl_node_impl_s rcl_node_impl_t;

/// Structure which encapsulates a ROS Node.
Expand Down Expand Up @@ -535,6 +537,20 @@ rcl_node_resolve_name(
bool only_expand,
char ** output_name);

/// Check if loaned message is disabled, according to the environment variable.
/**
* If the `ROS_DISABLE_LOANED_MESSAGES` environment variable is set to "1",
* `disable_loaned_message` will be set to true.
*
* \param[out] disable_loaned_message Must not be NULL.
* \return #RCL_RET_INVALID_ARGUMENT if an argument is not valid, or
* \return #RCL_RET_ERROR if an unexpected error happened, or
* \return #RCL_RET_OK.
*/
RCL_PUBLIC
rcl_ret_t
rcl_get_disable_loaned_message(bool * disable_loaned_message);

#ifdef __cplusplus
}
#endif
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
// Copyright 2014-2015 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef ROSIDL_TYPESUPPORT_INTROSPECTION_C__FIELD_TYPES_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__FIELD_TYPES_H_

#include <stdint.h>

#ifdef __cplusplus
extern "C"
{
#endif

/// Possible types for message fields on a ROS message
/// The equivalent OMG IDL and C types of the different fields can be found
/// at http://design.ros2.org/articles/idl_interface_definition.html#type-mapping
enum rosidl_typesupport_introspection_c_field_types
{
/// Equivalent to float in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT = 1,
/// Equivalent to double in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_DOUBLE = 2,
/// Equivalent to long double in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_LONG_DOUBLE = 3,
/// Equivalent to unsigned char in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_CHAR = 4,
/// Equivalent to char16_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_WCHAR = 5,
/// Equivalent to _Bool in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_BOOLEAN = 6,
/// Equivalent to unsigned char in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_OCTET = 7,
/// Equivalent to uint8_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT8 = 8,
/// Equivalent to int8_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT8 = 9,
/// Equivalent to uint16_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT16 = 10,
/// Equivalent to int16_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT16 = 11,
/// Equivalent to uint32_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT32 = 12,
/// Equivalent to int32_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT32 = 13,
/// Equivalent to uint64_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_UINT64 = 14,
/// Equivalent to int64_t in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_INT64 = 15,
/// Equivalent to char * in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_STRING = 16,
/// Equivalent to char16_t * in C types.
rosidl_typesupport_introspection_c__ROS_TYPE_WSTRING = 17,

/// An embedded message type.
rosidl_typesupport_introspection_c__ROS_TYPE_MESSAGE = 18,

/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT32 = 1,
/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT64 = 2,
/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_BOOL = 6,
/// For backward compatibility only.
rosidl_typesupport_introspection_c__ROS_TYPE_BYTE = 7
};

#ifdef __cplusplus
}
#endif

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__FIELD_TYPES_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2014-2015 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef ROSIDL_TYPESUPPORT_INTROSPECTION_C__IDENTIFIER_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__IDENTIFIER_H_

#include "rosidl_typesupport_introspection_c/visibility_control.h"

#ifdef __cplusplus
extern "C"
{
#endif

/// String identifying the typesupport introspection implementation in use.
ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC
extern const char * rosidl_typesupport_introspection_c__identifier;

#ifdef __cplusplus
}
#endif

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__IDENTIFIER_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
// Copyright 2014-2015 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef ROSIDL_TYPESUPPORT_INTROSPECTION_C__MESSAGE_INTROSPECTION_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__MESSAGE_INTROSPECTION_H_

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

#include "rosidl_runtime_c/message_initialization.h"
#include "rosidl_runtime_c/message_type_support_struct.h"

#include "rosidl_typesupport_introspection_c/visibility_control.h"

/// Structure used to describe a single field of an interface type.
typedef struct rosidl_typesupport_introspection_c__MessageMember_s
{
/// The name of the field.
const char * name_;
/// The type of the field as a value of the field types enum
/// rosidl_typesupport_introspection_c_field_types.
/// e.g. rosidl_typesupport_introspection_c__ROS_TYPE_FLOAT
uint8_t type_id_;
/// If the field is a string, the upper bound on the length of the string.
size_t string_upper_bound_;
/// If the type_id_ value is rosidl_typesupport_introspection_c__ROS_TYPE_MESSAGE,
/// this points to an array describing the fields of the sub-interface.
const rosidl_message_type_support_t * members_;
/// True if this field is an array type, false if it is any other type. An
/// array has the same value for / type_id_.
bool is_array_;
/// If is_array_ is true, this contains the number of members in the array.
size_t array_size_;
/// If is_array_ is true, this specifies if the array has a maximum size. If it is true, the
/// value in array_size_ is the maximum size.
bool is_upper_bound_;
/// The bytes into the interface's in-memory representation that this field can be found at.
uint32_t offset_;
/// If the interface has a default value, this points to it.
const void * default_value_;
/// If is_array_ is true, a pointer to a function that gives the size of one member of the array.
size_t (* size_function)(const void *);
/// If is_array_ is true, a pointer to a function that gives a const pointer to the member of the
/// array indicated by index.
const void * (*get_const_function)(const void *, size_t index);
/// If is_array_ is true, a pointer to a function that gives a pointer to the member of the
/// array indicated by index.
void * (*get_function)(void *, size_t index);
/// Pointer to a function that fetches (i.e. copies) an item from
/// an array or sequence member. It takes a pointer to the member,
/// an index (which is assumed to be valid), and a pointer to a
/// pre-allocated value (which is assumed to be of the correct type).
///
/// Available for array and sequence members.
void (* fetch_function)(const void *, size_t index, void *);
/// Pointer to a function that assigns (i.e. copies) a value to an
/// item in an array or sequence member. It takes a pointer to the
/// member, an index (which is assumed to be valid), and a pointer
/// to an initialized value (which is assumed to be of the correct
/// type).
///
/// Available for array and sequence members.
void (* assign_function)(void *, size_t index, const void *);
/// If is_array_ is true, a pointer to a function that resizes the array.
bool (* resize_function)(void *, size_t size);
} rosidl_typesupport_introspection_c__MessageMember;

/// Structure used to describe all fields of a single interface type.
typedef struct rosidl_typesupport_introspection_c__MessageMembers_s
{
/// The namespace in which the interface resides, e.g. "example_messages__msg" for
/// example_messages/msg
const char * message_namespace_;
/// The name of the interface, e.g. "Int16"
const char * message_name_;
/// The number of fields in the interface
uint32_t member_count_;
/// The size of the interface structure in memory
size_t size_of_;
/// A pointer to the array that describes each field of the interface
const rosidl_typesupport_introspection_c__MessageMember * members_;
/// The function used to initialise the interface's in-memory representation
void (* init_function)(void *, enum rosidl_runtime_c__message_initialization);
/// The function used to clean up the interface's in-memory representation
void (* fini_function)(void *);
} rosidl_typesupport_introspection_c__MessageMembers;

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__MESSAGE_INTROSPECTION_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Copyright 2015 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef ROSIDL_TYPESUPPORT_INTROSPECTION_C__SERVICE_INTROSPECTION_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__SERVICE_INTROSPECTION_H_

#include <stddef.h>
#include <stdint.h>

#include "rosidl_runtime_c/service_type_support_struct.h"
#include "rosidl_runtime_c/visibility_control.h"

#include "rosidl_typesupport_introspection_c/message_introspection.h"

/// This struct provides introspection information for one service definition.
/// A service is comprised of two interfaces: the request and the response.
typedef struct rosidl_typesupport_introspection_c__ServiceMembers_s
{
/// The namespace in which the service resides, e.g. "example_messages__srv" for
/// example_messages/srv
const char * service_namespace_;
/// The name of the service, e.g. "AddTwoInts"
const char * service_name_;
/// A pointer to the introspection information structure for the request interface.
const rosidl_typesupport_introspection_c__MessageMembers * request_members_;
/// A pointer to the introspection information structure for the response interface.
const rosidl_typesupport_introspection_c__MessageMembers * response_members_;
} rosidl_typesupport_introspection_c__ServiceMembers;

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__SERVICE_INTROSPECTION_H_
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// Copyright 2015 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_

#ifdef __cplusplus
extern "C"
{
#endif

// This logic was borrowed (then namespaced) from the examples on the gcc wiki:
// https://gcc.gnu.org/wiki/Visibility

#if defined _WIN32 || defined __CYGWIN__
#ifdef __GNUC__
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT __attribute__ ((dllexport))
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT __attribute__ ((dllimport))
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT __declspec(dllexport)
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT __declspec(dllimport)
#endif
#ifdef ROSIDL_TYPESUPPORT_INTROSPECTION_C_BUILDING_DLL
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT
#endif
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_LOCAL
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_EXPORT __attribute__ ((visibility("default")))
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_IMPORT
#if __GNUC__ >= 4
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC __attribute__ ((visibility("default")))
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_LOCAL __attribute__ ((visibility("hidden")))
#else
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_PUBLIC
#define ROSIDL_TYPESUPPORT_INTROSPECTION_C_LOCAL
#endif
#endif

#ifdef __cplusplus
}
#endif

#endif // ROSIDL_TYPESUPPORT_INTROSPECTION_C__VISIBILITY_CONTROL_H_
Binary file modified libmicroros/libmicroros.a
Binary file not shown.