rosruby_msgs 0.0.1 → 0.0.2

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.
Files changed (122) hide show
  1. data/lib/actionlib_msgs/GoalID.rb +106 -0
  2. data/lib/actionlib_msgs/GoalStatus.rb +160 -0
  3. data/lib/actionlib_msgs/GoalStatusArray.rb +207 -0
  4. data/lib/actionlib_tutorials/AveragingAction.rb +322 -0
  5. data/lib/actionlib_tutorials/AveragingActionFeedback.rb +213 -0
  6. data/lib/actionlib_tutorials/AveragingActionGoal.rb +167 -0
  7. data/lib/actionlib_tutorials/AveragingActionResult.rb +209 -0
  8. data/lib/actionlib_tutorials/AveragingFeedback.rb +93 -0
  9. data/lib/actionlib_tutorials/AveragingGoal.rb +85 -0
  10. data/lib/actionlib_tutorials/AveragingResult.rb +87 -0
  11. data/lib/actionlib_tutorials/FibonacciAction.rb +334 -0
  12. data/lib/actionlib_tutorials/FibonacciActionFeedback.rb +216 -0
  13. data/lib/actionlib_tutorials/FibonacciActionGoal.rb +167 -0
  14. data/lib/actionlib_tutorials/FibonacciActionResult.rb +214 -0
  15. data/lib/actionlib_tutorials/FibonacciFeedback.rb +93 -0
  16. data/lib/actionlib_tutorials/FibonacciGoal.rb +85 -0
  17. data/lib/actionlib_tutorials/FibonacciResult.rb +91 -0
  18. data/lib/geometry_msgs/Point.rb +88 -0
  19. data/lib/geometry_msgs/Point32.rb +94 -0
  20. data/lib/geometry_msgs/PointStamped.rb +133 -0
  21. data/lib/geometry_msgs/Polygon.rb +112 -0
  22. data/lib/geometry_msgs/PolygonStamped.rb +159 -0
  23. data/lib/geometry_msgs/Pose.rb +110 -0
  24. data/lib/geometry_msgs/Pose2D.rb +88 -0
  25. data/lib/geometry_msgs/PoseArray.rb +174 -0
  26. data/lib/geometry_msgs/PoseStamped.rb +150 -0
  27. data/lib/geometry_msgs/PoseWithCovariance.rb +125 -0
  28. data/lib/geometry_msgs/PoseWithCovarianceStamped.rb +169 -0
  29. data/lib/geometry_msgs/Quaternion.rb +91 -0
  30. data/lib/geometry_msgs/QuaternionStamped.rb +136 -0
  31. data/lib/geometry_msgs/Transform.rb +111 -0
  32. data/lib/geometry_msgs/TransformStamped.rb +168 -0
  33. data/lib/geometry_msgs/Twist.rb +100 -0
  34. data/lib/geometry_msgs/TwistStamped.rb +140 -0
  35. data/lib/geometry_msgs/TwistWithCovariance.rb +115 -0
  36. data/lib/geometry_msgs/TwistWithCovarianceStamped.rb +158 -0
  37. data/lib/geometry_msgs/Vector3.rb +88 -0
  38. data/lib/geometry_msgs/Vector3Stamped.rb +133 -0
  39. data/lib/geometry_msgs/Wrench.rb +101 -0
  40. data/lib/geometry_msgs/WrenchStamped.rb +141 -0
  41. data/lib/nav_msgs/GetMap.rb +280 -0
  42. data/lib/nav_msgs/GetPlan.rb +406 -0
  43. data/lib/nav_msgs/GridCells.rb +153 -0
  44. data/lib/nav_msgs/MapMetaData.rb +130 -0
  45. data/lib/nav_msgs/OccupancyGrid.rb +187 -0
  46. data/lib/nav_msgs/Odometry.rb +223 -0
  47. data/lib/nav_msgs/Path.rb +205 -0
  48. data/lib/roscpp/Empty.rb +166 -0
  49. data/lib/roscpp/GetLoggers.rb +205 -0
  50. data/lib/roscpp/Logger.rb +98 -0
  51. data/lib/roscpp/SetLoggerLevel.rb +189 -0
  52. data/lib/roscpp_tutorials/TwoInts.rb +185 -0
  53. data/lib/rosgraph_msgs/Clock.rb +90 -0
  54. data/lib/rosgraph_msgs/Log.rb +210 -0
  55. data/lib/sensor_msgs/CameraInfo.rb +325 -0
  56. data/lib/sensor_msgs/ChannelFloat32.rb +122 -0
  57. data/lib/sensor_msgs/CompressedImage.rb +151 -0
  58. data/lib/sensor_msgs/Image.rb +179 -0
  59. data/lib/sensor_msgs/Imu.rb +193 -0
  60. data/lib/sensor_msgs/JointState.rb +195 -0
  61. data/lib/sensor_msgs/Joy.rb +141 -0
  62. data/lib/sensor_msgs/JoyFeedback.rb +104 -0
  63. data/lib/sensor_msgs/JoyFeedbackArray.rb +116 -0
  64. data/lib/sensor_msgs/LaserScan.rb +178 -0
  65. data/lib/sensor_msgs/NavSatFix.rb +215 -0
  66. data/lib/sensor_msgs/NavSatStatus.rb +115 -0
  67. data/lib/sensor_msgs/PointCloud.rb +222 -0
  68. data/lib/sensor_msgs/PointCloud2.rb +226 -0
  69. data/lib/sensor_msgs/PointField.rb +119 -0
  70. data/lib/sensor_msgs/Range.rb +157 -0
  71. data/lib/sensor_msgs/RegionOfInterest.rb +106 -0
  72. data/lib/sensor_msgs/SetCameraInfo.rb +437 -0
  73. data/lib/sensor_msgs/TimeReference.rb +140 -0
  74. data/lib/std_msgs/Bool.rb +83 -0
  75. data/lib/std_msgs/Byte.rb +83 -0
  76. data/lib/std_msgs/ByteMultiArray.rb +165 -0
  77. data/lib/std_msgs/Char.rb +82 -0
  78. data/lib/std_msgs/ColorRGBA.rb +89 -0
  79. data/lib/std_msgs/Duration.rb +87 -0
  80. data/lib/std_msgs/Empty.rb +75 -0
  81. data/lib/std_msgs/Float32.rb +82 -0
  82. data/lib/std_msgs/Float32MultiArray.rb +165 -0
  83. data/lib/std_msgs/Float64.rb +82 -0
  84. data/lib/std_msgs/Float64MultiArray.rb +165 -0
  85. data/lib/std_msgs/Header.rb +112 -0
  86. data/lib/std_msgs/Int16.rb +83 -0
  87. data/lib/std_msgs/Int16MultiArray.rb +165 -0
  88. data/lib/std_msgs/Int32.rb +82 -0
  89. data/lib/std_msgs/Int32MultiArray.rb +165 -0
  90. data/lib/std_msgs/Int64.rb +82 -0
  91. data/lib/std_msgs/Int64MultiArray.rb +165 -0
  92. data/lib/std_msgs/Int8.rb +83 -0
  93. data/lib/std_msgs/Int8MultiArray.rb +165 -0
  94. data/lib/std_msgs/MultiArrayDimension.rb +95 -0
  95. data/lib/std_msgs/MultiArrayLayout.rb +141 -0
  96. data/lib/std_msgs/String.rb +87 -0
  97. data/lib/std_msgs/Time.rb +87 -0
  98. data/lib/std_msgs/UInt16.rb +83 -0
  99. data/lib/std_msgs/UInt16MultiArray.rb +165 -0
  100. data/lib/std_msgs/UInt32.rb +81 -0
  101. data/lib/std_msgs/UInt32MultiArray.rb +165 -0
  102. data/lib/std_msgs/UInt64.rb +82 -0
  103. data/lib/std_msgs/UInt64MultiArray.rb +165 -0
  104. data/lib/std_msgs/UInt8.rb +83 -0
  105. data/lib/std_msgs/UInt8MultiArray.rb +168 -0
  106. data/lib/std_srvs/Empty.rb +166 -0
  107. data/lib/stereo_msgs/DisparityImage.rb +261 -0
  108. data/lib/tf/FrameGraph.rb +179 -0
  109. data/lib/tf/tfMessage.rb +202 -0
  110. data/lib/trajectory_msgs/JointTrajectory.rb +198 -0
  111. data/lib/trajectory_msgs/JointTrajectoryPoint.rb +125 -0
  112. data/lib/visualization_msgs/ImageMarker.rb +238 -0
  113. data/lib/visualization_msgs/InteractiveMarker.rb +651 -0
  114. data/lib/visualization_msgs/InteractiveMarkerControl.rb +469 -0
  115. data/lib/visualization_msgs/InteractiveMarkerFeedback.rb +235 -0
  116. data/lib/visualization_msgs/InteractiveMarkerInit.rb +707 -0
  117. data/lib/visualization_msgs/InteractiveMarkerPose.rb +166 -0
  118. data/lib/visualization_msgs/InteractiveMarkerUpdate.rb +825 -0
  119. data/lib/visualization_msgs/Marker.rb +318 -0
  120. data/lib/visualization_msgs/MarkerArray.rb +349 -0
  121. data/lib/visualization_msgs/MenuEntry.rb +168 -0
  122. metadata +123 -2
@@ -0,0 +1,104 @@
1
+ # autogenerated by genmsg_ruby from JoyFeedback.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+
5
+ module Sensor_msgs
6
+
7
+ class JoyFeedback <::ROS::Message
8
+ def self.md5sum
9
+ "f4dcd73460360d98f36e55ee7f2e46f1"
10
+ end
11
+
12
+ def self.type
13
+ "sensor_msgs/JoyFeedback"
14
+ end
15
+
16
+ def has_header?
17
+ false
18
+ end
19
+
20
+ def message_definition
21
+ "# Declare of the type of feedback
22
+ uint8 TYPE_LED = 0
23
+ uint8 TYPE_RUMBLE = 1
24
+ uint8 TYPE_BUZZER = 2
25
+
26
+ uint8 type
27
+
28
+ # This will hold an id number for each type of each feedback.
29
+ # Example, the first led would be id=0, the second would be id=1
30
+ uint8 id
31
+
32
+ # Intensity of the feedback, from 0.0 to 1.0, inclusive. If device is
33
+ # actually binary, driver should treat 0<=x<0.5 as off, 0.5<=x<=1 as on.
34
+ float32 intensity
35
+
36
+
37
+ "
38
+ end
39
+ # Pseudo-constants
40
+ TYPE_LED = 0
41
+ TYPE_RUMBLE = 1
42
+ TYPE_BUZZER = 2
43
+
44
+ attr_accessor :type, :id, :intensity
45
+
46
+ @@struct_C2f = ::ROS::Struct.new("C2f")
47
+
48
+ @@struct_L = ::ROS::Struct.new("L")
49
+ @@slot_types = ['uint8','uint8','float32']
50
+
51
+ def initialize
52
+ # Constructor. Any message fields that are implicitly/explicitly
53
+ # set to None will be assigned a default value. The recommend
54
+ # use is keyword arguments as this is more robust to future message
55
+ # changes. You cannot mix in-order arguments and keyword arguments.
56
+ #
57
+ # The available fields are:
58
+ # type,id,intensity
59
+ #
60
+ # @param args: complete set of field values, in .msg order
61
+ # @param kwds: use keyword arguments corresponding to message field names
62
+ # to set specific fields.
63
+ #
64
+
65
+ # message fields cannot be None, assign default values for those that are
66
+ @type = 0
67
+ @id = 0
68
+ @intensity = 0.0
69
+ end
70
+
71
+ def _get_types
72
+ # internal API method
73
+ return @slot_types
74
+ end
75
+
76
+ def serialize(buff)
77
+ # serialize message into buffer
78
+ # @param buff: buffer
79
+ # @type buff: StringIO
80
+ begin
81
+ buff.write(@@struct_C2f.pack(@type, @id, @intensity))
82
+ rescue => exception
83
+ raise "some erro in serialize: #{exception}"
84
+
85
+ end
86
+ end
87
+
88
+ def deserialize(str)
89
+ # unpack serialized message in str into this message instance
90
+ # @param str: byte array of serialized message
91
+ # @type str: str
92
+
93
+ begin
94
+ end_point = 0
95
+ start = end_point
96
+ end_point += ROS::Struct::calc_size('C2f')
97
+ (@type, @id, @intensity,) = @@struct_C2f.unpack(str[start..(end_point-1)])
98
+ return self
99
+ rescue => exception
100
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
101
+ end
102
+ end
103
+ end # end of class
104
+ end # end of module
@@ -0,0 +1,116 @@
1
+ # autogenerated by genmsg_ruby from JoyFeedbackArray.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+ require "sensor_msgs/JoyFeedback"
5
+
6
+ module Sensor_msgs
7
+
8
+ class JoyFeedbackArray <::ROS::Message
9
+ def self.md5sum
10
+ "cde5730a895b1fc4dee6f91b754b213d"
11
+ end
12
+
13
+ def self.type
14
+ "sensor_msgs/JoyFeedbackArray"
15
+ end
16
+
17
+ def has_header?
18
+ false
19
+ end
20
+
21
+ def message_definition
22
+ "# This message publishes values for multiple feedback at once.
23
+ JoyFeedback[] array
24
+ ================================================================================
25
+ MSG: sensor_msgs/JoyFeedback
26
+ # Declare of the type of feedback
27
+ uint8 TYPE_LED = 0
28
+ uint8 TYPE_RUMBLE = 1
29
+ uint8 TYPE_BUZZER = 2
30
+
31
+ uint8 type
32
+
33
+ # This will hold an id number for each type of each feedback.
34
+ # Example, the first led would be id=0, the second would be id=1
35
+ uint8 id
36
+
37
+ # Intensity of the feedback, from 0.0 to 1.0, inclusive. If device is
38
+ # actually binary, driver should treat 0<=x<0.5 as off, 0.5<=x<=1 as on.
39
+ float32 intensity
40
+
41
+
42
+ "
43
+ end
44
+ attr_accessor :array
45
+
46
+ @@struct_C2f = ::ROS::Struct.new("C2f")
47
+
48
+ @@struct_L = ::ROS::Struct.new("L")
49
+ @@slot_types = ['sensor_msgs/JoyFeedback[]']
50
+
51
+ def initialize
52
+ # Constructor. Any message fields that are implicitly/explicitly
53
+ # set to None will be assigned a default value. The recommend
54
+ # use is keyword arguments as this is more robust to future message
55
+ # changes. You cannot mix in-order arguments and keyword arguments.
56
+ #
57
+ # The available fields are:
58
+ # array
59
+ #
60
+ # @param args: complete set of field values, in .msg order
61
+ # @param kwds: use keyword arguments corresponding to message field names
62
+ # to set specific fields.
63
+ #
64
+
65
+ # message fields cannot be None, assign default values for those that are
66
+ @array = []
67
+ end
68
+
69
+ def _get_types
70
+ # internal API method
71
+ return @slot_types
72
+ end
73
+
74
+ def serialize(buff)
75
+ # serialize message into buffer
76
+ # @param buff: buffer
77
+ # @type buff: StringIO
78
+ begin
79
+ length = @array.length
80
+ buff.write(@@struct_L.pack(length))
81
+ for val1 in @array
82
+ _x = val1
83
+ buff.write(@@struct_C2f.pack(_x.type, _x.id, _x.intensity))
84
+ end
85
+ rescue => exception
86
+ raise "some erro in serialize: #{exception}"
87
+
88
+ end
89
+ end
90
+
91
+ def deserialize(str)
92
+ # unpack serialized message in str into this message instance
93
+ # @param str: byte array of serialized message
94
+ # @type str: str
95
+
96
+ begin
97
+ end_point = 0
98
+ start = end_point
99
+ end_point += 4
100
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
101
+ @array = []
102
+ length.times do
103
+ val1 = Sensor_msgs::JoyFeedback.new
104
+ _x = val1
105
+ start = end_point
106
+ end_point += ROS::Struct::calc_size('C2f')
107
+ (_x.type, _x.id, _x.intensity,) = @@struct_C2f.unpack(str[start..(end_point-1)])
108
+ @array.push(val1)
109
+ end
110
+ return self
111
+ rescue => exception
112
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
113
+ end
114
+ end
115
+ end # end of class
116
+ end # end of module
@@ -0,0 +1,178 @@
1
+ # autogenerated by genmsg_ruby from LaserScan.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+ require "std_msgs/Header"
5
+
6
+ module Sensor_msgs
7
+
8
+ class LaserScan <::ROS::Message
9
+ def self.md5sum
10
+ "90c7ef2dc6895d81024acba2ac42f369"
11
+ end
12
+
13
+ def self.type
14
+ "sensor_msgs/LaserScan"
15
+ end
16
+
17
+ def has_header?
18
+ true
19
+ end
20
+
21
+ def message_definition
22
+ "# Single scan from a planar laser range-finder
23
+ #
24
+ # If you have another ranging device with different behavior (e.g. a sonar
25
+ # array), please find or create a different message, since applications
26
+ # will make fairly laser-specific assumptions about this data
27
+
28
+ Header header # timestamp in the header is the acquisition time of
29
+ # the first ray in the scan.
30
+ #
31
+ # in frame frame_id, angles are measured around
32
+ # the positive Z axis (counterclockwise, if Z is up)
33
+ # with zero angle being forward along the x axis
34
+
35
+ float32 angle_min # start angle of the scan [rad]
36
+ float32 angle_max # end angle of the scan [rad]
37
+ float32 angle_increment # angular distance between measurements [rad]
38
+
39
+ float32 time_increment # time between measurements [seconds] - if your scanner
40
+ # is moving, this will be used in interpolating position
41
+ # of 3d points
42
+ float32 scan_time # time between scans [seconds]
43
+
44
+ float32 range_min # minimum range value [m]
45
+ float32 range_max # maximum range value [m]
46
+
47
+ float32[] ranges # range data [m] (Note: values < range_min or > range_max should be discarded)
48
+ float32[] intensities # intensity data [device-specific units]. If your
49
+ # device does not provide intensities, please leave
50
+ # the array empty.
51
+
52
+ ================================================================================
53
+ MSG: std_msgs/Header
54
+ # Standard metadata for higher-level stamped data types.
55
+ # This is generally used to communicate timestamped data
56
+ # in a particular coordinate frame.
57
+ #
58
+ # sequence ID: consecutively increasing ID
59
+ uint32 seq
60
+ #Two-integer timestamp that is expressed as:
61
+ # * stamp.secs: seconds (stamp_secs) since epoch
62
+ # * stamp.nsecs: nanoseconds since stamp_secs
63
+ # time-handling sugar is provided by the client library
64
+ time stamp
65
+ #Frame this data is associated with
66
+ # 0: no frame
67
+ # 1: global frame
68
+ string frame_id
69
+
70
+ "
71
+ end
72
+ attr_accessor :header, :angle_min, :angle_max, :angle_increment, :time_increment, :scan_time, :range_min, :range_max, :ranges, :intensities
73
+
74
+ @@struct_f7 = ::ROS::Struct.new("f7")
75
+ @@struct_L3 = ::ROS::Struct.new("L3")
76
+
77
+ @@struct_L = ::ROS::Struct.new("L")
78
+ @@slot_types = ['Header','float32','float32','float32','float32','float32','float32','float32','float32[]','float32[]']
79
+
80
+ def initialize
81
+ # Constructor. Any message fields that are implicitly/explicitly
82
+ # set to None will be assigned a default value. The recommend
83
+ # use is keyword arguments as this is more robust to future message
84
+ # changes. You cannot mix in-order arguments and keyword arguments.
85
+ #
86
+ # The available fields are:
87
+ # header,angle_min,angle_max,angle_increment,time_increment,scan_time,range_min,range_max,ranges,intensities
88
+ #
89
+ # @param args: complete set of field values, in .msg order
90
+ # @param kwds: use keyword arguments corresponding to message field names
91
+ # to set specific fields.
92
+ #
93
+
94
+ # message fields cannot be None, assign default values for those that are
95
+ @header = Std_msgs::Header.new
96
+ @angle_min = 0.0
97
+ @angle_max = 0.0
98
+ @angle_increment = 0.0
99
+ @time_increment = 0.0
100
+ @scan_time = 0.0
101
+ @range_min = 0.0
102
+ @range_max = 0.0
103
+ @ranges = []
104
+ @intensities = []
105
+ end
106
+
107
+ def _get_types
108
+ # internal API method
109
+ return @slot_types
110
+ end
111
+
112
+ def serialize(buff)
113
+ # serialize message into buffer
114
+ # @param buff: buffer
115
+ # @type buff: StringIO
116
+ begin
117
+ buff.write(@@struct_L3.pack(@header.seq, @header.stamp.secs, @header.stamp.nsecs))
118
+ _x = @header.frame_id
119
+ length = _x.length
120
+ buff.write([length, _x].pack("La#{length}"))
121
+ buff.write(@@struct_f7.pack(@angle_min, @angle_max, @angle_increment, @time_increment, @scan_time, @range_min, @range_max))
122
+ length = @ranges.length
123
+ buff.write(@@struct_L.pack(length))
124
+ pattern = "f#{length}"
125
+ buff.write(*@ranges.pack(pattern))
126
+ length = @intensities.length
127
+ buff.write(@@struct_L.pack(length))
128
+ pattern = "f#{length}"
129
+ buff.write(*@intensities.pack(pattern))
130
+ rescue => exception
131
+ raise "some erro in serialize: #{exception}"
132
+
133
+ end
134
+ end
135
+
136
+ def deserialize(str)
137
+ # unpack serialized message in str into this message instance
138
+ # @param str: byte array of serialized message
139
+ # @type str: str
140
+
141
+ begin
142
+ if @header == nil
143
+ @header = Std_msgs::Header.new
144
+ end
145
+ end_point = 0
146
+ start = end_point
147
+ end_point += ROS::Struct::calc_size('L3')
148
+ (@header.seq, @header.stamp.secs, @header.stamp.nsecs,) = @@struct_L3.unpack(str[start..(end_point-1)])
149
+ start = end_point
150
+ end_point += 4
151
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
152
+ start = end_point
153
+ end_point += length
154
+ @header.frame_id = str[start..(end_point-1)]
155
+ start = end_point
156
+ end_point += ROS::Struct::calc_size('f7')
157
+ (@angle_min, @angle_max, @angle_increment, @time_increment, @scan_time, @range_min, @range_max,) = @@struct_f7.unpack(str[start..(end_point-1)])
158
+ start = end_point
159
+ end_point += 4
160
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
161
+ pattern = "f#{length}"
162
+ start = end_point
163
+ end_point += ROS::Struct::calc_size("#{pattern}")
164
+ @ranges = str[start..(end_point-1)].unpack(pattern)
165
+ start = end_point
166
+ end_point += 4
167
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
168
+ pattern = "f#{length}"
169
+ start = end_point
170
+ end_point += ROS::Struct::calc_size("#{pattern}")
171
+ @intensities = str[start..(end_point-1)].unpack(pattern)
172
+ return self
173
+ rescue => exception
174
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
175
+ end
176
+ end
177
+ end # end of class
178
+ end # end of module
@@ -0,0 +1,215 @@
1
+ # autogenerated by genmsg_ruby from NavSatFix.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+ require "std_msgs/Header"
5
+ require "sensor_msgs/NavSatStatus"
6
+
7
+ module Sensor_msgs
8
+
9
+ class NavSatFix <::ROS::Message
10
+ def self.md5sum
11
+ "2d3a8cd499b9b4a0249fb98fd05cfa48"
12
+ end
13
+
14
+ def self.type
15
+ "sensor_msgs/NavSatFix"
16
+ end
17
+
18
+ def has_header?
19
+ true
20
+ end
21
+
22
+ def message_definition
23
+ "# Navigation Satellite fix for any Global Navigation Satellite System
24
+ #
25
+ # Specified using the WGS 84 reference ellipsoid
26
+
27
+ # header.stamp specifies the ROS time for this measurement (the
28
+ # corresponding satellite time may be reported using the
29
+ # sensor_msgs/TimeReference message).
30
+ #
31
+ # header.frame_id is the frame of reference reported by the satellite
32
+ # receiver, usually the location of the antenna. This is a
33
+ # Euclidean frame relative to the vehicle, not a reference
34
+ # ellipsoid.
35
+ Header header
36
+
37
+ # satellite fix status information
38
+ sensor_msgs/NavSatStatus status
39
+
40
+ # Latitude [degrees]. Positive is north of equator; negative is south.
41
+ float64 latitude
42
+
43
+ # Longitude [degrees]. Positive is east of prime meridian; negative is west.
44
+ float64 longitude
45
+
46
+ # Altitude [m]. Positive is above the WGS 84 ellipsoid
47
+ # (quiet NaN if no altitude is available).
48
+ float64 altitude
49
+
50
+ # Position covariance [m^2] defined relative to a tangential plane
51
+ # through the reported position. The components are East, North, and
52
+ # Up (ENU), in row-major order.
53
+ #
54
+ # Beware: this coordinate system exhibits singularities at the poles.
55
+
56
+ float64[9] position_covariance
57
+
58
+ # If the covariance of the fix is known, fill it in completely. If the
59
+ # GPS receiver provides the variance of each measurement, put them
60
+ # along the diagonal. If only Dilution of Precision is available,
61
+ # estimate an approximate covariance from that.
62
+
63
+ uint8 COVARIANCE_TYPE_UNKNOWN = 0
64
+ uint8 COVARIANCE_TYPE_APPROXIMATED = 1
65
+ uint8 COVARIANCE_TYPE_DIAGONAL_KNOWN = 2
66
+ uint8 COVARIANCE_TYPE_KNOWN = 3
67
+
68
+ uint8 position_covariance_type
69
+
70
+ ================================================================================
71
+ MSG: std_msgs/Header
72
+ # Standard metadata for higher-level stamped data types.
73
+ # This is generally used to communicate timestamped data
74
+ # in a particular coordinate frame.
75
+ #
76
+ # sequence ID: consecutively increasing ID
77
+ uint32 seq
78
+ #Two-integer timestamp that is expressed as:
79
+ # * stamp.secs: seconds (stamp_secs) since epoch
80
+ # * stamp.nsecs: nanoseconds since stamp_secs
81
+ # time-handling sugar is provided by the client library
82
+ time stamp
83
+ #Frame this data is associated with
84
+ # 0: no frame
85
+ # 1: global frame
86
+ string frame_id
87
+
88
+ ================================================================================
89
+ MSG: sensor_msgs/NavSatStatus
90
+ # Navigation Satellite fix status for any Global Navigation Satellite System
91
+
92
+ # Whether to output an augmented fix is determined by both the fix
93
+ # type and the last time differential corrections were received. A
94
+ # fix is valid when status >= STATUS_FIX.
95
+
96
+ int8 STATUS_NO_FIX = -1 # unable to fix position
97
+ int8 STATUS_FIX = 0 # unaugmented fix
98
+ int8 STATUS_SBAS_FIX = 1 # with satellite-based augmentation
99
+ int8 STATUS_GBAS_FIX = 2 # with ground-based augmentation
100
+
101
+ int8 status
102
+
103
+ # Bits defining which Global Navigation Satellite System signals were
104
+ # used by the receiver.
105
+
106
+ uint16 SERVICE_GPS = 1
107
+ uint16 SERVICE_GLONASS = 2
108
+ uint16 SERVICE_COMPASS = 4 # includes BeiDou.
109
+ uint16 SERVICE_GALILEO = 8
110
+
111
+ uint16 service
112
+
113
+ "
114
+ end
115
+ # Pseudo-constants
116
+ COVARIANCE_TYPE_UNKNOWN = 0
117
+ COVARIANCE_TYPE_APPROXIMATED = 1
118
+ COVARIANCE_TYPE_DIAGONAL_KNOWN = 2
119
+ COVARIANCE_TYPE_KNOWN = 3
120
+
121
+ attr_accessor :header, :status, :latitude, :longitude, :altitude, :position_covariance, :position_covariance_type
122
+
123
+ @@struct_L3 = ::ROS::Struct.new("L3")
124
+ @@struct_cSd3 = ::ROS::Struct.new("cSd3")
125
+ @@struct_d9 = ::ROS::Struct.new("d9")
126
+ @@struct_C = ::ROS::Struct.new("C")
127
+
128
+ @@struct_L = ::ROS::Struct.new("L")
129
+ @@slot_types = ['Header','sensor_msgs/NavSatStatus','float64','float64','float64','float64[9]','uint8']
130
+
131
+ def initialize
132
+ # Constructor. Any message fields that are implicitly/explicitly
133
+ # set to None will be assigned a default value. The recommend
134
+ # use is keyword arguments as this is more robust to future message
135
+ # changes. You cannot mix in-order arguments and keyword arguments.
136
+ #
137
+ # The available fields are:
138
+ # header,status,latitude,longitude,altitude,position_covariance,position_covariance_type
139
+ #
140
+ # @param args: complete set of field values, in .msg order
141
+ # @param kwds: use keyword arguments corresponding to message field names
142
+ # to set specific fields.
143
+ #
144
+
145
+ # message fields cannot be None, assign default values for those that are
146
+ @header = Std_msgs::Header.new
147
+ @status = Sensor_msgs::NavSatStatus.new
148
+ @latitude = 0.0
149
+ @longitude = 0.0
150
+ @altitude = 0.0
151
+ @position_covariance = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
152
+ @position_covariance_type = 0
153
+ end
154
+
155
+ def _get_types
156
+ # internal API method
157
+ return @slot_types
158
+ end
159
+
160
+ def serialize(buff)
161
+ # serialize message into buffer
162
+ # @param buff: buffer
163
+ # @type buff: StringIO
164
+ begin
165
+ buff.write(@@struct_L3.pack(@header.seq, @header.stamp.secs, @header.stamp.nsecs))
166
+ _x = @header.frame_id
167
+ length = _x.length
168
+ buff.write([length, _x].pack("La#{length}"))
169
+ buff.write(@@struct_cSd3.pack(@status.status, @status.service, @latitude, @longitude, @altitude))
170
+ buff.write(@@struct_d9.pack(*@position_covariance))
171
+ buff.write(@@struct_C.pack(@position_covariance_type))
172
+ rescue => exception
173
+ raise "some erro in serialize: #{exception}"
174
+
175
+ end
176
+ end
177
+
178
+ def deserialize(str)
179
+ # unpack serialized message in str into this message instance
180
+ # @param str: byte array of serialized message
181
+ # @type str: str
182
+
183
+ begin
184
+ if @header == nil
185
+ @header = Std_msgs::Header.new
186
+ end
187
+ if @status == nil
188
+ @status = Sensor_msgs::NavSatStatus.new
189
+ end
190
+ end_point = 0
191
+ start = end_point
192
+ end_point += ROS::Struct::calc_size('L3')
193
+ (@header.seq, @header.stamp.secs, @header.stamp.nsecs,) = @@struct_L3.unpack(str[start..(end_point-1)])
194
+ start = end_point
195
+ end_point += 4
196
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
197
+ start = end_point
198
+ end_point += length
199
+ @header.frame_id = str[start..(end_point-1)]
200
+ start = end_point
201
+ end_point += ROS::Struct::calc_size('cSd3')
202
+ (@status.status, @status.service, @latitude, @longitude, @altitude,) = @@struct_cSd3.unpack(str[start..(end_point-1)])
203
+ start = end_point
204
+ end_point += 8
205
+ @position_covariance = @@struct_d9.unpack(str[start..(end_point-1)])
206
+ start = end_point
207
+ end_point += ROS::Struct::calc_size('C')
208
+ (@position_covariance_type,) = @@struct_C.unpack(str[start..(end_point-1)])
209
+ return self
210
+ rescue => exception
211
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
212
+ end
213
+ end
214
+ end # end of class
215
+ end # end of module