00001
00002 #ifndef ASCTEC_MSGS_MESSAGE_LLSTATUS_H
00003 #define ASCTEC_MSGS_MESSAGE_LLSTATUS_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "std_msgs/Header.h"
00018
00019 namespace asctec_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct LLStatus_ {
00023 typedef LLStatus_<ContainerAllocator> Type;
00024
00025 LLStatus_()
00026 : header()
00027 , battery_voltage_1(0)
00028 , battery_voltage_2(0)
00029 , status(0)
00030 , cpu_load(0)
00031 , compass_enabled(0)
00032 , chksum_error(0)
00033 , flying(0)
00034 , motors_on(0)
00035 , flightMode(0)
00036 , up_time(0)
00037 {
00038 }
00039
00040 LLStatus_(const ContainerAllocator& _alloc)
00041 : header(_alloc)
00042 , battery_voltage_1(0)
00043 , battery_voltage_2(0)
00044 , status(0)
00045 , cpu_load(0)
00046 , compass_enabled(0)
00047 , chksum_error(0)
00048 , flying(0)
00049 , motors_on(0)
00050 , flightMode(0)
00051 , up_time(0)
00052 {
00053 }
00054
00055 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00056 ::std_msgs::Header_<ContainerAllocator> header;
00057
00058 typedef int16_t _battery_voltage_1_type;
00059 int16_t battery_voltage_1;
00060
00061 typedef int16_t _battery_voltage_2_type;
00062 int16_t battery_voltage_2;
00063
00064 typedef int16_t _status_type;
00065 int16_t status;
00066
00067 typedef int16_t _cpu_load_type;
00068 int16_t cpu_load;
00069
00070 typedef int8_t _compass_enabled_type;
00071 int8_t compass_enabled;
00072
00073 typedef int8_t _chksum_error_type;
00074 int8_t chksum_error;
00075
00076 typedef int8_t _flying_type;
00077 int8_t flying;
00078
00079 typedef int8_t _motors_on_type;
00080 int8_t motors_on;
00081
00082 typedef int16_t _flightMode_type;
00083 int16_t flightMode;
00084
00085 typedef int16_t _up_time_type;
00086 int16_t up_time;
00087
00088
00089 typedef boost::shared_ptr< ::asctec_msgs::LLStatus_<ContainerAllocator> > Ptr;
00090 typedef boost::shared_ptr< ::asctec_msgs::LLStatus_<ContainerAllocator> const> ConstPtr;
00091 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00092 };
00093 typedef ::asctec_msgs::LLStatus_<std::allocator<void> > LLStatus;
00094
00095 typedef boost::shared_ptr< ::asctec_msgs::LLStatus> LLStatusPtr;
00096 typedef boost::shared_ptr< ::asctec_msgs::LLStatus const> LLStatusConstPtr;
00097
00098
00099 template<typename ContainerAllocator>
00100 std::ostream& operator<<(std::ostream& s, const ::asctec_msgs::LLStatus_<ContainerAllocator> & v)
00101 {
00102 ros::message_operations::Printer< ::asctec_msgs::LLStatus_<ContainerAllocator> >::stream(s, "", v);
00103 return s;}
00104
00105 }
00106
00107 namespace ros
00108 {
00109 namespace message_traits
00110 {
00111 template<class ContainerAllocator> struct IsMessage< ::asctec_msgs::LLStatus_<ContainerAllocator> > : public TrueType {};
00112 template<class ContainerAllocator> struct IsMessage< ::asctec_msgs::LLStatus_<ContainerAllocator> const> : public TrueType {};
00113 template<class ContainerAllocator>
00114 struct MD5Sum< ::asctec_msgs::LLStatus_<ContainerAllocator> > {
00115 static const char* value()
00116 {
00117 return "e0dae36eea5774367686a40e1843c5e2";
00118 }
00119
00120 static const char* value(const ::asctec_msgs::LLStatus_<ContainerAllocator> &) { return value(); }
00121 static const uint64_t static_value1 = 0xe0dae36eea577436ULL;
00122 static const uint64_t static_value2 = 0x7686a40e1843c5e2ULL;
00123 };
00124
00125 template<class ContainerAllocator>
00126 struct DataType< ::asctec_msgs::LLStatus_<ContainerAllocator> > {
00127 static const char* value()
00128 {
00129 return "asctec_msgs/LLStatus";
00130 }
00131
00132 static const char* value(const ::asctec_msgs::LLStatus_<ContainerAllocator> &) { return value(); }
00133 };
00134
00135 template<class ContainerAllocator>
00136 struct Definition< ::asctec_msgs::LLStatus_<ContainerAllocator> > {
00137 static const char* value()
00138 {
00139 return "# Software License Agreement (BSD License)\n\
00140 #\n\
00141 # Copyright (c) 2010\n\
00142 # William Morris <morris@ee.ccny.cuny.edu>\n\
00143 # Ivan Dryanovski <ivan.dryanovski@gmail.com>\n\
00144 # All rights reserved.\n\
00145 #\n\
00146 # Redistribution and use in source and binary forms, with or without\n\
00147 # modification, are permitted provided that the following conditions\n\
00148 # are met:\n\
00149 #\n\
00150 # * Redistributions of source code must retain the above copyright\n\
00151 # notice, this list of conditions and the following disclaimer.\n\
00152 # * Redistributions in binary form must reproduce the above\n\
00153 # copyright notice, this list of conditions and the following\n\
00154 # disclaimer in the documentation and/or other materials provided\n\
00155 # with the distribution.\n\
00156 # * Neither the name of CCNY Robotics Lab nor the names of its\n\
00157 # contributors may be used to endorse or promote products derived\n\
00158 # from this software without specific prior written permission.\n\
00159 #\n\
00160 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\
00161 # \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\
00162 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n\
00163 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n\
00164 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n\
00165 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n\
00166 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\
00167 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n\
00168 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n\
00169 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n\
00170 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n\
00171 # POSSIBILITY OF SUCH DAMAGE.\n\
00172 \n\
00173 Header header\n\
00174 # battery voltages in mV\n\
00175 int16 battery_voltage_1\n\
00176 int16 battery_voltage_2\n\
00177 # dont care\n\
00178 int16 status\n\
00179 # Controller cycles per second (should be about 1000)\n\
00180 int16 cpu_load\n\
00181 # dont care\n\
00182 int8 compass_enabled\n\
00183 int8 chksum_error\n\
00184 int8 flying\n\
00185 int8 motors_on\n\
00186 int16 flightMode\n\
00187 # Time motors are turning\n\
00188 int16 up_time\n\
00189 \n\
00190 \n\
00191 ================================================================================\n\
00192 MSG: std_msgs/Header\n\
00193 # Standard metadata for higher-level stamped data types.\n\
00194 # This is generally used to communicate timestamped data \n\
00195 # in a particular coordinate frame.\n\
00196 # \n\
00197 # sequence ID: consecutively increasing ID \n\
00198 uint32 seq\n\
00199 #Two-integer timestamp that is expressed as:\n\
00200 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00201 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00202 # time-handling sugar is provided by the client library\n\
00203 time stamp\n\
00204 #Frame this data is associated with\n\
00205 # 0: no frame\n\
00206 # 1: global frame\n\
00207 string frame_id\n\
00208 \n\
00209 ";
00210 }
00211
00212 static const char* value(const ::asctec_msgs::LLStatus_<ContainerAllocator> &) { return value(); }
00213 };
00214
00215 template<class ContainerAllocator> struct HasHeader< ::asctec_msgs::LLStatus_<ContainerAllocator> > : public TrueType {};
00216 template<class ContainerAllocator> struct HasHeader< const ::asctec_msgs::LLStatus_<ContainerAllocator> > : public TrueType {};
00217 }
00218 }
00219
00220 namespace ros
00221 {
00222 namespace serialization
00223 {
00224
00225 template<class ContainerAllocator> struct Serializer< ::asctec_msgs::LLStatus_<ContainerAllocator> >
00226 {
00227 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00228 {
00229 stream.next(m.header);
00230 stream.next(m.battery_voltage_1);
00231 stream.next(m.battery_voltage_2);
00232 stream.next(m.status);
00233 stream.next(m.cpu_load);
00234 stream.next(m.compass_enabled);
00235 stream.next(m.chksum_error);
00236 stream.next(m.flying);
00237 stream.next(m.motors_on);
00238 stream.next(m.flightMode);
00239 stream.next(m.up_time);
00240 }
00241
00242 ROS_DECLARE_ALLINONE_SERIALIZER;
00243 };
00244 }
00245 }
00246
00247 namespace ros
00248 {
00249 namespace message_operations
00250 {
00251
00252 template<class ContainerAllocator>
00253 struct Printer< ::asctec_msgs::LLStatus_<ContainerAllocator> >
00254 {
00255 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::asctec_msgs::LLStatus_<ContainerAllocator> & v)
00256 {
00257 s << indent << "header: ";
00258 s << std::endl;
00259 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00260 s << indent << "battery_voltage_1: ";
00261 Printer<int16_t>::stream(s, indent + " ", v.battery_voltage_1);
00262 s << indent << "battery_voltage_2: ";
00263 Printer<int16_t>::stream(s, indent + " ", v.battery_voltage_2);
00264 s << indent << "status: ";
00265 Printer<int16_t>::stream(s, indent + " ", v.status);
00266 s << indent << "cpu_load: ";
00267 Printer<int16_t>::stream(s, indent + " ", v.cpu_load);
00268 s << indent << "compass_enabled: ";
00269 Printer<int8_t>::stream(s, indent + " ", v.compass_enabled);
00270 s << indent << "chksum_error: ";
00271 Printer<int8_t>::stream(s, indent + " ", v.chksum_error);
00272 s << indent << "flying: ";
00273 Printer<int8_t>::stream(s, indent + " ", v.flying);
00274 s << indent << "motors_on: ";
00275 Printer<int8_t>::stream(s, indent + " ", v.motors_on);
00276 s << indent << "flightMode: ";
00277 Printer<int16_t>::stream(s, indent + " ", v.flightMode);
00278 s << indent << "up_time: ";
00279 Printer<int16_t>::stream(s, indent + " ", v.up_time);
00280 }
00281 };
00282
00283
00284 }
00285 }
00286
00287 #endif // ASCTEC_MSGS_MESSAGE_LLSTATUS_H
00288