00001
00002 #ifndef COB_RELAYBOARD_MESSAGE_EMERGENCYSTOPSTATE_H
00003 #define COB_RELAYBOARD_MESSAGE_EMERGENCYSTOPSTATE_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013
00014 namespace cob_relayboard
00015 {
00016 template <class ContainerAllocator>
00017 struct EmergencyStopState_ : public ros::Message
00018 {
00019 typedef EmergencyStopState_<ContainerAllocator> Type;
00020
00021 EmergencyStopState_()
00022 : emergency_button_stop(false)
00023 , scanner_stop(false)
00024 , emergency_state(0)
00025 {
00026 }
00027
00028 EmergencyStopState_(const ContainerAllocator& _alloc)
00029 : emergency_button_stop(false)
00030 , scanner_stop(false)
00031 , emergency_state(0)
00032 {
00033 }
00034
00035 typedef uint8_t _emergency_button_stop_type;
00036 uint8_t emergency_button_stop;
00037
00038 typedef uint8_t _scanner_stop_type;
00039 uint8_t scanner_stop;
00040
00041 typedef int16_t _emergency_state_type;
00042 int16_t emergency_state;
00043
00044 enum { EMFREE = 0 };
00045 enum { EMSTOP = 1 };
00046 enum { EMCONFIRMED = 2 };
00047
00048 private:
00049 static const char* __s_getDataType_() { return "cob_relayboard/EmergencyStopState"; }
00050 public:
00051 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00052
00053 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00054
00055 private:
00056 static const char* __s_getMD5Sum_() { return "d857d7312ffc16f75239036504e493e9"; }
00057 public:
00058 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00059
00060 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00061
00062 private:
00063 static const char* __s_getMessageDefinition_() { return "# This message holds the emergency stop (EMStop) status of the robot. It detects wether an EMStop is caused by the safety laserscanner or the emergency stop buttons. Moreover, it gives signalizes wether the EMStop was confirmed (after Button press stop) and the system is free again.\n\
00064 \n\
00065 # Possible EMStop States\n\
00066 int16 EMFREE = 0 # system operatign normal\n\
00067 int16 EMSTOP = 1 # emergency stop is active (Button pressed; obstacle in safety field of scanner)\n\
00068 int16 EMCONFIRMED = 2 # emergency stop was confirmed system is reinitializing and going back to normal\n\
00069 \n\
00070 bool emergency_button_stop # true = emergency stop signal is issued by button pressed\n\
00071 bool scanner_stop # true = emergency stop signal is issued by scanner\n\
00072 int16 emergency_state # state (including confimation by key-switch), values see above\n\
00073 \n\
00074 \n\
00075 "; }
00076 public:
00077 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00078
00079 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00080
00081 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00082 {
00083 ros::serialization::OStream stream(write_ptr, 1000000000);
00084 ros::serialization::serialize(stream, emergency_button_stop);
00085 ros::serialization::serialize(stream, scanner_stop);
00086 ros::serialization::serialize(stream, emergency_state);
00087 return stream.getData();
00088 }
00089
00090 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00091 {
00092 ros::serialization::IStream stream(read_ptr, 1000000000);
00093 ros::serialization::deserialize(stream, emergency_button_stop);
00094 ros::serialization::deserialize(stream, scanner_stop);
00095 ros::serialization::deserialize(stream, emergency_state);
00096 return stream.getData();
00097 }
00098
00099 ROS_DEPRECATED virtual uint32_t serializationLength() const
00100 {
00101 uint32_t size = 0;
00102 size += ros::serialization::serializationLength(emergency_button_stop);
00103 size += ros::serialization::serializationLength(scanner_stop);
00104 size += ros::serialization::serializationLength(emergency_state);
00105 return size;
00106 }
00107
00108 typedef boost::shared_ptr< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> > Ptr;
00109 typedef boost::shared_ptr< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> const> ConstPtr;
00110 };
00111 typedef ::cob_relayboard::EmergencyStopState_<std::allocator<void> > EmergencyStopState;
00112
00113 typedef boost::shared_ptr< ::cob_relayboard::EmergencyStopState> EmergencyStopStatePtr;
00114 typedef boost::shared_ptr< ::cob_relayboard::EmergencyStopState const> EmergencyStopStateConstPtr;
00115
00116
00117 template<typename ContainerAllocator>
00118 std::ostream& operator<<(std::ostream& s, const ::cob_relayboard::EmergencyStopState_<ContainerAllocator> & v)
00119 {
00120 ros::message_operations::Printer< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> >::stream(s, "", v);
00121 return s;}
00122
00123 }
00124
00125 namespace ros
00126 {
00127 namespace message_traits
00128 {
00129 template<class ContainerAllocator>
00130 struct MD5Sum< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> > {
00131 static const char* value()
00132 {
00133 return "d857d7312ffc16f75239036504e493e9";
00134 }
00135
00136 static const char* value(const ::cob_relayboard::EmergencyStopState_<ContainerAllocator> &) { return value(); }
00137 static const uint64_t static_value1 = 0xd857d7312ffc16f7ULL;
00138 static const uint64_t static_value2 = 0x5239036504e493e9ULL;
00139 };
00140
00141 template<class ContainerAllocator>
00142 struct DataType< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> > {
00143 static const char* value()
00144 {
00145 return "cob_relayboard/EmergencyStopState";
00146 }
00147
00148 static const char* value(const ::cob_relayboard::EmergencyStopState_<ContainerAllocator> &) { return value(); }
00149 };
00150
00151 template<class ContainerAllocator>
00152 struct Definition< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> > {
00153 static const char* value()
00154 {
00155 return "# This message holds the emergency stop (EMStop) status of the robot. It detects wether an EMStop is caused by the safety laserscanner or the emergency stop buttons. Moreover, it gives signalizes wether the EMStop was confirmed (after Button press stop) and the system is free again.\n\
00156 \n\
00157 # Possible EMStop States\n\
00158 int16 EMFREE = 0 # system operatign normal\n\
00159 int16 EMSTOP = 1 # emergency stop is active (Button pressed; obstacle in safety field of scanner)\n\
00160 int16 EMCONFIRMED = 2 # emergency stop was confirmed system is reinitializing and going back to normal\n\
00161 \n\
00162 bool emergency_button_stop # true = emergency stop signal is issued by button pressed\n\
00163 bool scanner_stop # true = emergency stop signal is issued by scanner\n\
00164 int16 emergency_state # state (including confimation by key-switch), values see above\n\
00165 \n\
00166 \n\
00167 ";
00168 }
00169
00170 static const char* value(const ::cob_relayboard::EmergencyStopState_<ContainerAllocator> &) { return value(); }
00171 };
00172
00173 template<class ContainerAllocator> struct IsFixedSize< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> > : public TrueType {};
00174 }
00175 }
00176
00177 namespace ros
00178 {
00179 namespace serialization
00180 {
00181
00182 template<class ContainerAllocator> struct Serializer< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> >
00183 {
00184 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00185 {
00186 stream.next(m.emergency_button_stop);
00187 stream.next(m.scanner_stop);
00188 stream.next(m.emergency_state);
00189 }
00190
00191 ROS_DECLARE_ALLINONE_SERIALIZER;
00192 };
00193 }
00194 }
00195
00196 namespace ros
00197 {
00198 namespace message_operations
00199 {
00200
00201 template<class ContainerAllocator>
00202 struct Printer< ::cob_relayboard::EmergencyStopState_<ContainerAllocator> >
00203 {
00204 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::cob_relayboard::EmergencyStopState_<ContainerAllocator> & v)
00205 {
00206 s << indent << "emergency_button_stop: ";
00207 Printer<uint8_t>::stream(s, indent + " ", v.emergency_button_stop);
00208 s << indent << "scanner_stop: ";
00209 Printer<uint8_t>::stream(s, indent + " ", v.scanner_stop);
00210 s << indent << "emergency_state: ";
00211 Printer<int16_t>::stream(s, indent + " ", v.emergency_state);
00212 }
00213 };
00214
00215
00216 }
00217 }
00218
00219 #endif // COB_RELAYBOARD_MESSAGE_EMERGENCYSTOPSTATE_H
00220