4 #ifndef PROTOBUF_INCLUDED_bin_2fpid_5fcontrol_2fconfig_2eproto
5 #define PROTOBUF_INCLUDED_bin_2fpid_5fcontrol_2fconfig_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/unknown_field_set.h>
33 #include "goby/middleware/protobuf/app_config.pb.h"
34 #include "goby/zeromq/protobuf/interprocess_config.pb.h"
35 #include "goby/middleware/protobuf/transporter_config.pb.h"
36 #include "dccl/option_extensions.pb.h"
38 #include <boost/units/quantity.hpp>
39 #include <boost/units/absolute.hpp>
40 #include <boost/units/dimensionless_type.hpp>
41 #include <boost/units/make_scaled_unit.hpp>
43 #include <boost/units/systems/angle/degrees.hpp>
45 #include <boost/units/systems/si.hpp>
47 #define PROTOBUF_INTERNAL_EXPORT_protobuf_bin_2fpid_5fcontrol_2fconfig_2eproto
52 static const ::google::protobuf::internal::ParseTableField
entries[];
53 static const ::google::protobuf::internal::AuxillaryParseTableField
aux[];
54 static const ::google::protobuf::internal::ParseTable
schema[3];
57 static const ::google::protobuf::uint32
offsets[];
64 class BotPidControlDefaultTypeInternal;
66 class BotPidControl_PIDGains;
67 class BotPidControl_PIDGainsDefaultTypeInternal;
69 class BotPidControl_ThrottleSpeedEntry;
70 class BotPidControl_ThrottleSpeedEntryDefaultTypeInternal;
100 *
this = ::std::move(from);
104 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
105 if (
this != &from) InternalSwap(&from);
113 return _internal_metadata_.unknown_fields();
116 return _internal_metadata_.mutable_unknown_fields();
119 static const ::google::protobuf::Descriptor*
descriptor();
138 return CreateMaybeMessage<BotPidControl_PIDGains>(NULL);
142 return CreateMaybeMessage<BotPidControl_PIDGains>(arena);
144 void CopyFrom(const ::google::protobuf::Message& from)
final;
145 void MergeFrom(const ::google::protobuf::Message& from)
final;
153 ::
google::protobuf::io::CodedInputStream* input) final;
155 ::
google::protobuf::io::CodedOutputStream* output) const final;
157 bool deterministic, ::
google::protobuf::uint8* target) const final;
163 void SetCachedSize(
int size)
const final;
166 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
169 inline void* MaybeArenaPtr()
const {
174 ::google::protobuf::Metadata
GetMetadata() const final;
185 void set_kp(
double value);
192 void set_ki(
double value);
199 void set_kd(
double value);
211 size_t RequiredFieldsByteSizeFallback() const;
213 ::
google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
214 ::
google::protobuf::internal::HasBits<1> _has_bits_;
215 mutable ::
google::protobuf::internal::CachedSize _cached_size_;
237 *
this = ::std::move(from);
240 inline BotPidControl_ThrottleSpeedEntry&
operator=(BotPidControl_ThrottleSpeedEntry&& from) noexcept {
241 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
242 if (
this != &from) InternalSwap(&from);
250 return _internal_metadata_.unknown_fields();
253 return _internal_metadata_.mutable_unknown_fields();
256 static const ::google::protobuf::Descriptor*
descriptor();
275 return CreateMaybeMessage<BotPidControl_ThrottleSpeedEntry>(NULL);
279 return CreateMaybeMessage<BotPidControl_ThrottleSpeedEntry>(arena);
281 void CopyFrom(const ::google::protobuf::Message& from)
final;
282 void MergeFrom(const ::google::protobuf::Message& from)
final;
290 ::
google::protobuf::io::CodedInputStream* input) final;
292 ::
google::protobuf::io::CodedOutputStream* output) const final;
294 bool deterministic, ::
google::protobuf::uint8* target) const final;
300 void SetCachedSize(
int size)
const final;
303 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
306 inline void* MaybeArenaPtr()
const {
311 ::google::protobuf::Metadata
GetMetadata() const final;
318 bool has_speed() const;
320 static const
int kSpeedFieldNumber = 1;
321 double speed() const;
322 void set_speed(
double value);
325 bool has_throttle() const;
326 void clear_throttle();
327 static const
int kThrottleFieldNumber = 2;
328 ::
google::protobuf::int32 throttle() const;
329 void set_throttle(::
google::protobuf::int32 value);
335 template<typename Quantity >
336 void set_speed_with_units(Quantity value_w_units)
337 { set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
339 template<
typename Quantity >
344 {
return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
348 void set_has_speed();
349 void clear_has_speed();
350 void set_has_throttle();
351 void clear_has_throttle();
354 size_t RequiredFieldsByteSizeFallback()
const;
356 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
357 ::google::protobuf::internal::HasBits<1> _has_bits_;
358 mutable ::google::protobuf::internal::CachedSize _cached_size_;
360 ::google::protobuf::int32 throttle_;
361 friend struct ::protobuf_bin_2fpid_5fcontrol_2fconfig_2eproto::TableStruct;
379 *
this = ::std::move(from);
382 inline BotPidControl&
operator=(BotPidControl&& from) noexcept {
383 if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
384 if (
this != &from) InternalSwap(&from);
392 return _internal_metadata_.unknown_fields();
395 return _internal_metadata_.mutable_unknown_fields();
398 static const ::google::protobuf::Descriptor*
descriptor();
417 return CreateMaybeMessage<BotPidControl>(NULL);
421 return CreateMaybeMessage<BotPidControl>(arena);
423 void CopyFrom(const ::google::protobuf::Message& from)
final;
424 void MergeFrom(const ::google::protobuf::Message& from)
final;
432 ::
google::protobuf::io::CodedInputStream* input) final;
434 ::
google::protobuf::io::CodedOutputStream* output) const final;
436 bool deterministic, ::
google::protobuf::uint8* target) const final;
442 void SetCachedSize(
int size)
const final;
445 inline ::google::protobuf::Arena* GetArenaNoVirtual()
const {
448 inline void* MaybeArenaPtr()
const {
453 ::google::protobuf::Metadata
GetMetadata() const final;
463 int throttle_table_size() const;
464 void clear_throttle_table();
465 static const
int kThrottleTableFieldNumber = 32;
468 mutable_throttle_table();
472 throttle_table() const;
475 bool has_app() const;
477 static const
int kAppFieldNumber = 1;
479 const ::
goby::middleware::protobuf::AppConfig& _internal_app() const;
481 const ::
goby::middleware::protobuf::AppConfig& app() const;
482 ::
goby::middleware::protobuf::AppConfig* release_app();
483 ::
goby::middleware::protobuf::AppConfig* mutable_app();
484 void set_allocated_app(::
goby::middleware::protobuf::AppConfig* app);
487 bool has_interprocess() const;
488 void clear_interprocess();
489 static const
int kInterprocessFieldNumber = 2;
491 const ::
goby::zeromq::protobuf::InterProcessPortalConfig& _internal_interprocess() const;
493 const ::
goby::zeromq::protobuf::InterProcessPortalConfig& interprocess() const;
494 ::
goby::zeromq::protobuf::InterProcessPortalConfig* release_interprocess();
495 ::
goby::zeromq::protobuf::InterProcessPortalConfig* mutable_interprocess();
496 void set_allocated_interprocess(::
goby::zeromq::protobuf::InterProcessPortalConfig* interprocess);
499 bool has_throttle_speed_pid_gains() const;
500 void clear_throttle_speed_pid_gains();
501 static const
int kThrottleSpeedPidGainsFieldNumber = 30;
511 bool has_throttle_depth_pid_gains() const;
512 void clear_throttle_depth_pid_gains();
513 static const
int kThrottleDepthPidGainsFieldNumber = 40;
523 bool has_heading_pid_gains() const;
524 void clear_heading_pid_gains();
525 static const
int kHeadingPidGainsFieldNumber = 50;
535 bool has_heading_constant_pid_gains() const;
536 void clear_heading_constant_pid_gains();
537 static const
int kHeadingConstantPidGainsFieldNumber = 51;
547 bool has_roll_pid_gains() const;
548 void clear_roll_pid_gains();
549 static const
int kRollPidGainsFieldNumber = 60;
559 bool has_pitch_pid_gains() const;
560 void clear_pitch_pid_gains();
561 static const
int kPitchPidGainsFieldNumber = 70;
571 bool has_bounds() const;
573 static const
int kBoundsFieldNumber = 80;
575 const ::
jaiabot::protobuf::Bounds& _internal_bounds() const;
577 const ::
jaiabot::protobuf::Bounds& bounds() const;
578 ::
jaiabot::protobuf::Bounds* release_bounds();
579 ::
jaiabot::protobuf::Bounds* mutable_bounds();
580 void set_allocated_bounds(::
jaiabot::protobuf::Bounds* bounds);
583 bool has_bot_id() const;
585 static const
int kBotIdFieldNumber = 10;
586 ::
google::protobuf::int32 bot_id() const;
587 void set_bot_id(::
google::protobuf::int32 value);
590 bool has_use_throttle_table_for_speed() const;
591 void clear_use_throttle_table_for_speed();
592 static const
int kUseThrottleTableForSpeedFieldNumber = 31;
593 bool use_throttle_table_for_speed() const;
594 void set_use_throttle_table_for_speed(
bool value);
597 bool has_default_timeout() const;
598 void clear_default_timeout();
599 static const
int kDefaultTimeoutFieldNumber = 20;
600 ::
google::protobuf::int32 default_timeout() const;
601 void set_default_timeout(::
google::protobuf::int32 value);
604 bool has_full_speed_window() const;
605 void clear_full_speed_window();
606 static const
int kFullSpeedWindowFieldNumber = 33;
607 double full_speed_window() const;
608 void set_full_speed_window(
double value);
614 template<typename Quantity >
615 void set_default_timeout_with_units(Quantity value_w_units)
616 { set_default_timeout(boost::units::quantity<default_timeout_unit,google::protobuf::int32 >(value_w_units).value() ); };
618 template<
typename Quantity >
623 {
return default_timeout_with_units<boost::units::quantity< default_timeout_unit,google::protobuf::int32 > >(); };
625 typedef boost::units::plane_angle_dimension full_speed_window_dimension;
629 template<
typename Quantity >
631 { set_full_speed_window(boost::units::quantity<full_speed_window_unit,double >(value_w_units).value() ); };
633 template<
typename Quantity >
638 {
return full_speed_window_with_units<boost::units::quantity< full_speed_window_unit,double > >(); };
643 void clear_has_app();
644 void set_has_interprocess();
645 void clear_has_interprocess();
646 void set_has_bot_id();
647 void clear_has_bot_id();
648 void set_has_default_timeout();
649 void clear_has_default_timeout();
650 void set_has_throttle_speed_pid_gains();
651 void clear_has_throttle_speed_pid_gains();
652 void set_has_throttle_depth_pid_gains();
653 void clear_has_throttle_depth_pid_gains();
654 void set_has_heading_pid_gains();
655 void clear_has_heading_pid_gains();
656 void set_has_heading_constant_pid_gains();
657 void clear_has_heading_constant_pid_gains();
658 void set_has_roll_pid_gains();
659 void clear_has_roll_pid_gains();
660 void set_has_pitch_pid_gains();
661 void clear_has_pitch_pid_gains();
662 void set_has_use_throttle_table_for_speed();
663 void clear_has_use_throttle_table_for_speed();
664 void set_has_full_speed_window();
665 void clear_has_full_speed_window();
666 void set_has_bounds();
667 void clear_has_bounds();
669 ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
670 ::google::protobuf::internal::HasBits<1> _has_bits_;
671 mutable ::google::protobuf::internal::CachedSize _cached_size_;
672 ::google::protobuf::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry > throttle_table_;
673 ::goby::middleware::protobuf::AppConfig* app_;
674 ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess_;
682 ::google::protobuf::int32 bot_id_;
683 bool use_throttle_table_for_speed_;
684 ::google::protobuf::int32 default_timeout_;
685 double full_speed_window_;
686 friend struct ::protobuf_bin_2fpid_5fcontrol_2fconfig_2eproto::TableStruct;
694 #pragma GCC diagnostic push
695 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
701 return (_has_bits_[0] & 0x00000001u) != 0;
703 inline void BotPidControl_PIDGains::set_has_kp() {
704 _has_bits_[0] |= 0x00000001u;
706 inline void BotPidControl_PIDGains::clear_has_kp() {
707 _has_bits_[0] &= ~0x00000001u;
725 return (_has_bits_[0] & 0x00000002u) != 0;
727 inline void BotPidControl_PIDGains::set_has_ki() {
728 _has_bits_[0] |= 0x00000002u;
730 inline void BotPidControl_PIDGains::clear_has_ki() {
731 _has_bits_[0] &= ~0x00000002u;
749 return (_has_bits_[0] & 0x00000004u) != 0;
751 inline void BotPidControl_PIDGains::set_has_kd() {
752 _has_bits_[0] |= 0x00000004u;
754 inline void BotPidControl_PIDGains::clear_has_kd() {
755 _has_bits_[0] &= ~0x00000004u;
777 return (_has_bits_[0] & 0x00000001u) != 0;
779 inline void BotPidControl_ThrottleSpeedEntry::set_has_speed() {
780 _has_bits_[0] |= 0x00000001u;
782 inline void BotPidControl_ThrottleSpeedEntry::clear_has_speed() {
783 _has_bits_[0] &= ~0x00000001u;
801 return (_has_bits_[0] & 0x00000002u) != 0;
803 inline void BotPidControl_ThrottleSpeedEntry::set_has_throttle() {
804 _has_bits_[0] |= 0x00000002u;
806 inline void BotPidControl_ThrottleSpeedEntry::clear_has_throttle() {
807 _has_bits_[0] &= ~0x00000002u;
811 clear_has_throttle();
829 return (_has_bits_[0] & 0x00000001u) != 0;
831 inline void BotPidControl::set_has_app() {
832 _has_bits_[0] |= 0x00000001u;
834 inline void BotPidControl::clear_has_app() {
835 _has_bits_[0] &= ~0x00000001u;
837 inline const ::goby::middleware::protobuf::AppConfig& BotPidControl::_internal_app()
const {
841 const ::goby::middleware::protobuf::AppConfig* p = app_;
843 return p != NULL ? *p : *
reinterpret_cast<const ::goby::middleware::protobuf::AppConfig*
>(
844 &::goby::middleware::protobuf::_AppConfig_default_instance_);
849 ::goby::middleware::protobuf::AppConfig* temp = app_;
856 auto* p = CreateMaybeMessage<::goby::middleware::protobuf::AppConfig>(GetArenaNoVirtual());
863 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
864 if (message_arena == NULL) {
865 delete reinterpret_cast< ::google::protobuf::MessageLite*
>(app_);
868 ::google::protobuf::Arena* submessage_arena = NULL;
869 if (message_arena != submessage_arena) {
870 app = ::google::protobuf::internal::GetOwnedMessage(
871 message_arena, app, submessage_arena);
883 return (_has_bits_[0] & 0x00000002u) != 0;
885 inline void BotPidControl::set_has_interprocess() {
886 _has_bits_[0] |= 0x00000002u;
888 inline void BotPidControl::clear_has_interprocess() {
889 _has_bits_[0] &= ~0x00000002u;
891 inline const ::goby::zeromq::protobuf::InterProcessPortalConfig& BotPidControl::_internal_interprocess()
const {
892 return *interprocess_;
895 const ::goby::zeromq::protobuf::InterProcessPortalConfig* p = interprocess_;
897 return p != NULL ? *p : *
reinterpret_cast<const ::goby::zeromq::protobuf::InterProcessPortalConfig*
>(
898 &::goby::zeromq::protobuf::_InterProcessPortalConfig_default_instance_);
902 clear_has_interprocess();
903 ::goby::zeromq::protobuf::InterProcessPortalConfig* temp = interprocess_;
904 interprocess_ = NULL;
908 set_has_interprocess();
909 if (interprocess_ == NULL) {
910 auto* p = CreateMaybeMessage<::goby::zeromq::protobuf::InterProcessPortalConfig>(GetArenaNoVirtual());
914 return interprocess_;
917 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
918 if (message_arena == NULL) {
919 delete reinterpret_cast< ::google::protobuf::MessageLite*
>(interprocess_);
922 ::google::protobuf::Arena* submessage_arena = NULL;
923 if (message_arena != submessage_arena) {
924 interprocess = ::google::protobuf::internal::GetOwnedMessage(
925 message_arena, interprocess, submessage_arena);
927 set_has_interprocess();
929 clear_has_interprocess();
931 interprocess_ = interprocess;
937 return (_has_bits_[0] & 0x00000200u) != 0;
939 inline void BotPidControl::set_has_bot_id() {
940 _has_bits_[0] |= 0x00000200u;
942 inline void BotPidControl::clear_has_bot_id() {
943 _has_bits_[0] &= ~0x00000200u;
961 return (_has_bits_[0] & 0x00000800u) != 0;
963 inline void BotPidControl::set_has_default_timeout() {
964 _has_bits_[0] |= 0x00000800u;
966 inline void BotPidControl::clear_has_default_timeout() {
967 _has_bits_[0] &= ~0x00000800u;
970 default_timeout_ = 5;
971 clear_has_default_timeout();
975 return default_timeout_;
978 set_has_default_timeout();
979 default_timeout_ = value;
985 return (_has_bits_[0] & 0x00000004u) != 0;
987 inline void BotPidControl::set_has_throttle_speed_pid_gains() {
988 _has_bits_[0] |= 0x00000004u;
990 inline void BotPidControl::clear_has_throttle_speed_pid_gains() {
991 _has_bits_[0] &= ~0x00000004u;
994 if (throttle_speed_pid_gains_ != NULL) throttle_speed_pid_gains_->Clear();
995 clear_has_throttle_speed_pid_gains();
997 inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_throttle_speed_pid_gains()
const {
998 return *throttle_speed_pid_gains_;
1001 const ::jaiabot::config::BotPidControl_PIDGains* p = throttle_speed_pid_gains_;
1008 clear_has_throttle_speed_pid_gains();
1010 throttle_speed_pid_gains_ = NULL;
1014 set_has_throttle_speed_pid_gains();
1015 if (throttle_speed_pid_gains_ == NULL) {
1016 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaNoVirtual());
1017 throttle_speed_pid_gains_ = p;
1020 return throttle_speed_pid_gains_;
1023 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1024 if (message_arena == NULL) {
1025 delete throttle_speed_pid_gains_;
1027 if (throttle_speed_pid_gains) {
1028 ::google::protobuf::Arena* submessage_arena = NULL;
1029 if (message_arena != submessage_arena) {
1030 throttle_speed_pid_gains = ::google::protobuf::internal::GetOwnedMessage(
1031 message_arena, throttle_speed_pid_gains, submessage_arena);
1033 set_has_throttle_speed_pid_gains();
1035 clear_has_throttle_speed_pid_gains();
1037 throttle_speed_pid_gains_ = throttle_speed_pid_gains;
1043 return (_has_bits_[0] & 0x00000008u) != 0;
1045 inline void BotPidControl::set_has_throttle_depth_pid_gains() {
1046 _has_bits_[0] |= 0x00000008u;
1048 inline void BotPidControl::clear_has_throttle_depth_pid_gains() {
1049 _has_bits_[0] &= ~0x00000008u;
1052 if (throttle_depth_pid_gains_ != NULL) throttle_depth_pid_gains_->Clear();
1053 clear_has_throttle_depth_pid_gains();
1055 inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_throttle_depth_pid_gains()
const {
1056 return *throttle_depth_pid_gains_;
1059 const ::jaiabot::config::BotPidControl_PIDGains* p = throttle_depth_pid_gains_;
1066 clear_has_throttle_depth_pid_gains();
1068 throttle_depth_pid_gains_ = NULL;
1072 set_has_throttle_depth_pid_gains();
1073 if (throttle_depth_pid_gains_ == NULL) {
1074 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaNoVirtual());
1075 throttle_depth_pid_gains_ = p;
1078 return throttle_depth_pid_gains_;
1081 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1082 if (message_arena == NULL) {
1083 delete throttle_depth_pid_gains_;
1085 if (throttle_depth_pid_gains) {
1086 ::google::protobuf::Arena* submessage_arena = NULL;
1087 if (message_arena != submessage_arena) {
1088 throttle_depth_pid_gains = ::google::protobuf::internal::GetOwnedMessage(
1089 message_arena, throttle_depth_pid_gains, submessage_arena);
1091 set_has_throttle_depth_pid_gains();
1093 clear_has_throttle_depth_pid_gains();
1095 throttle_depth_pid_gains_ = throttle_depth_pid_gains;
1101 return (_has_bits_[0] & 0x00000010u) != 0;
1103 inline void BotPidControl::set_has_heading_pid_gains() {
1104 _has_bits_[0] |= 0x00000010u;
1106 inline void BotPidControl::clear_has_heading_pid_gains() {
1107 _has_bits_[0] &= ~0x00000010u;
1110 if (heading_pid_gains_ != NULL) heading_pid_gains_->Clear();
1111 clear_has_heading_pid_gains();
1113 inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_heading_pid_gains()
const {
1114 return *heading_pid_gains_;
1117 const ::jaiabot::config::BotPidControl_PIDGains* p = heading_pid_gains_;
1124 clear_has_heading_pid_gains();
1126 heading_pid_gains_ = NULL;
1130 set_has_heading_pid_gains();
1131 if (heading_pid_gains_ == NULL) {
1132 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaNoVirtual());
1133 heading_pid_gains_ = p;
1136 return heading_pid_gains_;
1139 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1140 if (message_arena == NULL) {
1141 delete heading_pid_gains_;
1143 if (heading_pid_gains) {
1144 ::google::protobuf::Arena* submessage_arena = NULL;
1145 if (message_arena != submessage_arena) {
1146 heading_pid_gains = ::google::protobuf::internal::GetOwnedMessage(
1147 message_arena, heading_pid_gains, submessage_arena);
1149 set_has_heading_pid_gains();
1151 clear_has_heading_pid_gains();
1153 heading_pid_gains_ = heading_pid_gains;
1159 return (_has_bits_[0] & 0x00000020u) != 0;
1161 inline void BotPidControl::set_has_heading_constant_pid_gains() {
1162 _has_bits_[0] |= 0x00000020u;
1164 inline void BotPidControl::clear_has_heading_constant_pid_gains() {
1165 _has_bits_[0] &= ~0x00000020u;
1168 if (heading_constant_pid_gains_ != NULL) heading_constant_pid_gains_->Clear();
1169 clear_has_heading_constant_pid_gains();
1171 inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_heading_constant_pid_gains()
const {
1172 return *heading_constant_pid_gains_;
1175 const ::jaiabot::config::BotPidControl_PIDGains* p = heading_constant_pid_gains_;
1182 clear_has_heading_constant_pid_gains();
1184 heading_constant_pid_gains_ = NULL;
1188 set_has_heading_constant_pid_gains();
1189 if (heading_constant_pid_gains_ == NULL) {
1190 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaNoVirtual());
1191 heading_constant_pid_gains_ = p;
1194 return heading_constant_pid_gains_;
1197 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1198 if (message_arena == NULL) {
1199 delete heading_constant_pid_gains_;
1201 if (heading_constant_pid_gains) {
1202 ::google::protobuf::Arena* submessage_arena = NULL;
1203 if (message_arena != submessage_arena) {
1204 heading_constant_pid_gains = ::google::protobuf::internal::GetOwnedMessage(
1205 message_arena, heading_constant_pid_gains, submessage_arena);
1207 set_has_heading_constant_pid_gains();
1209 clear_has_heading_constant_pid_gains();
1211 heading_constant_pid_gains_ = heading_constant_pid_gains;
1217 return (_has_bits_[0] & 0x00000040u) != 0;
1219 inline void BotPidControl::set_has_roll_pid_gains() {
1220 _has_bits_[0] |= 0x00000040u;
1222 inline void BotPidControl::clear_has_roll_pid_gains() {
1223 _has_bits_[0] &= ~0x00000040u;
1226 if (roll_pid_gains_ != NULL) roll_pid_gains_->Clear();
1227 clear_has_roll_pid_gains();
1229 inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_roll_pid_gains()
const {
1230 return *roll_pid_gains_;
1233 const ::jaiabot::config::BotPidControl_PIDGains* p = roll_pid_gains_;
1240 clear_has_roll_pid_gains();
1242 roll_pid_gains_ = NULL;
1246 set_has_roll_pid_gains();
1247 if (roll_pid_gains_ == NULL) {
1248 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaNoVirtual());
1249 roll_pid_gains_ = p;
1252 return roll_pid_gains_;
1255 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1256 if (message_arena == NULL) {
1257 delete roll_pid_gains_;
1259 if (roll_pid_gains) {
1260 ::google::protobuf::Arena* submessage_arena = NULL;
1261 if (message_arena != submessage_arena) {
1262 roll_pid_gains = ::google::protobuf::internal::GetOwnedMessage(
1263 message_arena, roll_pid_gains, submessage_arena);
1265 set_has_roll_pid_gains();
1267 clear_has_roll_pid_gains();
1269 roll_pid_gains_ = roll_pid_gains;
1275 return (_has_bits_[0] & 0x00000080u) != 0;
1277 inline void BotPidControl::set_has_pitch_pid_gains() {
1278 _has_bits_[0] |= 0x00000080u;
1280 inline void BotPidControl::clear_has_pitch_pid_gains() {
1281 _has_bits_[0] &= ~0x00000080u;
1284 if (pitch_pid_gains_ != NULL) pitch_pid_gains_->Clear();
1285 clear_has_pitch_pid_gains();
1287 inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_pitch_pid_gains()
const {
1288 return *pitch_pid_gains_;
1291 const ::jaiabot::config::BotPidControl_PIDGains* p = pitch_pid_gains_;
1298 clear_has_pitch_pid_gains();
1300 pitch_pid_gains_ = NULL;
1304 set_has_pitch_pid_gains();
1305 if (pitch_pid_gains_ == NULL) {
1306 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaNoVirtual());
1307 pitch_pid_gains_ = p;
1310 return pitch_pid_gains_;
1313 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1314 if (message_arena == NULL) {
1315 delete pitch_pid_gains_;
1317 if (pitch_pid_gains) {
1318 ::google::protobuf::Arena* submessage_arena = NULL;
1319 if (message_arena != submessage_arena) {
1320 pitch_pid_gains = ::google::protobuf::internal::GetOwnedMessage(
1321 message_arena, pitch_pid_gains, submessage_arena);
1323 set_has_pitch_pid_gains();
1325 clear_has_pitch_pid_gains();
1327 pitch_pid_gains_ = pitch_pid_gains;
1333 return (_has_bits_[0] & 0x00000400u) != 0;
1335 inline void BotPidControl::set_has_use_throttle_table_for_speed() {
1336 _has_bits_[0] |= 0x00000400u;
1338 inline void BotPidControl::clear_has_use_throttle_table_for_speed() {
1339 _has_bits_[0] &= ~0x00000400u;
1342 use_throttle_table_for_speed_ =
false;
1343 clear_has_use_throttle_table_for_speed();
1347 return use_throttle_table_for_speed_;
1350 set_has_use_throttle_table_for_speed();
1351 use_throttle_table_for_speed_ = value;
1357 return throttle_table_.size();
1360 throttle_table_.Clear();
1364 return throttle_table_.Mutable(index);
1366 inline ::google::protobuf::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry >*
1369 return &throttle_table_;
1373 return throttle_table_.Get(index);
1377 return throttle_table_.Add();
1379 inline const ::google::protobuf::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry >&
1382 return throttle_table_;
1387 return (_has_bits_[0] & 0x00001000u) != 0;
1389 inline void BotPidControl::set_has_full_speed_window() {
1390 _has_bits_[0] |= 0x00001000u;
1392 inline void BotPidControl::clear_has_full_speed_window() {
1393 _has_bits_[0] &= ~0x00001000u;
1396 full_speed_window_ = 1;
1397 clear_has_full_speed_window();
1401 return full_speed_window_;
1404 set_has_full_speed_window();
1405 full_speed_window_ = value;
1411 return (_has_bits_[0] & 0x00000100u) != 0;
1413 inline void BotPidControl::set_has_bounds() {
1414 _has_bits_[0] |= 0x00000100u;
1416 inline void BotPidControl::clear_has_bounds() {
1417 _has_bits_[0] &= ~0x00000100u;
1419 inline const ::jaiabot::protobuf::Bounds& BotPidControl::_internal_bounds()
const {
1423 const ::jaiabot::protobuf::Bounds* p = bounds_;
1437 if (bounds_ == NULL) {
1438 auto* p = CreateMaybeMessage<::jaiabot::protobuf::Bounds>(GetArenaNoVirtual());
1445 ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
1446 if (message_arena == NULL) {
1447 delete reinterpret_cast< ::google::protobuf::MessageLite*
>(bounds_);
1450 ::google::protobuf::Arena* submessage_arena = NULL;
1451 if (message_arena != submessage_arena) {
1452 bounds = ::google::protobuf::internal::GetOwnedMessage(
1453 message_arena, bounds, submessage_arena);
1464 #pragma GCC diagnostic pop
1478 #endif // PROTOBUF_INCLUDED_bin_2fpid_5fcontrol_2fconfig_2eproto