4 #ifndef PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto
5 #define PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto
9 #include <google/protobuf/stubs/common.h>
11 #if GOOGLE_PROTOBUF_VERSION < 3006001
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers. Please update
16 #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers. Please
19 #error regenerate this file with a newer version of protoc.
22 #include <google/protobuf/io/coded_stream.h>
23 #include <google/protobuf/arena.h>
24 #include <google/protobuf/arenastring.h>
25 #include <google/protobuf/generated_message_table_driven.h>
26 #include <google/protobuf/generated_message_util.h>
27 #include <google/protobuf/inlined_string_field.h>
28 #include <google/protobuf/metadata.h>
29 #include <google/protobuf/message.h>
30 #include <google/protobuf/repeated_field.h>
31 #include <google/protobuf/extension_set.h>
32 #include <google/protobuf/generated_enum_reflection.h>
33 #include <google/protobuf/unknown_field_set.h>
34 #include "dccl/option_extensions.pb.h"
36 #include <boost/units/quantity.hpp>
37 #include <boost/units/absolute.hpp>
38 #include <boost/units/dimensionless_type.hpp>
39 #include <boost/units/make_scaled_unit.hpp>
41 #include <boost/units/systems/angle/degrees.hpp>
43 #include <boost/units/systems/si.hpp>
45 #define PROTOBUF_INTERNAL_EXPORT_protobuf_jaiabot_2fmessages_2fimu_2eproto
50 static const ::google::protobuf::internal::ParseTableField
entries[];
51 static const ::google::protobuf::internal::AuxillaryParseTableField
aux[];
52 static const ::google::protobuf::internal::ParseTable
schema[8];
55 static const ::google::protobuf::uint32
offsets[];
62 class IMUCommandDefaultTypeInternal;
65 class IMUDataDefaultTypeInternal;
67 class IMUData_Acceleration;
68 class IMUData_AccelerationDefaultTypeInternal;
70 class IMUData_Accuracies;
71 class IMUData_AccuraciesDefaultTypeInternal;
73 class IMUData_AngularVelocity;
74 class IMUData_AngularVelocityDefaultTypeInternal;
76 class IMUData_EulerAngles;
77 class IMUData_EulerAnglesDefaultTypeInternal;
79 class IMUData_Quaternion;
80 class IMUData_QuaternionDefaultTypeInternal;
83 class IMUIssueDefaultTypeInternal;
117 return ::google::protobuf::internal::NameOfEnum(
122 return ::google::protobuf::internal::ParseNamedEnum<IMUCommand_IMUCommandType>(
143 return ::google::protobuf::internal::NameOfEnum(
148 return ::google::protobuf::internal::ParseNamedEnum<IMUIssue_SolutionType>(
161 return ::google::protobuf::internal::NameOfEnum(
166 return ::google::protobuf::internal::ParseNamedEnum<IMUIssue_IssueType>(
180 return ::google::protobuf::internal::NameOfEnum(
185 return ::google::protobuf::internal::ParseNamedEnum<IMUCalibrationState>(
204 *
this = ::std::move(from);
208 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
209 if (
this != &from) InternalSwap(&from);
217 return _internal_metadata_.unknown_fields();
220 return _internal_metadata_.mutable_unknown_fields();
223 static const ::google::protobuf::Descriptor*
descriptor();
242 return CreateMaybeMessage<IMUCommand>(NULL);
246 return CreateMaybeMessage<IMUCommand>(arena);
248 void CopyFrom(const ::google::protobuf::Message& from)
final;
249 void MergeFrom(const ::google::protobuf::Message& from)
final;
257 ::
google::protobuf::io::CodedInputStream* input) final;
259 ::
google::protobuf::io::CodedOutputStream* output) const final;
261 bool deterministic, ::
google::protobuf::uint8* target) const final;
267 void SetCachedSize(
int size)
const final;
270 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
273 inline void* MaybeArenaPtr()
const {
278 ::google::protobuf::Metadata
GetMetadata() const final;
304 static inline const ::google::protobuf::EnumDescriptor*
328 void clear_has_type();
330 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
331 ::google::protobuf::internal::HasBits<1> _has_bits_;
332 mutable ::google::protobuf::internal::CachedSize _cached_size_;
334 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
352 *
this = ::std::move(from);
356 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
357 if (
this != &from) InternalSwap(&from);
365 return _internal_metadata_.unknown_fields();
368 return _internal_metadata_.mutable_unknown_fields();
371 static const ::google::protobuf::Descriptor*
descriptor();
390 return CreateMaybeMessage<IMUData_EulerAngles>(NULL);
394 return CreateMaybeMessage<IMUData_EulerAngles>(arena);
396 void CopyFrom(const ::google::protobuf::Message& from)
final;
397 void MergeFrom(const ::google::protobuf::Message& from)
final;
405 ::
google::protobuf::io::CodedInputStream* input) final;
407 ::
google::protobuf::io::CodedOutputStream* output) const final;
409 bool deterministic, ::
google::protobuf::uint8* target) const final;
415 void SetCachedSize(
int size)
const final;
418 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
421 inline void* MaybeArenaPtr()
const {
426 ::google::protobuf::Metadata
GetMetadata() const final;
443 double pitch() const;
457 template<typename Quantity >
459 {
set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
461 template<
typename Quantity >
466 {
return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
470 typedef boost::units::unit<pitch_dimension,boost::units::degree::system>
pitch_unit;
472 template<
typename Quantity >
474 {
set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
476 template<
typename Quantity >
481 {
return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
485 typedef boost::units::unit<roll_dimension,boost::units::degree::system>
roll_unit;
487 template<
typename Quantity >
489 {
set_roll(boost::units::quantity<roll_unit,double >(value_w_units).value() ); };
491 template<
typename Quantity >
496 {
return roll_with_units<boost::units::quantity< roll_unit,double > >(); };
500 void set_has_heading();
501 void clear_has_heading();
502 void set_has_pitch();
503 void clear_has_pitch();
505 void clear_has_roll();
507 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
508 ::google::protobuf::internal::HasBits<1> _has_bits_;
509 mutable ::google::protobuf::internal::CachedSize _cached_size_;
513 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
531 *
this = ::std::move(from);
535 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
536 if (
this != &from) InternalSwap(&from);
544 return _internal_metadata_.unknown_fields();
547 return _internal_metadata_.mutable_unknown_fields();
550 static const ::google::protobuf::Descriptor*
descriptor();
569 return CreateMaybeMessage<IMUData_Acceleration>(NULL);
573 return CreateMaybeMessage<IMUData_Acceleration>(arena);
575 void CopyFrom(const ::google::protobuf::Message& from)
final;
576 void MergeFrom(const ::google::protobuf::Message& from)
final;
584 ::
google::protobuf::io::CodedInputStream* input) final;
586 ::
google::protobuf::io::CodedOutputStream* output) const final;
588 bool deterministic, ::
google::protobuf::uint8* target) const final;
594 void SetCachedSize(
int size)
const final;
597 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
600 inline void* MaybeArenaPtr()
const {
605 ::google::protobuf::Metadata
GetMetadata() const final;
616 void set_x(
double value);
623 void set_y(
double value);
630 void set_z(
double value);
641 ::
google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
642 ::
google::protobuf::internal::HasBits<1> _has_bits_;
643 mutable ::
google::protobuf::internal::CachedSize _cached_size_;
665 *
this = ::std::move(from);
668 inline IMUData_Accuracies&
operator=(IMUData_Accuracies&& from) noexcept {
669 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
670 if (
this != &from) InternalSwap(&from);
678 return _internal_metadata_.unknown_fields();
681 return _internal_metadata_.mutable_unknown_fields();
684 static const ::google::protobuf::Descriptor*
descriptor();
703 return CreateMaybeMessage<IMUData_Accuracies>(NULL);
707 return CreateMaybeMessage<IMUData_Accuracies>(arena);
709 void CopyFrom(const ::google::protobuf::Message& from)
final;
710 void MergeFrom(const ::google::protobuf::Message& from)
final;
718 ::
google::protobuf::io::CodedInputStream* input) final;
720 ::
google::protobuf::io::CodedOutputStream* output) const final;
722 bool deterministic, ::
google::protobuf::uint8* target) const final;
728 void SetCachedSize(
int size)
const final;
731 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
734 inline void* MaybeArenaPtr()
const {
739 ::google::protobuf::Metadata
GetMetadata() const final;
746 bool has_accelerometer() const;
747 void clear_accelerometer();
748 static const
int kAccelerometerFieldNumber = 1;
749 ::
google::protobuf::int32 accelerometer() const;
750 void set_accelerometer(::
google::protobuf::int32 value);
753 bool has_gyroscope() const;
754 void clear_gyroscope();
755 static const
int kGyroscopeFieldNumber = 2;
756 ::
google::protobuf::int32 gyroscope() const;
757 void set_gyroscope(::
google::protobuf::int32 value);
760 bool has_magnetometer() const;
761 void clear_magnetometer();
762 static const
int kMagnetometerFieldNumber = 3;
763 ::
google::protobuf::int32 magnetometer() const;
764 void set_magnetometer(::
google::protobuf::int32 value);
768 void set_has_accelerometer();
769 void clear_has_accelerometer();
770 void set_has_gyroscope();
771 void clear_has_gyroscope();
772 void set_has_magnetometer();
773 void clear_has_magnetometer();
775 ::
google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
776 ::
google::protobuf::internal::HasBits<1> _has_bits_;
777 mutable ::
google::protobuf::internal::CachedSize _cached_size_;
778 ::
google::protobuf::int32 accelerometer_;
779 ::
google::protobuf::int32 gyroscope_;
780 ::
google::protobuf::int32 magnetometer_;
799 *
this = ::std::move(from);
802 inline IMUData_AngularVelocity&
operator=(IMUData_AngularVelocity&& from) noexcept {
803 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
804 if (
this != &from) InternalSwap(&from);
812 return _internal_metadata_.unknown_fields();
815 return _internal_metadata_.mutable_unknown_fields();
818 static const ::google::protobuf::Descriptor*
descriptor();
837 return CreateMaybeMessage<IMUData_AngularVelocity>(NULL);
841 return CreateMaybeMessage<IMUData_AngularVelocity>(arena);
843 void CopyFrom(const ::google::protobuf::Message& from)
final;
844 void MergeFrom(const ::google::protobuf::Message& from)
final;
852 ::
google::protobuf::io::CodedInputStream* input) final;
854 ::
google::protobuf::io::CodedOutputStream* output) const final;
856 bool deterministic, ::
google::protobuf::uint8* target) const final;
862 void SetCachedSize(
int size)
const final;
865 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
868 inline void* MaybeArenaPtr()
const {
873 ::google::protobuf::Metadata
GetMetadata() const final;
884 void set_x(
double value);
891 void set_y(
double value);
898 void set_z(
double value);
904 template<typename Quantity >
905 void set_x_with_units(Quantity value_w_units)
906 {
set_x(boost::units::quantity<x_unit,double >(value_w_units).value() ); };
908 template<
typename Quantity >
910 {
return Quantity(
x() *
x_unit()); };
913 {
return x_with_units<boost::units::quantity< x_unit,double > >(); };
915 typedef boost::units::angular_velocity_dimension y_dimension;
917 typedef boost::units::unit<y_dimension,boost::units::si::system>
y_unit;
919 template<
typename Quantity >
921 {
set_y(boost::units::quantity<y_unit,double >(value_w_units).value() ); };
923 template<
typename Quantity >
925 {
return Quantity(
y() *
y_unit()); };
928 {
return y_with_units<boost::units::quantity< y_unit,double > >(); };
930 typedef boost::units::angular_velocity_dimension z_dimension;
932 typedef boost::units::unit<z_dimension,boost::units::si::system>
z_unit;
934 template<
typename Quantity >
936 {
set_z(boost::units::quantity<z_unit,double >(value_w_units).value() ); };
938 template<
typename Quantity >
940 {
return Quantity(
z() *
z_unit()); };
943 {
return z_with_units<boost::units::quantity< z_unit,double > >(); };
954 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
955 ::google::protobuf::internal::HasBits<1> _has_bits_;
956 mutable ::google::protobuf::internal::CachedSize _cached_size_;
960 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
978 *
this = ::std::move(from);
981 inline IMUData_Quaternion&
operator=(IMUData_Quaternion&& from) noexcept {
982 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
983 if (
this != &from) InternalSwap(&from);
991 return _internal_metadata_.unknown_fields();
994 return _internal_metadata_.mutable_unknown_fields();
997 static const ::google::protobuf::Descriptor*
descriptor();
1016 return CreateMaybeMessage<IMUData_Quaternion>(NULL);
1020 return CreateMaybeMessage<IMUData_Quaternion>(arena);
1022 void CopyFrom(const ::google::protobuf::Message& from)
final;
1023 void MergeFrom(const ::google::protobuf::Message& from)
final;
1031 ::
google::protobuf::io::CodedInputStream* input) final;
1033 ::
google::protobuf::io::CodedOutputStream* output) const final;
1035 bool deterministic, ::
google::protobuf::uint8* target) const final;
1041 void SetCachedSize(
int size)
const final;
1044 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
1047 inline void* MaybeArenaPtr()
const {
1052 ::google::protobuf::Metadata
GetMetadata() const final;
1061 static const
int kWFieldNumber = 1;
1063 void set_w(
double value);
1070 void set_x(
double value);
1077 void set_y(
double value);
1084 void set_z(
double value);
1097 ::
google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1098 ::
google::protobuf::internal::HasBits<1> _has_bits_;
1099 mutable ::
google::protobuf::internal::CachedSize _cached_size_;
1122 *
this = ::std::move(from);
1125 inline IMUData&
operator=(IMUData&& from) noexcept {
1126 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1127 if (
this != &from) InternalSwap(&from);
1135 return _internal_metadata_.unknown_fields();
1138 return _internal_metadata_.mutable_unknown_fields();
1141 static const ::google::protobuf::Descriptor*
descriptor();
1146 return reinterpret_cast<const IMUData*
>(
1160 return CreateMaybeMessage<IMUData>(NULL);
1164 return CreateMaybeMessage<IMUData>(arena);
1166 void CopyFrom(const ::google::protobuf::Message& from)
final;
1167 void MergeFrom(const ::google::protobuf::Message& from)
final;
1175 ::
google::protobuf::io::CodedInputStream* input) final;
1177 ::
google::protobuf::io::CodedOutputStream* output) const final;
1179 bool deterministic, ::
google::protobuf::uint8* target) const final;
1185 void SetCachedSize(
int size)
const final;
1186 void InternalSwap(
IMUData* other);
1188 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
1191 inline void* MaybeArenaPtr()
const {
1196 ::google::protobuf::Metadata
GetMetadata() const final;
1209 bool has_imu_type() const;
1210 void clear_imu_type();
1211 static const
int kImuTypeFieldNumber = 11;
1212 const ::std::
string& imu_type() const;
1213 void set_imu_type(const ::std::
string& value);
1215 void set_imu_type(::std::string&& value);
1217 void set_imu_type(
const char* value);
1218 void set_imu_type(
const char* value,
size_t size);
1219 ::std::string* mutable_imu_type();
1220 ::std::string* release_imu_type();
1221 void set_allocated_imu_type(::std::string* imu_type);
1224 bool has_euler_angles()
const;
1225 void clear_euler_angles();
1226 static const int kEulerAnglesFieldNumber = 1;
1228 const ::jaiabot::protobuf::IMUData_EulerAngles& _internal_euler_angles()
const;
1230 const ::jaiabot::protobuf::IMUData_EulerAngles& euler_angles()
const;
1236 bool has_linear_acceleration()
const;
1237 void clear_linear_acceleration();
1238 static const int kLinearAccelerationFieldNumber = 2;
1240 const ::jaiabot::protobuf::IMUData_Acceleration& _internal_linear_acceleration()
const;
1242 const ::jaiabot::protobuf::IMUData_Acceleration& linear_acceleration()
const;
1248 bool has_gravity()
const;
1249 void clear_gravity();
1250 static const int kGravityFieldNumber = 3;
1252 const ::jaiabot::protobuf::IMUData_Acceleration& _internal_gravity()
const;
1254 const ::jaiabot::protobuf::IMUData_Acceleration& gravity()
const;
1260 bool has_accuracies()
const;
1261 void clear_accuracies();
1262 static const int kAccuraciesFieldNumber = 4;
1264 const ::jaiabot::protobuf::IMUData_Accuracies& _internal_accuracies()
const;
1266 const ::jaiabot::protobuf::IMUData_Accuracies& accuracies()
const;
1272 bool has_angular_velocity()
const;
1273 void clear_angular_velocity();
1274 static const int kAngularVelocityFieldNumber = 9;
1276 const ::jaiabot::protobuf::IMUData_AngularVelocity& _internal_angular_velocity()
const;
1278 const ::jaiabot::protobuf::IMUData_AngularVelocity& angular_velocity()
const;
1284 bool has_quaternion()
const;
1285 void clear_quaternion();
1286 static const int kQuaternionFieldNumber = 10;
1288 const ::jaiabot::protobuf::IMUData_Quaternion& _internal_quaternion()
const;
1290 const ::jaiabot::protobuf::IMUData_Quaternion& quaternion()
const;
1296 bool has_significant_wave_height()
const;
1297 void clear_significant_wave_height();
1298 static const int kSignificantWaveHeightFieldNumber = 7;
1299 double significant_wave_height()
const;
1300 void set_significant_wave_height(
double value);
1303 bool has_max_acceleration()
const;
1304 void clear_max_acceleration();
1305 static const int kMaxAccelerationFieldNumber = 8;
1306 double max_acceleration()
const;
1307 void set_max_acceleration(
double value);
1310 bool has_bot_rolled_over()
const;
1311 void clear_bot_rolled_over();
1312 static const int kBotRolledOverFieldNumber = 6;
1313 bool bot_rolled_over()
const;
1314 void set_bot_rolled_over(
bool value);
1317 bool has_calibration_state()
const;
1318 void clear_calibration_state();
1319 static const int kCalibrationStateFieldNumber = 5;
1327 template<
typename Quantity >
1329 { set_significant_wave_height(boost::units::quantity<significant_wave_height_unit,double >(value_w_units).value() ); };
1331 template<
typename Quantity >
1336 {
return significant_wave_height_with_units<boost::units::quantity< significant_wave_height_unit,double > >(); };
1338 typedef boost::units::acceleration_dimension max_acceleration_dimension;
1342 template<
typename Quantity >
1344 { set_max_acceleration(boost::units::quantity<max_acceleration_unit,double >(value_w_units).value() ); };
1346 template<
typename Quantity >
1351 {
return max_acceleration_with_units<boost::units::quantity< max_acceleration_unit,double > >(); };
1355 void set_has_euler_angles();
1356 void clear_has_euler_angles();
1357 void set_has_linear_acceleration();
1358 void clear_has_linear_acceleration();
1359 void set_has_gravity();
1360 void clear_has_gravity();
1361 void set_has_accuracies();
1362 void clear_has_accuracies();
1363 void set_has_calibration_state();
1364 void clear_has_calibration_state();
1365 void set_has_bot_rolled_over();
1366 void clear_has_bot_rolled_over();
1367 void set_has_significant_wave_height();
1368 void clear_has_significant_wave_height();
1369 void set_has_max_acceleration();
1370 void clear_has_max_acceleration();
1371 void set_has_angular_velocity();
1372 void clear_has_angular_velocity();
1373 void set_has_quaternion();
1374 void clear_has_quaternion();
1375 void set_has_imu_type();
1376 void clear_has_imu_type();
1378 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1379 ::google::protobuf::internal::HasBits<1> _has_bits_;
1380 mutable ::google::protobuf::internal::CachedSize _cached_size_;
1381 ::google::protobuf::internal::ArenaStringPtr imu_type_;
1388 double significant_wave_height_;
1389 double max_acceleration_;
1390 bool bot_rolled_over_;
1391 int calibration_state_;
1392 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
1410 *
this = ::std::move(from);
1413 inline IMUIssue&
operator=(IMUIssue&& from) noexcept {
1414 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
1415 if (
this != &from) InternalSwap(&from);
1423 return _internal_metadata_.unknown_fields();
1426 return _internal_metadata_.mutable_unknown_fields();
1429 static const ::google::protobuf::Descriptor*
descriptor();
1434 return reinterpret_cast<const IMUIssue*
>(
1448 return CreateMaybeMessage<IMUIssue>(NULL);
1452 return CreateMaybeMessage<IMUIssue>(arena);
1454 void CopyFrom(const ::google::protobuf::Message& from)
final;
1455 void MergeFrom(const ::google::protobuf::Message& from)
final;
1463 ::
google::protobuf::io::CodedInputStream* input) final;
1465 ::
google::protobuf::io::CodedOutputStream* output) const final;
1467 bool deterministic, ::
google::protobuf::uint8* target) const final;
1473 void SetCachedSize(
int size)
const final;
1474 void InternalSwap(
IMUIssue* other);
1476 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
1479 inline void* MaybeArenaPtr()
const {
1484 ::google::protobuf::Metadata
GetMetadata() const final;
1507 static inline
bool SolutionType_IsValid(
int value) {
1514 static const int SolutionType_ARRAYSIZE =
1516 static inline const ::google::protobuf::EnumDescriptor*
1529 static const IssueType HEADING_COURSE_DIFFERENCE_TOO_LARGE =
1538 static const int IssueType_ARRAYSIZE =
1540 static inline const ::google::protobuf::EnumDescriptor*
1555 bool has_solution()
const;
1556 void clear_solution();
1557 static const int kSolutionFieldNumber = 1;
1562 bool has_type()
const;
1564 static const int kTypeFieldNumber = 2;
1569 bool has_mission_state()
const;
1570 void clear_mission_state();
1571 static const int kMissionStateFieldNumber = 3;
1576 bool has_heading()
const;
1577 void clear_heading();
1578 static const int kHeadingFieldNumber = 31;
1579 double heading()
const;
1580 void set_heading(
double value);
1583 bool has_desired_heading()
const;
1584 void clear_desired_heading();
1585 static const int kDesiredHeadingFieldNumber = 32;
1586 double desired_heading()
const;
1587 void set_desired_heading(
double value);
1590 bool has_course_over_ground()
const;
1591 void clear_course_over_ground();
1592 static const int kCourseOverGroundFieldNumber = 33;
1593 double course_over_ground()
const;
1594 void set_course_over_ground(
double value);
1597 bool has_heading_course_difference()
const;
1598 void clear_heading_course_difference();
1599 static const int kHeadingCourseDifferenceFieldNumber = 34;
1600 double heading_course_difference()
const;
1601 void set_heading_course_difference(
double value);
1604 bool has_pitch()
const;
1606 static const int kPitchFieldNumber = 35;
1607 double pitch()
const;
1608 void set_pitch(
double value);
1611 bool has_speed_over_ground()
const;
1612 void clear_speed_over_ground();
1613 static const int kSpeedOverGroundFieldNumber = 36;
1614 double speed_over_ground()
const;
1615 void set_speed_over_ground(
double value);
1618 bool has_desired_speed()
const;
1619 void clear_desired_speed();
1620 static const int kDesiredSpeedFieldNumber = 37;
1621 double desired_speed()
const;
1622 void set_desired_speed(
double value);
1625 bool has_imu_heading_course_max_diff()
const;
1626 void clear_imu_heading_course_max_diff();
1627 static const int kImuHeadingCourseMaxDiffFieldNumber = 30;
1628 double imu_heading_course_max_diff()
const;
1629 void set_imu_heading_course_max_diff(
double value);
1633 typedef boost::units::unit<heading_dimension,boost::units::degree::system>
heading_unit;
1635 template<
typename Quantity >
1637 { set_heading(boost::units::quantity<heading_unit,double >(value_w_units).value() ); };
1639 template<
typename Quantity >
1644 {
return heading_with_units<boost::units::quantity< heading_unit,double > >(); };
1646 typedef boost::units::plane_angle_dimension desired_heading_dimension;
1650 template<
typename Quantity >
1652 { set_desired_heading(boost::units::quantity<desired_heading_unit,double >(value_w_units).value() ); };
1654 template<
typename Quantity >
1659 {
return desired_heading_with_units<boost::units::quantity< desired_heading_unit,double > >(); };
1661 typedef boost::units::plane_angle_dimension course_over_ground_dimension;
1665 template<
typename Quantity >
1667 { set_course_over_ground(boost::units::quantity<course_over_ground_unit,double >(value_w_units).value() ); };
1669 template<
typename Quantity >
1674 {
return course_over_ground_with_units<boost::units::quantity< course_over_ground_unit,double > >(); };
1676 typedef boost::units::plane_angle_dimension heading_course_difference_dimension;
1680 template<
typename Quantity >
1682 { set_heading_course_difference(boost::units::quantity<heading_course_difference_unit,double >(value_w_units).value() ); };
1684 template<
typename Quantity >
1689 {
return heading_course_difference_with_units<boost::units::quantity< heading_course_difference_unit,double > >(); };
1691 typedef boost::units::plane_angle_dimension pitch_dimension;
1693 typedef boost::units::unit<pitch_dimension,boost::units::degree::system>
pitch_unit;
1695 template<
typename Quantity >
1697 { set_pitch(boost::units::quantity<pitch_unit,double >(value_w_units).value() ); };
1699 template<
typename Quantity >
1701 {
return Quantity(pitch() *
pitch_unit()); };
1704 {
return pitch_with_units<boost::units::quantity< pitch_unit,double > >(); };
1706 typedef boost::units::velocity_dimension speed_over_ground_dimension;
1710 template<
typename Quantity >
1712 { set_speed_over_ground(boost::units::quantity<speed_over_ground_unit,double >(value_w_units).value() ); };
1714 template<
typename Quantity >
1719 {
return speed_over_ground_with_units<boost::units::quantity< speed_over_ground_unit,double > >(); };
1721 typedef boost::units::velocity_dimension desired_speed_dimension;
1725 template<
typename Quantity >
1727 { set_desired_speed(boost::units::quantity<desired_speed_unit,double >(value_w_units).value() ); };
1729 template<
typename Quantity >
1734 {
return desired_speed_with_units<boost::units::quantity< desired_speed_unit,double > >(); };
1738 void set_has_solution();
1739 void clear_has_solution();
1740 void set_has_type();
1741 void clear_has_type();
1742 void set_has_mission_state();
1743 void clear_has_mission_state();
1744 void set_has_imu_heading_course_max_diff();
1745 void clear_has_imu_heading_course_max_diff();
1746 void set_has_heading();
1747 void clear_has_heading();
1748 void set_has_desired_heading();
1749 void clear_has_desired_heading();
1750 void set_has_course_over_ground();
1751 void clear_has_course_over_ground();
1752 void set_has_heading_course_difference();
1753 void clear_has_heading_course_difference();
1754 void set_has_pitch();
1755 void clear_has_pitch();
1756 void set_has_speed_over_ground();
1757 void clear_has_speed_over_ground();
1758 void set_has_desired_speed();
1759 void clear_has_desired_speed();
1761 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1762 ::google::protobuf::internal::HasBits<1> _has_bits_;
1763 mutable ::google::protobuf::internal::CachedSize _cached_size_;
1768 double desired_heading_;
1769 double course_over_ground_;
1770 double heading_course_difference_;
1772 double speed_over_ground_;
1773 double desired_speed_;
1774 double imu_heading_course_max_diff_;
1775 friend struct ::protobuf_jaiabot_2fmessages_2fimu_2eproto::TableStruct;
1783 #pragma GCC diagnostic push
1784 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1790 return (_has_bits_[0] & 0x00000001u) != 0;
1792 inline void IMUCommand::set_has_type() {
1793 _has_bits_[0] |= 0x00000001u;
1795 inline void IMUCommand::clear_has_type() {
1796 _has_bits_[0] &= ~0x00000001u;
1819 return (_has_bits_[0] & 0x00000001u) != 0;
1821 inline void IMUData_EulerAngles::set_has_heading() {
1822 _has_bits_[0] |= 0x00000001u;
1824 inline void IMUData_EulerAngles::clear_has_heading() {
1825 _has_bits_[0] &= ~0x00000001u;
1829 clear_has_heading();
1843 return (_has_bits_[0] & 0x00000002u) != 0;
1845 inline void IMUData_EulerAngles::set_has_pitch() {
1846 _has_bits_[0] |= 0x00000002u;
1848 inline void IMUData_EulerAngles::clear_has_pitch() {
1849 _has_bits_[0] &= ~0x00000002u;
1867 return (_has_bits_[0] & 0x00000004u) != 0;
1869 inline void IMUData_EulerAngles::set_has_roll() {
1870 _has_bits_[0] |= 0x00000004u;
1872 inline void IMUData_EulerAngles::clear_has_roll() {
1873 _has_bits_[0] &= ~0x00000004u;
1895 return (_has_bits_[0] & 0x00000001u) != 0;
1897 inline void IMUData_Acceleration::set_has_x() {
1898 _has_bits_[0] |= 0x00000001u;
1900 inline void IMUData_Acceleration::clear_has_x() {
1901 _has_bits_[0] &= ~0x00000001u;
1919 return (_has_bits_[0] & 0x00000002u) != 0;
1921 inline void IMUData_Acceleration::set_has_y() {
1922 _has_bits_[0] |= 0x00000002u;
1924 inline void IMUData_Acceleration::clear_has_y() {
1925 _has_bits_[0] &= ~0x00000002u;
1943 return (_has_bits_[0] & 0x00000004u) != 0;
1945 inline void IMUData_Acceleration::set_has_z() {
1946 _has_bits_[0] |= 0x00000004u;
1948 inline void IMUData_Acceleration::clear_has_z() {
1949 _has_bits_[0] &= ~0x00000004u;
1971 return (_has_bits_[0] & 0x00000001u) != 0;
1973 inline void IMUData_Accuracies::set_has_accelerometer() {
1974 _has_bits_[0] |= 0x00000001u;
1976 inline void IMUData_Accuracies::clear_has_accelerometer() {
1977 _has_bits_[0] &= ~0x00000001u;
1981 clear_has_accelerometer();
1985 return accelerometer_;
1988 set_has_accelerometer();
1989 accelerometer_ = value;
1995 return (_has_bits_[0] & 0x00000002u) != 0;
1997 inline void IMUData_Accuracies::set_has_gyroscope() {
1998 _has_bits_[0] |= 0x00000002u;
2000 inline void IMUData_Accuracies::clear_has_gyroscope() {
2001 _has_bits_[0] &= ~0x00000002u;
2005 clear_has_gyroscope();
2012 set_has_gyroscope();
2019 return (_has_bits_[0] & 0x00000004u) != 0;
2021 inline void IMUData_Accuracies::set_has_magnetometer() {
2022 _has_bits_[0] |= 0x00000004u;
2024 inline void IMUData_Accuracies::clear_has_magnetometer() {
2025 _has_bits_[0] &= ~0x00000004u;
2029 clear_has_magnetometer();
2033 return magnetometer_;
2036 set_has_magnetometer();
2037 magnetometer_ = value;
2047 return (_has_bits_[0] & 0x00000001u) != 0;
2049 inline void IMUData_AngularVelocity::set_has_x() {
2050 _has_bits_[0] |= 0x00000001u;
2052 inline void IMUData_AngularVelocity::clear_has_x() {
2053 _has_bits_[0] &= ~0x00000001u;
2071 return (_has_bits_[0] & 0x00000002u) != 0;
2073 inline void IMUData_AngularVelocity::set_has_y() {
2074 _has_bits_[0] |= 0x00000002u;
2076 inline void IMUData_AngularVelocity::clear_has_y() {
2077 _has_bits_[0] &= ~0x00000002u;
2095 return (_has_bits_[0] & 0x00000004u) != 0;
2097 inline void IMUData_AngularVelocity::set_has_z() {
2098 _has_bits_[0] |= 0x00000004u;
2100 inline void IMUData_AngularVelocity::clear_has_z() {
2101 _has_bits_[0] &= ~0x00000004u;
2123 return (_has_bits_[0] & 0x00000001u) != 0;
2125 inline void IMUData_Quaternion::set_has_w() {
2126 _has_bits_[0] |= 0x00000001u;
2128 inline void IMUData_Quaternion::clear_has_w() {
2129 _has_bits_[0] &= ~0x00000001u;
2147 return (_has_bits_[0] & 0x00000002u) != 0;
2149 inline void IMUData_Quaternion::set_has_x() {
2150 _has_bits_[0] |= 0x00000002u;
2152 inline void IMUData_Quaternion::clear_has_x() {
2153 _has_bits_[0] &= ~0x00000002u;
2171 return (_has_bits_[0] & 0x00000004u) != 0;
2173 inline void IMUData_Quaternion::set_has_y() {
2174 _has_bits_[0] |= 0x00000004u;
2176 inline void IMUData_Quaternion::clear_has_y() {
2177 _has_bits_[0] &= ~0x00000004u;
2195 return (_has_bits_[0] & 0x00000008u) != 0;
2197 inline void IMUData_Quaternion::set_has_z() {
2198 _has_bits_[0] |= 0x00000008u;
2200 inline void IMUData_Quaternion::clear_has_z() {
2201 _has_bits_[0] &= ~0x00000008u;
2223 return (_has_bits_[0] & 0x00000002u) != 0;
2225 inline void IMUData::set_has_euler_angles() {
2226 _has_bits_[0] |= 0x00000002u;
2228 inline void IMUData::clear_has_euler_angles() {
2229 _has_bits_[0] &= ~0x00000002u;
2232 if (euler_angles_ != NULL) euler_angles_->Clear();
2233 clear_has_euler_angles();
2235 inline const ::jaiabot::protobuf::IMUData_EulerAngles& IMUData::_internal_euler_angles()
const {
2236 return *euler_angles_;
2239 const ::jaiabot::protobuf::IMUData_EulerAngles* p = euler_angles_;
2246 clear_has_euler_angles();
2248 euler_angles_ = NULL;
2252 set_has_euler_angles();
2253 if (euler_angles_ == NULL) {
2254 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_EulerAngles>(GetArenaNoVirtual());
2258 return euler_angles_;
2261 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2262 if (message_arena == NULL) {
2263 delete euler_angles_;
2266 ::google::protobuf::Arena* submessage_arena = NULL;
2267 if (message_arena != submessage_arena) {
2268 euler_angles = ::google::protobuf::internal::GetOwnedMessage(
2269 message_arena, euler_angles, submessage_arena);
2271 set_has_euler_angles();
2273 clear_has_euler_angles();
2275 euler_angles_ = euler_angles;
2281 return (_has_bits_[0] & 0x00000004u) != 0;
2283 inline void IMUData::set_has_linear_acceleration() {
2284 _has_bits_[0] |= 0x00000004u;
2286 inline void IMUData::clear_has_linear_acceleration() {
2287 _has_bits_[0] &= ~0x00000004u;
2290 if (linear_acceleration_ != NULL) linear_acceleration_->Clear();
2291 clear_has_linear_acceleration();
2293 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::_internal_linear_acceleration()
const {
2294 return *linear_acceleration_;
2297 const ::jaiabot::protobuf::IMUData_Acceleration* p = linear_acceleration_;
2304 clear_has_linear_acceleration();
2306 linear_acceleration_ = NULL;
2310 set_has_linear_acceleration();
2311 if (linear_acceleration_ == NULL) {
2312 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Acceleration>(GetArenaNoVirtual());
2313 linear_acceleration_ = p;
2316 return linear_acceleration_;
2319 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2320 if (message_arena == NULL) {
2321 delete linear_acceleration_;
2323 if (linear_acceleration) {
2324 ::google::protobuf::Arena* submessage_arena = NULL;
2325 if (message_arena != submessage_arena) {
2326 linear_acceleration = ::google::protobuf::internal::GetOwnedMessage(
2327 message_arena, linear_acceleration, submessage_arena);
2329 set_has_linear_acceleration();
2331 clear_has_linear_acceleration();
2333 linear_acceleration_ = linear_acceleration;
2339 return (_has_bits_[0] & 0x00000008u) != 0;
2341 inline void IMUData::set_has_gravity() {
2342 _has_bits_[0] |= 0x00000008u;
2344 inline void IMUData::clear_has_gravity() {
2345 _has_bits_[0] &= ~0x00000008u;
2348 if (gravity_ != NULL) gravity_->Clear();
2349 clear_has_gravity();
2351 inline const ::jaiabot::protobuf::IMUData_Acceleration& IMUData::_internal_gravity()
const {
2355 const ::jaiabot::protobuf::IMUData_Acceleration* p = gravity_;
2362 clear_has_gravity();
2369 if (gravity_ == NULL) {
2370 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Acceleration>(GetArenaNoVirtual());
2377 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2378 if (message_arena == NULL) {
2382 ::google::protobuf::Arena* submessage_arena = NULL;
2383 if (message_arena != submessage_arena) {
2384 gravity = ::google::protobuf::internal::GetOwnedMessage(
2385 message_arena, gravity, submessage_arena);
2389 clear_has_gravity();
2397 return (_has_bits_[0] & 0x00000010u) != 0;
2399 inline void IMUData::set_has_accuracies() {
2400 _has_bits_[0] |= 0x00000010u;
2402 inline void IMUData::clear_has_accuracies() {
2403 _has_bits_[0] &= ~0x00000010u;
2406 if (accuracies_ != NULL) accuracies_->Clear();
2407 clear_has_accuracies();
2409 inline const ::jaiabot::protobuf::IMUData_Accuracies& IMUData::_internal_accuracies()
const {
2410 return *accuracies_;
2413 const ::jaiabot::protobuf::IMUData_Accuracies* p = accuracies_;
2420 clear_has_accuracies();
2426 set_has_accuracies();
2427 if (accuracies_ == NULL) {
2428 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Accuracies>(GetArenaNoVirtual());
2435 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2436 if (message_arena == NULL) {
2440 ::google::protobuf::Arena* submessage_arena = NULL;
2441 if (message_arena != submessage_arena) {
2442 accuracies = ::google::protobuf::internal::GetOwnedMessage(
2443 message_arena, accuracies, submessage_arena);
2445 set_has_accuracies();
2447 clear_has_accuracies();
2449 accuracies_ = accuracies;
2455 return (_has_bits_[0] & 0x00000400u) != 0;
2457 inline void IMUData::set_has_calibration_state() {
2458 _has_bits_[0] |= 0x00000400u;
2460 inline void IMUData::clear_has_calibration_state() {
2461 _has_bits_[0] &= ~0x00000400u;
2464 calibration_state_ = 1;
2465 clear_has_calibration_state();
2473 set_has_calibration_state();
2474 calibration_state_ = value;
2480 return (_has_bits_[0] & 0x00000200u) != 0;
2482 inline void IMUData::set_has_bot_rolled_over() {
2483 _has_bits_[0] |= 0x00000200u;
2485 inline void IMUData::clear_has_bot_rolled_over() {
2486 _has_bits_[0] &= ~0x00000200u;
2489 bot_rolled_over_ =
false;
2490 clear_has_bot_rolled_over();
2494 return bot_rolled_over_;
2497 set_has_bot_rolled_over();
2498 bot_rolled_over_ = value;
2504 return (_has_bits_[0] & 0x00000080u) != 0;
2506 inline void IMUData::set_has_significant_wave_height() {
2507 _has_bits_[0] |= 0x00000080u;
2509 inline void IMUData::clear_has_significant_wave_height() {
2510 _has_bits_[0] &= ~0x00000080u;
2513 significant_wave_height_ = 0;
2514 clear_has_significant_wave_height();
2518 return significant_wave_height_;
2521 set_has_significant_wave_height();
2522 significant_wave_height_ = value;
2528 return (_has_bits_[0] & 0x00000100u) != 0;
2530 inline void IMUData::set_has_max_acceleration() {
2531 _has_bits_[0] |= 0x00000100u;
2533 inline void IMUData::clear_has_max_acceleration() {
2534 _has_bits_[0] &= ~0x00000100u;
2537 max_acceleration_ = 0;
2538 clear_has_max_acceleration();
2542 return max_acceleration_;
2545 set_has_max_acceleration();
2546 max_acceleration_ = value;
2552 return (_has_bits_[0] & 0x00000020u) != 0;
2554 inline void IMUData::set_has_angular_velocity() {
2555 _has_bits_[0] |= 0x00000020u;
2557 inline void IMUData::clear_has_angular_velocity() {
2558 _has_bits_[0] &= ~0x00000020u;
2561 if (angular_velocity_ != NULL) angular_velocity_->Clear();
2562 clear_has_angular_velocity();
2564 inline const ::jaiabot::protobuf::IMUData_AngularVelocity& IMUData::_internal_angular_velocity()
const {
2565 return *angular_velocity_;
2568 const ::jaiabot::protobuf::IMUData_AngularVelocity* p = angular_velocity_;
2575 clear_has_angular_velocity();
2577 angular_velocity_ = NULL;
2581 set_has_angular_velocity();
2582 if (angular_velocity_ == NULL) {
2583 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_AngularVelocity>(GetArenaNoVirtual());
2584 angular_velocity_ = p;
2587 return angular_velocity_;
2590 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2591 if (message_arena == NULL) {
2592 delete angular_velocity_;
2594 if (angular_velocity) {
2595 ::google::protobuf::Arena* submessage_arena = NULL;
2596 if (message_arena != submessage_arena) {
2597 angular_velocity = ::google::protobuf::internal::GetOwnedMessage(
2598 message_arena, angular_velocity, submessage_arena);
2600 set_has_angular_velocity();
2602 clear_has_angular_velocity();
2604 angular_velocity_ = angular_velocity;
2610 return (_has_bits_[0] & 0x00000040u) != 0;
2612 inline void IMUData::set_has_quaternion() {
2613 _has_bits_[0] |= 0x00000040u;
2615 inline void IMUData::clear_has_quaternion() {
2616 _has_bits_[0] &= ~0x00000040u;
2619 if (quaternion_ != NULL) quaternion_->Clear();
2620 clear_has_quaternion();
2622 inline const ::jaiabot::protobuf::IMUData_Quaternion& IMUData::_internal_quaternion()
const {
2623 return *quaternion_;
2626 const ::jaiabot::protobuf::IMUData_Quaternion* p = quaternion_;
2633 clear_has_quaternion();
2639 set_has_quaternion();
2640 if (quaternion_ == NULL) {
2641 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUData_Quaternion>(GetArenaNoVirtual());
2648 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
2649 if (message_arena == NULL) {
2653 ::google::protobuf::Arena* submessage_arena = NULL;
2654 if (message_arena != submessage_arena) {
2655 quaternion = ::google::protobuf::internal::GetOwnedMessage(
2656 message_arena, quaternion, submessage_arena);
2658 set_has_quaternion();
2660 clear_has_quaternion();
2662 quaternion_ = quaternion;
2668 return (_has_bits_[0] & 0x00000001u) != 0;
2670 inline void IMUData::set_has_imu_type() {
2671 _has_bits_[0] |= 0x00000001u;
2673 inline void IMUData::clear_has_imu_type() {
2674 _has_bits_[0] &= ~0x00000001u;
2677 imu_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2678 clear_has_imu_type();
2682 return imu_type_.GetNoArena();
2686 imu_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
2692 imu_type_.SetNoArena(
2693 &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
2698 GOOGLE_DCHECK(value != NULL);
2700 imu_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
2705 imu_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
2706 ::std::string(
reinterpret_cast<const char*
>(value), size));
2712 return imu_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2716 if (!has_imu_type()) {
2719 clear_has_imu_type();
2720 return imu_type_.ReleaseNonDefaultNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
2723 if (imu_type != NULL) {
2726 clear_has_imu_type();
2728 imu_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), imu_type);
2738 return (_has_bits_[0] & 0x00000001u) != 0;
2740 inline void IMUIssue::set_has_solution() {
2741 _has_bits_[0] |= 0x00000001u;
2743 inline void IMUIssue::clear_has_solution() {
2744 _has_bits_[0] &= ~0x00000001u;
2748 clear_has_solution();
2763 return (_has_bits_[0] & 0x00000002u) != 0;
2765 inline void IMUIssue::set_has_type() {
2766 _has_bits_[0] |= 0x00000002u;
2768 inline void IMUIssue::clear_has_type() {
2769 _has_bits_[0] &= ~0x00000002u;
2788 return (_has_bits_[0] & 0x00000004u) != 0;
2790 inline void IMUIssue::set_has_mission_state() {
2791 _has_bits_[0] |= 0x00000004u;
2793 inline void IMUIssue::clear_has_mission_state() {
2794 _has_bits_[0] &= ~0x00000004u;
2798 clear_has_mission_state();
2806 set_has_mission_state();
2807 mission_state_ = value;
2813 return (_has_bits_[0] & 0x00000400u) != 0;
2815 inline void IMUIssue::set_has_imu_heading_course_max_diff() {
2816 _has_bits_[0] |= 0x00000400u;
2818 inline void IMUIssue::clear_has_imu_heading_course_max_diff() {
2819 _has_bits_[0] &= ~0x00000400u;
2822 imu_heading_course_max_diff_ = 45;
2823 clear_has_imu_heading_course_max_diff();
2827 return imu_heading_course_max_diff_;
2830 set_has_imu_heading_course_max_diff();
2831 imu_heading_course_max_diff_ = value;
2837 return (_has_bits_[0] & 0x00000008u) != 0;
2839 inline void IMUIssue::set_has_heading() {
2840 _has_bits_[0] |= 0x00000008u;
2842 inline void IMUIssue::clear_has_heading() {
2843 _has_bits_[0] &= ~0x00000008u;
2847 clear_has_heading();
2861 return (_has_bits_[0] & 0x00000010u) != 0;
2863 inline void IMUIssue::set_has_desired_heading() {
2864 _has_bits_[0] |= 0x00000010u;
2866 inline void IMUIssue::clear_has_desired_heading() {
2867 _has_bits_[0] &= ~0x00000010u;
2870 desired_heading_ = 0;
2871 clear_has_desired_heading();
2875 return desired_heading_;
2878 set_has_desired_heading();
2879 desired_heading_ = value;
2885 return (_has_bits_[0] & 0x00000020u) != 0;
2887 inline void IMUIssue::set_has_course_over_ground() {
2888 _has_bits_[0] |= 0x00000020u;
2890 inline void IMUIssue::clear_has_course_over_ground() {
2891 _has_bits_[0] &= ~0x00000020u;
2894 course_over_ground_ = 0;
2895 clear_has_course_over_ground();
2899 return course_over_ground_;
2902 set_has_course_over_ground();
2903 course_over_ground_ = value;
2909 return (_has_bits_[0] & 0x00000040u) != 0;
2911 inline void IMUIssue::set_has_heading_course_difference() {
2912 _has_bits_[0] |= 0x00000040u;
2914 inline void IMUIssue::clear_has_heading_course_difference() {
2915 _has_bits_[0] &= ~0x00000040u;
2918 heading_course_difference_ = 0;
2919 clear_has_heading_course_difference();
2923 return heading_course_difference_;
2926 set_has_heading_course_difference();
2927 heading_course_difference_ = value;
2933 return (_has_bits_[0] & 0x00000080u) != 0;
2935 inline void IMUIssue::set_has_pitch() {
2936 _has_bits_[0] |= 0x00000080u;
2938 inline void IMUIssue::clear_has_pitch() {
2939 _has_bits_[0] &= ~0x00000080u;
2957 return (_has_bits_[0] & 0x00000100u) != 0;
2959 inline void IMUIssue::set_has_speed_over_ground() {
2960 _has_bits_[0] |= 0x00000100u;
2962 inline void IMUIssue::clear_has_speed_over_ground() {
2963 _has_bits_[0] &= ~0x00000100u;
2966 speed_over_ground_ = 0;
2967 clear_has_speed_over_ground();
2971 return speed_over_ground_;
2974 set_has_speed_over_ground();
2975 speed_over_ground_ = value;
2981 return (_has_bits_[0] & 0x00000200u) != 0;
2983 inline void IMUIssue::set_has_desired_speed() {
2984 _has_bits_[0] |= 0x00000200u;
2986 inline void IMUIssue::clear_has_desired_speed() {
2987 _has_bits_[0] &= ~0x00000200u;
2991 clear_has_desired_speed();
2995 return desired_speed_;
2998 set_has_desired_speed();
2999 desired_speed_ = value;
3004 #pragma GCC diagnostic pop
3027 namespace protobuf {
3031 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUCommand_IMUCommandType>() {
3036 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUIssue_SolutionType>() {
3041 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUIssue_IssueType>() {
3046 inline const EnumDescriptor* GetEnumDescriptor< ::jaiabot::protobuf::IMUCalibrationState>() {
3055 #endif // PROTOBUF_INCLUDED_jaiabot_2fmessages_2fimu_2eproto