00001 """autogenerated by genpy from sr_robot_msgs/command.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 sr_robot_msgs.msg
00008
00009 class command(genpy.Message):
00010 _md5sum = "2c927cc3decc25060b43219a05beb823"
00011 _type = "sr_robot_msgs/command"
00012 _has_header = False
00013 _full_text = """# sendupdate is 1
00014 # contrlr is 2
00015 int8 command_type
00016
00017 sendupdate sendupdate_command
00018 contrlr contrlr_command
00019
00020 ================================================================================
00021 MSG: sr_robot_msgs/sendupdate
00022 int8 sendupdate_length
00023 joint[] sendupdate_list
00024
00025
00026 ================================================================================
00027 MSG: sr_robot_msgs/joint
00028 string joint_name
00029 float64 joint_position
00030 float64 joint_target
00031 float64 joint_torque
00032 float64 joint_temperature
00033 float64 joint_current
00034 string error_flag
00035
00036 ================================================================================
00037 MSG: sr_robot_msgs/contrlr
00038 # the contrlr name (e.g. smart_motor_ff2)
00039 string contrlr_name
00040
00041 # specify here a list of parameter_name:value
00042 # e.g. p:10 sets the p value of the controller to 10
00043 # the possible parameters are:
00044 #int16 p
00045 #int16 i
00046 #int16 d
00047 #int16 imax
00048 #int16 target
00049 #int16 sensor
00050 #int16 valve
00051 #int16 deadband
00052 #int16 offset
00053 #int16 shift
00054 #int16 max
00055 #
00056 ## parameters for the motors
00057 #int16 motor_maxforce
00058 #int16 motor_safeforce
00059 #int16 force_p
00060 #int16 force_i
00061 #int16 force_d
00062 #int16 force_imax
00063 #int16 force_out_shift
00064 #int16 force_deadband
00065 #int16 force_offset
00066 #int16 sensor_imax
00067 #int16 sensor_deadband
00068 #int16 sensor_offset
00069 #int16 max_temperature
00070 #int16 max_current
00071
00072 string[] list_of_parameters
00073
00074 # the size of the list_of_parameters you are sending
00075 uint8 length_of_list
00076
00077
00078
00079 """
00080 __slots__ = ['command_type','sendupdate_command','contrlr_command']
00081 _slot_types = ['int8','sr_robot_msgs/sendupdate','sr_robot_msgs/contrlr']
00082
00083 def __init__(self, *args, **kwds):
00084 """
00085 Constructor. Any message fields that are implicitly/explicitly
00086 set to None will be assigned a default value. The recommend
00087 use is keyword arguments as this is more robust to future message
00088 changes. You cannot mix in-order arguments and keyword arguments.
00089
00090 The available fields are:
00091 command_type,sendupdate_command,contrlr_command
00092
00093 :param args: complete set of field values, in .msg order
00094 :param kwds: use keyword arguments corresponding to message field names
00095 to set specific fields.
00096 """
00097 if args or kwds:
00098 super(command, self).__init__(*args, **kwds)
00099
00100 if self.command_type is None:
00101 self.command_type = 0
00102 if self.sendupdate_command is None:
00103 self.sendupdate_command = sr_robot_msgs.msg.sendupdate()
00104 if self.contrlr_command is None:
00105 self.contrlr_command = sr_robot_msgs.msg.contrlr()
00106 else:
00107 self.command_type = 0
00108 self.sendupdate_command = sr_robot_msgs.msg.sendupdate()
00109 self.contrlr_command = sr_robot_msgs.msg.contrlr()
00110
00111 def _get_types(self):
00112 """
00113 internal API method
00114 """
00115 return self._slot_types
00116
00117 def serialize(self, buff):
00118 """
00119 serialize message into buffer
00120 :param buff: buffer, ``StringIO``
00121 """
00122 try:
00123 _x = self
00124 buff.write(_struct_2b.pack(_x.command_type, _x.sendupdate_command.sendupdate_length))
00125 length = len(self.sendupdate_command.sendupdate_list)
00126 buff.write(_struct_I.pack(length))
00127 for val1 in self.sendupdate_command.sendupdate_list:
00128 _x = val1.joint_name
00129 length = len(_x)
00130 if python3 or type(_x) == unicode:
00131 _x = _x.encode('utf-8')
00132 length = len(_x)
00133 buff.write(struct.pack('<I%ss'%length, length, _x))
00134 _x = val1
00135 buff.write(_struct_5d.pack(_x.joint_position, _x.joint_target, _x.joint_torque, _x.joint_temperature, _x.joint_current))
00136 _x = val1.error_flag
00137 length = len(_x)
00138 if python3 or type(_x) == unicode:
00139 _x = _x.encode('utf-8')
00140 length = len(_x)
00141 buff.write(struct.pack('<I%ss'%length, length, _x))
00142 _x = self.contrlr_command.contrlr_name
00143 length = len(_x)
00144 if python3 or type(_x) == unicode:
00145 _x = _x.encode('utf-8')
00146 length = len(_x)
00147 buff.write(struct.pack('<I%ss'%length, length, _x))
00148 length = len(self.contrlr_command.list_of_parameters)
00149 buff.write(_struct_I.pack(length))
00150 for val1 in self.contrlr_command.list_of_parameters:
00151 length = len(val1)
00152 if python3 or type(val1) == unicode:
00153 val1 = val1.encode('utf-8')
00154 length = len(val1)
00155 buff.write(struct.pack('<I%ss'%length, length, val1))
00156 buff.write(_struct_B.pack(self.contrlr_command.length_of_list))
00157 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00158 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00159
00160 def deserialize(self, str):
00161 """
00162 unpack serialized message in str into this message instance
00163 :param str: byte array of serialized message, ``str``
00164 """
00165 try:
00166 if self.sendupdate_command is None:
00167 self.sendupdate_command = sr_robot_msgs.msg.sendupdate()
00168 if self.contrlr_command is None:
00169 self.contrlr_command = sr_robot_msgs.msg.contrlr()
00170 end = 0
00171 _x = self
00172 start = end
00173 end += 2
00174 (_x.command_type, _x.sendupdate_command.sendupdate_length,) = _struct_2b.unpack(str[start:end])
00175 start = end
00176 end += 4
00177 (length,) = _struct_I.unpack(str[start:end])
00178 self.sendupdate_command.sendupdate_list = []
00179 for i in range(0, length):
00180 val1 = sr_robot_msgs.msg.joint()
00181 start = end
00182 end += 4
00183 (length,) = _struct_I.unpack(str[start:end])
00184 start = end
00185 end += length
00186 if python3:
00187 val1.joint_name = str[start:end].decode('utf-8')
00188 else:
00189 val1.joint_name = str[start:end]
00190 _x = val1
00191 start = end
00192 end += 40
00193 (_x.joint_position, _x.joint_target, _x.joint_torque, _x.joint_temperature, _x.joint_current,) = _struct_5d.unpack(str[start:end])
00194 start = end
00195 end += 4
00196 (length,) = _struct_I.unpack(str[start:end])
00197 start = end
00198 end += length
00199 if python3:
00200 val1.error_flag = str[start:end].decode('utf-8')
00201 else:
00202 val1.error_flag = str[start:end]
00203 self.sendupdate_command.sendupdate_list.append(val1)
00204 start = end
00205 end += 4
00206 (length,) = _struct_I.unpack(str[start:end])
00207 start = end
00208 end += length
00209 if python3:
00210 self.contrlr_command.contrlr_name = str[start:end].decode('utf-8')
00211 else:
00212 self.contrlr_command.contrlr_name = str[start:end]
00213 start = end
00214 end += 4
00215 (length,) = _struct_I.unpack(str[start:end])
00216 self.contrlr_command.list_of_parameters = []
00217 for i in range(0, length):
00218 start = end
00219 end += 4
00220 (length,) = _struct_I.unpack(str[start:end])
00221 start = end
00222 end += length
00223 if python3:
00224 val1 = str[start:end].decode('utf-8')
00225 else:
00226 val1 = str[start:end]
00227 self.contrlr_command.list_of_parameters.append(val1)
00228 start = end
00229 end += 1
00230 (self.contrlr_command.length_of_list,) = _struct_B.unpack(str[start:end])
00231 return self
00232 except struct.error as e:
00233 raise genpy.DeserializationError(e)
00234
00235
00236 def serialize_numpy(self, buff, numpy):
00237 """
00238 serialize message with numpy array types into buffer
00239 :param buff: buffer, ``StringIO``
00240 :param numpy: numpy python module
00241 """
00242 try:
00243 _x = self
00244 buff.write(_struct_2b.pack(_x.command_type, _x.sendupdate_command.sendupdate_length))
00245 length = len(self.sendupdate_command.sendupdate_list)
00246 buff.write(_struct_I.pack(length))
00247 for val1 in self.sendupdate_command.sendupdate_list:
00248 _x = val1.joint_name
00249 length = len(_x)
00250 if python3 or type(_x) == unicode:
00251 _x = _x.encode('utf-8')
00252 length = len(_x)
00253 buff.write(struct.pack('<I%ss'%length, length, _x))
00254 _x = val1
00255 buff.write(_struct_5d.pack(_x.joint_position, _x.joint_target, _x.joint_torque, _x.joint_temperature, _x.joint_current))
00256 _x = val1.error_flag
00257 length = len(_x)
00258 if python3 or type(_x) == unicode:
00259 _x = _x.encode('utf-8')
00260 length = len(_x)
00261 buff.write(struct.pack('<I%ss'%length, length, _x))
00262 _x = self.contrlr_command.contrlr_name
00263 length = len(_x)
00264 if python3 or type(_x) == unicode:
00265 _x = _x.encode('utf-8')
00266 length = len(_x)
00267 buff.write(struct.pack('<I%ss'%length, length, _x))
00268 length = len(self.contrlr_command.list_of_parameters)
00269 buff.write(_struct_I.pack(length))
00270 for val1 in self.contrlr_command.list_of_parameters:
00271 length = len(val1)
00272 if python3 or type(val1) == unicode:
00273 val1 = val1.encode('utf-8')
00274 length = len(val1)
00275 buff.write(struct.pack('<I%ss'%length, length, val1))
00276 buff.write(_struct_B.pack(self.contrlr_command.length_of_list))
00277 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00278 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00279
00280 def deserialize_numpy(self, str, numpy):
00281 """
00282 unpack serialized message in str into this message instance using numpy for array types
00283 :param str: byte array of serialized message, ``str``
00284 :param numpy: numpy python module
00285 """
00286 try:
00287 if self.sendupdate_command is None:
00288 self.sendupdate_command = sr_robot_msgs.msg.sendupdate()
00289 if self.contrlr_command is None:
00290 self.contrlr_command = sr_robot_msgs.msg.contrlr()
00291 end = 0
00292 _x = self
00293 start = end
00294 end += 2
00295 (_x.command_type, _x.sendupdate_command.sendupdate_length,) = _struct_2b.unpack(str[start:end])
00296 start = end
00297 end += 4
00298 (length,) = _struct_I.unpack(str[start:end])
00299 self.sendupdate_command.sendupdate_list = []
00300 for i in range(0, length):
00301 val1 = sr_robot_msgs.msg.joint()
00302 start = end
00303 end += 4
00304 (length,) = _struct_I.unpack(str[start:end])
00305 start = end
00306 end += length
00307 if python3:
00308 val1.joint_name = str[start:end].decode('utf-8')
00309 else:
00310 val1.joint_name = str[start:end]
00311 _x = val1
00312 start = end
00313 end += 40
00314 (_x.joint_position, _x.joint_target, _x.joint_torque, _x.joint_temperature, _x.joint_current,) = _struct_5d.unpack(str[start:end])
00315 start = end
00316 end += 4
00317 (length,) = _struct_I.unpack(str[start:end])
00318 start = end
00319 end += length
00320 if python3:
00321 val1.error_flag = str[start:end].decode('utf-8')
00322 else:
00323 val1.error_flag = str[start:end]
00324 self.sendupdate_command.sendupdate_list.append(val1)
00325 start = end
00326 end += 4
00327 (length,) = _struct_I.unpack(str[start:end])
00328 start = end
00329 end += length
00330 if python3:
00331 self.contrlr_command.contrlr_name = str[start:end].decode('utf-8')
00332 else:
00333 self.contrlr_command.contrlr_name = str[start:end]
00334 start = end
00335 end += 4
00336 (length,) = _struct_I.unpack(str[start:end])
00337 self.contrlr_command.list_of_parameters = []
00338 for i in range(0, length):
00339 start = end
00340 end += 4
00341 (length,) = _struct_I.unpack(str[start:end])
00342 start = end
00343 end += length
00344 if python3:
00345 val1 = str[start:end].decode('utf-8')
00346 else:
00347 val1 = str[start:end]
00348 self.contrlr_command.list_of_parameters.append(val1)
00349 start = end
00350 end += 1
00351 (self.contrlr_command.length_of_list,) = _struct_B.unpack(str[start:end])
00352 return self
00353 except struct.error as e:
00354 raise genpy.DeserializationError(e)
00355
00356 _struct_I = genpy.struct_I
00357 _struct_5d = struct.Struct("<5d")
00358 _struct_B = struct.Struct("<B")
00359 _struct_2b = struct.Struct("<2b")