JaiaBot 2.0.0
JaiaBot micro-AUV software
 
Loading...
Searching...
No Matches
config.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: bin/pid_control/config.proto
3
4#ifndef GOOGLE_PROTOBUF_INCLUDED_bin_2fpid_5fcontrol_2fconfig_2eproto
5#define GOOGLE_PROTOBUF_INCLUDED_bin_2fpid_5fcontrol_2fconfig_2eproto
6
7#include <limits>
8#include <string>
9
10#include <google/protobuf/port_def.inc>
11#if PROTOBUF_VERSION < 3021000
12#error This file was generated by a newer version of protoc which is
13#error incompatible with your Protocol Buffer headers. Please update
14#error your headers.
15#endif
16#if 3021012 < 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.
20#endif
21
22#include <google/protobuf/port_undef.inc>
23#include <google/protobuf/io/coded_stream.h>
24#include <google/protobuf/arena.h>
25#include <google/protobuf/arenastring.h>
26#include <google/protobuf/generated_message_util.h>
27#include <google/protobuf/metadata_lite.h>
28#include <google/protobuf/generated_message_reflection.h>
29#include <google/protobuf/message.h>
30#include <google/protobuf/repeated_field.h> // IWYU pragma: export
31#include <google/protobuf/extension_set.h> // IWYU pragma: export
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"
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>
42
43#include <boost/units/systems/angle/degrees.hpp>
44
45#include <boost/units/systems/si.hpp>
46// @@protoc_insertion_point(includes)
47#include <google/protobuf/port_def.inc>
48#define PROTOBUF_INTERNAL_EXPORT_bin_2fpid_5fcontrol_2fconfig_2eproto
49PROTOBUF_NAMESPACE_OPEN
50namespace internal {
51class AnyMetadata;
52} // namespace internal
53PROTOBUF_NAMESPACE_CLOSE
54
55// Internal implementation detail -- do not use these members.
57 static const uint32_t offsets[];
58};
59extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_bin_2fpid_5fcontrol_2fconfig_2eproto;
60namespace jaiabot {
61namespace config {
62class BotPidControl;
63struct BotPidControlDefaultTypeInternal;
64extern BotPidControlDefaultTypeInternal _BotPidControl_default_instance_;
65class BotPidControl_PIDGains;
66struct BotPidControl_PIDGainsDefaultTypeInternal;
67extern BotPidControl_PIDGainsDefaultTypeInternal _BotPidControl_PIDGains_default_instance_;
68class BotPidControl_ThrottleSpeedEntry;
69struct BotPidControl_ThrottleSpeedEntryDefaultTypeInternal;
70extern BotPidControl_ThrottleSpeedEntryDefaultTypeInternal _BotPidControl_ThrottleSpeedEntry_default_instance_;
71} // namespace config
72} // namespace jaiabot
73PROTOBUF_NAMESPACE_OPEN
74template<> ::jaiabot::config::BotPidControl* Arena::CreateMaybeMessage<::jaiabot::config::BotPidControl>(Arena*);
75template<> ::jaiabot::config::BotPidControl_PIDGains* Arena::CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(Arena*);
76template<> ::jaiabot::config::BotPidControl_ThrottleSpeedEntry* Arena::CreateMaybeMessage<::jaiabot::config::BotPidControl_ThrottleSpeedEntry>(Arena*);
77PROTOBUF_NAMESPACE_CLOSE
78namespace jaiabot {
79namespace config {
80
81// ===================================================================
82
84 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.config.BotPidControl.PIDGains) */ {
85 public:
88 explicit PROTOBUF_CONSTEXPR BotPidControl_PIDGains(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
89
93 *this = ::std::move(from);
94 }
95
97 CopyFrom(from);
98 return *this;
99 }
101 if (this == &from) return *this;
102 if (GetOwningArena() == from.GetOwningArena()
103 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
104 && GetOwningArena() != nullptr
105 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
106 ) {
107 InternalSwap(&from);
108 } else {
109 CopyFrom(from);
110 }
111 return *this;
112 }
113
114 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
115 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
116 }
117 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
118 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
119 }
120
121 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
122 return GetDescriptor();
123 }
124 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
125 return default_instance().GetMetadata().descriptor;
126 }
127 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
128 return default_instance().GetMetadata().reflection;
129 }
134 return reinterpret_cast<const BotPidControl_PIDGains*>(
136 }
137 static constexpr int kIndexInFileMessages =
138 0;
139
141 a.Swap(&b);
142 }
143 inline void Swap(BotPidControl_PIDGains* other) {
144 if (other == this) return;
145 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
146 if (GetOwningArena() != nullptr &&
147 GetOwningArena() == other->GetOwningArena()) {
148 #else // PROTOBUF_FORCE_COPY_IN_SWAP
149 if (GetOwningArena() == other->GetOwningArena()) {
150 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
151 InternalSwap(other);
152 } else {
153 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
154 }
155 }
157 if (other == this) return;
158 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
159 InternalSwap(other);
160 }
161
162 // implements Message ----------------------------------------------
163
164 BotPidControl_PIDGains* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
165 return CreateMaybeMessage<BotPidControl_PIDGains>(arena);
166 }
167 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
169 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
171 BotPidControl_PIDGains::MergeImpl(*this, from);
172 }
173 private:
174 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
175 public:
176 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
177 bool IsInitialized() const final;
178
179 size_t ByteSizeLong() const final;
180 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
182 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
183 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
184
185 private:
186 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
187 void SharedDtor();
188 void SetCachedSize(int size) const final;
189 void InternalSwap(BotPidControl_PIDGains* other);
190
191 private:
192 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
193 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
194 return "jaiabot.config.BotPidControl.PIDGains";
195 }
196 protected:
197 explicit BotPidControl_PIDGains(::PROTOBUF_NAMESPACE_ID::Arena* arena,
198 bool is_message_owned = false);
199 public:
200
201 static const ClassData _class_data_;
202 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
203
204 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
205
206 // nested types ----------------------------------------------------
207
208 // accessors -------------------------------------------------------
209
210 enum : int {
214 };
215 // required double Kp = 1;
216 bool has_kp() const;
217 private:
218 bool _internal_has_kp() const;
219 public:
220 void clear_kp();
221 double kp() const;
222 void set_kp(double value);
223 private:
224 double _internal_kp() const;
225 void _internal_set_kp(double value);
226 public:
227
228 // required double Ki = 2;
229 bool has_ki() const;
230 private:
231 bool _internal_has_ki() const;
232 public:
233 void clear_ki();
234 double ki() const;
235 void set_ki(double value);
236 private:
237 double _internal_ki() const;
238 void _internal_set_ki(double value);
239 public:
240
241 // required double Kd = 3;
242 bool has_kd() const;
243 private:
244 bool _internal_has_kd() const;
245 public:
246 void clear_kd();
247 double kd() const;
248 void set_kd(double value);
249 private:
250 double _internal_kd() const;
251 void _internal_set_kd(double value);
252 public:
253
254 // @@protoc_insertion_point(class_scope:jaiabot.config.BotPidControl.PIDGains)
255 private:
256 class _Internal;
257
258 // helper for ByteSizeLong()
259 size_t RequiredFieldsByteSizeFallback() const;
260
261 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
262 typedef void InternalArenaConstructable_;
263 typedef void DestructorSkippable_;
264 struct Impl_ {
265 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
266 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
267 double kp_;
268 double ki_;
269 double kd_;
270 };
271 union { Impl_ _impl_; };
272 friend struct ::TableStruct_bin_2fpid_5fcontrol_2fconfig_2eproto;
273};
274// -------------------------------------------------------------------
275
277 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.config.BotPidControl.ThrottleSpeedEntry) */ {
278 public:
281 explicit PROTOBUF_CONSTEXPR BotPidControl_ThrottleSpeedEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
282
286 *this = ::std::move(from);
287 }
288
290 CopyFrom(from);
291 return *this;
292 }
294 if (this == &from) return *this;
295 if (GetOwningArena() == from.GetOwningArena()
296 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
297 && GetOwningArena() != nullptr
298 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
299 ) {
300 InternalSwap(&from);
301 } else {
302 CopyFrom(from);
303 }
304 return *this;
305 }
306
307 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
308 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
309 }
310 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
311 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
312 }
313
314 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
315 return GetDescriptor();
316 }
317 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
318 return default_instance().GetMetadata().descriptor;
319 }
320 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
321 return default_instance().GetMetadata().reflection;
322 }
324 return *internal_default_instance();
325 }
330 static constexpr int kIndexInFileMessages =
331 1;
332
337 if (other == this) return;
338 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
339 if (GetOwningArena() != nullptr &&
340 GetOwningArena() == other->GetOwningArena()) {
341 #else // PROTOBUF_FORCE_COPY_IN_SWAP
342 if (GetOwningArena() == other->GetOwningArena()) {
343 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
344 InternalSwap(other);
345 } else {
346 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
347 }
348 }
350 if (other == this) return;
351 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
352 InternalSwap(other);
353 }
354
355 // implements Message ----------------------------------------------
356
357 BotPidControl_ThrottleSpeedEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
358 return CreateMaybeMessage<BotPidControl_ThrottleSpeedEntry>(arena);
359 }
360 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
362 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
364 BotPidControl_ThrottleSpeedEntry::MergeImpl(*this, from);
365 }
366 private:
367 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
368 public:
369 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
370 bool IsInitialized() const final;
371
372 size_t ByteSizeLong() const final;
373 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
374 uint8_t* _InternalSerialize(
375 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
376 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
377
378 private:
379 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
380 void SharedDtor();
381 void SetCachedSize(int size) const final;
382 void InternalSwap(BotPidControl_ThrottleSpeedEntry* other);
383
384 private:
385 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
386 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
387 return "jaiabot.config.BotPidControl.ThrottleSpeedEntry";
388 }
389 protected:
390 explicit BotPidControl_ThrottleSpeedEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena,
391 bool is_message_owned = false);
392 public:
393
394 static const ClassData _class_data_;
395 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
396
397 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
398
399 // nested types ----------------------------------------------------
400
401 // accessors -------------------------------------------------------
402
403 enum : int {
404 kSpeedFieldNumber = 1,
405 kThrottleFieldNumber = 2,
406 };
407 // required double speed = 1 [(.dccl.field) = {
408 bool has_speed() const;
409 private:
410 bool _internal_has_speed() const;
411 public:
412 void clear_speed();
413 double speed() const;
414 void set_speed(double value);
415 private:
416 double _internal_speed() const;
417 void _internal_set_speed(double value);
418 public:
419
420 // required int32 throttle = 2;
421 bool has_throttle() const;
422 private:
423 bool _internal_has_throttle() const;
424 public:
425 void clear_throttle();
426 int32_t throttle() const;
427 void set_throttle(int32_t value);
428 private:
429 int32_t _internal_throttle() const;
430 void _internal_set_throttle(int32_t value);
431 public:
432
433 typedef boost::units::velocity_dimension speed_dimension;
434
435 typedef boost::units::unit<speed_dimension,boost::units::si::system> speed_unit;
436
437 template<typename Quantity >
438 void set_speed_with_units(Quantity value_w_units)
439 { set_speed(boost::units::quantity<speed_unit,double >(value_w_units).value() ); };
440
441 template<typename Quantity >
442 Quantity speed_with_units() const
443 { return Quantity(speed() * speed_unit()); };
444
445 boost::units::quantity< speed_unit,double > speed_with_units() const
446 { return speed_with_units<boost::units::quantity< speed_unit,double > >(); };
447
448 // @@protoc_insertion_point(class_scope:jaiabot.config.BotPidControl.ThrottleSpeedEntry)
449 private:
450 class _Internal;
451
452 // helper for ByteSizeLong()
453 size_t RequiredFieldsByteSizeFallback() const;
454
455 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
456 typedef void InternalArenaConstructable_;
457 typedef void DestructorSkippable_;
458 struct Impl_ {
459 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
460 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
461 double speed_;
462 int32_t throttle_;
463 };
464 union { Impl_ _impl_; };
465 friend struct ::TableStruct_bin_2fpid_5fcontrol_2fconfig_2eproto;
466};
467// -------------------------------------------------------------------
468
469class BotPidControl final :
470 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.config.BotPidControl) */ {
471 public:
472 inline BotPidControl() : BotPidControl(nullptr) {}
473 ~BotPidControl() override;
474 explicit PROTOBUF_CONSTEXPR BotPidControl(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
475
478 : BotPidControl() {
479 *this = ::std::move(from);
480 }
481
482 inline BotPidControl& operator=(const BotPidControl& from) {
483 CopyFrom(from);
484 return *this;
485 }
486 inline BotPidControl& operator=(BotPidControl&& from) noexcept {
487 if (this == &from) return *this;
488 if (GetOwningArena() == from.GetOwningArena()
489 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
490 && GetOwningArena() != nullptr
491 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
492 ) {
493 InternalSwap(&from);
494 } else {
495 CopyFrom(from);
496 }
497 return *this;
498 }
499
500 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
501 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
502 }
503 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
504 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
505 }
506
507 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
508 return GetDescriptor();
509 }
510 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
511 return default_instance().GetMetadata().descriptor;
512 }
513 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
514 return default_instance().GetMetadata().reflection;
515 }
517 return *internal_default_instance();
518 }
520 return reinterpret_cast<const BotPidControl*>(
522 }
523 static constexpr int kIndexInFileMessages =
524 2;
525
526 friend void swap(BotPidControl& a, BotPidControl& b) {
527 a.Swap(&b);
528 }
529 inline void Swap(BotPidControl* other) {
530 if (other == this) return;
531 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
532 if (GetOwningArena() != nullptr &&
533 GetOwningArena() == other->GetOwningArena()) {
534 #else // PROTOBUF_FORCE_COPY_IN_SWAP
535 if (GetOwningArena() == other->GetOwningArena()) {
536 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
537 InternalSwap(other);
538 } else {
539 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
540 }
541 }
543 if (other == this) return;
544 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
545 InternalSwap(other);
546 }
547
548 // implements Message ----------------------------------------------
549
550 BotPidControl* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
551 return CreateMaybeMessage<BotPidControl>(arena);
552 }
553 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
554 void CopyFrom(const BotPidControl& from);
555 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
556 void MergeFrom( const BotPidControl& from) {
557 BotPidControl::MergeImpl(*this, from);
558 }
559 private:
560 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
561 public:
562 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
563 bool IsInitialized() const final;
564
565 size_t ByteSizeLong() const final;
566 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
567 uint8_t* _InternalSerialize(
568 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
569 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
570
571 private:
572 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
573 void SharedDtor();
574 void SetCachedSize(int size) const final;
575 void InternalSwap(BotPidControl* other);
576
577 private:
578 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
579 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
580 return "jaiabot.config.BotPidControl";
581 }
582 protected:
583 explicit BotPidControl(::PROTOBUF_NAMESPACE_ID::Arena* arena,
584 bool is_message_owned = false);
585 public:
586
587 static const ClassData _class_data_;
588 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
589
590 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
591
592 // nested types ----------------------------------------------------
593
596
597 // accessors -------------------------------------------------------
598
599 enum : int {
600 kThrottleTableFieldNumber = 32,
601 kAppFieldNumber = 1,
602 kInterprocessFieldNumber = 2,
603 kThrottleSpeedPidGainsFieldNumber = 30,
604 kThrottleDepthPidGainsFieldNumber = 40,
605 kHeadingPidGainsFieldNumber = 50,
606 kHeadingConstantPidGainsFieldNumber = 51,
607 kRollPidGainsFieldNumber = 60,
608 kPitchPidGainsFieldNumber = 70,
609 kBoundsFieldNumber = 80,
610 kBotIdFieldNumber = 10,
611 kUseThrottleTableForSpeedFieldNumber = 31,
612 kDefaultTimeoutFieldNumber = 20,
613 kFullSpeedWindowFieldNumber = 33,
614 };
615 // repeated .jaiabot.config.BotPidControl.ThrottleSpeedEntry throttle_table = 32;
616 int throttle_table_size() const;
617 private:
618 int _internal_throttle_table_size() const;
619 public:
620 void clear_throttle_table();
621 ::jaiabot::config::BotPidControl_ThrottleSpeedEntry* mutable_throttle_table(int index);
622 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry >*
623 mutable_throttle_table();
624 private:
625 const ::jaiabot::config::BotPidControl_ThrottleSpeedEntry& _internal_throttle_table(int index) const;
626 ::jaiabot::config::BotPidControl_ThrottleSpeedEntry* _internal_add_throttle_table();
627 public:
628 const ::jaiabot::config::BotPidControl_ThrottleSpeedEntry& throttle_table(int index) const;
630 const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry >&
631 throttle_table() const;
632
633 // optional .goby.middleware.protobuf.AppConfig app = 1;
634 bool has_app() const;
635 private:
636 bool _internal_has_app() const;
637 public:
638 void clear_app();
639 const ::goby::middleware::protobuf::AppConfig& app() const;
640 PROTOBUF_NODISCARD ::goby::middleware::protobuf::AppConfig* release_app();
641 ::goby::middleware::protobuf::AppConfig* mutable_app();
642 void set_allocated_app(::goby::middleware::protobuf::AppConfig* app);
643 private:
644 const ::goby::middleware::protobuf::AppConfig& _internal_app() const;
645 ::goby::middleware::protobuf::AppConfig* _internal_mutable_app();
646 public:
647 void unsafe_arena_set_allocated_app(
648 ::goby::middleware::protobuf::AppConfig* app);
649 ::goby::middleware::protobuf::AppConfig* unsafe_arena_release_app();
650
651 // optional .goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
652 bool has_interprocess() const;
653 private:
654 bool _internal_has_interprocess() const;
655 public:
657 const ::goby::zeromq::protobuf::InterProcessPortalConfig& interprocess() const;
658 PROTOBUF_NODISCARD ::goby::zeromq::protobuf::InterProcessPortalConfig* release_interprocess();
659 ::goby::zeromq::protobuf::InterProcessPortalConfig* mutable_interprocess();
660 void set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess);
661 private:
662 const ::goby::zeromq::protobuf::InterProcessPortalConfig& _internal_interprocess() const;
663 ::goby::zeromq::protobuf::InterProcessPortalConfig* _internal_mutable_interprocess();
664 public:
665 void unsafe_arena_set_allocated_interprocess(
666 ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess);
667 ::goby::zeromq::protobuf::InterProcessPortalConfig* unsafe_arena_release_interprocess();
668
669 // optional .jaiabot.config.BotPidControl.PIDGains throttle_speed_pid_gains = 30;
670 bool has_throttle_speed_pid_gains() const;
671 private:
672 bool _internal_has_throttle_speed_pid_gains() const;
673 public:
674 void clear_throttle_speed_pid_gains();
675 const ::jaiabot::config::BotPidControl_PIDGains& throttle_speed_pid_gains() const;
676 PROTOBUF_NODISCARD ::jaiabot::config::BotPidControl_PIDGains* release_throttle_speed_pid_gains();
677 ::jaiabot::config::BotPidControl_PIDGains* mutable_throttle_speed_pid_gains();
678 void set_allocated_throttle_speed_pid_gains(::jaiabot::config::BotPidControl_PIDGains* throttle_speed_pid_gains);
679 private:
680 const ::jaiabot::config::BotPidControl_PIDGains& _internal_throttle_speed_pid_gains() const;
681 ::jaiabot::config::BotPidControl_PIDGains* _internal_mutable_throttle_speed_pid_gains();
682 public:
683 void unsafe_arena_set_allocated_throttle_speed_pid_gains(
684 ::jaiabot::config::BotPidControl_PIDGains* throttle_speed_pid_gains);
685 ::jaiabot::config::BotPidControl_PIDGains* unsafe_arena_release_throttle_speed_pid_gains();
686
687 // optional .jaiabot.config.BotPidControl.PIDGains throttle_depth_pid_gains = 40;
688 bool has_throttle_depth_pid_gains() const;
689 private:
690 bool _internal_has_throttle_depth_pid_gains() const;
691 public:
692 void clear_throttle_depth_pid_gains();
693 const ::jaiabot::config::BotPidControl_PIDGains& throttle_depth_pid_gains() const;
694 PROTOBUF_NODISCARD ::jaiabot::config::BotPidControl_PIDGains* release_throttle_depth_pid_gains();
695 ::jaiabot::config::BotPidControl_PIDGains* mutable_throttle_depth_pid_gains();
696 void set_allocated_throttle_depth_pid_gains(::jaiabot::config::BotPidControl_PIDGains* throttle_depth_pid_gains);
697 private:
698 const ::jaiabot::config::BotPidControl_PIDGains& _internal_throttle_depth_pid_gains() const;
699 ::jaiabot::config::BotPidControl_PIDGains* _internal_mutable_throttle_depth_pid_gains();
700 public:
701 void unsafe_arena_set_allocated_throttle_depth_pid_gains(
702 ::jaiabot::config::BotPidControl_PIDGains* throttle_depth_pid_gains);
703 ::jaiabot::config::BotPidControl_PIDGains* unsafe_arena_release_throttle_depth_pid_gains();
704
705 // optional .jaiabot.config.BotPidControl.PIDGains heading_pid_gains = 50;
706 bool has_heading_pid_gains() const;
707 private:
708 bool _internal_has_heading_pid_gains() const;
709 public:
710 void clear_heading_pid_gains();
711 const ::jaiabot::config::BotPidControl_PIDGains& heading_pid_gains() const;
712 PROTOBUF_NODISCARD ::jaiabot::config::BotPidControl_PIDGains* release_heading_pid_gains();
713 ::jaiabot::config::BotPidControl_PIDGains* mutable_heading_pid_gains();
714 void set_allocated_heading_pid_gains(::jaiabot::config::BotPidControl_PIDGains* heading_pid_gains);
715 private:
716 const ::jaiabot::config::BotPidControl_PIDGains& _internal_heading_pid_gains() const;
717 ::jaiabot::config::BotPidControl_PIDGains* _internal_mutable_heading_pid_gains();
718 public:
719 void unsafe_arena_set_allocated_heading_pid_gains(
721 ::jaiabot::config::BotPidControl_PIDGains* unsafe_arena_release_heading_pid_gains();
722
723 // optional .jaiabot.config.BotPidControl.PIDGains heading_constant_pid_gains = 51;
724 bool has_heading_constant_pid_gains() const;
725 private:
726 bool _internal_has_heading_constant_pid_gains() const;
727 public:
728 void clear_heading_constant_pid_gains();
729 const ::jaiabot::config::BotPidControl_PIDGains& heading_constant_pid_gains() const;
730 PROTOBUF_NODISCARD ::jaiabot::config::BotPidControl_PIDGains* release_heading_constant_pid_gains();
731 ::jaiabot::config::BotPidControl_PIDGains* mutable_heading_constant_pid_gains();
732 void set_allocated_heading_constant_pid_gains(::jaiabot::config::BotPidControl_PIDGains* heading_constant_pid_gains);
733 private:
734 const ::jaiabot::config::BotPidControl_PIDGains& _internal_heading_constant_pid_gains() const;
735 ::jaiabot::config::BotPidControl_PIDGains* _internal_mutable_heading_constant_pid_gains();
736 public:
737 void unsafe_arena_set_allocated_heading_constant_pid_gains(
738 ::jaiabot::config::BotPidControl_PIDGains* heading_constant_pid_gains);
739 ::jaiabot::config::BotPidControl_PIDGains* unsafe_arena_release_heading_constant_pid_gains();
740
741 // optional .jaiabot.config.BotPidControl.PIDGains roll_pid_gains = 60;
742 bool has_roll_pid_gains() const;
743 private:
744 bool _internal_has_roll_pid_gains() const;
745 public:
746 void clear_roll_pid_gains();
747 const ::jaiabot::config::BotPidControl_PIDGains& roll_pid_gains() const;
748 PROTOBUF_NODISCARD ::jaiabot::config::BotPidControl_PIDGains* release_roll_pid_gains();
749 ::jaiabot::config::BotPidControl_PIDGains* mutable_roll_pid_gains();
750 void set_allocated_roll_pid_gains(::jaiabot::config::BotPidControl_PIDGains* roll_pid_gains);
751 private:
752 const ::jaiabot::config::BotPidControl_PIDGains& _internal_roll_pid_gains() const;
753 ::jaiabot::config::BotPidControl_PIDGains* _internal_mutable_roll_pid_gains();
754 public:
755 void unsafe_arena_set_allocated_roll_pid_gains(
757 ::jaiabot::config::BotPidControl_PIDGains* unsafe_arena_release_roll_pid_gains();
758
759 // optional .jaiabot.config.BotPidControl.PIDGains pitch_pid_gains = 70;
760 bool has_pitch_pid_gains() const;
761 private:
762 bool _internal_has_pitch_pid_gains() const;
763 public:
764 void clear_pitch_pid_gains();
765 const ::jaiabot::config::BotPidControl_PIDGains& pitch_pid_gains() const;
766 PROTOBUF_NODISCARD ::jaiabot::config::BotPidControl_PIDGains* release_pitch_pid_gains();
767 ::jaiabot::config::BotPidControl_PIDGains* mutable_pitch_pid_gains();
768 void set_allocated_pitch_pid_gains(::jaiabot::config::BotPidControl_PIDGains* pitch_pid_gains);
769 private:
770 const ::jaiabot::config::BotPidControl_PIDGains& _internal_pitch_pid_gains() const;
771 ::jaiabot::config::BotPidControl_PIDGains* _internal_mutable_pitch_pid_gains();
772 public:
773 void unsafe_arena_set_allocated_pitch_pid_gains(
775 ::jaiabot::config::BotPidControl_PIDGains* unsafe_arena_release_pitch_pid_gains();
776
777 // optional .jaiabot.protobuf.Bounds bounds = 80;
778 bool has_bounds() const;
779 private:
780 bool _internal_has_bounds() const;
781 public:
783 const ::jaiabot::protobuf::Bounds& bounds() const;
784 PROTOBUF_NODISCARD ::jaiabot::protobuf::Bounds* release_bounds();
785 ::jaiabot::protobuf::Bounds* mutable_bounds();
786 void set_allocated_bounds(::jaiabot::protobuf::Bounds* bounds);
787 private:
788 const ::jaiabot::protobuf::Bounds& _internal_bounds() const;
789 ::jaiabot::protobuf::Bounds* _internal_mutable_bounds();
790 public:
791 void unsafe_arena_set_allocated_bounds(
793 ::jaiabot::protobuf::Bounds* unsafe_arena_release_bounds();
794
795 // required int32 bot_id = 10;
796 bool has_bot_id() const;
797 private:
798 bool _internal_has_bot_id() const;
799 public:
800 void clear_bot_id();
801 int32_t bot_id() const;
802 void set_bot_id(int32_t value);
803 private:
804 int32_t _internal_bot_id() const;
805 void _internal_set_bot_id(int32_t value);
806 public:
807
808 // optional bool use_throttle_table_for_speed = 31;
809 bool has_use_throttle_table_for_speed() const;
810 private:
811 bool _internal_has_use_throttle_table_for_speed() const;
812 public:
813 void clear_use_throttle_table_for_speed();
814 bool use_throttle_table_for_speed() const;
815 void set_use_throttle_table_for_speed(bool value);
816 private:
817 bool _internal_use_throttle_table_for_speed() const;
818 void _internal_set_use_throttle_table_for_speed(bool value);
819 public:
820
821 // optional int32 default_timeout = 20 [default = 5, (.dccl.field) = {
822 bool has_default_timeout() const;
823 private:
824 bool _internal_has_default_timeout() const;
825 public:
826 void clear_default_timeout();
827 int32_t default_timeout() const;
828 void set_default_timeout(int32_t value);
829 private:
830 int32_t _internal_default_timeout() const;
831 void _internal_set_default_timeout(int32_t value);
832 public:
833
834 // optional double full_speed_window = 33 [default = 1, (.dccl.field) = {
835 bool has_full_speed_window() const;
836 private:
837 bool _internal_has_full_speed_window() const;
838 public:
839 void clear_full_speed_window();
840 double full_speed_window() const;
841 void set_full_speed_window(double value);
842 private:
843 double _internal_full_speed_window() const;
844 void _internal_set_full_speed_window(double value);
845 public:
846
847 typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type default_timeout_dimension;
848
849 typedef boost::units::unit<default_timeout_dimension,boost::units::si::system> default_timeout_unit;
850
851 template<typename Quantity >
852 void set_default_timeout_with_units(Quantity value_w_units)
853 { set_default_timeout(boost::units::quantity<default_timeout_unit,google::protobuf::int32 >(value_w_units).value() ); };
854
855 template<typename Quantity >
857 { return Quantity(default_timeout() * default_timeout_unit()); };
858
859 boost::units::quantity< default_timeout_unit,google::protobuf::int32 > default_timeout_with_units() const
860 { return default_timeout_with_units<boost::units::quantity< default_timeout_unit,google::protobuf::int32 > >(); };
861
862 typedef boost::units::plane_angle_dimension full_speed_window_dimension;
863
864 typedef boost::units::unit<full_speed_window_dimension,boost::units::degree::system> full_speed_window_unit;
865
866 template<typename Quantity >
867 void set_full_speed_window_with_units(Quantity value_w_units)
868 { set_full_speed_window(boost::units::quantity<full_speed_window_unit,double >(value_w_units).value() ); };
869
870 template<typename Quantity >
872 { return Quantity(full_speed_window() * full_speed_window_unit()); };
873
874 boost::units::quantity< full_speed_window_unit,double > full_speed_window_with_units() const
875 { return full_speed_window_with_units<boost::units::quantity< full_speed_window_unit,double > >(); };
876
877 // @@protoc_insertion_point(class_scope:jaiabot.config.BotPidControl)
878 private:
879 class _Internal;
880
881 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
882 typedef void InternalArenaConstructable_;
883 typedef void DestructorSkippable_;
884 struct Impl_ {
885 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
886 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
887 ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry > throttle_table_;
888 ::goby::middleware::protobuf::AppConfig* app_;
889 ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess_;
890 ::jaiabot::config::BotPidControl_PIDGains* throttle_speed_pid_gains_;
891 ::jaiabot::config::BotPidControl_PIDGains* throttle_depth_pid_gains_;
893 ::jaiabot::config::BotPidControl_PIDGains* heading_constant_pid_gains_;
897 int32_t bot_id_;
898 bool use_throttle_table_for_speed_;
899 int32_t default_timeout_;
900 double full_speed_window_;
901 };
902 union { Impl_ _impl_; };
903 friend struct ::TableStruct_bin_2fpid_5fcontrol_2fconfig_2eproto;
904};
905// ===================================================================
906
907
908// ===================================================================
909
910#ifdef __GNUC__
911 #pragma GCC diagnostic push
912 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
913#endif // __GNUC__
914// BotPidControl_PIDGains
915
916// required double Kp = 1;
917inline bool BotPidControl_PIDGains::_internal_has_kp() const {
918 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
919 return value;
920}
921inline bool BotPidControl_PIDGains::has_kp() const {
922 return _internal_has_kp();
923}
924inline void BotPidControl_PIDGains::clear_kp() {
925 _impl_.kp_ = 0;
926 _impl_._has_bits_[0] &= ~0x00000001u;
927}
928inline double BotPidControl_PIDGains::_internal_kp() const {
929 return _impl_.kp_;
930}
931inline double BotPidControl_PIDGains::kp() const {
932 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.PIDGains.Kp)
933 return _internal_kp();
934}
935inline void BotPidControl_PIDGains::_internal_set_kp(double value) {
936 _impl_._has_bits_[0] |= 0x00000001u;
937 _impl_.kp_ = value;
938}
939inline void BotPidControl_PIDGains::set_kp(double value) {
940 _internal_set_kp(value);
941 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.PIDGains.Kp)
942}
943
944// required double Ki = 2;
945inline bool BotPidControl_PIDGains::_internal_has_ki() const {
946 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
947 return value;
948}
949inline bool BotPidControl_PIDGains::has_ki() const {
950 return _internal_has_ki();
951}
952inline void BotPidControl_PIDGains::clear_ki() {
953 _impl_.ki_ = 0;
954 _impl_._has_bits_[0] &= ~0x00000002u;
955}
956inline double BotPidControl_PIDGains::_internal_ki() const {
957 return _impl_.ki_;
958}
959inline double BotPidControl_PIDGains::ki() const {
960 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.PIDGains.Ki)
961 return _internal_ki();
962}
963inline void BotPidControl_PIDGains::_internal_set_ki(double value) {
964 _impl_._has_bits_[0] |= 0x00000002u;
965 _impl_.ki_ = value;
966}
967inline void BotPidControl_PIDGains::set_ki(double value) {
968 _internal_set_ki(value);
969 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.PIDGains.Ki)
970}
971
972// required double Kd = 3;
973inline bool BotPidControl_PIDGains::_internal_has_kd() const {
974 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
975 return value;
976}
977inline bool BotPidControl_PIDGains::has_kd() const {
978 return _internal_has_kd();
979}
980inline void BotPidControl_PIDGains::clear_kd() {
981 _impl_.kd_ = 0;
982 _impl_._has_bits_[0] &= ~0x00000004u;
983}
984inline double BotPidControl_PIDGains::_internal_kd() const {
985 return _impl_.kd_;
986}
987inline double BotPidControl_PIDGains::kd() const {
988 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.PIDGains.Kd)
989 return _internal_kd();
990}
991inline void BotPidControl_PIDGains::_internal_set_kd(double value) {
992 _impl_._has_bits_[0] |= 0x00000004u;
993 _impl_.kd_ = value;
994}
995inline void BotPidControl_PIDGains::set_kd(double value) {
996 _internal_set_kd(value);
997 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.PIDGains.Kd)
998}
999
1000// -------------------------------------------------------------------
1001
1002// BotPidControl_ThrottleSpeedEntry
1003
1004// required double speed = 1 [(.dccl.field) = {
1005inline bool BotPidControl_ThrottleSpeedEntry::_internal_has_speed() const {
1006 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
1007 return value;
1008}
1009inline bool BotPidControl_ThrottleSpeedEntry::has_speed() const {
1010 return _internal_has_speed();
1011}
1012inline void BotPidControl_ThrottleSpeedEntry::clear_speed() {
1013 _impl_.speed_ = 0;
1014 _impl_._has_bits_[0] &= ~0x00000001u;
1015}
1016inline double BotPidControl_ThrottleSpeedEntry::_internal_speed() const {
1017 return _impl_.speed_;
1018}
1019inline double BotPidControl_ThrottleSpeedEntry::speed() const {
1020 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.ThrottleSpeedEntry.speed)
1021 return _internal_speed();
1022}
1023inline void BotPidControl_ThrottleSpeedEntry::_internal_set_speed(double value) {
1024 _impl_._has_bits_[0] |= 0x00000001u;
1025 _impl_.speed_ = value;
1026}
1027inline void BotPidControl_ThrottleSpeedEntry::set_speed(double value) {
1028 _internal_set_speed(value);
1029 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.ThrottleSpeedEntry.speed)
1030}
1031
1032// required int32 throttle = 2;
1033inline bool BotPidControl_ThrottleSpeedEntry::_internal_has_throttle() const {
1034 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
1035 return value;
1036}
1037inline bool BotPidControl_ThrottleSpeedEntry::has_throttle() const {
1038 return _internal_has_throttle();
1039}
1040inline void BotPidControl_ThrottleSpeedEntry::clear_throttle() {
1041 _impl_.throttle_ = 0;
1042 _impl_._has_bits_[0] &= ~0x00000002u;
1043}
1044inline int32_t BotPidControl_ThrottleSpeedEntry::_internal_throttle() const {
1045 return _impl_.throttle_;
1046}
1047inline int32_t BotPidControl_ThrottleSpeedEntry::throttle() const {
1048 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.ThrottleSpeedEntry.throttle)
1049 return _internal_throttle();
1050}
1051inline void BotPidControl_ThrottleSpeedEntry::_internal_set_throttle(int32_t value) {
1052 _impl_._has_bits_[0] |= 0x00000002u;
1053 _impl_.throttle_ = value;
1054}
1055inline void BotPidControl_ThrottleSpeedEntry::set_throttle(int32_t value) {
1056 _internal_set_throttle(value);
1057 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.ThrottleSpeedEntry.throttle)
1058}
1059
1060// -------------------------------------------------------------------
1061
1062// BotPidControl
1063
1064// optional .goby.middleware.protobuf.AppConfig app = 1;
1065inline bool BotPidControl::_internal_has_app() const {
1066 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
1067 PROTOBUF_ASSUME(!value || _impl_.app_ != nullptr);
1068 return value;
1069}
1070inline bool BotPidControl::has_app() const {
1071 return _internal_has_app();
1072}
1073inline const ::goby::middleware::protobuf::AppConfig& BotPidControl::_internal_app() const {
1074 const ::goby::middleware::protobuf::AppConfig* p = _impl_.app_;
1075 return p != nullptr ? *p : reinterpret_cast<const ::goby::middleware::protobuf::AppConfig&>(
1076 ::goby::middleware::protobuf::_AppConfig_default_instance_);
1077}
1078inline const ::goby::middleware::protobuf::AppConfig& BotPidControl::app() const {
1079 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.app)
1080 return _internal_app();
1081}
1082inline void BotPidControl::unsafe_arena_set_allocated_app(
1083 ::goby::middleware::protobuf::AppConfig* app) {
1084 if (GetArenaForAllocation() == nullptr) {
1085 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.app_);
1086 }
1087 _impl_.app_ = app;
1088 if (app) {
1089 _impl_._has_bits_[0] |= 0x00000001u;
1090 } else {
1091 _impl_._has_bits_[0] &= ~0x00000001u;
1092 }
1093 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.app)
1094}
1095inline ::goby::middleware::protobuf::AppConfig* BotPidControl::release_app() {
1096 _impl_._has_bits_[0] &= ~0x00000001u;
1097 ::goby::middleware::protobuf::AppConfig* temp = _impl_.app_;
1098 _impl_.app_ = nullptr;
1099#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1100 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1101 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1102 if (GetArenaForAllocation() == nullptr) { delete old; }
1103#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1104 if (GetArenaForAllocation() != nullptr) {
1105 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1106 }
1107#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1108 return temp;
1109}
1110inline ::goby::middleware::protobuf::AppConfig* BotPidControl::unsafe_arena_release_app() {
1111 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.app)
1112 _impl_._has_bits_[0] &= ~0x00000001u;
1113 ::goby::middleware::protobuf::AppConfig* temp = _impl_.app_;
1114 _impl_.app_ = nullptr;
1115 return temp;
1116}
1117inline ::goby::middleware::protobuf::AppConfig* BotPidControl::_internal_mutable_app() {
1118 _impl_._has_bits_[0] |= 0x00000001u;
1119 if (_impl_.app_ == nullptr) {
1120 auto* p = CreateMaybeMessage<::goby::middleware::protobuf::AppConfig>(GetArenaForAllocation());
1121 _impl_.app_ = p;
1122 }
1123 return _impl_.app_;
1124}
1125inline ::goby::middleware::protobuf::AppConfig* BotPidControl::mutable_app() {
1126 ::goby::middleware::protobuf::AppConfig* _msg = _internal_mutable_app();
1127 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.app)
1128 return _msg;
1129}
1130inline void BotPidControl::set_allocated_app(::goby::middleware::protobuf::AppConfig* app) {
1131 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1132 if (message_arena == nullptr) {
1133 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.app_);
1134 }
1135 if (app) {
1136 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1137 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
1138 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(app));
1139 if (message_arena != submessage_arena) {
1140 app = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1141 message_arena, app, submessage_arena);
1142 }
1143 _impl_._has_bits_[0] |= 0x00000001u;
1144 } else {
1145 _impl_._has_bits_[0] &= ~0x00000001u;
1146 }
1147 _impl_.app_ = app;
1148 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.app)
1149}
1150
1151// optional .goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
1152inline bool BotPidControl::_internal_has_interprocess() const {
1153 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
1154 PROTOBUF_ASSUME(!value || _impl_.interprocess_ != nullptr);
1155 return value;
1156}
1157inline bool BotPidControl::has_interprocess() const {
1158 return _internal_has_interprocess();
1159}
1160inline const ::goby::zeromq::protobuf::InterProcessPortalConfig& BotPidControl::_internal_interprocess() const {
1161 const ::goby::zeromq::protobuf::InterProcessPortalConfig* p = _impl_.interprocess_;
1162 return p != nullptr ? *p : reinterpret_cast<const ::goby::zeromq::protobuf::InterProcessPortalConfig&>(
1163 ::goby::zeromq::protobuf::_InterProcessPortalConfig_default_instance_);
1164}
1165inline const ::goby::zeromq::protobuf::InterProcessPortalConfig& BotPidControl::interprocess() const {
1166 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.interprocess)
1167 return _internal_interprocess();
1168}
1169inline void BotPidControl::unsafe_arena_set_allocated_interprocess(
1170 ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess) {
1171 if (GetArenaForAllocation() == nullptr) {
1172 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.interprocess_);
1173 }
1174 _impl_.interprocess_ = interprocess;
1175 if (interprocess) {
1176 _impl_._has_bits_[0] |= 0x00000002u;
1177 } else {
1178 _impl_._has_bits_[0] &= ~0x00000002u;
1179 }
1180 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.interprocess)
1181}
1182inline ::goby::zeromq::protobuf::InterProcessPortalConfig* BotPidControl::release_interprocess() {
1183 _impl_._has_bits_[0] &= ~0x00000002u;
1184 ::goby::zeromq::protobuf::InterProcessPortalConfig* temp = _impl_.interprocess_;
1185 _impl_.interprocess_ = nullptr;
1186#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1187 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1188 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1189 if (GetArenaForAllocation() == nullptr) { delete old; }
1190#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1191 if (GetArenaForAllocation() != nullptr) {
1192 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1193 }
1194#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1195 return temp;
1196}
1197inline ::goby::zeromq::protobuf::InterProcessPortalConfig* BotPidControl::unsafe_arena_release_interprocess() {
1198 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.interprocess)
1199 _impl_._has_bits_[0] &= ~0x00000002u;
1200 ::goby::zeromq::protobuf::InterProcessPortalConfig* temp = _impl_.interprocess_;
1201 _impl_.interprocess_ = nullptr;
1202 return temp;
1203}
1204inline ::goby::zeromq::protobuf::InterProcessPortalConfig* BotPidControl::_internal_mutable_interprocess() {
1205 _impl_._has_bits_[0] |= 0x00000002u;
1206 if (_impl_.interprocess_ == nullptr) {
1207 auto* p = CreateMaybeMessage<::goby::zeromq::protobuf::InterProcessPortalConfig>(GetArenaForAllocation());
1208 _impl_.interprocess_ = p;
1209 }
1210 return _impl_.interprocess_;
1211}
1212inline ::goby::zeromq::protobuf::InterProcessPortalConfig* BotPidControl::mutable_interprocess() {
1213 ::goby::zeromq::protobuf::InterProcessPortalConfig* _msg = _internal_mutable_interprocess();
1214 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.interprocess)
1215 return _msg;
1216}
1217inline void BotPidControl::set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess) {
1218 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1219 if (message_arena == nullptr) {
1220 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.interprocess_);
1221 }
1222 if (interprocess) {
1223 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1224 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
1225 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interprocess));
1226 if (message_arena != submessage_arena) {
1227 interprocess = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1228 message_arena, interprocess, submessage_arena);
1229 }
1230 _impl_._has_bits_[0] |= 0x00000002u;
1231 } else {
1232 _impl_._has_bits_[0] &= ~0x00000002u;
1233 }
1234 _impl_.interprocess_ = interprocess;
1235 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.interprocess)
1236}
1237
1238// required int32 bot_id = 10;
1239inline bool BotPidControl::_internal_has_bot_id() const {
1240 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
1241 return value;
1242}
1243inline bool BotPidControl::has_bot_id() const {
1244 return _internal_has_bot_id();
1245}
1246inline void BotPidControl::clear_bot_id() {
1247 _impl_.bot_id_ = 0;
1248 _impl_._has_bits_[0] &= ~0x00000200u;
1249}
1250inline int32_t BotPidControl::_internal_bot_id() const {
1251 return _impl_.bot_id_;
1252}
1253inline int32_t BotPidControl::bot_id() const {
1254 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.bot_id)
1255 return _internal_bot_id();
1256}
1257inline void BotPidControl::_internal_set_bot_id(int32_t value) {
1258 _impl_._has_bits_[0] |= 0x00000200u;
1259 _impl_.bot_id_ = value;
1260}
1261inline void BotPidControl::set_bot_id(int32_t value) {
1262 _internal_set_bot_id(value);
1263 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.bot_id)
1264}
1265
1266// optional int32 default_timeout = 20 [default = 5, (.dccl.field) = {
1267inline bool BotPidControl::_internal_has_default_timeout() const {
1268 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
1269 return value;
1270}
1271inline bool BotPidControl::has_default_timeout() const {
1272 return _internal_has_default_timeout();
1273}
1274inline void BotPidControl::clear_default_timeout() {
1275 _impl_.default_timeout_ = 5;
1276 _impl_._has_bits_[0] &= ~0x00000800u;
1277}
1278inline int32_t BotPidControl::_internal_default_timeout() const {
1279 return _impl_.default_timeout_;
1280}
1281inline int32_t BotPidControl::default_timeout() const {
1282 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.default_timeout)
1283 return _internal_default_timeout();
1284}
1285inline void BotPidControl::_internal_set_default_timeout(int32_t value) {
1286 _impl_._has_bits_[0] |= 0x00000800u;
1287 _impl_.default_timeout_ = value;
1288}
1289inline void BotPidControl::set_default_timeout(int32_t value) {
1290 _internal_set_default_timeout(value);
1291 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.default_timeout)
1292}
1293
1294// optional .jaiabot.config.BotPidControl.PIDGains throttle_speed_pid_gains = 30;
1295inline bool BotPidControl::_internal_has_throttle_speed_pid_gains() const {
1296 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
1297 PROTOBUF_ASSUME(!value || _impl_.throttle_speed_pid_gains_ != nullptr);
1298 return value;
1299}
1300inline bool BotPidControl::has_throttle_speed_pid_gains() const {
1301 return _internal_has_throttle_speed_pid_gains();
1302}
1303inline void BotPidControl::clear_throttle_speed_pid_gains() {
1304 if (_impl_.throttle_speed_pid_gains_ != nullptr) _impl_.throttle_speed_pid_gains_->Clear();
1305 _impl_._has_bits_[0] &= ~0x00000004u;
1306}
1307inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_throttle_speed_pid_gains() const {
1308 const ::jaiabot::config::BotPidControl_PIDGains* p = _impl_.throttle_speed_pid_gains_;
1309 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::config::BotPidControl_PIDGains&>(
1311}
1312inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::throttle_speed_pid_gains() const {
1313 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.throttle_speed_pid_gains)
1314 return _internal_throttle_speed_pid_gains();
1315}
1316inline void BotPidControl::unsafe_arena_set_allocated_throttle_speed_pid_gains(
1317 ::jaiabot::config::BotPidControl_PIDGains* throttle_speed_pid_gains) {
1318 if (GetArenaForAllocation() == nullptr) {
1319 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.throttle_speed_pid_gains_);
1320 }
1321 _impl_.throttle_speed_pid_gains_ = throttle_speed_pid_gains;
1322 if (throttle_speed_pid_gains) {
1323 _impl_._has_bits_[0] |= 0x00000004u;
1324 } else {
1325 _impl_._has_bits_[0] &= ~0x00000004u;
1326 }
1327 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.throttle_speed_pid_gains)
1328}
1329inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::release_throttle_speed_pid_gains() {
1330 _impl_._has_bits_[0] &= ~0x00000004u;
1331 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.throttle_speed_pid_gains_;
1332 _impl_.throttle_speed_pid_gains_ = nullptr;
1333#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1334 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1335 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1336 if (GetArenaForAllocation() == nullptr) { delete old; }
1337#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1338 if (GetArenaForAllocation() != nullptr) {
1339 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1340 }
1341#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1342 return temp;
1343}
1344inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::unsafe_arena_release_throttle_speed_pid_gains() {
1345 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.throttle_speed_pid_gains)
1346 _impl_._has_bits_[0] &= ~0x00000004u;
1347 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.throttle_speed_pid_gains_;
1348 _impl_.throttle_speed_pid_gains_ = nullptr;
1349 return temp;
1350}
1351inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::_internal_mutable_throttle_speed_pid_gains() {
1352 _impl_._has_bits_[0] |= 0x00000004u;
1353 if (_impl_.throttle_speed_pid_gains_ == nullptr) {
1354 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaForAllocation());
1355 _impl_.throttle_speed_pid_gains_ = p;
1356 }
1357 return _impl_.throttle_speed_pid_gains_;
1358}
1359inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::mutable_throttle_speed_pid_gains() {
1360 ::jaiabot::config::BotPidControl_PIDGains* _msg = _internal_mutable_throttle_speed_pid_gains();
1361 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.throttle_speed_pid_gains)
1362 return _msg;
1363}
1364inline void BotPidControl::set_allocated_throttle_speed_pid_gains(::jaiabot::config::BotPidControl_PIDGains* throttle_speed_pid_gains) {
1365 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1366 if (message_arena == nullptr) {
1367 delete _impl_.throttle_speed_pid_gains_;
1368 }
1369 if (throttle_speed_pid_gains) {
1370 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1371 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(throttle_speed_pid_gains);
1372 if (message_arena != submessage_arena) {
1373 throttle_speed_pid_gains = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1374 message_arena, throttle_speed_pid_gains, submessage_arena);
1375 }
1376 _impl_._has_bits_[0] |= 0x00000004u;
1377 } else {
1378 _impl_._has_bits_[0] &= ~0x00000004u;
1379 }
1380 _impl_.throttle_speed_pid_gains_ = throttle_speed_pid_gains;
1381 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.throttle_speed_pid_gains)
1382}
1383
1384// optional .jaiabot.config.BotPidControl.PIDGains throttle_depth_pid_gains = 40;
1385inline bool BotPidControl::_internal_has_throttle_depth_pid_gains() const {
1386 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
1387 PROTOBUF_ASSUME(!value || _impl_.throttle_depth_pid_gains_ != nullptr);
1388 return value;
1389}
1390inline bool BotPidControl::has_throttle_depth_pid_gains() const {
1391 return _internal_has_throttle_depth_pid_gains();
1392}
1393inline void BotPidControl::clear_throttle_depth_pid_gains() {
1394 if (_impl_.throttle_depth_pid_gains_ != nullptr) _impl_.throttle_depth_pid_gains_->Clear();
1395 _impl_._has_bits_[0] &= ~0x00000008u;
1396}
1397inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_throttle_depth_pid_gains() const {
1398 const ::jaiabot::config::BotPidControl_PIDGains* p = _impl_.throttle_depth_pid_gains_;
1399 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::config::BotPidControl_PIDGains&>(
1401}
1402inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::throttle_depth_pid_gains() const {
1403 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.throttle_depth_pid_gains)
1404 return _internal_throttle_depth_pid_gains();
1405}
1406inline void BotPidControl::unsafe_arena_set_allocated_throttle_depth_pid_gains(
1407 ::jaiabot::config::BotPidControl_PIDGains* throttle_depth_pid_gains) {
1408 if (GetArenaForAllocation() == nullptr) {
1409 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.throttle_depth_pid_gains_);
1410 }
1411 _impl_.throttle_depth_pid_gains_ = throttle_depth_pid_gains;
1412 if (throttle_depth_pid_gains) {
1413 _impl_._has_bits_[0] |= 0x00000008u;
1414 } else {
1415 _impl_._has_bits_[0] &= ~0x00000008u;
1416 }
1417 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.throttle_depth_pid_gains)
1418}
1419inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::release_throttle_depth_pid_gains() {
1420 _impl_._has_bits_[0] &= ~0x00000008u;
1421 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.throttle_depth_pid_gains_;
1422 _impl_.throttle_depth_pid_gains_ = nullptr;
1423#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1424 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1425 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1426 if (GetArenaForAllocation() == nullptr) { delete old; }
1427#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1428 if (GetArenaForAllocation() != nullptr) {
1429 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1430 }
1431#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1432 return temp;
1433}
1434inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::unsafe_arena_release_throttle_depth_pid_gains() {
1435 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.throttle_depth_pid_gains)
1436 _impl_._has_bits_[0] &= ~0x00000008u;
1437 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.throttle_depth_pid_gains_;
1438 _impl_.throttle_depth_pid_gains_ = nullptr;
1439 return temp;
1440}
1441inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::_internal_mutable_throttle_depth_pid_gains() {
1442 _impl_._has_bits_[0] |= 0x00000008u;
1443 if (_impl_.throttle_depth_pid_gains_ == nullptr) {
1444 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaForAllocation());
1445 _impl_.throttle_depth_pid_gains_ = p;
1446 }
1447 return _impl_.throttle_depth_pid_gains_;
1448}
1449inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::mutable_throttle_depth_pid_gains() {
1450 ::jaiabot::config::BotPidControl_PIDGains* _msg = _internal_mutable_throttle_depth_pid_gains();
1451 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.throttle_depth_pid_gains)
1452 return _msg;
1453}
1454inline void BotPidControl::set_allocated_throttle_depth_pid_gains(::jaiabot::config::BotPidControl_PIDGains* throttle_depth_pid_gains) {
1455 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1456 if (message_arena == nullptr) {
1457 delete _impl_.throttle_depth_pid_gains_;
1458 }
1459 if (throttle_depth_pid_gains) {
1460 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1461 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(throttle_depth_pid_gains);
1462 if (message_arena != submessage_arena) {
1463 throttle_depth_pid_gains = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1464 message_arena, throttle_depth_pid_gains, submessage_arena);
1465 }
1466 _impl_._has_bits_[0] |= 0x00000008u;
1467 } else {
1468 _impl_._has_bits_[0] &= ~0x00000008u;
1469 }
1470 _impl_.throttle_depth_pid_gains_ = throttle_depth_pid_gains;
1471 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.throttle_depth_pid_gains)
1472}
1473
1474// optional .jaiabot.config.BotPidControl.PIDGains heading_pid_gains = 50;
1475inline bool BotPidControl::_internal_has_heading_pid_gains() const {
1476 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
1477 PROTOBUF_ASSUME(!value || _impl_.heading_pid_gains_ != nullptr);
1478 return value;
1479}
1480inline bool BotPidControl::has_heading_pid_gains() const {
1481 return _internal_has_heading_pid_gains();
1482}
1483inline void BotPidControl::clear_heading_pid_gains() {
1484 if (_impl_.heading_pid_gains_ != nullptr) _impl_.heading_pid_gains_->Clear();
1485 _impl_._has_bits_[0] &= ~0x00000010u;
1486}
1487inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_heading_pid_gains() const {
1488 const ::jaiabot::config::BotPidControl_PIDGains* p = _impl_.heading_pid_gains_;
1489 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::config::BotPidControl_PIDGains&>(
1491}
1492inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::heading_pid_gains() const {
1493 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.heading_pid_gains)
1494 return _internal_heading_pid_gains();
1495}
1496inline void BotPidControl::unsafe_arena_set_allocated_heading_pid_gains(
1497 ::jaiabot::config::BotPidControl_PIDGains* heading_pid_gains) {
1498 if (GetArenaForAllocation() == nullptr) {
1499 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.heading_pid_gains_);
1500 }
1501 _impl_.heading_pid_gains_ = heading_pid_gains;
1502 if (heading_pid_gains) {
1503 _impl_._has_bits_[0] |= 0x00000010u;
1504 } else {
1505 _impl_._has_bits_[0] &= ~0x00000010u;
1506 }
1507 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.heading_pid_gains)
1508}
1509inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::release_heading_pid_gains() {
1510 _impl_._has_bits_[0] &= ~0x00000010u;
1511 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.heading_pid_gains_;
1512 _impl_.heading_pid_gains_ = nullptr;
1513#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1514 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1515 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1516 if (GetArenaForAllocation() == nullptr) { delete old; }
1517#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1518 if (GetArenaForAllocation() != nullptr) {
1519 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1520 }
1521#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1522 return temp;
1523}
1524inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::unsafe_arena_release_heading_pid_gains() {
1525 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.heading_pid_gains)
1526 _impl_._has_bits_[0] &= ~0x00000010u;
1527 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.heading_pid_gains_;
1528 _impl_.heading_pid_gains_ = nullptr;
1529 return temp;
1530}
1531inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::_internal_mutable_heading_pid_gains() {
1532 _impl_._has_bits_[0] |= 0x00000010u;
1533 if (_impl_.heading_pid_gains_ == nullptr) {
1534 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaForAllocation());
1535 _impl_.heading_pid_gains_ = p;
1536 }
1537 return _impl_.heading_pid_gains_;
1538}
1539inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::mutable_heading_pid_gains() {
1540 ::jaiabot::config::BotPidControl_PIDGains* _msg = _internal_mutable_heading_pid_gains();
1541 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.heading_pid_gains)
1542 return _msg;
1543}
1544inline void BotPidControl::set_allocated_heading_pid_gains(::jaiabot::config::BotPidControl_PIDGains* heading_pid_gains) {
1545 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1546 if (message_arena == nullptr) {
1547 delete _impl_.heading_pid_gains_;
1548 }
1549 if (heading_pid_gains) {
1550 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1551 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(heading_pid_gains);
1552 if (message_arena != submessage_arena) {
1553 heading_pid_gains = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1554 message_arena, heading_pid_gains, submessage_arena);
1555 }
1556 _impl_._has_bits_[0] |= 0x00000010u;
1557 } else {
1558 _impl_._has_bits_[0] &= ~0x00000010u;
1559 }
1560 _impl_.heading_pid_gains_ = heading_pid_gains;
1561 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.heading_pid_gains)
1562}
1563
1564// optional .jaiabot.config.BotPidControl.PIDGains heading_constant_pid_gains = 51;
1565inline bool BotPidControl::_internal_has_heading_constant_pid_gains() const {
1566 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
1567 PROTOBUF_ASSUME(!value || _impl_.heading_constant_pid_gains_ != nullptr);
1568 return value;
1569}
1570inline bool BotPidControl::has_heading_constant_pid_gains() const {
1571 return _internal_has_heading_constant_pid_gains();
1572}
1573inline void BotPidControl::clear_heading_constant_pid_gains() {
1574 if (_impl_.heading_constant_pid_gains_ != nullptr) _impl_.heading_constant_pid_gains_->Clear();
1575 _impl_._has_bits_[0] &= ~0x00000020u;
1576}
1577inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_heading_constant_pid_gains() const {
1578 const ::jaiabot::config::BotPidControl_PIDGains* p = _impl_.heading_constant_pid_gains_;
1579 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::config::BotPidControl_PIDGains&>(
1581}
1582inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::heading_constant_pid_gains() const {
1583 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.heading_constant_pid_gains)
1584 return _internal_heading_constant_pid_gains();
1585}
1586inline void BotPidControl::unsafe_arena_set_allocated_heading_constant_pid_gains(
1587 ::jaiabot::config::BotPidControl_PIDGains* heading_constant_pid_gains) {
1588 if (GetArenaForAllocation() == nullptr) {
1589 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.heading_constant_pid_gains_);
1590 }
1591 _impl_.heading_constant_pid_gains_ = heading_constant_pid_gains;
1592 if (heading_constant_pid_gains) {
1593 _impl_._has_bits_[0] |= 0x00000020u;
1594 } else {
1595 _impl_._has_bits_[0] &= ~0x00000020u;
1596 }
1597 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.heading_constant_pid_gains)
1598}
1599inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::release_heading_constant_pid_gains() {
1600 _impl_._has_bits_[0] &= ~0x00000020u;
1601 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.heading_constant_pid_gains_;
1602 _impl_.heading_constant_pid_gains_ = nullptr;
1603#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1604 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1605 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1606 if (GetArenaForAllocation() == nullptr) { delete old; }
1607#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1608 if (GetArenaForAllocation() != nullptr) {
1609 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1610 }
1611#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1612 return temp;
1613}
1614inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::unsafe_arena_release_heading_constant_pid_gains() {
1615 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.heading_constant_pid_gains)
1616 _impl_._has_bits_[0] &= ~0x00000020u;
1617 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.heading_constant_pid_gains_;
1618 _impl_.heading_constant_pid_gains_ = nullptr;
1619 return temp;
1620}
1621inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::_internal_mutable_heading_constant_pid_gains() {
1622 _impl_._has_bits_[0] |= 0x00000020u;
1623 if (_impl_.heading_constant_pid_gains_ == nullptr) {
1624 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaForAllocation());
1625 _impl_.heading_constant_pid_gains_ = p;
1626 }
1627 return _impl_.heading_constant_pid_gains_;
1628}
1629inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::mutable_heading_constant_pid_gains() {
1630 ::jaiabot::config::BotPidControl_PIDGains* _msg = _internal_mutable_heading_constant_pid_gains();
1631 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.heading_constant_pid_gains)
1632 return _msg;
1633}
1634inline void BotPidControl::set_allocated_heading_constant_pid_gains(::jaiabot::config::BotPidControl_PIDGains* heading_constant_pid_gains) {
1635 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1636 if (message_arena == nullptr) {
1637 delete _impl_.heading_constant_pid_gains_;
1638 }
1639 if (heading_constant_pid_gains) {
1640 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1641 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(heading_constant_pid_gains);
1642 if (message_arena != submessage_arena) {
1643 heading_constant_pid_gains = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1644 message_arena, heading_constant_pid_gains, submessage_arena);
1645 }
1646 _impl_._has_bits_[0] |= 0x00000020u;
1647 } else {
1648 _impl_._has_bits_[0] &= ~0x00000020u;
1649 }
1650 _impl_.heading_constant_pid_gains_ = heading_constant_pid_gains;
1651 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.heading_constant_pid_gains)
1652}
1653
1654// optional .jaiabot.config.BotPidControl.PIDGains roll_pid_gains = 60;
1655inline bool BotPidControl::_internal_has_roll_pid_gains() const {
1656 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
1657 PROTOBUF_ASSUME(!value || _impl_.roll_pid_gains_ != nullptr);
1658 return value;
1659}
1660inline bool BotPidControl::has_roll_pid_gains() const {
1661 return _internal_has_roll_pid_gains();
1662}
1663inline void BotPidControl::clear_roll_pid_gains() {
1664 if (_impl_.roll_pid_gains_ != nullptr) _impl_.roll_pid_gains_->Clear();
1665 _impl_._has_bits_[0] &= ~0x00000040u;
1666}
1667inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_roll_pid_gains() const {
1668 const ::jaiabot::config::BotPidControl_PIDGains* p = _impl_.roll_pid_gains_;
1669 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::config::BotPidControl_PIDGains&>(
1671}
1672inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::roll_pid_gains() const {
1673 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.roll_pid_gains)
1674 return _internal_roll_pid_gains();
1675}
1676inline void BotPidControl::unsafe_arena_set_allocated_roll_pid_gains(
1678 if (GetArenaForAllocation() == nullptr) {
1679 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.roll_pid_gains_);
1680 }
1681 _impl_.roll_pid_gains_ = roll_pid_gains;
1682 if (roll_pid_gains) {
1683 _impl_._has_bits_[0] |= 0x00000040u;
1684 } else {
1685 _impl_._has_bits_[0] &= ~0x00000040u;
1686 }
1687 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.roll_pid_gains)
1688}
1689inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::release_roll_pid_gains() {
1690 _impl_._has_bits_[0] &= ~0x00000040u;
1691 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.roll_pid_gains_;
1692 _impl_.roll_pid_gains_ = nullptr;
1693#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1694 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1695 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1696 if (GetArenaForAllocation() == nullptr) { delete old; }
1697#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1698 if (GetArenaForAllocation() != nullptr) {
1699 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1700 }
1701#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1702 return temp;
1703}
1704inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::unsafe_arena_release_roll_pid_gains() {
1705 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.roll_pid_gains)
1706 _impl_._has_bits_[0] &= ~0x00000040u;
1707 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.roll_pid_gains_;
1708 _impl_.roll_pid_gains_ = nullptr;
1709 return temp;
1710}
1711inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::_internal_mutable_roll_pid_gains() {
1712 _impl_._has_bits_[0] |= 0x00000040u;
1713 if (_impl_.roll_pid_gains_ == nullptr) {
1714 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaForAllocation());
1715 _impl_.roll_pid_gains_ = p;
1716 }
1717 return _impl_.roll_pid_gains_;
1718}
1719inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::mutable_roll_pid_gains() {
1720 ::jaiabot::config::BotPidControl_PIDGains* _msg = _internal_mutable_roll_pid_gains();
1721 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.roll_pid_gains)
1722 return _msg;
1723}
1724inline void BotPidControl::set_allocated_roll_pid_gains(::jaiabot::config::BotPidControl_PIDGains* roll_pid_gains) {
1725 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1726 if (message_arena == nullptr) {
1727 delete _impl_.roll_pid_gains_;
1728 }
1729 if (roll_pid_gains) {
1730 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1731 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(roll_pid_gains);
1732 if (message_arena != submessage_arena) {
1733 roll_pid_gains = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1734 message_arena, roll_pid_gains, submessage_arena);
1735 }
1736 _impl_._has_bits_[0] |= 0x00000040u;
1737 } else {
1738 _impl_._has_bits_[0] &= ~0x00000040u;
1739 }
1740 _impl_.roll_pid_gains_ = roll_pid_gains;
1741 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.roll_pid_gains)
1742}
1743
1744// optional .jaiabot.config.BotPidControl.PIDGains pitch_pid_gains = 70;
1745inline bool BotPidControl::_internal_has_pitch_pid_gains() const {
1746 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
1747 PROTOBUF_ASSUME(!value || _impl_.pitch_pid_gains_ != nullptr);
1748 return value;
1749}
1750inline bool BotPidControl::has_pitch_pid_gains() const {
1751 return _internal_has_pitch_pid_gains();
1752}
1753inline void BotPidControl::clear_pitch_pid_gains() {
1754 if (_impl_.pitch_pid_gains_ != nullptr) _impl_.pitch_pid_gains_->Clear();
1755 _impl_._has_bits_[0] &= ~0x00000080u;
1756}
1757inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::_internal_pitch_pid_gains() const {
1758 const ::jaiabot::config::BotPidControl_PIDGains* p = _impl_.pitch_pid_gains_;
1759 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::config::BotPidControl_PIDGains&>(
1761}
1762inline const ::jaiabot::config::BotPidControl_PIDGains& BotPidControl::pitch_pid_gains() const {
1763 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.pitch_pid_gains)
1764 return _internal_pitch_pid_gains();
1765}
1766inline void BotPidControl::unsafe_arena_set_allocated_pitch_pid_gains(
1768 if (GetArenaForAllocation() == nullptr) {
1769 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.pitch_pid_gains_);
1770 }
1771 _impl_.pitch_pid_gains_ = pitch_pid_gains;
1772 if (pitch_pid_gains) {
1773 _impl_._has_bits_[0] |= 0x00000080u;
1774 } else {
1775 _impl_._has_bits_[0] &= ~0x00000080u;
1776 }
1777 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.pitch_pid_gains)
1778}
1779inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::release_pitch_pid_gains() {
1780 _impl_._has_bits_[0] &= ~0x00000080u;
1781 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.pitch_pid_gains_;
1782 _impl_.pitch_pid_gains_ = nullptr;
1783#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1784 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1785 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1786 if (GetArenaForAllocation() == nullptr) { delete old; }
1787#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1788 if (GetArenaForAllocation() != nullptr) {
1789 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1790 }
1791#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1792 return temp;
1793}
1794inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::unsafe_arena_release_pitch_pid_gains() {
1795 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.pitch_pid_gains)
1796 _impl_._has_bits_[0] &= ~0x00000080u;
1797 ::jaiabot::config::BotPidControl_PIDGains* temp = _impl_.pitch_pid_gains_;
1798 _impl_.pitch_pid_gains_ = nullptr;
1799 return temp;
1800}
1801inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::_internal_mutable_pitch_pid_gains() {
1802 _impl_._has_bits_[0] |= 0x00000080u;
1803 if (_impl_.pitch_pid_gains_ == nullptr) {
1804 auto* p = CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains>(GetArenaForAllocation());
1805 _impl_.pitch_pid_gains_ = p;
1806 }
1807 return _impl_.pitch_pid_gains_;
1808}
1809inline ::jaiabot::config::BotPidControl_PIDGains* BotPidControl::mutable_pitch_pid_gains() {
1810 ::jaiabot::config::BotPidControl_PIDGains* _msg = _internal_mutable_pitch_pid_gains();
1811 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.pitch_pid_gains)
1812 return _msg;
1813}
1814inline void BotPidControl::set_allocated_pitch_pid_gains(::jaiabot::config::BotPidControl_PIDGains* pitch_pid_gains) {
1815 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1816 if (message_arena == nullptr) {
1817 delete _impl_.pitch_pid_gains_;
1818 }
1819 if (pitch_pid_gains) {
1820 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
1821 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(pitch_pid_gains);
1822 if (message_arena != submessage_arena) {
1823 pitch_pid_gains = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
1824 message_arena, pitch_pid_gains, submessage_arena);
1825 }
1826 _impl_._has_bits_[0] |= 0x00000080u;
1827 } else {
1828 _impl_._has_bits_[0] &= ~0x00000080u;
1829 }
1830 _impl_.pitch_pid_gains_ = pitch_pid_gains;
1831 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.pitch_pid_gains)
1832}
1833
1834// optional bool use_throttle_table_for_speed = 31;
1835inline bool BotPidControl::_internal_has_use_throttle_table_for_speed() const {
1836 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
1837 return value;
1838}
1839inline bool BotPidControl::has_use_throttle_table_for_speed() const {
1840 return _internal_has_use_throttle_table_for_speed();
1841}
1842inline void BotPidControl::clear_use_throttle_table_for_speed() {
1843 _impl_.use_throttle_table_for_speed_ = false;
1844 _impl_._has_bits_[0] &= ~0x00000400u;
1845}
1846inline bool BotPidControl::_internal_use_throttle_table_for_speed() const {
1847 return _impl_.use_throttle_table_for_speed_;
1848}
1849inline bool BotPidControl::use_throttle_table_for_speed() const {
1850 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.use_throttle_table_for_speed)
1851 return _internal_use_throttle_table_for_speed();
1852}
1853inline void BotPidControl::_internal_set_use_throttle_table_for_speed(bool value) {
1854 _impl_._has_bits_[0] |= 0x00000400u;
1855 _impl_.use_throttle_table_for_speed_ = value;
1856}
1857inline void BotPidControl::set_use_throttle_table_for_speed(bool value) {
1858 _internal_set_use_throttle_table_for_speed(value);
1859 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.use_throttle_table_for_speed)
1860}
1861
1862// repeated .jaiabot.config.BotPidControl.ThrottleSpeedEntry throttle_table = 32;
1863inline int BotPidControl::_internal_throttle_table_size() const {
1864 return _impl_.throttle_table_.size();
1865}
1866inline int BotPidControl::throttle_table_size() const {
1867 return _internal_throttle_table_size();
1868}
1869inline void BotPidControl::clear_throttle_table() {
1870 _impl_.throttle_table_.Clear();
1871}
1872inline ::jaiabot::config::BotPidControl_ThrottleSpeedEntry* BotPidControl::mutable_throttle_table(int index) {
1873 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.throttle_table)
1874 return _impl_.throttle_table_.Mutable(index);
1875}
1876inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry >*
1877BotPidControl::mutable_throttle_table() {
1878 // @@protoc_insertion_point(field_mutable_list:jaiabot.config.BotPidControl.throttle_table)
1879 return &_impl_.throttle_table_;
1880}
1881inline const ::jaiabot::config::BotPidControl_ThrottleSpeedEntry& BotPidControl::_internal_throttle_table(int index) const {
1882 return _impl_.throttle_table_.Get(index);
1883}
1884inline const ::jaiabot::config::BotPidControl_ThrottleSpeedEntry& BotPidControl::throttle_table(int index) const {
1885 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.throttle_table)
1886 return _internal_throttle_table(index);
1887}
1888inline ::jaiabot::config::BotPidControl_ThrottleSpeedEntry* BotPidControl::_internal_add_throttle_table() {
1889 return _impl_.throttle_table_.Add();
1890}
1891inline ::jaiabot::config::BotPidControl_ThrottleSpeedEntry* BotPidControl::add_throttle_table() {
1892 ::jaiabot::config::BotPidControl_ThrottleSpeedEntry* _add = _internal_add_throttle_table();
1893 // @@protoc_insertion_point(field_add:jaiabot.config.BotPidControl.throttle_table)
1894 return _add;
1895}
1896inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::jaiabot::config::BotPidControl_ThrottleSpeedEntry >&
1897BotPidControl::throttle_table() const {
1898 // @@protoc_insertion_point(field_list:jaiabot.config.BotPidControl.throttle_table)
1899 return _impl_.throttle_table_;
1900}
1901
1902// optional double full_speed_window = 33 [default = 1, (.dccl.field) = {
1903inline bool BotPidControl::_internal_has_full_speed_window() const {
1904 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
1905 return value;
1906}
1907inline bool BotPidControl::has_full_speed_window() const {
1908 return _internal_has_full_speed_window();
1909}
1910inline void BotPidControl::clear_full_speed_window() {
1911 _impl_.full_speed_window_ = 1;
1912 _impl_._has_bits_[0] &= ~0x00001000u;
1913}
1914inline double BotPidControl::_internal_full_speed_window() const {
1915 return _impl_.full_speed_window_;
1916}
1917inline double BotPidControl::full_speed_window() const {
1918 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.full_speed_window)
1919 return _internal_full_speed_window();
1920}
1921inline void BotPidControl::_internal_set_full_speed_window(double value) {
1922 _impl_._has_bits_[0] |= 0x00001000u;
1923 _impl_.full_speed_window_ = value;
1924}
1925inline void BotPidControl::set_full_speed_window(double value) {
1926 _internal_set_full_speed_window(value);
1927 // @@protoc_insertion_point(field_set:jaiabot.config.BotPidControl.full_speed_window)
1928}
1929
1930// optional .jaiabot.protobuf.Bounds bounds = 80;
1931inline bool BotPidControl::_internal_has_bounds() const {
1932 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
1933 PROTOBUF_ASSUME(!value || _impl_.bounds_ != nullptr);
1934 return value;
1935}
1936inline bool BotPidControl::has_bounds() const {
1937 return _internal_has_bounds();
1938}
1939inline const ::jaiabot::protobuf::Bounds& BotPidControl::_internal_bounds() const {
1940 const ::jaiabot::protobuf::Bounds* p = _impl_.bounds_;
1941 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::Bounds&>(
1943}
1944inline const ::jaiabot::protobuf::Bounds& BotPidControl::bounds() const {
1945 // @@protoc_insertion_point(field_get:jaiabot.config.BotPidControl.bounds)
1946 return _internal_bounds();
1947}
1948inline void BotPidControl::unsafe_arena_set_allocated_bounds(
1950 if (GetArenaForAllocation() == nullptr) {
1951 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bounds_);
1952 }
1953 _impl_.bounds_ = bounds;
1954 if (bounds) {
1955 _impl_._has_bits_[0] |= 0x00000100u;
1956 } else {
1957 _impl_._has_bits_[0] &= ~0x00000100u;
1958 }
1959 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.BotPidControl.bounds)
1960}
1961inline ::jaiabot::protobuf::Bounds* BotPidControl::release_bounds() {
1962 _impl_._has_bits_[0] &= ~0x00000100u;
1963 ::jaiabot::protobuf::Bounds* temp = _impl_.bounds_;
1964 _impl_.bounds_ = nullptr;
1965#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
1966 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
1967 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1968 if (GetArenaForAllocation() == nullptr) { delete old; }
1969#else // PROTOBUF_FORCE_COPY_IN_RELEASE
1970 if (GetArenaForAllocation() != nullptr) {
1971 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
1972 }
1973#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
1974 return temp;
1975}
1976inline ::jaiabot::protobuf::Bounds* BotPidControl::unsafe_arena_release_bounds() {
1977 // @@protoc_insertion_point(field_release:jaiabot.config.BotPidControl.bounds)
1978 _impl_._has_bits_[0] &= ~0x00000100u;
1979 ::jaiabot::protobuf::Bounds* temp = _impl_.bounds_;
1980 _impl_.bounds_ = nullptr;
1981 return temp;
1982}
1983inline ::jaiabot::protobuf::Bounds* BotPidControl::_internal_mutable_bounds() {
1984 _impl_._has_bits_[0] |= 0x00000100u;
1985 if (_impl_.bounds_ == nullptr) {
1986 auto* p = CreateMaybeMessage<::jaiabot::protobuf::Bounds>(GetArenaForAllocation());
1987 _impl_.bounds_ = p;
1988 }
1989 return _impl_.bounds_;
1990}
1991inline ::jaiabot::protobuf::Bounds* BotPidControl::mutable_bounds() {
1992 ::jaiabot::protobuf::Bounds* _msg = _internal_mutable_bounds();
1993 // @@protoc_insertion_point(field_mutable:jaiabot.config.BotPidControl.bounds)
1994 return _msg;
1995}
1996inline void BotPidControl::set_allocated_bounds(::jaiabot::protobuf::Bounds* bounds) {
1997 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
1998 if (message_arena == nullptr) {
1999 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bounds_);
2000 }
2001 if (bounds) {
2002 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2003 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
2004 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bounds));
2005 if (message_arena != submessage_arena) {
2006 bounds = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2007 message_arena, bounds, submessage_arena);
2008 }
2009 _impl_._has_bits_[0] |= 0x00000100u;
2010 } else {
2011 _impl_._has_bits_[0] &= ~0x00000100u;
2012 }
2013 _impl_.bounds_ = bounds;
2014 // @@protoc_insertion_point(field_set_allocated:jaiabot.config.BotPidControl.bounds)
2015}
2016
2017#ifdef __GNUC__
2018 #pragma GCC diagnostic pop
2019#endif // __GNUC__
2020// -------------------------------------------------------------------
2021
2022// -------------------------------------------------------------------
2023
2024
2025// @@protoc_insertion_point(namespace_scope)
2026
2027} // namespace config
2028} // namespace jaiabot
2029
2030// @@protoc_insertion_point(global_scope)
2031
2032#include <google/protobuf/port_undef.inc>
2033#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_bin_2fpid_5fcontrol_2fconfig_2eproto
PROTOBUF_NAMESPACE_OPEN ::jaiabot::protobuf::Bounds * Arena::CreateMaybeMessage<::jaiabot::protobuf::Bounds >(Arena *)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition config.pb.h:121
BotPidControl_PIDGains * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition config.pb.h:164
BotPidControl_PIDGains & operator=(const BotPidControl_PIDGains &from)
Definition config.pb.h:96
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition config.pb.h:114
void UnsafeArenaSwap(BotPidControl_PIDGains *other)
Definition config.pb.h:156
PROTOBUF_CONSTEXPR BotPidControl_PIDGains(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
static const ClassData _class_data_
Definition config.pb.h:201
BotPidControl_PIDGains(BotPidControl_PIDGains &&from) noexcept
Definition config.pb.h:91
static const BotPidControl_PIDGains & default_instance()
Definition config.pb.h:130
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
static constexpr int kIndexInFileMessages
Definition config.pb.h:137
BotPidControl_PIDGains(const BotPidControl_PIDGains &from)
friend void swap(BotPidControl_PIDGains &a, BotPidControl_PIDGains &b)
Definition config.pb.h:140
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition config.pb.h:124
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition config.pb.h:117
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void CopyFrom(const BotPidControl_PIDGains &from)
BotPidControl_PIDGains & operator=(BotPidControl_PIDGains &&from) noexcept
Definition config.pb.h:100
BotPidControl_PIDGains(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
void Swap(BotPidControl_PIDGains *other)
Definition config.pb.h:143
static const BotPidControl_PIDGains * internal_default_instance()
Definition config.pb.h:133
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void MergeFrom(const BotPidControl_PIDGains &from)
Definition config.pb.h:170
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition config.pb.h:127
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Definition config.pb.h:277
void MergeFrom(const BotPidControl_ThrottleSpeedEntry &from)
Definition config.pb.h:363
boost::units::velocity_dimension speed_dimension
Definition config.pb.h:433
static const BotPidControl_ThrottleSpeedEntry & default_instance()
Definition config.pb.h:323
BotPidControl_ThrottleSpeedEntry & operator=(BotPidControl_ThrottleSpeedEntry &&from) noexcept
Definition config.pb.h:293
PROTOBUF_CONSTEXPR BotPidControl_ThrottleSpeedEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
friend void swap(BotPidControl_ThrottleSpeedEntry &a, BotPidControl_ThrottleSpeedEntry &b)
Definition config.pb.h:333
static const ClassData _class_data_
Definition config.pb.h:394
BotPidControl_ThrottleSpeedEntry(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
void set_speed_with_units(Quantity value_w_units)
Definition config.pb.h:438
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition config.pb.h:310
Quantity speed_with_units() const
Definition config.pb.h:442
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
BotPidControl_ThrottleSpeedEntry * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition config.pb.h:357
void CopyFrom(const BotPidControl_ThrottleSpeedEntry &from)
boost::units::quantity< speed_unit, double > speed_with_units() const
Definition config.pb.h:445
Impl_ _impl_
Definition config.pb.h:464
BotPidControl_ThrottleSpeedEntry(BotPidControl_ThrottleSpeedEntry &&from) noexcept
Definition config.pb.h:284
static const BotPidControl_ThrottleSpeedEntry * internal_default_instance()
Definition config.pb.h:326
~BotPidControl_ThrottleSpeedEntry() override
boost::units::unit< speed_dimension, boost::units::si::system > speed_unit
Definition config.pb.h:435
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition config.pb.h:317
BotPidControl_ThrottleSpeedEntry & operator=(const BotPidControl_ThrottleSpeedEntry &from)
Definition config.pb.h:289
void Swap(BotPidControl_ThrottleSpeedEntry *other)
Definition config.pb.h:336
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition config.pb.h:307
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition config.pb.h:314
BotPidControl_ThrottleSpeedEntry()
Definition config.pb.h:279
void UnsafeArenaSwap(BotPidControl_ThrottleSpeedEntry *other)
Definition config.pb.h:349
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition config.pb.h:320
BotPidControl_ThrottleSpeedEntry(const BotPidControl_ThrottleSpeedEntry &from)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition config.pb.h:500
BotPidControl & operator=(const BotPidControl &from)
Definition config.pb.h:482
void set_default_timeout_with_units(Quantity value_w_units)
Definition config.pb.h:852
boost::units::unit< default_timeout_dimension, boost::units::si::system > default_timeout_unit
Definition config.pb.h:849
boost::units::unit< full_speed_window_dimension, boost::units::degree::system > full_speed_window_unit
Definition config.pb.h:864
boost::units::quantity< full_speed_window_unit, double > full_speed_window_with_units() const
Definition config.pb.h:874
boost::units::quantity< default_timeout_unit, google::protobuf::int32 > default_timeout_with_units() const
Definition config.pb.h:859
BotPidControl * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
Definition config.pb.h:550
boost::units::plane_angle_dimension full_speed_window_dimension
Definition config.pb.h:862
void CopyFrom(const BotPidControl &from)
static const ClassData _class_data_
Definition config.pb.h:587
Quantity full_speed_window_with_units() const
Definition config.pb.h:871
void MergeFrom(const BotPidControl &from)
Definition config.pb.h:556
Quantity default_timeout_with_units() const
Definition config.pb.h:856
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition config.pb.h:503
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition config.pb.h:510
void UnsafeArenaSwap(BotPidControl *other)
Definition config.pb.h:542
friend void swap(BotPidControl &a, BotPidControl &b)
Definition config.pb.h:526
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
static const BotPidControl * internal_default_instance()
Definition config.pb.h:519
BotPidControl(BotPidControl &&from) noexcept
Definition config.pb.h:477
static const BotPidControl & default_instance()
Definition config.pb.h:516
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition config.pb.h:513
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type default_timeout_dimension
Definition config.pb.h:847
BotPidControl & operator=(BotPidControl &&from) noexcept
Definition config.pb.h:486
void set_full_speed_window_with_units(Quantity value_w_units)
Definition config.pb.h:867
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition config.pb.h:507
BotPidControl(const BotPidControl &from)
void Swap(BotPidControl *other)
Definition config.pb.h:529
BotPidControl(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
PROTOBUF_CONSTEXPR BotPidControl(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
BotPidControl_PIDGainsDefaultTypeInternal _BotPidControl_PIDGains_default_instance_
BotPidControl_ThrottleSpeedEntryDefaultTypeInternal _BotPidControl_ThrottleSpeedEntry_default_instance_
BotPidControlDefaultTypeInternal _BotPidControl_default_instance_
BoundsDefaultTypeInternal _Bounds_default_instance_
::jaiabot::config::BotPidControl_PIDGains * Arena::CreateMaybeMessage<::jaiabot::config::BotPidControl_PIDGains >(Arena *)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_bin_2fpid_5fcontrol_2fconfig_2eproto