asterism 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +78 -4
- data/NOTICE +12 -7
- data/README.md +148 -17
- data/data/icon.png +0 -0
- data/data/msgs/LICENSE-BSD-3-Clause-tf2_msgs.txt +29 -0
- data/data/msgs/NOTICE +19 -13
- data/data/msgs/builtin_interfaces/msg/Duration.rb +4 -0
- data/data/msgs/builtin_interfaces/msg/Time.rb +4 -0
- data/data/msgs/diagnostic_msgs/msg/DiagnosticArray.rb +40 -0
- data/data/msgs/diagnostic_msgs/msg/DiagnosticStatus.rb +55 -0
- data/data/msgs/diagnostic_msgs/msg/KeyValue.rb +37 -0
- data/data/msgs/example_interfaces/srv/AddTwoInts.rb +7 -0
- data/data/msgs/geometry_msgs/msg/Accel.rb +4 -0
- data/data/msgs/geometry_msgs/msg/AccelStamped.rb +4 -0
- data/data/msgs/geometry_msgs/msg/Point.rb +5 -0
- data/data/msgs/geometry_msgs/msg/Point32.rb +5 -0
- data/data/msgs/geometry_msgs/msg/PointStamped.rb +4 -0
- data/data/msgs/geometry_msgs/msg/Pose.rb +4 -0
- data/data/msgs/geometry_msgs/msg/Pose2D.rb +5 -0
- data/data/msgs/geometry_msgs/msg/PoseStamped.rb +4 -0
- data/data/msgs/geometry_msgs/msg/PoseWithCovariance.rb +39 -0
- data/data/msgs/geometry_msgs/msg/Quaternion.rb +6 -0
- data/data/msgs/geometry_msgs/msg/QuaternionStamped.rb +4 -0
- data/data/msgs/geometry_msgs/msg/Transform.rb +4 -0
- data/data/msgs/geometry_msgs/msg/TransformStamped.rb +5 -0
- data/data/msgs/geometry_msgs/msg/Twist.rb +4 -0
- data/data/msgs/geometry_msgs/msg/TwistStamped.rb +4 -0
- data/data/msgs/geometry_msgs/msg/TwistWithCovariance.rb +39 -0
- data/data/msgs/geometry_msgs/msg/Vector3.rb +5 -0
- data/data/msgs/geometry_msgs/msg/Vector3Stamped.rb +4 -0
- data/data/msgs/geometry_msgs/msg/Wrench.rb +4 -0
- data/data/msgs/geometry_msgs/msg/WrenchStamped.rb +4 -0
- data/data/msgs/nav_msgs/msg/MapMetaData.rb +52 -0
- data/data/msgs/nav_msgs/msg/OccupancyGrid.rb +44 -0
- data/data/msgs/nav_msgs/msg/Odometry.rb +49 -0
- data/data/msgs/nav_msgs/msg/Path.rb +40 -0
- data/data/msgs/rcl_interfaces/msg/Log.rb +64 -0
- data/data/msgs/rcl_interfaces/msg/Parameter.rb +39 -0
- data/data/msgs/rcl_interfaces/msg/ParameterEvent.rb +52 -0
- data/data/msgs/rcl_interfaces/msg/ParameterValue.rb +69 -0
- data/data/msgs/sensor_msgs/msg/BatteryState.rb +18 -0
- data/data/msgs/sensor_msgs/msg/CompressedImage.rb +43 -0
- data/data/msgs/sensor_msgs/msg/FluidPressure.rb +5 -0
- data/data/msgs/sensor_msgs/msg/Illuminance.rb +5 -0
- data/data/msgs/sensor_msgs/msg/Imu.rb +9 -0
- data/data/msgs/sensor_msgs/msg/JointState.rb +7 -0
- data/data/msgs/sensor_msgs/msg/LaserScan.rb +71 -0
- data/data/msgs/sensor_msgs/msg/MagneticField.rb +5 -0
- data/data/msgs/sensor_msgs/msg/NavSatFix.rb +9 -0
- data/data/msgs/sensor_msgs/msg/NavSatStatus.rb +4 -0
- data/data/msgs/sensor_msgs/msg/PointCloud2.rb +68 -0
- data/data/msgs/sensor_msgs/msg/PointField.rb +53 -0
- data/data/msgs/sensor_msgs/msg/Range.rb +9 -0
- data/data/msgs/sensor_msgs/msg/RelativeHumidity.rb +5 -0
- data/data/msgs/sensor_msgs/msg/Temperature.rb +5 -0
- data/data/msgs/std_msgs/msg/Bool.rb +3 -0
- data/data/msgs/std_msgs/msg/Byte.rb +3 -0
- data/data/msgs/std_msgs/msg/ByteMultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/Char.rb +3 -0
- data/data/msgs/std_msgs/msg/ColorRGBA.rb +6 -0
- data/data/msgs/std_msgs/msg/Empty.rb +1 -0
- data/data/msgs/std_msgs/msg/Float32.rb +3 -0
- data/data/msgs/std_msgs/msg/Float32MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/Float64.rb +3 -0
- data/data/msgs/std_msgs/msg/Float64MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/Header.rb +4 -0
- data/data/msgs/std_msgs/msg/Int16.rb +3 -0
- data/data/msgs/std_msgs/msg/Int16MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/Int32.rb +3 -0
- data/data/msgs/std_msgs/msg/Int32MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/Int64.rb +3 -0
- data/data/msgs/std_msgs/msg/Int64MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/Int8.rb +3 -0
- data/data/msgs/std_msgs/msg/Int8MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/MultiArrayDimension.rb +5 -0
- data/data/msgs/std_msgs/msg/MultiArrayLayout.rb +4 -0
- data/data/msgs/std_msgs/msg/String.rb +3 -0
- data/data/msgs/std_msgs/msg/UInt16.rb +3 -0
- data/data/msgs/std_msgs/msg/UInt16MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/UInt32.rb +3 -0
- data/data/msgs/std_msgs/msg/UInt32MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/UInt64.rb +3 -0
- data/data/msgs/std_msgs/msg/UInt64MultiArray.rb +4 -0
- data/data/msgs/std_msgs/msg/UInt8.rb +3 -0
- data/data/msgs/std_msgs/msg/UInt8MultiArray.rb +4 -0
- data/data/msgs/tf2_msgs/msg/TFMessage.rb +35 -0
- data/data/msgs/visualization_msgs/msg/Marker.rb +132 -0
- data/data/msgs/visualization_msgs/msg/MarkerArray.rb +35 -0
- data/data/msgs/visualization_msgs/msg/MeshFile.rb +37 -0
- data/data/msgs/visualization_msgs/msg/UVCoordinate.rb +37 -0
- data/lib/asterism/cruby/objects.rb +13 -1
- data/lib/asterism/cruby.rb +38 -0
- data/lib/asterism/version.rb +4 -3
- data/lib/asterism.rb +1 -1
- data/mrblib/asterism.rb +5 -0
- data/mrblib/profile.rb +362 -0
- data/mrblib/ros.rb +71 -6
- data/tools/asterism_msggen.rb +32 -5
- metadata +28 -2
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::Header < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::Header_"
|
|
14
14
|
TYPE_HASH = "RIHS01_f49fb3ae2cf070f793645ff749683ac6b06203e41c891e17701b1cb597ce6a01"
|
|
15
15
|
FIELDS = [:stamp, :frame_id]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["stamp", "builtin_interfaces/msg/Time", "scalar", "builtin_interfaces/msg/Time", nil, nil],
|
|
18
|
+
["frame_id", "string", "scalar", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :stamp, :frame_id
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::Int16 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::Int16_"
|
|
12
12
|
TYPE_HASH = "RIHS01_1dcc3464e47c288a55f943a389d337cdb06804de3f5cd7a266b0de718eee17e5"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "int16", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::Int16MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::Int16MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_b58810e8e5b90fb19a5062469eb8409f5ab11a446d60de7157a1457e52a076ce"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "int16", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::Int32 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::Int32_"
|
|
12
12
|
TYPE_HASH = "RIHS01_b6578ded3c58c626cfe8d1a6fb6e04f706f97e9f03d2727c9ff4e74b1cef0deb"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "int32", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::Int32MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::Int32MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_84a7346323525d1b4dfca899df3820f245e54009dac5a6b69217d14fdefd1701"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "int32", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::Int64 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::Int64_"
|
|
12
12
|
TYPE_HASH = "RIHS01_8cd1048c2f186b6bd9a92472dc1ce51723c0833a221e2b7aecfff111774f4b49"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "int64", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::Int64MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::Int64MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_e60f9fe34d697f0939ad49d33158693c1277fbac0e2f04b7c2995dc21c89b422"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "int64", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::Int8 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::Int8_"
|
|
12
12
|
TYPE_HASH = "RIHS01_26525065a403d972cb672f0777e333f0c799ad444ae5fcd79e43d1e73bd0f440"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "int8", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::Int8MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::Int8MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_f21998d4b492abd63330765d75d5831238d400740386f651f13a872a4d2188db"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "int8", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -11,6 +11,11 @@ class ::Asterism::ROS::StdMsgs::MultiArrayDimension < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::MultiArrayDimension_"
|
|
12
12
|
TYPE_HASH = "RIHS01_5e773a60a4c7fc8a54985f307c7837aa2994252a126c301957a24e31282c9cbe"
|
|
13
13
|
FIELDS = [:label, :size, :stride]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["label", "string", "scalar", nil, nil, nil],
|
|
16
|
+
["size", "uint32", "scalar", nil, nil, nil],
|
|
17
|
+
["stride", "uint32", "scalar", nil, nil, nil]
|
|
18
|
+
]
|
|
14
19
|
|
|
15
20
|
attr_accessor :label, :size, :stride
|
|
16
21
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::MultiArrayLayout < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::MultiArrayLayout_"
|
|
14
14
|
TYPE_HASH = "RIHS01_4c66e6f78e740ac103a94cf63259f968e48c617e7699e829b63c21a5cb50dac6"
|
|
15
15
|
FIELDS = [:dim, :data_offset]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["dim", "std_msgs/msg/MultiArrayDimension", "sequence", "std_msgs/msg/MultiArrayDimension", nil, nil],
|
|
18
|
+
["data_offset", "uint32", "scalar", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :dim, :data_offset
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::String < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::String_"
|
|
12
12
|
TYPE_HASH = "RIHS01_df668c740482bbd48fb39d76a70dfd4bd59db1288021743503259e948f6b1a18"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "string", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::UInt16 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::UInt16_"
|
|
12
12
|
TYPE_HASH = "RIHS01_08a406e4b022bc22e907f985d6a9e9dd1d4fbecae573549cf49350113e7757b1"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "uint16", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::UInt16MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::UInt16MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_94fe73428ec63baecc774f8fb82406123e9291cf728f1b7c91caf5335129492b"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "uint16", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::UInt32 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::UInt32_"
|
|
12
12
|
TYPE_HASH = "RIHS01_a5c874829b752bc5fa190024b0ad76f578cc278271e855c7d02a818b3516fb4a"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "uint32", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::UInt32MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::UInt32MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_6c2577c7ad3cbdcc2164a41c12f1d5ad314ea320f3fb1ee47e78019fe16bb5b0"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "uint32", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::UInt64 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::UInt64_"
|
|
12
12
|
TYPE_HASH = "RIHS01_fbdc52018fc13755dce18024d1a671c856aa8b4aaf63adfb095b608f98e8c943"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "uint64", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::UInt64MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::UInt64MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_fc1c685c2f76bdc6983da025cb25d2db5fb5157b059e300f6d957d86f981b366"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "uint64", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -11,6 +11,9 @@ class ::Asterism::ROS::StdMsgs::UInt8 < ::Asterism::ROS::Message
|
|
|
11
11
|
TYPE_NAME = "std_msgs::msg::dds_::UInt8_"
|
|
12
12
|
TYPE_HASH = "RIHS01_6138bd83d8c3569cb80a667db03cfc1629f529fee79d944c39c34e352e72f010"
|
|
13
13
|
FIELDS = [:data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["data", "uint8", "scalar", nil, nil, nil]
|
|
16
|
+
]
|
|
14
17
|
|
|
15
18
|
attr_accessor :data
|
|
16
19
|
|
|
@@ -13,6 +13,10 @@ class ::Asterism::ROS::StdMsgs::UInt8MultiArray < ::Asterism::ROS::Message
|
|
|
13
13
|
TYPE_NAME = "std_msgs::msg::dds_::UInt8MultiArray_"
|
|
14
14
|
TYPE_HASH = "RIHS01_5687e861b8d307a5e48b7515467ae7a5fc2daf805bd0ce6d8e9e604bade9f385"
|
|
15
15
|
FIELDS = [:layout, :data]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["layout", "std_msgs/msg/MultiArrayLayout", "scalar", "std_msgs/msg/MultiArrayLayout", nil, nil],
|
|
18
|
+
["data", "uint8", "sequence", nil, nil, nil]
|
|
19
|
+
]
|
|
16
20
|
|
|
17
21
|
attr_accessor :layout, :data
|
|
18
22
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# tf2_msgs/msg/TFMessage (ROS 2 jazzy), generated by asterism_msggen.rb from
|
|
2
|
+
# TFMessage.msg of the package tf2_msgs.
|
|
3
|
+
# License: BSD, as the definition (package.xml of tf2_msgs).
|
|
4
|
+
# Do not edit; regenerate instead.
|
|
5
|
+
|
|
6
|
+
::Asterism::ROS.require_type("geometry_msgs/msg/TransformStamped")
|
|
7
|
+
|
|
8
|
+
module ::Asterism::ROS::Tf2Msgs
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
class ::Asterism::ROS::Tf2Msgs::TFMessage < ::Asterism::ROS::Message
|
|
12
|
+
ROS_NAME = "tf2_msgs/msg/TFMessage"
|
|
13
|
+
TYPE_NAME = "tf2_msgs::msg::dds_::TFMessage_"
|
|
14
|
+
TYPE_HASH = "RIHS01_e369d0f05a23ae52508854b66f6aa0437f3449d652e8cbf22d5abe85d020f087"
|
|
15
|
+
FIELDS = [:transforms]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["transforms", "geometry_msgs/msg/TransformStamped", "sequence", "geometry_msgs/msg/TransformStamped", nil, nil]
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
attr_accessor :transforms
|
|
21
|
+
|
|
22
|
+
def initialize(transforms: nil)
|
|
23
|
+
@transforms = transforms.nil? ? [] : transforms.map { |e| ::Asterism::ROS::GeometryMsgs::TransformStamped.from(e) }
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.write(w, m)
|
|
27
|
+
w.structs(::Asterism::ROS::GeometryMsgs::TransformStamped, m.transforms, nil, nil)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.read(r)
|
|
31
|
+
m = new
|
|
32
|
+
m.transforms = r.structs(::Asterism::ROS::GeometryMsgs::TransformStamped, nil)
|
|
33
|
+
m
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# visualization_msgs/msg/Marker (ROS 2 jazzy), generated by asterism_msggen.rb from
|
|
2
|
+
# Marker.msg of the package visualization_msgs.
|
|
3
|
+
# License: Apache License 2.0, as the definition (package.xml of visualization_msgs).
|
|
4
|
+
# Do not edit; regenerate instead.
|
|
5
|
+
|
|
6
|
+
::Asterism::ROS.require_type("builtin_interfaces/msg/Duration")
|
|
7
|
+
::Asterism::ROS.require_type("geometry_msgs/msg/Point")
|
|
8
|
+
::Asterism::ROS.require_type("geometry_msgs/msg/Pose")
|
|
9
|
+
::Asterism::ROS.require_type("geometry_msgs/msg/Vector3")
|
|
10
|
+
::Asterism::ROS.require_type("sensor_msgs/msg/CompressedImage")
|
|
11
|
+
::Asterism::ROS.require_type("std_msgs/msg/ColorRGBA")
|
|
12
|
+
::Asterism::ROS.require_type("std_msgs/msg/Header")
|
|
13
|
+
::Asterism::ROS.require_type("visualization_msgs/msg/MeshFile")
|
|
14
|
+
::Asterism::ROS.require_type("visualization_msgs/msg/UVCoordinate")
|
|
15
|
+
|
|
16
|
+
module ::Asterism::ROS::VisualizationMsgs
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class ::Asterism::ROS::VisualizationMsgs::Marker < ::Asterism::ROS::Message
|
|
20
|
+
ROS_NAME = "visualization_msgs/msg/Marker"
|
|
21
|
+
TYPE_NAME = "visualization_msgs::msg::dds_::Marker_"
|
|
22
|
+
TYPE_HASH = "RIHS01_45b13ccf791f225962bf74e746f9644518855d783a6f42ba0cc14fde2b4f3ce0"
|
|
23
|
+
FIELDS = [:header, :ns, :id, :type, :action, :pose, :scale, :color, :lifetime, :frame_locked, :points, :colors, :texture_resource, :texture, :uv_coordinates, :text, :mesh_resource, :mesh_file, :mesh_use_embedded_materials]
|
|
24
|
+
FIELD_TYPES = [
|
|
25
|
+
["header", "std_msgs/msg/Header", "scalar", "std_msgs/msg/Header", nil, nil],
|
|
26
|
+
["ns", "string", "scalar", nil, nil, nil],
|
|
27
|
+
["id", "int32", "scalar", nil, nil, nil],
|
|
28
|
+
["type", "int32", "scalar", nil, nil, nil],
|
|
29
|
+
["action", "int32", "scalar", nil, nil, nil],
|
|
30
|
+
["pose", "geometry_msgs/msg/Pose", "scalar", "geometry_msgs/msg/Pose", nil, nil],
|
|
31
|
+
["scale", "geometry_msgs/msg/Vector3", "scalar", "geometry_msgs/msg/Vector3", nil, nil],
|
|
32
|
+
["color", "std_msgs/msg/ColorRGBA", "scalar", "std_msgs/msg/ColorRGBA", nil, nil],
|
|
33
|
+
["lifetime", "builtin_interfaces/msg/Duration", "scalar", "builtin_interfaces/msg/Duration", nil, nil],
|
|
34
|
+
["frame_locked", "bool", "scalar", nil, nil, nil],
|
|
35
|
+
["points", "geometry_msgs/msg/Point", "sequence", "geometry_msgs/msg/Point", nil, nil],
|
|
36
|
+
["colors", "std_msgs/msg/ColorRGBA", "sequence", "std_msgs/msg/ColorRGBA", nil, nil],
|
|
37
|
+
["texture_resource", "string", "scalar", nil, nil, nil],
|
|
38
|
+
["texture", "sensor_msgs/msg/CompressedImage", "scalar", "sensor_msgs/msg/CompressedImage", nil, nil],
|
|
39
|
+
["uv_coordinates", "visualization_msgs/msg/UVCoordinate", "sequence", "visualization_msgs/msg/UVCoordinate", nil, nil],
|
|
40
|
+
["text", "string", "scalar", nil, nil, nil],
|
|
41
|
+
["mesh_resource", "string", "scalar", nil, nil, nil],
|
|
42
|
+
["mesh_file", "visualization_msgs/msg/MeshFile", "scalar", "visualization_msgs/msg/MeshFile", nil, nil],
|
|
43
|
+
["mesh_use_embedded_materials", "bool", "scalar", nil, nil, nil]
|
|
44
|
+
]
|
|
45
|
+
ARROW = 0
|
|
46
|
+
CUBE = 1
|
|
47
|
+
SPHERE = 2
|
|
48
|
+
CYLINDER = 3
|
|
49
|
+
LINE_STRIP = 4
|
|
50
|
+
LINE_LIST = 5
|
|
51
|
+
CUBE_LIST = 6
|
|
52
|
+
SPHERE_LIST = 7
|
|
53
|
+
POINTS = 8
|
|
54
|
+
TEXT_VIEW_FACING = 9
|
|
55
|
+
MESH_RESOURCE = 10
|
|
56
|
+
TRIANGLE_LIST = 11
|
|
57
|
+
ARROW_STRIP = 12
|
|
58
|
+
ADD = 0
|
|
59
|
+
MODIFY = 0
|
|
60
|
+
DELETE = 2
|
|
61
|
+
DELETEALL = 3
|
|
62
|
+
|
|
63
|
+
attr_accessor :header, :ns, :id, :type, :action, :pose, :scale, :color, :lifetime, :frame_locked, :points, :colors, :texture_resource, :texture, :uv_coordinates, :text, :mesh_resource, :mesh_file, :mesh_use_embedded_materials
|
|
64
|
+
|
|
65
|
+
def initialize(header: nil, ns: nil, id: nil, type: nil, action: nil, pose: nil, scale: nil, color: nil, lifetime: nil, frame_locked: nil, points: nil, colors: nil, texture_resource: nil, texture: nil, uv_coordinates: nil, text: nil, mesh_resource: nil, mesh_file: nil, mesh_use_embedded_materials: nil)
|
|
66
|
+
@header = ::Asterism::ROS::StdMsgs::Header.from(header)
|
|
67
|
+
@ns = ns.nil? ? "" : ns
|
|
68
|
+
@id = id.nil? ? 0 : id
|
|
69
|
+
@type = type.nil? ? 0 : type
|
|
70
|
+
@action = action.nil? ? 0 : action
|
|
71
|
+
@pose = ::Asterism::ROS::GeometryMsgs::Pose.from(pose)
|
|
72
|
+
@scale = ::Asterism::ROS::GeometryMsgs::Vector3.from(scale)
|
|
73
|
+
@color = ::Asterism::ROS::StdMsgs::ColorRGBA.from(color)
|
|
74
|
+
@lifetime = ::Asterism::ROS::BuiltinInterfaces::Duration.from(lifetime)
|
|
75
|
+
@frame_locked = frame_locked.nil? ? false : frame_locked
|
|
76
|
+
@points = points.nil? ? [] : points.map { |e| ::Asterism::ROS::GeometryMsgs::Point.from(e) }
|
|
77
|
+
@colors = colors.nil? ? [] : colors.map { |e| ::Asterism::ROS::StdMsgs::ColorRGBA.from(e) }
|
|
78
|
+
@texture_resource = texture_resource.nil? ? "" : texture_resource
|
|
79
|
+
@texture = ::Asterism::ROS::SensorMsgs::CompressedImage.from(texture)
|
|
80
|
+
@uv_coordinates = uv_coordinates.nil? ? [] : uv_coordinates.map { |e| ::Asterism::ROS::VisualizationMsgs::UVCoordinate.from(e) }
|
|
81
|
+
@text = text.nil? ? "" : text
|
|
82
|
+
@mesh_resource = mesh_resource.nil? ? "" : mesh_resource
|
|
83
|
+
@mesh_file = ::Asterism::ROS::VisualizationMsgs::MeshFile.from(mesh_file)
|
|
84
|
+
@mesh_use_embedded_materials = mesh_use_embedded_materials.nil? ? false : mesh_use_embedded_materials
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def self.write(w, m)
|
|
88
|
+
::Asterism::ROS::StdMsgs::Header.write(w, ::Asterism::ROS::StdMsgs::Header.from(m.header))
|
|
89
|
+
w.string(m.ns)
|
|
90
|
+
w.int32(m.id)
|
|
91
|
+
w.int32(m.type)
|
|
92
|
+
w.int32(m.action)
|
|
93
|
+
::Asterism::ROS::GeometryMsgs::Pose.write(w, ::Asterism::ROS::GeometryMsgs::Pose.from(m.pose))
|
|
94
|
+
::Asterism::ROS::GeometryMsgs::Vector3.write(w, ::Asterism::ROS::GeometryMsgs::Vector3.from(m.scale))
|
|
95
|
+
::Asterism::ROS::StdMsgs::ColorRGBA.write(w, ::Asterism::ROS::StdMsgs::ColorRGBA.from(m.color))
|
|
96
|
+
::Asterism::ROS::BuiltinInterfaces::Duration.write(w, ::Asterism::ROS::BuiltinInterfaces::Duration.from(m.lifetime))
|
|
97
|
+
w.bool(m.frame_locked)
|
|
98
|
+
w.structs(::Asterism::ROS::GeometryMsgs::Point, m.points, nil, nil)
|
|
99
|
+
w.structs(::Asterism::ROS::StdMsgs::ColorRGBA, m.colors, nil, nil)
|
|
100
|
+
w.string(m.texture_resource)
|
|
101
|
+
::Asterism::ROS::SensorMsgs::CompressedImage.write(w, ::Asterism::ROS::SensorMsgs::CompressedImage.from(m.texture))
|
|
102
|
+
w.structs(::Asterism::ROS::VisualizationMsgs::UVCoordinate, m.uv_coordinates, nil, nil)
|
|
103
|
+
w.string(m.text)
|
|
104
|
+
w.string(m.mesh_resource)
|
|
105
|
+
::Asterism::ROS::VisualizationMsgs::MeshFile.write(w, ::Asterism::ROS::VisualizationMsgs::MeshFile.from(m.mesh_file))
|
|
106
|
+
w.bool(m.mesh_use_embedded_materials)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def self.read(r)
|
|
110
|
+
m = new
|
|
111
|
+
m.header = ::Asterism::ROS::StdMsgs::Header.read(r)
|
|
112
|
+
m.ns = r.string
|
|
113
|
+
m.id = r.int32
|
|
114
|
+
m.type = r.int32
|
|
115
|
+
m.action = r.int32
|
|
116
|
+
m.pose = ::Asterism::ROS::GeometryMsgs::Pose.read(r)
|
|
117
|
+
m.scale = ::Asterism::ROS::GeometryMsgs::Vector3.read(r)
|
|
118
|
+
m.color = ::Asterism::ROS::StdMsgs::ColorRGBA.read(r)
|
|
119
|
+
m.lifetime = ::Asterism::ROS::BuiltinInterfaces::Duration.read(r)
|
|
120
|
+
m.frame_locked = r.bool
|
|
121
|
+
m.points = r.structs(::Asterism::ROS::GeometryMsgs::Point, nil)
|
|
122
|
+
m.colors = r.structs(::Asterism::ROS::StdMsgs::ColorRGBA, nil)
|
|
123
|
+
m.texture_resource = r.string
|
|
124
|
+
m.texture = ::Asterism::ROS::SensorMsgs::CompressedImage.read(r)
|
|
125
|
+
m.uv_coordinates = r.structs(::Asterism::ROS::VisualizationMsgs::UVCoordinate, nil)
|
|
126
|
+
m.text = r.string
|
|
127
|
+
m.mesh_resource = r.string
|
|
128
|
+
m.mesh_file = ::Asterism::ROS::VisualizationMsgs::MeshFile.read(r)
|
|
129
|
+
m.mesh_use_embedded_materials = r.bool
|
|
130
|
+
m
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# visualization_msgs/msg/MarkerArray (ROS 2 jazzy), generated by asterism_msggen.rb from
|
|
2
|
+
# MarkerArray.msg of the package visualization_msgs.
|
|
3
|
+
# License: Apache License 2.0, as the definition (package.xml of visualization_msgs).
|
|
4
|
+
# Do not edit; regenerate instead.
|
|
5
|
+
|
|
6
|
+
::Asterism::ROS.require_type("visualization_msgs/msg/Marker")
|
|
7
|
+
|
|
8
|
+
module ::Asterism::ROS::VisualizationMsgs
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
class ::Asterism::ROS::VisualizationMsgs::MarkerArray < ::Asterism::ROS::Message
|
|
12
|
+
ROS_NAME = "visualization_msgs/msg/MarkerArray"
|
|
13
|
+
TYPE_NAME = "visualization_msgs::msg::dds_::MarkerArray_"
|
|
14
|
+
TYPE_HASH = "RIHS01_86cb8800b6fb05b5eff1abd7a56f62a5641d3ae9a1c29e78e67e704f1d067dcf"
|
|
15
|
+
FIELDS = [:markers]
|
|
16
|
+
FIELD_TYPES = [
|
|
17
|
+
["markers", "visualization_msgs/msg/Marker", "sequence", "visualization_msgs/msg/Marker", nil, nil]
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
attr_accessor :markers
|
|
21
|
+
|
|
22
|
+
def initialize(markers: nil)
|
|
23
|
+
@markers = markers.nil? ? [] : markers.map { |e| ::Asterism::ROS::VisualizationMsgs::Marker.from(e) }
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.write(w, m)
|
|
27
|
+
w.structs(::Asterism::ROS::VisualizationMsgs::Marker, m.markers, nil, nil)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.read(r)
|
|
31
|
+
m = new
|
|
32
|
+
m.markers = r.structs(::Asterism::ROS::VisualizationMsgs::Marker, nil)
|
|
33
|
+
m
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# visualization_msgs/msg/MeshFile (ROS 2 jazzy), generated by asterism_msggen.rb from
|
|
2
|
+
# MeshFile.msg of the package visualization_msgs.
|
|
3
|
+
# License: Apache License 2.0, as the definition (package.xml of visualization_msgs).
|
|
4
|
+
# Do not edit; regenerate instead.
|
|
5
|
+
|
|
6
|
+
module ::Asterism::ROS::VisualizationMsgs
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class ::Asterism::ROS::VisualizationMsgs::MeshFile < ::Asterism::ROS::Message
|
|
10
|
+
ROS_NAME = "visualization_msgs/msg/MeshFile"
|
|
11
|
+
TYPE_NAME = "visualization_msgs::msg::dds_::MeshFile_"
|
|
12
|
+
TYPE_HASH = "RIHS01_7710ece15a148fb7c9b546364cfb215bb06098087bd6394fe5b73a493508f8c4"
|
|
13
|
+
FIELDS = [:filename, :data]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["filename", "string", "scalar", nil, nil, nil],
|
|
16
|
+
["data", "uint8", "sequence", nil, nil, nil]
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
attr_accessor :filename, :data
|
|
20
|
+
|
|
21
|
+
def initialize(filename: nil, data: nil)
|
|
22
|
+
@filename = filename.nil? ? "" : filename
|
|
23
|
+
@data = data.nil? ? "" : data
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.write(w, m)
|
|
27
|
+
w.string(m.filename)
|
|
28
|
+
w.bytes(m.data, nil, nil)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.read(r)
|
|
32
|
+
m = new
|
|
33
|
+
m.filename = r.string
|
|
34
|
+
m.data = r.bytes(nil)
|
|
35
|
+
m
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# visualization_msgs/msg/UVCoordinate (ROS 2 jazzy), generated by asterism_msggen.rb from
|
|
2
|
+
# UVCoordinate.msg of the package visualization_msgs.
|
|
3
|
+
# License: Apache License 2.0, as the definition (package.xml of visualization_msgs).
|
|
4
|
+
# Do not edit; regenerate instead.
|
|
5
|
+
|
|
6
|
+
module ::Asterism::ROS::VisualizationMsgs
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class ::Asterism::ROS::VisualizationMsgs::UVCoordinate < ::Asterism::ROS::Message
|
|
10
|
+
ROS_NAME = "visualization_msgs/msg/UVCoordinate"
|
|
11
|
+
TYPE_NAME = "visualization_msgs::msg::dds_::UVCoordinate_"
|
|
12
|
+
TYPE_HASH = "RIHS01_f27f7ed21fe360c6066944f856b801a0c0d1e94e815b6886444b42d90b196a26"
|
|
13
|
+
FIELDS = [:u, :v]
|
|
14
|
+
FIELD_TYPES = [
|
|
15
|
+
["u", "float32", "scalar", nil, nil, nil],
|
|
16
|
+
["v", "float32", "scalar", nil, nil, nil]
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
attr_accessor :u, :v
|
|
20
|
+
|
|
21
|
+
def initialize(u: nil, v: nil)
|
|
22
|
+
@u = u.nil? ? 0.0 : u
|
|
23
|
+
@v = v.nil? ? 0.0 : v
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.write(w, m)
|
|
27
|
+
w.float32(m.u)
|
|
28
|
+
w.float32(m.v)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.read(r)
|
|
32
|
+
m = new
|
|
33
|
+
m.u = r.float32
|
|
34
|
+
m.v = r.float32
|
|
35
|
+
m
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -26,7 +26,8 @@ module Asterism
|
|
|
26
26
|
# The portable API, entered under LOCK. Prepended to the Asterism module's
|
|
27
27
|
# singleton class, so the shared methods themselves are not changed.
|
|
28
28
|
module Locked
|
|
29
|
-
%i[expose unexpose poll nodes [] call_async meta connected? exposed on_join on_leave off_join off_leave
|
|
29
|
+
%i[expose unexpose poll nodes [] call_async meta connected? exposed on_join on_leave off_join off_leave
|
|
30
|
+
profile profile_async].each do |m|
|
|
30
31
|
define_method(m) do |*args, **kw, &blk|
|
|
31
32
|
::Asterism::LOCK.synchronize { super(*args, **kw, &blk) }
|
|
32
33
|
end
|
|
@@ -147,6 +148,17 @@ module Asterism
|
|
|
147
148
|
::Asterism.unexpose(name)
|
|
148
149
|
end
|
|
149
150
|
|
|
151
|
+
# Asterism.profile: this node's profile (with keywords, sets fields).
|
|
152
|
+
def profile(**fields)
|
|
153
|
+
::Asterism.profile(**fields)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Asterism.profile_of: another node's profile, or nil. Waits like a
|
|
157
|
+
# call (for the receiving thread's ticks while it runs).
|
|
158
|
+
def profile_of(node, icon: true, timeout: nil, timeout_ms: nil)
|
|
159
|
+
::Asterism.profile_of(node, icon: icon, timeout: timeout, timeout_ms: timeout_ms)
|
|
160
|
+
end
|
|
161
|
+
|
|
150
162
|
# A proxy for <node>/<app>/<object>; timeout: in seconds (or
|
|
151
163
|
# timeout_ms:).
|
|
152
164
|
def [](path, timeout: nil, timeout_ms: nil)
|
data/lib/asterism/cruby.rb
CHANGED
|
@@ -24,6 +24,44 @@ module Asterism
|
|
|
24
24
|
Process.clock_gettime(Process::CLOCK_MONOTONIC, :millisecond)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
+
# The profile's defaults on CRuby (mrblib/profile.rb): kind "cruby" and
|
|
28
|
+
# the icon bundled with the gem (replace it with Asterism.profile(icon:)).
|
|
29
|
+
ICON_FILE = File.expand_path("../../data/icon.png", __dir__)
|
|
30
|
+
|
|
31
|
+
def self.default_profile_kind
|
|
32
|
+
"cruby"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.default_icon_path
|
|
36
|
+
ICON_FILE
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.read_icon_file(path)
|
|
40
|
+
File.binread(path)
|
|
41
|
+
rescue SystemCallError
|
|
42
|
+
nil
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
module Profile
|
|
46
|
+
# Icons come out of MessagePack as UTF-8 Strings: hand them out as the
|
|
47
|
+
# bytes they are.
|
|
48
|
+
class << self
|
|
49
|
+
alias_method :check_portable, :check
|
|
50
|
+
|
|
51
|
+
def check(h)
|
|
52
|
+
out = check_portable(h)
|
|
53
|
+
out["icon"] = out["icon"].b if out&.key?("icon")
|
|
54
|
+
out
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
alias_method :icon_portable!, :icon!
|
|
58
|
+
|
|
59
|
+
def icon!(v)
|
|
60
|
+
icon_portable!(v).b.freeze
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
27
65
|
def self.error_reply(klass, message)
|
|
28
66
|
::MessagePack.pack(["error", klass.to_s, message.to_s], compatibility_mode: true)
|
|
29
67
|
end
|
data/lib/asterism/version.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
module Asterism
|
|
2
|
-
# The gem's version (the CRuby gem asterism
|
|
3
|
-
#
|
|
4
|
-
|
|
2
|
+
# The gem's version (the CRuby gem asterism). The Zenoh binding it needs
|
|
3
|
+
# is in asterism.gemspec (asterism-zenoh ~> 0.4.0 for 0.5.0: the bindings
|
|
4
|
+
# did not change; see CHANGELOG.md).
|
|
5
|
+
VERSION = "0.5.0"
|
|
5
6
|
end
|
data/lib/asterism.rb
CHANGED
|
@@ -12,7 +12,7 @@ require "asterism/zenoh"
|
|
|
12
12
|
require_relative "asterism/version"
|
|
13
13
|
|
|
14
14
|
# The same order as an mrbgem's mrblib (alphabetical).
|
|
15
|
-
%w[asterism cdr future proxy ros].each do |f|
|
|
15
|
+
%w[asterism cdr future profile proxy ros].each do |f|
|
|
16
16
|
require_relative "../mrblib/#{f}"
|
|
17
17
|
end
|
|
18
18
|
require_relative "asterism/cruby"
|
data/mrblib/asterism.rb
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
# asterism/<node>/<app>/<object>/meta get: reply {"methods" => [[name, arity], ...]}
|
|
15
15
|
# asterism/<node> liveliness: the node is up
|
|
16
16
|
# asterism/<node>/<app>/<object> liveliness: the object is exposed
|
|
17
|
+
# asterism/<node>/@profile get: reply the node's profile (profile.rb)
|
|
17
18
|
#
|
|
18
19
|
# Everything is polled: nothing runs behind the application's back. A call
|
|
19
20
|
# that waits for its answer keeps polling meanwhile and answers the calls
|
|
@@ -221,6 +222,7 @@ module Asterism
|
|
|
221
222
|
@node_token = s.liveliness("#{ROOT}/#{node}")
|
|
222
223
|
@queryable = s.queryable("#{ROOT}/#{node}/#{app}/**", depth: 32)
|
|
223
224
|
@watch = s.liveliness_watch("#{ROOT}/**", depth: watch_depth)
|
|
225
|
+
@profile_queryable = s.queryable("#{ROOT}/#{node}/#{Profile::KEY}", depth: 4)
|
|
224
226
|
rescue Asterism::Zenoh::Error => e
|
|
225
227
|
s.close
|
|
226
228
|
raise Disconnected, e.message
|
|
@@ -235,6 +237,7 @@ module Asterism
|
|
|
235
237
|
@depth = 0
|
|
236
238
|
@lost = nil
|
|
237
239
|
@known = [] # the other nodes told to on_join so far
|
|
240
|
+
tell_profile # for those who follow the profiles (the reply is the queryable's)
|
|
238
241
|
self
|
|
239
242
|
end
|
|
240
243
|
|
|
@@ -300,6 +303,7 @@ module Asterism
|
|
|
300
303
|
@node_token = nil
|
|
301
304
|
@queryable = nil
|
|
302
305
|
@watch = nil
|
|
306
|
+
@profile_queryable = nil
|
|
303
307
|
end
|
|
304
308
|
|
|
305
309
|
# @api private
|
|
@@ -447,6 +451,7 @@ module Asterism
|
|
|
447
451
|
return false
|
|
448
452
|
end
|
|
449
453
|
answer_calls
|
|
454
|
+
answer_profile
|
|
450
455
|
follow_liveliness
|
|
451
456
|
!@session.nil?
|
|
452
457
|
rescue Asterism::Zenoh::Error => e
|