00001 """autogenerated by genmsg_py from CarControl.msg. Do not edit."""
00002 import roslib.message
00003 import struct
00004
00005
00006 class CarControl(roslib.message.Message):
00007 _md5sum = "23ee9ebc4f65684302501539608c3833"
00008 _type = "art_msgs/CarControl"
00009 _has_header = False
00010 _full_text = """# car control command
00011 # $Id: CarControl.msg 1161 2011-03-26 02:10:49Z jack.oquin $
00012
00013 float32 velocity # forward velocity (m/s), negative is reverse
00014 float32 angle # steering angle (degrees)
00015
00016 """
00017 __slots__ = ['velocity','angle']
00018 _slot_types = ['float32','float32']
00019
00020 def __init__(self, *args, **kwds):
00021 """
00022 Constructor. Any message fields that are implicitly/explicitly
00023 set to None will be assigned a default value. The recommend
00024 use is keyword arguments as this is more robust to future message
00025 changes. You cannot mix in-order arguments and keyword arguments.
00026
00027 The available fields are:
00028 velocity,angle
00029
00030 @param args: complete set of field values, in .msg order
00031 @param kwds: use keyword arguments corresponding to message field names
00032 to set specific fields.
00033 """
00034 if args or kwds:
00035 super(CarControl, self).__init__(*args, **kwds)
00036
00037 if self.velocity is None:
00038 self.velocity = 0.
00039 if self.angle is None:
00040 self.angle = 0.
00041 else:
00042 self.velocity = 0.
00043 self.angle = 0.
00044
00045 def _get_types(self):
00046 """
00047 internal API method
00048 """
00049 return self._slot_types
00050
00051 def serialize(self, buff):
00052 """
00053 serialize message into buffer
00054 @param buff: buffer
00055 @type buff: StringIO
00056 """
00057 try:
00058 _x = self
00059 buff.write(_struct_2f.pack(_x.velocity, _x.angle))
00060 except struct.error, se: self._check_types(se)
00061 except TypeError, te: self._check_types(te)
00062
00063 def deserialize(self, str):
00064 """
00065 unpack serialized message in str into this message instance
00066 @param str: byte array of serialized message
00067 @type str: str
00068 """
00069 try:
00070 end = 0
00071 _x = self
00072 start = end
00073 end += 8
00074 (_x.velocity, _x.angle,) = _struct_2f.unpack(str[start:end])
00075 return self
00076 except struct.error, e:
00077 raise roslib.message.DeserializationError(e)
00078
00079
00080 def serialize_numpy(self, buff, numpy):
00081 """
00082 serialize message with numpy array types into buffer
00083 @param buff: buffer
00084 @type buff: StringIO
00085 @param numpy: numpy python module
00086 @type numpy module
00087 """
00088 try:
00089 _x = self
00090 buff.write(_struct_2f.pack(_x.velocity, _x.angle))
00091 except struct.error, se: self._check_types(se)
00092 except TypeError, te: self._check_types(te)
00093
00094 def deserialize_numpy(self, str, numpy):
00095 """
00096 unpack serialized message in str into this message instance using numpy for array types
00097 @param str: byte array of serialized message
00098 @type str: str
00099 @param numpy: numpy python module
00100 @type numpy: module
00101 """
00102 try:
00103 end = 0
00104 _x = self
00105 start = end
00106 end += 8
00107 (_x.velocity, _x.angle,) = _struct_2f.unpack(str[start:end])
00108 return self
00109 except struct.error, e:
00110 raise roslib.message.DeserializationError(e)
00111
00112 _struct_I = roslib.message.struct_I
00113 _struct_2f = struct.Struct("<2f")