00001 """autogenerated by genpy from pr2_gripper_sensor_msgs/PR2GripperEventDetectorActionFeedback.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007 import genpy
00008 import actionlib_msgs.msg
00009 import pr2_gripper_sensor_msgs.msg
00010 import std_msgs.msg
00011
00012 class PR2GripperEventDetectorActionFeedback(genpy.Message):
00013 _md5sum = "b7cae5a018676f4d59b2f204229012d4"
00014 _type = "pr2_gripper_sensor_msgs/PR2GripperEventDetectorActionFeedback"
00015 _has_header = True
00016 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00017
00018 Header header
00019 actionlib_msgs/GoalStatus status
00020 PR2GripperEventDetectorFeedback feedback
00021
00022 ================================================================================
00023 MSG: std_msgs/Header
00024 # Standard metadata for higher-level stamped data types.
00025 # This is generally used to communicate timestamped data
00026 # in a particular coordinate frame.
00027 #
00028 # sequence ID: consecutively increasing ID
00029 uint32 seq
00030 #Two-integer timestamp that is expressed as:
00031 # * stamp.secs: seconds (stamp_secs) since epoch
00032 # * stamp.nsecs: nanoseconds since stamp_secs
00033 # time-handling sugar is provided by the client library
00034 time stamp
00035 #Frame this data is associated with
00036 # 0: no frame
00037 # 1: global frame
00038 string frame_id
00039
00040 ================================================================================
00041 MSG: actionlib_msgs/GoalStatus
00042 GoalID goal_id
00043 uint8 status
00044 uint8 PENDING = 0 # The goal has yet to be processed by the action server
00045 uint8 ACTIVE = 1 # The goal is currently being processed by the action server
00046 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing
00047 # and has since completed its execution (Terminal State)
00048 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)
00049 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due
00050 # to some failure (Terminal State)
00051 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,
00052 # because the goal was unattainable or invalid (Terminal State)
00053 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing
00054 # and has not yet completed execution
00055 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,
00056 # but the action server has not yet confirmed that the goal is canceled
00057 uint8 RECALLED = 8 # The goal received a cancel request before it started executing
00058 # and was successfully cancelled (Terminal State)
00059 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be
00060 # sent over the wire by an action server
00061
00062 #Allow for the user to associate a string with GoalStatus for debugging
00063 string text
00064
00065
00066 ================================================================================
00067 MSG: actionlib_msgs/GoalID
00068 # The stamp should store the time at which this goal was requested.
00069 # It is used by an action server when it tries to preempt all
00070 # goals that were requested before a certain time
00071 time stamp
00072
00073 # The id provides a way to associate feedback and
00074 # result message with specific goal requests. The id
00075 # specified must be unique.
00076 string id
00077
00078
00079 ================================================================================
00080 MSG: pr2_gripper_sensor_msgs/PR2GripperEventDetectorFeedback
00081 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00082 # feedback
00083 PR2GripperEventDetectorData data
00084
00085
00086
00087 ================================================================================
00088 MSG: pr2_gripper_sensor_msgs/PR2GripperEventDetectorData
00089 # Time the data was recorded at
00090 time stamp
00091
00092 # true if the trigger conditions have been met
00093 # (see PR2GripperEventDetectorCommand)
00094 bool trigger_conditions_met
00095
00096 # true if the pressure sensors detected a slip event
00097 # slip events occur when the finger pressure sensors
00098 # high-freq. content exceeds the slip_trigger_magnitude variable
00099 # (see PR2GripperEventDetectorCommand)
00100 bool slip_event
00101
00102 # true if the hand-mounted accelerometer detected a contact acceleration
00103 # acceleration events occur when the palm accelerometer
00104 # high-freq. content exceeds the acc_trigger_magnitude variable
00105 # (see PR2GripperEventDetectorCommand)
00106 bool acceleration_event
00107
00108 # the high-freq acceleration vector that was last seen (x,y,z)
00109 float64[3] acceleration_vector
00110 """
00111 __slots__ = ['header','status','feedback']
00112 _slot_types = ['std_msgs/Header','actionlib_msgs/GoalStatus','pr2_gripper_sensor_msgs/PR2GripperEventDetectorFeedback']
00113
00114 def __init__(self, *args, **kwds):
00115 """
00116 Constructor. Any message fields that are implicitly/explicitly
00117 set to None will be assigned a default value. The recommend
00118 use is keyword arguments as this is more robust to future message
00119 changes. You cannot mix in-order arguments and keyword arguments.
00120
00121 The available fields are:
00122 header,status,feedback
00123
00124 :param args: complete set of field values, in .msg order
00125 :param kwds: use keyword arguments corresponding to message field names
00126 to set specific fields.
00127 """
00128 if args or kwds:
00129 super(PR2GripperEventDetectorActionFeedback, self).__init__(*args, **kwds)
00130
00131 if self.header is None:
00132 self.header = std_msgs.msg.Header()
00133 if self.status is None:
00134 self.status = actionlib_msgs.msg.GoalStatus()
00135 if self.feedback is None:
00136 self.feedback = pr2_gripper_sensor_msgs.msg.PR2GripperEventDetectorFeedback()
00137 else:
00138 self.header = std_msgs.msg.Header()
00139 self.status = actionlib_msgs.msg.GoalStatus()
00140 self.feedback = pr2_gripper_sensor_msgs.msg.PR2GripperEventDetectorFeedback()
00141
00142 def _get_types(self):
00143 """
00144 internal API method
00145 """
00146 return self._slot_types
00147
00148 def serialize(self, buff):
00149 """
00150 serialize message into buffer
00151 :param buff: buffer, ``StringIO``
00152 """
00153 try:
00154 _x = self
00155 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00156 _x = self.header.frame_id
00157 length = len(_x)
00158 if python3 or type(_x) == unicode:
00159 _x = _x.encode('utf-8')
00160 length = len(_x)
00161 buff.write(struct.pack('<I%ss'%length, length, _x))
00162 _x = self
00163 buff.write(_struct_2I.pack(_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs))
00164 _x = self.status.goal_id.id
00165 length = len(_x)
00166 if python3 or type(_x) == unicode:
00167 _x = _x.encode('utf-8')
00168 length = len(_x)
00169 buff.write(struct.pack('<I%ss'%length, length, _x))
00170 buff.write(_struct_B.pack(self.status.status))
00171 _x = self.status.text
00172 length = len(_x)
00173 if python3 or type(_x) == unicode:
00174 _x = _x.encode('utf-8')
00175 length = len(_x)
00176 buff.write(struct.pack('<I%ss'%length, length, _x))
00177 _x = self
00178 buff.write(_struct_2I3B.pack(_x.feedback.data.stamp.secs, _x.feedback.data.stamp.nsecs, _x.feedback.data.trigger_conditions_met, _x.feedback.data.slip_event, _x.feedback.data.acceleration_event))
00179 buff.write(_struct_3d.pack(*self.feedback.data.acceleration_vector))
00180 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00181 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00182
00183 def deserialize(self, str):
00184 """
00185 unpack serialized message in str into this message instance
00186 :param str: byte array of serialized message, ``str``
00187 """
00188 try:
00189 if self.header is None:
00190 self.header = std_msgs.msg.Header()
00191 if self.status is None:
00192 self.status = actionlib_msgs.msg.GoalStatus()
00193 if self.feedback is None:
00194 self.feedback = pr2_gripper_sensor_msgs.msg.PR2GripperEventDetectorFeedback()
00195 end = 0
00196 _x = self
00197 start = end
00198 end += 12
00199 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00200 start = end
00201 end += 4
00202 (length,) = _struct_I.unpack(str[start:end])
00203 start = end
00204 end += length
00205 if python3:
00206 self.header.frame_id = str[start:end].decode('utf-8')
00207 else:
00208 self.header.frame_id = str[start:end]
00209 _x = self
00210 start = end
00211 end += 8
00212 (_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00213 start = end
00214 end += 4
00215 (length,) = _struct_I.unpack(str[start:end])
00216 start = end
00217 end += length
00218 if python3:
00219 self.status.goal_id.id = str[start:end].decode('utf-8')
00220 else:
00221 self.status.goal_id.id = str[start:end]
00222 start = end
00223 end += 1
00224 (self.status.status,) = _struct_B.unpack(str[start:end])
00225 start = end
00226 end += 4
00227 (length,) = _struct_I.unpack(str[start:end])
00228 start = end
00229 end += length
00230 if python3:
00231 self.status.text = str[start:end].decode('utf-8')
00232 else:
00233 self.status.text = str[start:end]
00234 _x = self
00235 start = end
00236 end += 11
00237 (_x.feedback.data.stamp.secs, _x.feedback.data.stamp.nsecs, _x.feedback.data.trigger_conditions_met, _x.feedback.data.slip_event, _x.feedback.data.acceleration_event,) = _struct_2I3B.unpack(str[start:end])
00238 self.feedback.data.trigger_conditions_met = bool(self.feedback.data.trigger_conditions_met)
00239 self.feedback.data.slip_event = bool(self.feedback.data.slip_event)
00240 self.feedback.data.acceleration_event = bool(self.feedback.data.acceleration_event)
00241 start = end
00242 end += 24
00243 self.feedback.data.acceleration_vector = _struct_3d.unpack(str[start:end])
00244 return self
00245 except struct.error as e:
00246 raise genpy.DeserializationError(e)
00247
00248
00249 def serialize_numpy(self, buff, numpy):
00250 """
00251 serialize message with numpy array types into buffer
00252 :param buff: buffer, ``StringIO``
00253 :param numpy: numpy python module
00254 """
00255 try:
00256 _x = self
00257 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00258 _x = self.header.frame_id
00259 length = len(_x)
00260 if python3 or type(_x) == unicode:
00261 _x = _x.encode('utf-8')
00262 length = len(_x)
00263 buff.write(struct.pack('<I%ss'%length, length, _x))
00264 _x = self
00265 buff.write(_struct_2I.pack(_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs))
00266 _x = self.status.goal_id.id
00267 length = len(_x)
00268 if python3 or type(_x) == unicode:
00269 _x = _x.encode('utf-8')
00270 length = len(_x)
00271 buff.write(struct.pack('<I%ss'%length, length, _x))
00272 buff.write(_struct_B.pack(self.status.status))
00273 _x = self.status.text
00274 length = len(_x)
00275 if python3 or type(_x) == unicode:
00276 _x = _x.encode('utf-8')
00277 length = len(_x)
00278 buff.write(struct.pack('<I%ss'%length, length, _x))
00279 _x = self
00280 buff.write(_struct_2I3B.pack(_x.feedback.data.stamp.secs, _x.feedback.data.stamp.nsecs, _x.feedback.data.trigger_conditions_met, _x.feedback.data.slip_event, _x.feedback.data.acceleration_event))
00281 buff.write(self.feedback.data.acceleration_vector.tostring())
00282 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00283 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00284
00285 def deserialize_numpy(self, str, numpy):
00286 """
00287 unpack serialized message in str into this message instance using numpy for array types
00288 :param str: byte array of serialized message, ``str``
00289 :param numpy: numpy python module
00290 """
00291 try:
00292 if self.header is None:
00293 self.header = std_msgs.msg.Header()
00294 if self.status is None:
00295 self.status = actionlib_msgs.msg.GoalStatus()
00296 if self.feedback is None:
00297 self.feedback = pr2_gripper_sensor_msgs.msg.PR2GripperEventDetectorFeedback()
00298 end = 0
00299 _x = self
00300 start = end
00301 end += 12
00302 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00303 start = end
00304 end += 4
00305 (length,) = _struct_I.unpack(str[start:end])
00306 start = end
00307 end += length
00308 if python3:
00309 self.header.frame_id = str[start:end].decode('utf-8')
00310 else:
00311 self.header.frame_id = str[start:end]
00312 _x = self
00313 start = end
00314 end += 8
00315 (_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00316 start = end
00317 end += 4
00318 (length,) = _struct_I.unpack(str[start:end])
00319 start = end
00320 end += length
00321 if python3:
00322 self.status.goal_id.id = str[start:end].decode('utf-8')
00323 else:
00324 self.status.goal_id.id = str[start:end]
00325 start = end
00326 end += 1
00327 (self.status.status,) = _struct_B.unpack(str[start:end])
00328 start = end
00329 end += 4
00330 (length,) = _struct_I.unpack(str[start:end])
00331 start = end
00332 end += length
00333 if python3:
00334 self.status.text = str[start:end].decode('utf-8')
00335 else:
00336 self.status.text = str[start:end]
00337 _x = self
00338 start = end
00339 end += 11
00340 (_x.feedback.data.stamp.secs, _x.feedback.data.stamp.nsecs, _x.feedback.data.trigger_conditions_met, _x.feedback.data.slip_event, _x.feedback.data.acceleration_event,) = _struct_2I3B.unpack(str[start:end])
00341 self.feedback.data.trigger_conditions_met = bool(self.feedback.data.trigger_conditions_met)
00342 self.feedback.data.slip_event = bool(self.feedback.data.slip_event)
00343 self.feedback.data.acceleration_event = bool(self.feedback.data.acceleration_event)
00344 start = end
00345 end += 24
00346 self.feedback.data.acceleration_vector = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=3)
00347 return self
00348 except struct.error as e:
00349 raise genpy.DeserializationError(e)
00350
00351 _struct_I = genpy.struct_I
00352 _struct_3I = struct.Struct("<3I")
00353 _struct_B = struct.Struct("<B")
00354 _struct_2I3B = struct.Struct("<2I3B")
00355 _struct_2I = struct.Struct("<2I")
00356 _struct_3d = struct.Struct("<3d")