00001 """autogenerated by genpy from cogman_msgs/PtuAction.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 cogman_msgs.msg
00009 import actionlib_msgs.msg
00010 import std_msgs.msg
00011
00012 class PtuAction(genpy.Message):
00013 _md5sum = "0c880e11a7787d681d24317e0ee0ed92"
00014 _type = "cogman_msgs/PtuAction"
00015 _has_header = False
00016 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00017
00018 PtuActionGoal action_goal
00019 PtuActionResult action_result
00020 PtuActionFeedback action_feedback
00021
00022 ================================================================================
00023 MSG: cogman_msgs/PtuActionGoal
00024 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00025
00026 Header header
00027 actionlib_msgs/GoalID goal_id
00028 PtuGoal goal
00029
00030 ================================================================================
00031 MSG: std_msgs/Header
00032 # Standard metadata for higher-level stamped data types.
00033 # This is generally used to communicate timestamped data
00034 # in a particular coordinate frame.
00035 #
00036 # sequence ID: consecutively increasing ID
00037 uint32 seq
00038 #Two-integer timestamp that is expressed as:
00039 # * stamp.secs: seconds (stamp_secs) since epoch
00040 # * stamp.nsecs: nanoseconds since stamp_secs
00041 # time-handling sugar is provided by the client library
00042 time stamp
00043 #Frame this data is associated with
00044 # 0: no frame
00045 # 1: global frame
00046 string frame_id
00047
00048 ================================================================================
00049 MSG: actionlib_msgs/GoalID
00050 # The stamp should store the time at which this goal was requested.
00051 # It is used by an action server when it tries to preempt all
00052 # goals that were requested before a certain time
00053 time stamp
00054
00055 # The id provides a way to associate feedback and
00056 # result message with specific goal requests. The id
00057 # specified must be unique.
00058 string id
00059
00060
00061 ================================================================================
00062 MSG: cogman_msgs/PtuGoal
00063 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00064 #goal
00065 uint32 lo_id
00066 uint32 mode # 0 = look at it once , 1 = follow the object
00067
00068 ================================================================================
00069 MSG: cogman_msgs/PtuActionResult
00070 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00071
00072 Header header
00073 actionlib_msgs/GoalStatus status
00074 PtuResult result
00075
00076 ================================================================================
00077 MSG: actionlib_msgs/GoalStatus
00078 GoalID goal_id
00079 uint8 status
00080 uint8 PENDING = 0 # The goal has yet to be processed by the action server
00081 uint8 ACTIVE = 1 # The goal is currently being processed by the action server
00082 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing
00083 # and has since completed its execution (Terminal State)
00084 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)
00085 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due
00086 # to some failure (Terminal State)
00087 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,
00088 # because the goal was unattainable or invalid (Terminal State)
00089 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing
00090 # and has not yet completed execution
00091 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,
00092 # but the action server has not yet confirmed that the goal is canceled
00093 uint8 RECALLED = 8 # The goal received a cancel request before it started executing
00094 # and was successfully cancelled (Terminal State)
00095 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be
00096 # sent over the wire by an action server
00097
00098 #Allow for the user to associate a string with GoalStatus for debugging
00099 string text
00100
00101
00102 ================================================================================
00103 MSG: cogman_msgs/PtuResult
00104 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00105 #result
00106 string answer
00107
00108 ================================================================================
00109 MSG: cogman_msgs/PtuActionFeedback
00110 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00111
00112 Header header
00113 actionlib_msgs/GoalStatus status
00114 PtuFeedback feedback
00115
00116 ================================================================================
00117 MSG: cogman_msgs/PtuFeedback
00118 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00119 #feedback
00120 string status
00121
00122
00123 """
00124 __slots__ = ['action_goal','action_result','action_feedback']
00125 _slot_types = ['cogman_msgs/PtuActionGoal','cogman_msgs/PtuActionResult','cogman_msgs/PtuActionFeedback']
00126
00127 def __init__(self, *args, **kwds):
00128 """
00129 Constructor. Any message fields that are implicitly/explicitly
00130 set to None will be assigned a default value. The recommend
00131 use is keyword arguments as this is more robust to future message
00132 changes. You cannot mix in-order arguments and keyword arguments.
00133
00134 The available fields are:
00135 action_goal,action_result,action_feedback
00136
00137 :param args: complete set of field values, in .msg order
00138 :param kwds: use keyword arguments corresponding to message field names
00139 to set specific fields.
00140 """
00141 if args or kwds:
00142 super(PtuAction, self).__init__(*args, **kwds)
00143
00144 if self.action_goal is None:
00145 self.action_goal = cogman_msgs.msg.PtuActionGoal()
00146 if self.action_result is None:
00147 self.action_result = cogman_msgs.msg.PtuActionResult()
00148 if self.action_feedback is None:
00149 self.action_feedback = cogman_msgs.msg.PtuActionFeedback()
00150 else:
00151 self.action_goal = cogman_msgs.msg.PtuActionGoal()
00152 self.action_result = cogman_msgs.msg.PtuActionResult()
00153 self.action_feedback = cogman_msgs.msg.PtuActionFeedback()
00154
00155 def _get_types(self):
00156 """
00157 internal API method
00158 """
00159 return self._slot_types
00160
00161 def serialize(self, buff):
00162 """
00163 serialize message into buffer
00164 :param buff: buffer, ``StringIO``
00165 """
00166 try:
00167 _x = self
00168 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00169 _x = self.action_goal.header.frame_id
00170 length = len(_x)
00171 if python3 or type(_x) == unicode:
00172 _x = _x.encode('utf-8')
00173 length = len(_x)
00174 buff.write(struct.pack('<I%ss'%length, length, _x))
00175 _x = self
00176 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00177 _x = self.action_goal.goal_id.id
00178 length = len(_x)
00179 if python3 or type(_x) == unicode:
00180 _x = _x.encode('utf-8')
00181 length = len(_x)
00182 buff.write(struct.pack('<I%ss'%length, length, _x))
00183 _x = self
00184 buff.write(_struct_5I.pack(_x.action_goal.goal.lo_id, _x.action_goal.goal.mode, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00185 _x = self.action_result.header.frame_id
00186 length = len(_x)
00187 if python3 or type(_x) == unicode:
00188 _x = _x.encode('utf-8')
00189 length = len(_x)
00190 buff.write(struct.pack('<I%ss'%length, length, _x))
00191 _x = self
00192 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00193 _x = self.action_result.status.goal_id.id
00194 length = len(_x)
00195 if python3 or type(_x) == unicode:
00196 _x = _x.encode('utf-8')
00197 length = len(_x)
00198 buff.write(struct.pack('<I%ss'%length, length, _x))
00199 buff.write(_struct_B.pack(self.action_result.status.status))
00200 _x = self.action_result.status.text
00201 length = len(_x)
00202 if python3 or type(_x) == unicode:
00203 _x = _x.encode('utf-8')
00204 length = len(_x)
00205 buff.write(struct.pack('<I%ss'%length, length, _x))
00206 _x = self.action_result.result.answer
00207 length = len(_x)
00208 if python3 or type(_x) == unicode:
00209 _x = _x.encode('utf-8')
00210 length = len(_x)
00211 buff.write(struct.pack('<I%ss'%length, length, _x))
00212 _x = self
00213 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00214 _x = self.action_feedback.header.frame_id
00215 length = len(_x)
00216 if python3 or type(_x) == unicode:
00217 _x = _x.encode('utf-8')
00218 length = len(_x)
00219 buff.write(struct.pack('<I%ss'%length, length, _x))
00220 _x = self
00221 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00222 _x = self.action_feedback.status.goal_id.id
00223 length = len(_x)
00224 if python3 or type(_x) == unicode:
00225 _x = _x.encode('utf-8')
00226 length = len(_x)
00227 buff.write(struct.pack('<I%ss'%length, length, _x))
00228 buff.write(_struct_B.pack(self.action_feedback.status.status))
00229 _x = self.action_feedback.status.text
00230 length = len(_x)
00231 if python3 or type(_x) == unicode:
00232 _x = _x.encode('utf-8')
00233 length = len(_x)
00234 buff.write(struct.pack('<I%ss'%length, length, _x))
00235 _x = self.action_feedback.feedback.status
00236 length = len(_x)
00237 if python3 or type(_x) == unicode:
00238 _x = _x.encode('utf-8')
00239 length = len(_x)
00240 buff.write(struct.pack('<I%ss'%length, length, _x))
00241 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00242 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00243
00244 def deserialize(self, str):
00245 """
00246 unpack serialized message in str into this message instance
00247 :param str: byte array of serialized message, ``str``
00248 """
00249 try:
00250 if self.action_goal is None:
00251 self.action_goal = cogman_msgs.msg.PtuActionGoal()
00252 if self.action_result is None:
00253 self.action_result = cogman_msgs.msg.PtuActionResult()
00254 if self.action_feedback is None:
00255 self.action_feedback = cogman_msgs.msg.PtuActionFeedback()
00256 end = 0
00257 _x = self
00258 start = end
00259 end += 12
00260 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00261 start = end
00262 end += 4
00263 (length,) = _struct_I.unpack(str[start:end])
00264 start = end
00265 end += length
00266 if python3:
00267 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00268 else:
00269 self.action_goal.header.frame_id = str[start:end]
00270 _x = self
00271 start = end
00272 end += 8
00273 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00274 start = end
00275 end += 4
00276 (length,) = _struct_I.unpack(str[start:end])
00277 start = end
00278 end += length
00279 if python3:
00280 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00281 else:
00282 self.action_goal.goal_id.id = str[start:end]
00283 _x = self
00284 start = end
00285 end += 20
00286 (_x.action_goal.goal.lo_id, _x.action_goal.goal.mode, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_5I.unpack(str[start:end])
00287 start = end
00288 end += 4
00289 (length,) = _struct_I.unpack(str[start:end])
00290 start = end
00291 end += length
00292 if python3:
00293 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00294 else:
00295 self.action_result.header.frame_id = str[start:end]
00296 _x = self
00297 start = end
00298 end += 8
00299 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00300 start = end
00301 end += 4
00302 (length,) = _struct_I.unpack(str[start:end])
00303 start = end
00304 end += length
00305 if python3:
00306 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00307 else:
00308 self.action_result.status.goal_id.id = str[start:end]
00309 start = end
00310 end += 1
00311 (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
00312 start = end
00313 end += 4
00314 (length,) = _struct_I.unpack(str[start:end])
00315 start = end
00316 end += length
00317 if python3:
00318 self.action_result.status.text = str[start:end].decode('utf-8')
00319 else:
00320 self.action_result.status.text = str[start:end]
00321 start = end
00322 end += 4
00323 (length,) = _struct_I.unpack(str[start:end])
00324 start = end
00325 end += length
00326 if python3:
00327 self.action_result.result.answer = str[start:end].decode('utf-8')
00328 else:
00329 self.action_result.result.answer = str[start:end]
00330 _x = self
00331 start = end
00332 end += 12
00333 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00334 start = end
00335 end += 4
00336 (length,) = _struct_I.unpack(str[start:end])
00337 start = end
00338 end += length
00339 if python3:
00340 self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
00341 else:
00342 self.action_feedback.header.frame_id = str[start:end]
00343 _x = self
00344 start = end
00345 end += 8
00346 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00347 start = end
00348 end += 4
00349 (length,) = _struct_I.unpack(str[start:end])
00350 start = end
00351 end += length
00352 if python3:
00353 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00354 else:
00355 self.action_feedback.status.goal_id.id = str[start:end]
00356 start = end
00357 end += 1
00358 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
00359 start = end
00360 end += 4
00361 (length,) = _struct_I.unpack(str[start:end])
00362 start = end
00363 end += length
00364 if python3:
00365 self.action_feedback.status.text = str[start:end].decode('utf-8')
00366 else:
00367 self.action_feedback.status.text = str[start:end]
00368 start = end
00369 end += 4
00370 (length,) = _struct_I.unpack(str[start:end])
00371 start = end
00372 end += length
00373 if python3:
00374 self.action_feedback.feedback.status = str[start:end].decode('utf-8')
00375 else:
00376 self.action_feedback.feedback.status = str[start:end]
00377 return self
00378 except struct.error as e:
00379 raise genpy.DeserializationError(e)
00380
00381
00382 def serialize_numpy(self, buff, numpy):
00383 """
00384 serialize message with numpy array types into buffer
00385 :param buff: buffer, ``StringIO``
00386 :param numpy: numpy python module
00387 """
00388 try:
00389 _x = self
00390 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00391 _x = self.action_goal.header.frame_id
00392 length = len(_x)
00393 if python3 or type(_x) == unicode:
00394 _x = _x.encode('utf-8')
00395 length = len(_x)
00396 buff.write(struct.pack('<I%ss'%length, length, _x))
00397 _x = self
00398 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00399 _x = self.action_goal.goal_id.id
00400 length = len(_x)
00401 if python3 or type(_x) == unicode:
00402 _x = _x.encode('utf-8')
00403 length = len(_x)
00404 buff.write(struct.pack('<I%ss'%length, length, _x))
00405 _x = self
00406 buff.write(_struct_5I.pack(_x.action_goal.goal.lo_id, _x.action_goal.goal.mode, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00407 _x = self.action_result.header.frame_id
00408 length = len(_x)
00409 if python3 or type(_x) == unicode:
00410 _x = _x.encode('utf-8')
00411 length = len(_x)
00412 buff.write(struct.pack('<I%ss'%length, length, _x))
00413 _x = self
00414 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00415 _x = self.action_result.status.goal_id.id
00416 length = len(_x)
00417 if python3 or type(_x) == unicode:
00418 _x = _x.encode('utf-8')
00419 length = len(_x)
00420 buff.write(struct.pack('<I%ss'%length, length, _x))
00421 buff.write(_struct_B.pack(self.action_result.status.status))
00422 _x = self.action_result.status.text
00423 length = len(_x)
00424 if python3 or type(_x) == unicode:
00425 _x = _x.encode('utf-8')
00426 length = len(_x)
00427 buff.write(struct.pack('<I%ss'%length, length, _x))
00428 _x = self.action_result.result.answer
00429 length = len(_x)
00430 if python3 or type(_x) == unicode:
00431 _x = _x.encode('utf-8')
00432 length = len(_x)
00433 buff.write(struct.pack('<I%ss'%length, length, _x))
00434 _x = self
00435 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00436 _x = self.action_feedback.header.frame_id
00437 length = len(_x)
00438 if python3 or type(_x) == unicode:
00439 _x = _x.encode('utf-8')
00440 length = len(_x)
00441 buff.write(struct.pack('<I%ss'%length, length, _x))
00442 _x = self
00443 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00444 _x = self.action_feedback.status.goal_id.id
00445 length = len(_x)
00446 if python3 or type(_x) == unicode:
00447 _x = _x.encode('utf-8')
00448 length = len(_x)
00449 buff.write(struct.pack('<I%ss'%length, length, _x))
00450 buff.write(_struct_B.pack(self.action_feedback.status.status))
00451 _x = self.action_feedback.status.text
00452 length = len(_x)
00453 if python3 or type(_x) == unicode:
00454 _x = _x.encode('utf-8')
00455 length = len(_x)
00456 buff.write(struct.pack('<I%ss'%length, length, _x))
00457 _x = self.action_feedback.feedback.status
00458 length = len(_x)
00459 if python3 or type(_x) == unicode:
00460 _x = _x.encode('utf-8')
00461 length = len(_x)
00462 buff.write(struct.pack('<I%ss'%length, length, _x))
00463 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00464 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00465
00466 def deserialize_numpy(self, str, numpy):
00467 """
00468 unpack serialized message in str into this message instance using numpy for array types
00469 :param str: byte array of serialized message, ``str``
00470 :param numpy: numpy python module
00471 """
00472 try:
00473 if self.action_goal is None:
00474 self.action_goal = cogman_msgs.msg.PtuActionGoal()
00475 if self.action_result is None:
00476 self.action_result = cogman_msgs.msg.PtuActionResult()
00477 if self.action_feedback is None:
00478 self.action_feedback = cogman_msgs.msg.PtuActionFeedback()
00479 end = 0
00480 _x = self
00481 start = end
00482 end += 12
00483 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00484 start = end
00485 end += 4
00486 (length,) = _struct_I.unpack(str[start:end])
00487 start = end
00488 end += length
00489 if python3:
00490 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00491 else:
00492 self.action_goal.header.frame_id = str[start:end]
00493 _x = self
00494 start = end
00495 end += 8
00496 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00497 start = end
00498 end += 4
00499 (length,) = _struct_I.unpack(str[start:end])
00500 start = end
00501 end += length
00502 if python3:
00503 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00504 else:
00505 self.action_goal.goal_id.id = str[start:end]
00506 _x = self
00507 start = end
00508 end += 20
00509 (_x.action_goal.goal.lo_id, _x.action_goal.goal.mode, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_5I.unpack(str[start:end])
00510 start = end
00511 end += 4
00512 (length,) = _struct_I.unpack(str[start:end])
00513 start = end
00514 end += length
00515 if python3:
00516 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00517 else:
00518 self.action_result.header.frame_id = str[start:end]
00519 _x = self
00520 start = end
00521 end += 8
00522 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00523 start = end
00524 end += 4
00525 (length,) = _struct_I.unpack(str[start:end])
00526 start = end
00527 end += length
00528 if python3:
00529 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00530 else:
00531 self.action_result.status.goal_id.id = str[start:end]
00532 start = end
00533 end += 1
00534 (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
00535 start = end
00536 end += 4
00537 (length,) = _struct_I.unpack(str[start:end])
00538 start = end
00539 end += length
00540 if python3:
00541 self.action_result.status.text = str[start:end].decode('utf-8')
00542 else:
00543 self.action_result.status.text = str[start:end]
00544 start = end
00545 end += 4
00546 (length,) = _struct_I.unpack(str[start:end])
00547 start = end
00548 end += length
00549 if python3:
00550 self.action_result.result.answer = str[start:end].decode('utf-8')
00551 else:
00552 self.action_result.result.answer = str[start:end]
00553 _x = self
00554 start = end
00555 end += 12
00556 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00557 start = end
00558 end += 4
00559 (length,) = _struct_I.unpack(str[start:end])
00560 start = end
00561 end += length
00562 if python3:
00563 self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
00564 else:
00565 self.action_feedback.header.frame_id = str[start:end]
00566 _x = self
00567 start = end
00568 end += 8
00569 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00570 start = end
00571 end += 4
00572 (length,) = _struct_I.unpack(str[start:end])
00573 start = end
00574 end += length
00575 if python3:
00576 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00577 else:
00578 self.action_feedback.status.goal_id.id = str[start:end]
00579 start = end
00580 end += 1
00581 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
00582 start = end
00583 end += 4
00584 (length,) = _struct_I.unpack(str[start:end])
00585 start = end
00586 end += length
00587 if python3:
00588 self.action_feedback.status.text = str[start:end].decode('utf-8')
00589 else:
00590 self.action_feedback.status.text = str[start:end]
00591 start = end
00592 end += 4
00593 (length,) = _struct_I.unpack(str[start:end])
00594 start = end
00595 end += length
00596 if python3:
00597 self.action_feedback.feedback.status = str[start:end].decode('utf-8')
00598 else:
00599 self.action_feedback.feedback.status = str[start:end]
00600 return self
00601 except struct.error as e:
00602 raise genpy.DeserializationError(e)
00603
00604 _struct_I = genpy.struct_I
00605 _struct_3I = struct.Struct("<3I")
00606 _struct_B = struct.Struct("<B")
00607 _struct_5I = struct.Struct("<5I")
00608 _struct_2I = struct.Struct("<2I")