6 #ifndef SICK_SCAN_MESSAGE_SICKLOCREQUESTTIMESTAMPSRVRESPONSE_H
7 #define SICK_SCAN_MESSAGE_SICKLOCREQUESTTIMESTAMPSRVRESPONSE_H
14 #include <ros/types.h>
15 #include <ros/serialization.h>
16 #include <ros/builtin_message_traits.h>
17 #include <ros/message_operations.h>
22 template <
class ContainerAllocator>
74 typedef std::shared_ptr< ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator> >
Ptr;
75 typedef std::shared_ptr< ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator>
const>
ConstPtr;
88 template<
typename ContainerAllocator>
89 std::ostream&
operator<<(std::ostream& s, const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator> & v)
96 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
97 bool operator==(const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator2> & rhs)
99 return lhs.timestamp_lidar_ms == rhs.timestamp_lidar_ms &&
100 lhs.mean_time_vehicle_ms == rhs.mean_time_vehicle_ms &&
101 lhs.delta_time_ms == rhs.delta_time_ms &&
102 lhs.send_time_vehicle_sec == rhs.send_time_vehicle_sec &&
103 lhs.send_time_vehicle_nsec == rhs.send_time_vehicle_nsec &&
104 lhs.receive_time_vehicle_sec == rhs.receive_time_vehicle_sec &&
105 lhs.receive_time_vehicle_nsec == rhs.receive_time_vehicle_nsec;
108 template<
typename ContainerAllocator1,
typename ContainerAllocator2>
109 bool operator!=(const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator1> & lhs, const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator2> & rhs)
111 return !(lhs == rhs);
119 namespace message_traits
126 template <
class ContainerAllocator>
131 template <
class ContainerAllocator>
136 template <
class ContainerAllocator>
141 template <
class ContainerAllocator>
146 template <
class ContainerAllocator>
151 template <
class ContainerAllocator>
157 template<
class ContainerAllocator>
162 return "ae8b1571bf8be63e0bdad9873d14be2b";
165 static const char*
value(const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator>&) {
return value(); }
166 static const uint64_t static_value1 = 0xae8b1571bf8be63eULL;
167 static const uint64_t static_value2 = 0x0bdad9873d14be2bULL;
170 template<
class ContainerAllocator>
175 return "sick_scan/SickLocRequestTimestampSrvResponse";
178 static const char*
value(const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator>&) {
return value(); }
181 template<
class ContainerAllocator>
188 "# Response (output)\n"
191 "uint32 timestamp_lidar_ms # Lidar timestamp in milliseconds from LocRequestTimestamp response\n"
192 "uint64 mean_time_vehicle_ms # Vehicle mean timestamp in milliseconds: (send_time_vehicle + receive_time_vehicle) / 2\n"
193 "uint64 delta_time_ms # Time offset: mean_time_vehicle_ms - timestamp_lidar_ms\n"
195 "uint32 send_time_vehicle_sec # Vehicle timestamp when sending LocRequestTimestamp (seconds part of ros timestamp immediately before tcp send)\n"
196 "uint32 send_time_vehicle_nsec # Vehicle timestamp when sending LocRequestTimestamp (nano seconds part of ros timestamp immediately before tcp send)\n"
197 "uint32 receive_time_vehicle_sec # Vehicle timestamp when receiving the LocRequestTimestamp response (seconds part of ros timestamp immediately after first response byte received)\n"
198 "uint32 receive_time_vehicle_nsec # Vehicle timestamp when receiving the LocRequestTimestamp response (nano seconds part of ros timestamp immediately after first response byte received)\n"
203 static const char*
value(const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator>&) {
return value(); }
211 namespace serialization
216 template<
typename Stream,
typename T>
inline static void allInOne(
Stream& stream, T m)
218 stream.next(m.timestamp_lidar_ms);
219 stream.next(m.mean_time_vehicle_ms);
220 stream.next(m.delta_time_ms);
221 stream.next(m.send_time_vehicle_sec);
222 stream.next(m.send_time_vehicle_nsec);
223 stream.next(m.receive_time_vehicle_sec);
224 stream.next(m.receive_time_vehicle_nsec);
235 namespace message_operations
238 template<
class ContainerAllocator>
241 template<
typename Stream>
static void stream(Stream& s,
const std::string&
indent, const ::sick_scan_xd::SickLocRequestTimestampSrvResponse_<ContainerAllocator>& v)
243 s <<
indent <<
"timestamp_lidar_ms: ";
245 s <<
indent <<
"mean_time_vehicle_ms: ";
247 s <<
indent <<
"delta_time_ms: ";
249 s <<
indent <<
"send_time_vehicle_sec: ";
251 s <<
indent <<
"send_time_vehicle_nsec: ";
253 s <<
indent <<
"receive_time_vehicle_sec: ";
255 s <<
indent <<
"receive_time_vehicle_nsec: ";
263 #endif // SICK_SCAN_MESSAGE_SICKLOCREQUESTTIMESTAMPSRVRESPONSE_H