JaiaBot 2.0.0
JaiaBot micro-AUV software
 
Loading...
Searching...
No Matches
engineering.pb.h
Go to the documentation of this file.
1// Generated by the protocol buffer compiler. DO NOT EDIT!
2// source: jaiabot/messages/engineering.proto
3
4#ifndef GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fengineering_2eproto
5#define GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fengineering_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/generated_enum_reflection.h>
33#include <google/protobuf/unknown_field_set.h>
39#include <boost/units/quantity.hpp>
40#include <boost/units/absolute.hpp>
41#include <boost/units/dimensionless_type.hpp>
42#include <boost/units/make_scaled_unit.hpp>
43
44#include <boost/units/systems/angle/degrees.hpp>
45
46#include <boost/units/systems/si.hpp>
47// @@protoc_insertion_point(includes)
48#include <google/protobuf/port_def.inc>
49#define PROTOBUF_INTERNAL_EXPORT_jaiabot_2fmessages_2fengineering_2eproto
50PROTOBUF_NAMESPACE_OPEN
51namespace internal {
52class AnyMetadata;
53} // namespace internal
54PROTOBUF_NAMESPACE_CLOSE
55
56// Internal implementation detail -- do not use these members.
60extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fengineering_2eproto;
61namespace jaiabot {
62namespace protobuf {
63class Echo;
64struct EchoDefaultTypeInternal;
65extern EchoDefaultTypeInternal _Echo_default_instance_;
66class Engineering;
67struct EngineeringDefaultTypeInternal;
68extern EngineeringDefaultTypeInternal _Engineering_default_instance_;
69class GPSRequirements;
70struct GPSRequirementsDefaultTypeInternal;
71extern GPSRequirementsDefaultTypeInternal _GPSRequirements_default_instance_;
72class IMUCalibration;
73struct IMUCalibrationDefaultTypeInternal;
74extern IMUCalibrationDefaultTypeInternal _IMUCalibration_default_instance_;
75class PIDControl;
76struct PIDControlDefaultTypeInternal;
77extern PIDControlDefaultTypeInternal _PIDControl_default_instance_;
78class PIDControl_PIDSettings;
79struct PIDControl_PIDSettingsDefaultTypeInternal;
80extern PIDControl_PIDSettingsDefaultTypeInternal _PIDControl_PIDSettings_default_instance_;
81class RFDisableOptions;
82struct RFDisableOptionsDefaultTypeInternal;
83extern RFDisableOptionsDefaultTypeInternal _RFDisableOptions_default_instance_;
84} // namespace protobuf
85} // namespace jaiabot
86PROTOBUF_NAMESPACE_OPEN
87template<> ::jaiabot::protobuf::Echo* Arena::CreateMaybeMessage<::jaiabot::protobuf::Echo>(Arena*);
88template<> ::jaiabot::protobuf::Engineering* Arena::CreateMaybeMessage<::jaiabot::protobuf::Engineering>(Arena*);
89template<> ::jaiabot::protobuf::GPSRequirements* Arena::CreateMaybeMessage<::jaiabot::protobuf::GPSRequirements>(Arena*);
90template<> ::jaiabot::protobuf::IMUCalibration* Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUCalibration>(Arena*);
91template<> ::jaiabot::protobuf::PIDControl* Arena::CreateMaybeMessage<::jaiabot::protobuf::PIDControl>(Arena*);
92template<> ::jaiabot::protobuf::PIDControl_PIDSettings* Arena::CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings>(Arena*);
93template<> ::jaiabot::protobuf::RFDisableOptions* Arena::CreateMaybeMessage<::jaiabot::protobuf::RFDisableOptions>(Arena*);
94PROTOBUF_NAMESPACE_CLOSE
95namespace jaiabot {
96namespace protobuf {
97
109bool BotStatusRate_IsValid(int value);
113
114const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BotStatusRate_descriptor();
115template<typename T>
116inline const std::string& BotStatusRate_Name(T enum_t_value) {
117 static_assert(::std::is_same<T, BotStatusRate>::value ||
118 ::std::is_integral<T>::value,
119 "Incorrect type passed to function BotStatusRate_Name.");
120 return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
121 BotStatusRate_descriptor(), enum_t_value);
122}
124 ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BotStatusRate* value) {
125 return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<BotStatusRate>(
126 BotStatusRate_descriptor(), name, value);
127}
128// ===================================================================
129
131 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.PIDControl.PIDSettings) */ {
132 public:
135 explicit PROTOBUF_CONSTEXPR PIDControl_PIDSettings(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
136
140 *this = ::std::move(from);
141 }
142
144 CopyFrom(from);
145 return *this;
146 }
148 if (this == &from) return *this;
149 if (GetOwningArena() == from.GetOwningArena()
150 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
151 && GetOwningArena() != nullptr
152 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
153 ) {
154 InternalSwap(&from);
155 } else {
156 CopyFrom(from);
157 }
158 return *this;
159 }
160
161 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
162 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
163 }
164 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
165 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
166 }
167
168 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
169 return GetDescriptor();
170 }
171 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
172 return default_instance().GetMetadata().descriptor;
173 }
174 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
175 return default_instance().GetMetadata().reflection;
176 }
181 return reinterpret_cast<const PIDControl_PIDSettings*>(
183 }
184 static constexpr int kIndexInFileMessages =
185 0;
186
188 a.Swap(&b);
189 }
190 inline void Swap(PIDControl_PIDSettings* other) {
191 if (other == this) return;
192 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
193 if (GetOwningArena() != nullptr &&
194 GetOwningArena() == other->GetOwningArena()) {
195 #else // PROTOBUF_FORCE_COPY_IN_SWAP
196 if (GetOwningArena() == other->GetOwningArena()) {
197 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
198 InternalSwap(other);
199 } else {
200 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
201 }
202 }
204 if (other == this) return;
205 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
206 InternalSwap(other);
207 }
208
209 // implements Message ----------------------------------------------
210
211 PIDControl_PIDSettings* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
212 return CreateMaybeMessage<PIDControl_PIDSettings>(arena);
213 }
214 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
216 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
218 PIDControl_PIDSettings::MergeImpl(*this, from);
219 }
220 private:
221 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
222 public:
223 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
224 bool IsInitialized() const final;
225
226 size_t ByteSizeLong() const final;
227 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
229 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
230 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
231
232 private:
233 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
234 void SharedDtor();
235 void SetCachedSize(int size) const final;
236 void InternalSwap(PIDControl_PIDSettings* other);
237
238 private:
239 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
240 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
241 return "jaiabot.protobuf.PIDControl.PIDSettings";
242 }
243 protected:
244 explicit PIDControl_PIDSettings(::PROTOBUF_NAMESPACE_ID::Arena* arena,
245 bool is_message_owned = false);
246 public:
247
248 static const ClassData _class_data_;
249 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
250
251 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
252
253 // nested types ----------------------------------------------------
254
255 // accessors -------------------------------------------------------
256
257 enum : int {
262 };
263 // optional double target = 1 [(.dccl.field) = {
264 bool has_target() const;
265 private:
266 bool _internal_has_target() const;
267 public:
268 void clear_target();
269 double target() const;
270 void set_target(double value);
271 private:
272 double _internal_target() const;
273 void _internal_set_target(double value);
274 public:
275
276 // optional double Kp = 2 [(.dccl.field) = {
277 bool has_kp() const;
278 private:
279 bool _internal_has_kp() const;
280 public:
281 void clear_kp();
282 double kp() const;
283 void set_kp(double value);
284 private:
285 double _internal_kp() const;
286 void _internal_set_kp(double value);
287 public:
288
289 // optional double Ki = 3 [(.dccl.field) = {
290 bool has_ki() const;
291 private:
292 bool _internal_has_ki() const;
293 public:
294 void clear_ki();
295 double ki() const;
296 void set_ki(double value);
297 private:
298 double _internal_ki() const;
299 void _internal_set_ki(double value);
300 public:
301
302 // optional double Kd = 4 [(.dccl.field) = {
303 bool has_kd() const;
304 private:
305 bool _internal_has_kd() const;
306 public:
307 void clear_kd();
308 double kd() const;
309 void set_kd(double value);
310 private:
311 double _internal_kd() const;
312 void _internal_set_kd(double value);
313 public:
314
315 typedef boost::units::plane_angle_dimension target_dimension;
316
317 typedef boost::units::unit<target_dimension,boost::units::degree::system> target_unit;
318
319 template<typename Quantity >
320 void set_target_with_units(Quantity value_w_units)
321 { set_target(boost::units::quantity<target_unit,double >(value_w_units).value() ); };
322
323 template<typename Quantity >
324 Quantity target_with_units() const
325 { return Quantity(target() * target_unit()); };
326
327 boost::units::quantity< target_unit,double > target_with_units() const
328 { return target_with_units<boost::units::quantity< target_unit,double > >(); };
329
330 // @@protoc_insertion_point(class_scope:jaiabot.protobuf.PIDControl.PIDSettings)
331 private:
332 class _Internal;
333
334 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
335 typedef void InternalArenaConstructable_;
336 typedef void DestructorSkippable_;
337 struct Impl_ {
338 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
339 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
340 double target_;
341 double kp_;
342 double ki_;
343 double kd_;
344 };
345 union { Impl_ _impl_; };
346 friend struct ::TableStruct_jaiabot_2fmessages_2fengineering_2eproto;
347};
348// -------------------------------------------------------------------
349
350class PIDControl final :
351 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.PIDControl) */ {
352 public:
353 inline PIDControl() : PIDControl(nullptr) {}
354 ~PIDControl() override;
355 explicit PROTOBUF_CONSTEXPR PIDControl(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
356
357 PIDControl(const PIDControl& from);
358 PIDControl(PIDControl&& from) noexcept
359 : PIDControl() {
360 *this = ::std::move(from);
361 }
362
363 inline PIDControl& operator=(const PIDControl& from) {
364 CopyFrom(from);
365 return *this;
366 }
367 inline PIDControl& operator=(PIDControl&& from) noexcept {
368 if (this == &from) return *this;
369 if (GetOwningArena() == from.GetOwningArena()
370 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
371 && GetOwningArena() != nullptr
372 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
373 ) {
374 InternalSwap(&from);
375 } else {
376 CopyFrom(from);
377 }
378 return *this;
379 }
380
381 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
382 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
383 }
384 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
385 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
386 }
387
388 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
389 return GetDescriptor();
390 }
391 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
392 return default_instance().GetMetadata().descriptor;
393 }
394 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
395 return default_instance().GetMetadata().reflection;
396 }
397 static const PIDControl& default_instance() {
398 return *internal_default_instance();
399 }
400 static inline const PIDControl* internal_default_instance() {
401 return reinterpret_cast<const PIDControl*>(
403 }
404 static constexpr int kIndexInFileMessages =
405 1;
406
407 friend void swap(PIDControl& a, PIDControl& b) {
408 a.Swap(&b);
409 }
410 inline void Swap(PIDControl* other) {
411 if (other == this) return;
412 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
413 if (GetOwningArena() != nullptr &&
414 GetOwningArena() == other->GetOwningArena()) {
415 #else // PROTOBUF_FORCE_COPY_IN_SWAP
416 if (GetOwningArena() == other->GetOwningArena()) {
417 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
418 InternalSwap(other);
419 } else {
420 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
421 }
422 }
424 if (other == this) return;
425 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
426 InternalSwap(other);
427 }
428
429 // implements Message ----------------------------------------------
430
431 PIDControl* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
432 return CreateMaybeMessage<PIDControl>(arena);
433 }
434 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
435 void CopyFrom(const PIDControl& from);
436 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
437 void MergeFrom( const PIDControl& from) {
438 PIDControl::MergeImpl(*this, from);
439 }
440 private:
441 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
442 public:
443 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
444 bool IsInitialized() const final;
445
446 size_t ByteSizeLong() const final;
447 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
448 uint8_t* _InternalSerialize(
449 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
450 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
451
452 private:
453 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
454 void SharedDtor();
455 void SetCachedSize(int size) const final;
456 void InternalSwap(PIDControl* other);
457
458 private:
459 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
460 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
461 return "jaiabot.protobuf.PIDControl";
462 }
463 protected:
464 explicit PIDControl(::PROTOBUF_NAMESPACE_ID::Arena* arena,
465 bool is_message_owned = false);
466 public:
467
468 static const ClassData _class_data_;
469 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
470
471 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
472
473 // nested types ----------------------------------------------------
474
476
477 // accessors -------------------------------------------------------
478
479 enum : int {
480 kSpeedFieldNumber = 5,
481 kHeadingFieldNumber = 7,
482 kRollFieldNumber = 10,
483 kPitchFieldNumber = 11,
484 kDepthFieldNumber = 12,
485 kHeadingConstantFieldNumber = 14,
486 kThrottleFieldNumber = 4,
487 kRudderFieldNumber = 6,
488 kPortElevatorFieldNumber = 8,
489 kTimeoutFieldNumber = 3,
490 kLedSwitchOnFieldNumber = 13,
491 kStbdElevatorFieldNumber = 9,
492 };
493 // optional .jaiabot.protobuf.PIDControl.PIDSettings speed = 5;
494 bool has_speed() const;
495 private:
496 bool _internal_has_speed() const;
497 public:
498 void clear_speed();
499 const ::jaiabot::protobuf::PIDControl_PIDSettings& speed() const;
500 PROTOBUF_NODISCARD ::jaiabot::protobuf::PIDControl_PIDSettings* release_speed();
502 void set_allocated_speed(::jaiabot::protobuf::PIDControl_PIDSettings* speed);
503 private:
504 const ::jaiabot::protobuf::PIDControl_PIDSettings& _internal_speed() const;
505 ::jaiabot::protobuf::PIDControl_PIDSettings* _internal_mutable_speed();
506 public:
507 void unsafe_arena_set_allocated_speed(
509 ::jaiabot::protobuf::PIDControl_PIDSettings* unsafe_arena_release_speed();
510
511 // optional .jaiabot.protobuf.PIDControl.PIDSettings heading = 7;
512 bool has_heading() const;
513 private:
514 bool _internal_has_heading() const;
515 public:
516 void clear_heading();
517 const ::jaiabot::protobuf::PIDControl_PIDSettings& heading() const;
518 PROTOBUF_NODISCARD ::jaiabot::protobuf::PIDControl_PIDSettings* release_heading();
520 void set_allocated_heading(::jaiabot::protobuf::PIDControl_PIDSettings* heading);
521 private:
522 const ::jaiabot::protobuf::PIDControl_PIDSettings& _internal_heading() const;
523 ::jaiabot::protobuf::PIDControl_PIDSettings* _internal_mutable_heading();
524 public:
525 void unsafe_arena_set_allocated_heading(
527 ::jaiabot::protobuf::PIDControl_PIDSettings* unsafe_arena_release_heading();
528
529 // optional .jaiabot.protobuf.PIDControl.PIDSettings roll = 10;
530 bool has_roll() const;
531 private:
532 bool _internal_has_roll() const;
533 public:
534 void clear_roll();
535 const ::jaiabot::protobuf::PIDControl_PIDSettings& roll() const;
536 PROTOBUF_NODISCARD ::jaiabot::protobuf::PIDControl_PIDSettings* release_roll();
538 void set_allocated_roll(::jaiabot::protobuf::PIDControl_PIDSettings* roll);
539 private:
540 const ::jaiabot::protobuf::PIDControl_PIDSettings& _internal_roll() const;
541 ::jaiabot::protobuf::PIDControl_PIDSettings* _internal_mutable_roll();
542 public:
543 void unsafe_arena_set_allocated_roll(
545 ::jaiabot::protobuf::PIDControl_PIDSettings* unsafe_arena_release_roll();
546
547 // optional .jaiabot.protobuf.PIDControl.PIDSettings pitch = 11;
548 bool has_pitch() const;
549 private:
550 bool _internal_has_pitch() const;
551 public:
552 void clear_pitch();
553 const ::jaiabot::protobuf::PIDControl_PIDSettings& pitch() const;
554 PROTOBUF_NODISCARD ::jaiabot::protobuf::PIDControl_PIDSettings* release_pitch();
556 void set_allocated_pitch(::jaiabot::protobuf::PIDControl_PIDSettings* pitch);
557 private:
558 const ::jaiabot::protobuf::PIDControl_PIDSettings& _internal_pitch() const;
559 ::jaiabot::protobuf::PIDControl_PIDSettings* _internal_mutable_pitch();
560 public:
561 void unsafe_arena_set_allocated_pitch(
563 ::jaiabot::protobuf::PIDControl_PIDSettings* unsafe_arena_release_pitch();
564
565 // optional .jaiabot.protobuf.PIDControl.PIDSettings depth = 12;
566 bool has_depth() const;
567 private:
568 bool _internal_has_depth() const;
569 public:
570 void clear_depth();
571 const ::jaiabot::protobuf::PIDControl_PIDSettings& depth() const;
572 PROTOBUF_NODISCARD ::jaiabot::protobuf::PIDControl_PIDSettings* release_depth();
574 void set_allocated_depth(::jaiabot::protobuf::PIDControl_PIDSettings* depth);
575 private:
576 const ::jaiabot::protobuf::PIDControl_PIDSettings& _internal_depth() const;
577 ::jaiabot::protobuf::PIDControl_PIDSettings* _internal_mutable_depth();
578 public:
579 void unsafe_arena_set_allocated_depth(
581 ::jaiabot::protobuf::PIDControl_PIDSettings* unsafe_arena_release_depth();
582
583 // optional .jaiabot.protobuf.PIDControl.PIDSettings heading_constant = 14;
584 bool has_heading_constant() const;
585 private:
586 bool _internal_has_heading_constant() const;
587 public:
588 void clear_heading_constant();
589 const ::jaiabot::protobuf::PIDControl_PIDSettings& heading_constant() const;
590 PROTOBUF_NODISCARD ::jaiabot::protobuf::PIDControl_PIDSettings* release_heading_constant();
591 ::jaiabot::protobuf::PIDControl_PIDSettings* mutable_heading_constant();
592 void set_allocated_heading_constant(::jaiabot::protobuf::PIDControl_PIDSettings* heading_constant);
593 private:
594 const ::jaiabot::protobuf::PIDControl_PIDSettings& _internal_heading_constant() const;
595 ::jaiabot::protobuf::PIDControl_PIDSettings* _internal_mutable_heading_constant();
596 public:
597 void unsafe_arena_set_allocated_heading_constant(
599 ::jaiabot::protobuf::PIDControl_PIDSettings* unsafe_arena_release_heading_constant();
600
601 // optional double throttle = 4 [(.dccl.field) = {
602 bool has_throttle() const;
603 private:
604 bool _internal_has_throttle() const;
605 public:
606 void clear_throttle();
607 double throttle() const;
608 void set_throttle(double value);
609 private:
610 double _internal_throttle() const;
611 void _internal_set_throttle(double value);
612 public:
613
614 // optional double rudder = 6 [(.dccl.field) = {
615 bool has_rudder() const;
616 private:
617 bool _internal_has_rudder() const;
618 public:
619 void clear_rudder();
620 double rudder() const;
621 void set_rudder(double value);
622 private:
623 double _internal_rudder() const;
624 void _internal_set_rudder(double value);
625 public:
626
627 // optional double port_elevator = 8 [(.dccl.field) = {
628 bool has_port_elevator() const;
629 private:
630 bool _internal_has_port_elevator() const;
631 public:
632 void clear_port_elevator();
633 double port_elevator() const;
634 void set_port_elevator(double value);
635 private:
636 double _internal_port_elevator() const;
637 void _internal_set_port_elevator(double value);
638 public:
639
640 // optional uint32 timeout = 3 [(.dccl.field) = {
641 bool has_timeout() const;
642 private:
643 bool _internal_has_timeout() const;
644 public:
645 void clear_timeout();
646 uint32_t timeout() const;
647 void set_timeout(uint32_t value);
648 private:
649 uint32_t _internal_timeout() const;
650 void _internal_set_timeout(uint32_t value);
651 public:
652
653 // optional bool led_switch_on = 13;
654 bool has_led_switch_on() const;
655 private:
656 bool _internal_has_led_switch_on() const;
657 public:
658 void clear_led_switch_on();
659 bool led_switch_on() const;
660 void set_led_switch_on(bool value);
661 private:
662 bool _internal_led_switch_on() const;
663 void _internal_set_led_switch_on(bool value);
664 public:
665
666 // optional double stbd_elevator = 9 [(.dccl.field) = {
667 bool has_stbd_elevator() const;
668 private:
669 bool _internal_has_stbd_elevator() const;
670 public:
671 void clear_stbd_elevator();
672 double stbd_elevator() const;
673 void set_stbd_elevator(double value);
674 private:
675 double _internal_stbd_elevator() const;
676 void _internal_set_stbd_elevator(double value);
677 public:
678
679 typedef boost::units::time_dimension timeout_dimension;
680
681 typedef boost::units::unit<timeout_dimension,boost::units::si::system> timeout_unit;
682
683 template<typename Quantity >
684 void set_timeout_with_units(Quantity value_w_units)
685 { set_timeout(boost::units::quantity<timeout_unit,google::protobuf::uint32 >(value_w_units).value() ); };
686
687 template<typename Quantity >
688 Quantity timeout_with_units() const
689 { return Quantity(timeout() * timeout_unit()); };
690
691 boost::units::quantity< timeout_unit,google::protobuf::uint32 > timeout_with_units() const
692 { return timeout_with_units<boost::units::quantity< timeout_unit,google::protobuf::uint32 > >(); };
693
694 // @@protoc_insertion_point(class_scope:jaiabot.protobuf.PIDControl)
695 private:
696 class _Internal;
697
698 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
699 typedef void InternalArenaConstructable_;
700 typedef void DestructorSkippable_;
701 struct Impl_ {
702 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
703 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
710 double throttle_;
711 double rudder_;
712 double port_elevator_;
713 uint32_t timeout_;
714 bool led_switch_on_;
715 double stbd_elevator_;
716 };
717 union { Impl_ _impl_; };
718 friend struct ::TableStruct_jaiabot_2fmessages_2fengineering_2eproto;
719};
720// -------------------------------------------------------------------
721
722class GPSRequirements final :
723 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.GPSRequirements) */ {
724 public:
725 inline GPSRequirements() : GPSRequirements(nullptr) {}
727 explicit PROTOBUF_CONSTEXPR GPSRequirements(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
728
731 : GPSRequirements() {
732 *this = ::std::move(from);
733 }
734
736 CopyFrom(from);
737 return *this;
738 }
739 inline GPSRequirements& operator=(GPSRequirements&& from) noexcept {
740 if (this == &from) return *this;
741 if (GetOwningArena() == from.GetOwningArena()
742 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
743 && GetOwningArena() != nullptr
744 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
745 ) {
746 InternalSwap(&from);
747 } else {
748 CopyFrom(from);
749 }
750 return *this;
751 }
752
753 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
754 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
755 }
756 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
757 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
758 }
759
760 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
761 return GetDescriptor();
762 }
763 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
764 return default_instance().GetMetadata().descriptor;
765 }
766 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
767 return default_instance().GetMetadata().reflection;
768 }
770 return *internal_default_instance();
771 }
773 return reinterpret_cast<const GPSRequirements*>(
775 }
776 static constexpr int kIndexInFileMessages =
777 2;
778
780 a.Swap(&b);
781 }
782 inline void Swap(GPSRequirements* other) {
783 if (other == this) return;
784 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
785 if (GetOwningArena() != nullptr &&
786 GetOwningArena() == other->GetOwningArena()) {
787 #else // PROTOBUF_FORCE_COPY_IN_SWAP
788 if (GetOwningArena() == other->GetOwningArena()) {
789 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
790 InternalSwap(other);
791 } else {
792 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
793 }
794 }
796 if (other == this) return;
797 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
798 InternalSwap(other);
799 }
800
801 // implements Message ----------------------------------------------
802
803 GPSRequirements* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
804 return CreateMaybeMessage<GPSRequirements>(arena);
805 }
806 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
807 void CopyFrom(const GPSRequirements& from);
808 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
809 void MergeFrom( const GPSRequirements& from) {
810 GPSRequirements::MergeImpl(*this, from);
811 }
812 private:
813 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
814 public:
815 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
816 bool IsInitialized() const final;
817
818 size_t ByteSizeLong() const final;
819 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
820 uint8_t* _InternalSerialize(
821 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
822 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
823
824 private:
825 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
826 void SharedDtor();
827 void SetCachedSize(int size) const final;
828 void InternalSwap(GPSRequirements* other);
829
830 private:
831 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
832 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
833 return "jaiabot.protobuf.GPSRequirements";
834 }
835 protected:
836 explicit GPSRequirements(::PROTOBUF_NAMESPACE_ID::Arena* arena,
837 bool is_message_owned = false);
838 public:
839
840 static const ClassData _class_data_;
841 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
842
843 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
844
845 // nested types ----------------------------------------------------
846
847 // accessors -------------------------------------------------------
848
849 enum : int {
850 kTransitHdopReqFieldNumber = 1,
851 kTransitPdopReqFieldNumber = 2,
852 kAfterDiveHdopReqFieldNumber = 3,
853 kAfterDivePdopReqFieldNumber = 4,
854 kTransitGpsFixChecksFieldNumber = 5,
855 kTransitGpsDegradedFixChecksFieldNumber = 6,
856 kAfterDiveGpsFixChecksFieldNumber = 7,
857 };
858 // optional double transit_hdop_req = 1 [(.dccl.field) = {
859 bool has_transit_hdop_req() const;
860 private:
861 bool _internal_has_transit_hdop_req() const;
862 public:
863 void clear_transit_hdop_req();
864 double transit_hdop_req() const;
865 void set_transit_hdop_req(double value);
866 private:
867 double _internal_transit_hdop_req() const;
868 void _internal_set_transit_hdop_req(double value);
869 public:
870
871 // optional double transit_pdop_req = 2 [(.dccl.field) = {
872 bool has_transit_pdop_req() const;
873 private:
874 bool _internal_has_transit_pdop_req() const;
875 public:
876 void clear_transit_pdop_req();
877 double transit_pdop_req() const;
878 void set_transit_pdop_req(double value);
879 private:
880 double _internal_transit_pdop_req() const;
881 void _internal_set_transit_pdop_req(double value);
882 public:
883
884 // optional double after_dive_hdop_req = 3 [(.dccl.field) = {
885 bool has_after_dive_hdop_req() const;
886 private:
887 bool _internal_has_after_dive_hdop_req() const;
888 public:
889 void clear_after_dive_hdop_req();
890 double after_dive_hdop_req() const;
891 void set_after_dive_hdop_req(double value);
892 private:
893 double _internal_after_dive_hdop_req() const;
894 void _internal_set_after_dive_hdop_req(double value);
895 public:
896
897 // optional double after_dive_pdop_req = 4 [(.dccl.field) = {
898 bool has_after_dive_pdop_req() const;
899 private:
900 bool _internal_has_after_dive_pdop_req() const;
901 public:
902 void clear_after_dive_pdop_req();
903 double after_dive_pdop_req() const;
904 void set_after_dive_pdop_req(double value);
905 private:
906 double _internal_after_dive_pdop_req() const;
907 void _internal_set_after_dive_pdop_req(double value);
908 public:
909
910 // optional uint32 transit_gps_fix_checks = 5 [(.dccl.field) = {
911 bool has_transit_gps_fix_checks() const;
912 private:
913 bool _internal_has_transit_gps_fix_checks() const;
914 public:
915 void clear_transit_gps_fix_checks();
916 uint32_t transit_gps_fix_checks() const;
917 void set_transit_gps_fix_checks(uint32_t value);
918 private:
919 uint32_t _internal_transit_gps_fix_checks() const;
920 void _internal_set_transit_gps_fix_checks(uint32_t value);
921 public:
922
923 // optional uint32 transit_gps_degraded_fix_checks = 6 [(.dccl.field) = {
924 bool has_transit_gps_degraded_fix_checks() const;
925 private:
926 bool _internal_has_transit_gps_degraded_fix_checks() const;
927 public:
928 void clear_transit_gps_degraded_fix_checks();
929 uint32_t transit_gps_degraded_fix_checks() const;
930 void set_transit_gps_degraded_fix_checks(uint32_t value);
931 private:
932 uint32_t _internal_transit_gps_degraded_fix_checks() const;
933 void _internal_set_transit_gps_degraded_fix_checks(uint32_t value);
934 public:
935
936 // optional uint32 after_dive_gps_fix_checks = 7 [(.dccl.field) = {
937 bool has_after_dive_gps_fix_checks() const;
938 private:
939 bool _internal_has_after_dive_gps_fix_checks() const;
940 public:
941 void clear_after_dive_gps_fix_checks();
942 uint32_t after_dive_gps_fix_checks() const;
943 void set_after_dive_gps_fix_checks(uint32_t value);
944 private:
945 uint32_t _internal_after_dive_gps_fix_checks() const;
946 void _internal_set_after_dive_gps_fix_checks(uint32_t value);
947 public:
948
949 // @@protoc_insertion_point(class_scope:jaiabot.protobuf.GPSRequirements)
950 private:
951 class _Internal;
952
953 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
954 typedef void InternalArenaConstructable_;
955 typedef void DestructorSkippable_;
956 struct Impl_ {
957 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
958 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
959 double transit_hdop_req_;
960 double transit_pdop_req_;
961 double after_dive_hdop_req_;
962 double after_dive_pdop_req_;
963 uint32_t transit_gps_fix_checks_;
964 uint32_t transit_gps_degraded_fix_checks_;
965 uint32_t after_dive_gps_fix_checks_;
966 };
967 union { Impl_ _impl_; };
968 friend struct ::TableStruct_jaiabot_2fmessages_2fengineering_2eproto;
969};
970// -------------------------------------------------------------------
971
972class RFDisableOptions final :
973 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.RFDisableOptions) */ {
974 public:
975 inline RFDisableOptions() : RFDisableOptions(nullptr) {}
977 explicit PROTOBUF_CONSTEXPR RFDisableOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
978
981 : RFDisableOptions() {
982 *this = ::std::move(from);
983 }
984
986 CopyFrom(from);
987 return *this;
988 }
989 inline RFDisableOptions& operator=(RFDisableOptions&& from) noexcept {
990 if (this == &from) return *this;
991 if (GetOwningArena() == from.GetOwningArena()
992 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
993 && GetOwningArena() != nullptr
994 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
995 ) {
996 InternalSwap(&from);
997 } else {
998 CopyFrom(from);
999 }
1000 return *this;
1001 }
1002
1003 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1004 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1005 }
1006 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1007 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1008 }
1009
1010 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1011 return GetDescriptor();
1012 }
1013 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1014 return default_instance().GetMetadata().descriptor;
1015 }
1016 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1017 return default_instance().GetMetadata().reflection;
1018 }
1020 return *internal_default_instance();
1021 }
1023 return reinterpret_cast<const RFDisableOptions*>(
1025 }
1026 static constexpr int kIndexInFileMessages =
1027 3;
1028
1030 a.Swap(&b);
1031 }
1032 inline void Swap(RFDisableOptions* other) {
1033 if (other == this) return;
1034 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1035 if (GetOwningArena() != nullptr &&
1036 GetOwningArena() == other->GetOwningArena()) {
1037 #else // PROTOBUF_FORCE_COPY_IN_SWAP
1038 if (GetOwningArena() == other->GetOwningArena()) {
1039 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1040 InternalSwap(other);
1041 } else {
1042 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1043 }
1044 }
1046 if (other == this) return;
1047 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1048 InternalSwap(other);
1049 }
1050
1051 // implements Message ----------------------------------------------
1052
1053 RFDisableOptions* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1054 return CreateMaybeMessage<RFDisableOptions>(arena);
1055 }
1056 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1057 void CopyFrom(const RFDisableOptions& from);
1058 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1059 void MergeFrom( const RFDisableOptions& from) {
1060 RFDisableOptions::MergeImpl(*this, from);
1061 }
1062 private:
1063 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
1064 public:
1065 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1066 bool IsInitialized() const final;
1067
1068 size_t ByteSizeLong() const final;
1069 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1070 uint8_t* _InternalSerialize(
1071 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1072 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
1073
1074 private:
1075 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
1076 void SharedDtor();
1077 void SetCachedSize(int size) const final;
1078 void InternalSwap(RFDisableOptions* other);
1079
1080 private:
1081 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1082 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1083 return "jaiabot.protobuf.RFDisableOptions";
1084 }
1085 protected:
1086 explicit RFDisableOptions(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1087 bool is_message_owned = false);
1088 public:
1089
1090 static const ClassData _class_data_;
1091 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1092
1093 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1094
1095 // nested types ----------------------------------------------------
1096
1097 // accessors -------------------------------------------------------
1098
1099 enum : int {
1100 kRfDisableFieldNumber = 1,
1101 kRfDisableTimeoutMinsFieldNumber = 2,
1102 };
1103 // optional bool rf_disable = 1 [default = false];
1104 bool has_rf_disable() const;
1105 private:
1106 bool _internal_has_rf_disable() const;
1107 public:
1108 void clear_rf_disable();
1109 bool rf_disable() const;
1110 void set_rf_disable(bool value);
1111 private:
1112 bool _internal_rf_disable() const;
1113 void _internal_set_rf_disable(bool value);
1114 public:
1115
1116 // optional int32 rf_disable_timeout_mins = 2 [default = 10, (.dccl.field) = {
1117 bool has_rf_disable_timeout_mins() const;
1118 private:
1119 bool _internal_has_rf_disable_timeout_mins() const;
1120 public:
1121 void clear_rf_disable_timeout_mins();
1122 int32_t rf_disable_timeout_mins() const;
1123 void set_rf_disable_timeout_mins(int32_t value);
1124 private:
1125 int32_t _internal_rf_disable_timeout_mins() const;
1126 void _internal_set_rf_disable_timeout_mins(int32_t value);
1127 public:
1128
1129 // @@protoc_insertion_point(class_scope:jaiabot.protobuf.RFDisableOptions)
1130 private:
1131 class _Internal;
1132
1133 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1134 typedef void InternalArenaConstructable_;
1135 typedef void DestructorSkippable_;
1136 struct Impl_ {
1137 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1138 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1139 bool rf_disable_;
1140 int32_t rf_disable_timeout_mins_;
1141 };
1142 union { Impl_ _impl_; };
1143 friend struct ::TableStruct_jaiabot_2fmessages_2fengineering_2eproto;
1144};
1145// -------------------------------------------------------------------
1146
1147class IMUCalibration final :
1148 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.IMUCalibration) */ {
1149 public:
1150 inline IMUCalibration() : IMUCalibration(nullptr) {}
1152 explicit PROTOBUF_CONSTEXPR IMUCalibration(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1153
1156 : IMUCalibration() {
1157 *this = ::std::move(from);
1158 }
1159
1161 CopyFrom(from);
1162 return *this;
1163 }
1164 inline IMUCalibration& operator=(IMUCalibration&& from) noexcept {
1165 if (this == &from) return *this;
1166 if (GetOwningArena() == from.GetOwningArena()
1167 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1168 && GetOwningArena() != nullptr
1169 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1170 ) {
1171 InternalSwap(&from);
1172 } else {
1173 CopyFrom(from);
1174 }
1175 return *this;
1176 }
1177
1178 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1179 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1180 }
1181 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1182 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1183 }
1184
1185 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1186 return GetDescriptor();
1187 }
1188 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1189 return default_instance().GetMetadata().descriptor;
1190 }
1191 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1192 return default_instance().GetMetadata().reflection;
1193 }
1195 return *internal_default_instance();
1196 }
1198 return reinterpret_cast<const IMUCalibration*>(
1200 }
1201 static constexpr int kIndexInFileMessages =
1202 4;
1203
1204 friend void swap(IMUCalibration& a, IMUCalibration& b) {
1205 a.Swap(&b);
1206 }
1207 inline void Swap(IMUCalibration* other) {
1208 if (other == this) return;
1209 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1210 if (GetOwningArena() != nullptr &&
1211 GetOwningArena() == other->GetOwningArena()) {
1212 #else // PROTOBUF_FORCE_COPY_IN_SWAP
1213 if (GetOwningArena() == other->GetOwningArena()) {
1214 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1215 InternalSwap(other);
1216 } else {
1217 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1218 }
1219 }
1221 if (other == this) return;
1222 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1223 InternalSwap(other);
1224 }
1225
1226 // implements Message ----------------------------------------------
1227
1228 IMUCalibration* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1229 return CreateMaybeMessage<IMUCalibration>(arena);
1230 }
1231 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1232 void CopyFrom(const IMUCalibration& from);
1233 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1234 void MergeFrom( const IMUCalibration& from) {
1235 IMUCalibration::MergeImpl(*this, from);
1236 }
1237 private:
1238 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
1239 public:
1240 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1241 bool IsInitialized() const final;
1242
1243 size_t ByteSizeLong() const final;
1244 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1245 uint8_t* _InternalSerialize(
1246 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1247 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
1248
1249 private:
1250 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
1251 void SharedDtor();
1252 void SetCachedSize(int size) const final;
1253 void InternalSwap(IMUCalibration* other);
1254
1255 private:
1256 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1257 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1258 return "jaiabot.protobuf.IMUCalibration";
1259 }
1260 protected:
1261 explicit IMUCalibration(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1262 bool is_message_owned = false);
1263 public:
1264
1265 static const ClassData _class_data_;
1266 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1267
1268 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1269
1270 // nested types ----------------------------------------------------
1271
1272 // accessors -------------------------------------------------------
1273
1274 enum : int {
1275 kRunCalFieldNumber = 1,
1276 };
1277 // optional bool run_cal = 1 [default = false];
1278 bool has_run_cal() const;
1279 private:
1280 bool _internal_has_run_cal() const;
1281 public:
1282 void clear_run_cal();
1283 bool run_cal() const;
1284 void set_run_cal(bool value);
1285 private:
1286 bool _internal_run_cal() const;
1287 void _internal_set_run_cal(bool value);
1288 public:
1289
1290 // @@protoc_insertion_point(class_scope:jaiabot.protobuf.IMUCalibration)
1291 private:
1292 class _Internal;
1293
1294 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1295 typedef void InternalArenaConstructable_;
1296 typedef void DestructorSkippable_;
1297 struct Impl_ {
1298 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1299 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1300 bool run_cal_;
1301 };
1302 union { Impl_ _impl_; };
1303 friend struct ::TableStruct_jaiabot_2fmessages_2fengineering_2eproto;
1304};
1305// -------------------------------------------------------------------
1306
1307class Echo final :
1308 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.Echo) */ {
1309 public:
1310 inline Echo() : Echo(nullptr) {}
1311 ~Echo() override;
1312 explicit PROTOBUF_CONSTEXPR Echo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1313
1314 Echo(const Echo& from);
1315 Echo(Echo&& from) noexcept
1316 : Echo() {
1317 *this = ::std::move(from);
1318 }
1319
1320 inline Echo& operator=(const Echo& from) {
1321 CopyFrom(from);
1322 return *this;
1323 }
1324 inline Echo& operator=(Echo&& from) noexcept {
1325 if (this == &from) return *this;
1326 if (GetOwningArena() == from.GetOwningArena()
1327 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1328 && GetOwningArena() != nullptr
1329 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1330 ) {
1331 InternalSwap(&from);
1332 } else {
1333 CopyFrom(from);
1334 }
1335 return *this;
1336 }
1337
1338 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1339 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1340 }
1341 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1342 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1343 }
1344
1345 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1346 return GetDescriptor();
1347 }
1348 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1349 return default_instance().GetMetadata().descriptor;
1350 }
1351 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1352 return default_instance().GetMetadata().reflection;
1353 }
1354 static const Echo& default_instance() {
1355 return *internal_default_instance();
1356 }
1357 static inline const Echo* internal_default_instance() {
1358 return reinterpret_cast<const Echo*>(
1360 }
1361 static constexpr int kIndexInFileMessages =
1362 5;
1363
1364 friend void swap(Echo& a, Echo& b) {
1365 a.Swap(&b);
1366 }
1367 inline void Swap(Echo* other) {
1368 if (other == this) return;
1369 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1370 if (GetOwningArena() != nullptr &&
1371 GetOwningArena() == other->GetOwningArena()) {
1372 #else // PROTOBUF_FORCE_COPY_IN_SWAP
1373 if (GetOwningArena() == other->GetOwningArena()) {
1374 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1375 InternalSwap(other);
1376 } else {
1377 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1378 }
1379 }
1380 void UnsafeArenaSwap(Echo* other) {
1381 if (other == this) return;
1382 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1383 InternalSwap(other);
1384 }
1385
1386 // implements Message ----------------------------------------------
1387
1388 Echo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1389 return CreateMaybeMessage<Echo>(arena);
1390 }
1391 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1392 void CopyFrom(const Echo& from);
1393 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1394 void MergeFrom( const Echo& from) {
1395 Echo::MergeImpl(*this, from);
1396 }
1397 private:
1398 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
1399 public:
1400 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1401 bool IsInitialized() const final;
1402
1403 size_t ByteSizeLong() const final;
1404 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1405 uint8_t* _InternalSerialize(
1406 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1407 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
1408
1409 private:
1410 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
1411 void SharedDtor();
1412 void SetCachedSize(int size) const final;
1413 void InternalSwap(Echo* other);
1414
1415 private:
1416 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1417 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1418 return "jaiabot.protobuf.Echo";
1419 }
1420 protected:
1421 explicit Echo(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1422 bool is_message_owned = false);
1423 public:
1424
1425 static const ClassData _class_data_;
1426 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1427
1428 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1429
1430 // nested types ----------------------------------------------------
1431
1432 // accessors -------------------------------------------------------
1433
1434 enum : int {
1435 kStartEchoFieldNumber = 1,
1436 kStopEchoFieldNumber = 2,
1437 kEchoStateFieldNumber = 3,
1438 };
1439 // optional bool start_echo = 1 [default = false];
1440 bool has_start_echo() const;
1441 private:
1442 bool _internal_has_start_echo() const;
1443 public:
1444 void clear_start_echo();
1445 bool start_echo() const;
1446 void set_start_echo(bool value);
1447 private:
1448 bool _internal_start_echo() const;
1449 void _internal_set_start_echo(bool value);
1450 public:
1451
1452 // optional bool stop_echo = 2 [default = false];
1453 bool has_stop_echo() const;
1454 private:
1455 bool _internal_has_stop_echo() const;
1456 public:
1457 void clear_stop_echo();
1458 bool stop_echo() const;
1459 void set_stop_echo(bool value);
1460 private:
1461 bool _internal_stop_echo() const;
1462 void _internal_set_stop_echo(bool value);
1463 public:
1464
1465 // optional .jaiabot.protobuf.EchoState echo_state = 3 [default = BOOTING];
1466 bool has_echo_state() const;
1467 private:
1468 bool _internal_has_echo_state() const;
1469 public:
1470 void clear_echo_state();
1471 ::jaiabot::protobuf::EchoState echo_state() const;
1472 void set_echo_state(::jaiabot::protobuf::EchoState value);
1473 private:
1474 ::jaiabot::protobuf::EchoState _internal_echo_state() const;
1475 void _internal_set_echo_state(::jaiabot::protobuf::EchoState value);
1476 public:
1477
1478 // @@protoc_insertion_point(class_scope:jaiabot.protobuf.Echo)
1479 private:
1480 class _Internal;
1481
1482 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1483 typedef void InternalArenaConstructable_;
1484 typedef void DestructorSkippable_;
1485 struct Impl_ {
1486 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1487 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1488 bool start_echo_;
1489 bool stop_echo_;
1490 int echo_state_;
1491 };
1492 union { Impl_ _impl_; };
1493 friend struct ::TableStruct_jaiabot_2fmessages_2fengineering_2eproto;
1494};
1495// -------------------------------------------------------------------
1496
1497class Engineering final :
1498 public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.protobuf.Engineering) */ {
1499 public:
1500 inline Engineering() : Engineering(nullptr) {}
1501 ~Engineering() override;
1502 explicit PROTOBUF_CONSTEXPR Engineering(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
1503
1505 Engineering(Engineering&& from) noexcept
1506 : Engineering() {
1507 *this = ::std::move(from);
1508 }
1509
1510 inline Engineering& operator=(const Engineering& from) {
1511 CopyFrom(from);
1512 return *this;
1513 }
1514 inline Engineering& operator=(Engineering&& from) noexcept {
1515 if (this == &from) return *this;
1516 if (GetOwningArena() == from.GetOwningArena()
1517 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1518 && GetOwningArena() != nullptr
1519 #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
1520 ) {
1521 InternalSwap(&from);
1522 } else {
1523 CopyFrom(from);
1524 }
1525 return *this;
1526 }
1527
1528 inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
1529 return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
1530 }
1531 inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
1532 return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
1533 }
1534
1535 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
1536 return GetDescriptor();
1537 }
1538 static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
1539 return default_instance().GetMetadata().descriptor;
1540 }
1541 static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
1542 return default_instance().GetMetadata().reflection;
1543 }
1545 return *internal_default_instance();
1546 }
1548 return reinterpret_cast<const Engineering*>(
1550 }
1551 static constexpr int kIndexInFileMessages =
1552 6;
1553
1554 friend void swap(Engineering& a, Engineering& b) {
1555 a.Swap(&b);
1556 }
1557 inline void Swap(Engineering* other) {
1558 if (other == this) return;
1559 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1560 if (GetOwningArena() != nullptr &&
1561 GetOwningArena() == other->GetOwningArena()) {
1562 #else // PROTOBUF_FORCE_COPY_IN_SWAP
1563 if (GetOwningArena() == other->GetOwningArena()) {
1564 #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
1565 InternalSwap(other);
1566 } else {
1567 ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
1568 }
1569 }
1571 if (other == this) return;
1572 GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
1573 InternalSwap(other);
1574 }
1575
1576 // implements Message ----------------------------------------------
1577
1578 Engineering* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
1579 return CreateMaybeMessage<Engineering>(arena);
1580 }
1581 using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
1582 void CopyFrom(const Engineering& from);
1583 using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
1584 void MergeFrom( const Engineering& from) {
1585 Engineering::MergeImpl(*this, from);
1586 }
1587 private:
1588 static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
1589 public:
1590 PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
1591 bool IsInitialized() const final;
1592
1593 size_t ByteSizeLong() const final;
1594 const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
1595 uint8_t* _InternalSerialize(
1596 uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
1597 int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
1598
1599 private:
1600 void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
1601 void SharedDtor();
1602 void SetCachedSize(int size) const final;
1603 void InternalSwap(Engineering* other);
1604
1605 private:
1606 friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
1607 static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
1608 return "jaiabot.protobuf.Engineering";
1609 }
1610 protected:
1611 explicit Engineering(::PROTOBUF_NAMESPACE_ID::Arena* arena,
1612 bool is_message_owned = false);
1613 public:
1614
1615 static const ClassData _class_data_;
1616 const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
1617
1618 ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
1619
1620 // nested types ----------------------------------------------------
1621
1622 // accessors -------------------------------------------------------
1623
1624 enum : int {
1625 kPidControlFieldNumber = 3,
1626 kGpsRequirementsFieldNumber = 15,
1627 kRfDisableOptionsFieldNumber = 16,
1628 kBottomDepthSafetyParamsFieldNumber = 17,
1629 kImuCalFieldNumber = 18,
1630 kEchoFieldNumber = 19,
1631 kBoundsFieldNumber = 101,
1632 kTimeFieldNumber = 2,
1633 kBotIdFieldNumber = 1,
1634 kQueryEngineeringStatusFieldNumber = 4,
1635 kQueryBotStatusFieldNumber = 5,
1636 kEngineeringMessagesEnabledFieldNumber = 13,
1637 kFlagFieldNumber = 100,
1638 kBotStatusRateFieldNumber = 14,
1639 kLinkFieldNumber = 200,
1640 };
1641 // optional .jaiabot.protobuf.PIDControl pid_control = 3;
1642 bool has_pid_control() const;
1643 private:
1644 bool _internal_has_pid_control() const;
1645 public:
1646 void clear_pid_control();
1647 const ::jaiabot::protobuf::PIDControl& pid_control() const;
1648 PROTOBUF_NODISCARD ::jaiabot::protobuf::PIDControl* release_pid_control();
1649 ::jaiabot::protobuf::PIDControl* mutable_pid_control();
1650 void set_allocated_pid_control(::jaiabot::protobuf::PIDControl* pid_control);
1651 private:
1652 const ::jaiabot::protobuf::PIDControl& _internal_pid_control() const;
1653 ::jaiabot::protobuf::PIDControl* _internal_mutable_pid_control();
1654 public:
1655 void unsafe_arena_set_allocated_pid_control(
1656 ::jaiabot::protobuf::PIDControl* pid_control);
1657 ::jaiabot::protobuf::PIDControl* unsafe_arena_release_pid_control();
1658
1659 // optional .jaiabot.protobuf.GPSRequirements gps_requirements = 15;
1660 bool has_gps_requirements() const;
1661 private:
1662 bool _internal_has_gps_requirements() const;
1663 public:
1664 void clear_gps_requirements();
1665 const ::jaiabot::protobuf::GPSRequirements& gps_requirements() const;
1666 PROTOBUF_NODISCARD ::jaiabot::protobuf::GPSRequirements* release_gps_requirements();
1667 ::jaiabot::protobuf::GPSRequirements* mutable_gps_requirements();
1668 void set_allocated_gps_requirements(::jaiabot::protobuf::GPSRequirements* gps_requirements);
1669 private:
1670 const ::jaiabot::protobuf::GPSRequirements& _internal_gps_requirements() const;
1671 ::jaiabot::protobuf::GPSRequirements* _internal_mutable_gps_requirements();
1672 public:
1673 void unsafe_arena_set_allocated_gps_requirements(
1674 ::jaiabot::protobuf::GPSRequirements* gps_requirements);
1675 ::jaiabot::protobuf::GPSRequirements* unsafe_arena_release_gps_requirements();
1676
1677 // optional .jaiabot.protobuf.RFDisableOptions rf_disable_options = 16;
1678 bool has_rf_disable_options() const;
1679 private:
1680 bool _internal_has_rf_disable_options() const;
1681 public:
1682 void clear_rf_disable_options();
1683 const ::jaiabot::protobuf::RFDisableOptions& rf_disable_options() const;
1684 PROTOBUF_NODISCARD ::jaiabot::protobuf::RFDisableOptions* release_rf_disable_options();
1685 ::jaiabot::protobuf::RFDisableOptions* mutable_rf_disable_options();
1686 void set_allocated_rf_disable_options(::jaiabot::protobuf::RFDisableOptions* rf_disable_options);
1687 private:
1688 const ::jaiabot::protobuf::RFDisableOptions& _internal_rf_disable_options() const;
1689 ::jaiabot::protobuf::RFDisableOptions* _internal_mutable_rf_disable_options();
1690 public:
1691 void unsafe_arena_set_allocated_rf_disable_options(
1692 ::jaiabot::protobuf::RFDisableOptions* rf_disable_options);
1693 ::jaiabot::protobuf::RFDisableOptions* unsafe_arena_release_rf_disable_options();
1694
1695 // optional .jaiabot.protobuf.BottomDepthSafetyParams bottom_depth_safety_params = 17;
1696 bool has_bottom_depth_safety_params() const;
1697 private:
1698 bool _internal_has_bottom_depth_safety_params() const;
1699 public:
1701 const ::jaiabot::protobuf::BottomDepthSafetyParams& bottom_depth_safety_params() const;
1702 PROTOBUF_NODISCARD ::jaiabot::protobuf::BottomDepthSafetyParams* release_bottom_depth_safety_params();
1703 ::jaiabot::protobuf::BottomDepthSafetyParams* mutable_bottom_depth_safety_params();
1704 void set_allocated_bottom_depth_safety_params(::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params);
1705 private:
1706 const ::jaiabot::protobuf::BottomDepthSafetyParams& _internal_bottom_depth_safety_params() const;
1707 ::jaiabot::protobuf::BottomDepthSafetyParams* _internal_mutable_bottom_depth_safety_params();
1708 public:
1709 void unsafe_arena_set_allocated_bottom_depth_safety_params(
1710 ::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params);
1711 ::jaiabot::protobuf::BottomDepthSafetyParams* unsafe_arena_release_bottom_depth_safety_params();
1712
1713 // optional .jaiabot.protobuf.IMUCalibration imu_cal = 18;
1714 bool has_imu_cal() const;
1715 private:
1716 bool _internal_has_imu_cal() const;
1717 public:
1718 void clear_imu_cal();
1719 const ::jaiabot::protobuf::IMUCalibration& imu_cal() const;
1720 PROTOBUF_NODISCARD ::jaiabot::protobuf::IMUCalibration* release_imu_cal();
1721 ::jaiabot::protobuf::IMUCalibration* mutable_imu_cal();
1722 void set_allocated_imu_cal(::jaiabot::protobuf::IMUCalibration* imu_cal);
1723 private:
1724 const ::jaiabot::protobuf::IMUCalibration& _internal_imu_cal() const;
1725 ::jaiabot::protobuf::IMUCalibration* _internal_mutable_imu_cal();
1726 public:
1727 void unsafe_arena_set_allocated_imu_cal(
1729 ::jaiabot::protobuf::IMUCalibration* unsafe_arena_release_imu_cal();
1730
1731 // optional .jaiabot.protobuf.Echo echo = 19;
1732 bool has_echo() const;
1733 private:
1734 bool _internal_has_echo() const;
1735 public:
1736 void clear_echo();
1737 const ::jaiabot::protobuf::Echo& echo() const;
1738 PROTOBUF_NODISCARD ::jaiabot::protobuf::Echo* release_echo();
1739 ::jaiabot::protobuf::Echo* mutable_echo();
1740 void set_allocated_echo(::jaiabot::protobuf::Echo* echo);
1741 private:
1742 const ::jaiabot::protobuf::Echo& _internal_echo() const;
1743 ::jaiabot::protobuf::Echo* _internal_mutable_echo();
1744 public:
1745 void unsafe_arena_set_allocated_echo(
1747 ::jaiabot::protobuf::Echo* unsafe_arena_release_echo();
1748
1749 // optional .jaiabot.protobuf.Bounds bounds = 101;
1750 bool has_bounds() const;
1751 private:
1752 bool _internal_has_bounds() const;
1753 public:
1755 const ::jaiabot::protobuf::Bounds& bounds() const;
1756 PROTOBUF_NODISCARD ::jaiabot::protobuf::Bounds* release_bounds();
1757 ::jaiabot::protobuf::Bounds* mutable_bounds();
1758 void set_allocated_bounds(::jaiabot::protobuf::Bounds* bounds);
1759 private:
1760 const ::jaiabot::protobuf::Bounds& _internal_bounds() const;
1761 ::jaiabot::protobuf::Bounds* _internal_mutable_bounds();
1762 public:
1763 void unsafe_arena_set_allocated_bounds(
1765 ::jaiabot::protobuf::Bounds* unsafe_arena_release_bounds();
1766
1767 // optional uint64 time = 2 [(.dccl.field) = {
1768 bool has_time() const;
1769 private:
1770 bool _internal_has_time() const;
1771 public:
1772 void clear_time();
1773 uint64_t time() const;
1774 void set_time(uint64_t value);
1775 private:
1776 uint64_t _internal_time() const;
1777 void _internal_set_time(uint64_t value);
1778 public:
1779
1780 // required uint32 bot_id = 1 [(.dccl.field) = {
1781 bool has_bot_id() const;
1782 private:
1783 bool _internal_has_bot_id() const;
1784 public:
1785 void clear_bot_id();
1786 uint32_t bot_id() const;
1787 void set_bot_id(uint32_t value);
1788 private:
1789 uint32_t _internal_bot_id() const;
1790 void _internal_set_bot_id(uint32_t value);
1791 public:
1792
1793 // optional bool query_engineering_status = 4 [default = false];
1794 bool has_query_engineering_status() const;
1795 private:
1796 bool _internal_has_query_engineering_status() const;
1797 public:
1798 void clear_query_engineering_status();
1799 bool query_engineering_status() const;
1800 void set_query_engineering_status(bool value);
1801 private:
1802 bool _internal_query_engineering_status() const;
1803 void _internal_set_query_engineering_status(bool value);
1804 public:
1805
1806 // optional bool query_bot_status = 5 [default = false];
1807 bool has_query_bot_status() const;
1808 private:
1809 bool _internal_has_query_bot_status() const;
1810 public:
1811 void clear_query_bot_status();
1812 bool query_bot_status() const;
1813 void set_query_bot_status(bool value);
1814 private:
1815 bool _internal_query_bot_status() const;
1816 void _internal_set_query_bot_status(bool value);
1817 public:
1818
1819 // optional bool engineering_messages_enabled = 13;
1820 bool has_engineering_messages_enabled() const;
1821 private:
1822 bool _internal_has_engineering_messages_enabled() const;
1823 public:
1824 void clear_engineering_messages_enabled();
1825 bool engineering_messages_enabled() const;
1826 void set_engineering_messages_enabled(bool value);
1827 private:
1828 bool _internal_engineering_messages_enabled() const;
1829 void _internal_set_engineering_messages_enabled(bool value);
1830 public:
1831
1832 // optional uint32 flag = 100 [(.dccl.field) = {
1833 bool has_flag() const;
1834 private:
1835 bool _internal_has_flag() const;
1836 public:
1837 void clear_flag();
1838 uint32_t flag() const;
1839 void set_flag(uint32_t value);
1840 private:
1841 uint32_t _internal_flag() const;
1842 void _internal_set_flag(uint32_t value);
1843 public:
1844
1845 // optional .jaiabot.protobuf.BotStatusRate bot_status_rate = 14 [default = BotStatusRate_1_Hz];
1846 bool has_bot_status_rate() const;
1847 private:
1848 bool _internal_has_bot_status_rate() const;
1849 public:
1850 void clear_bot_status_rate();
1851 ::jaiabot::protobuf::BotStatusRate bot_status_rate() const;
1852 void set_bot_status_rate(::jaiabot::protobuf::BotStatusRate value);
1853 private:
1854 ::jaiabot::protobuf::BotStatusRate _internal_bot_status_rate() const;
1855 void _internal_set_bot_status_rate(::jaiabot::protobuf::BotStatusRate value);
1856 public:
1857
1858 // optional .jaiabot.protobuf.Link link = 200 [(.dccl.field) = {
1859 bool has_link() const;
1860 private:
1861 bool _internal_has_link() const;
1862 public:
1863 void clear_link();
1864 ::jaiabot::protobuf::Link link() const;
1865 void set_link(::jaiabot::protobuf::Link value);
1866 private:
1867 ::jaiabot::protobuf::Link _internal_link() const;
1868 void _internal_set_link(::jaiabot::protobuf::Link value);
1869 public:
1870
1871 enum DCCLParameters { DCCL_ID = 127, DCCL_MAX_BYTES = 250 };
1872 typedef boost::units::time_dimension time_dimension;
1873
1874 typedef boost::units::make_scaled_unit<boost::units::unit<time_dimension,boost::units::si::system> , boost::units::scale<10, boost::units::static_rational<-6> > >::type time_unit;
1875
1876 template<typename Quantity >
1877 void set_time_with_units(Quantity value_w_units)
1878 { set_time(boost::units::quantity<time_unit,google::protobuf::uint64 >(value_w_units).value() ); };
1879
1880 template<typename Quantity >
1881 Quantity time_with_units() const
1882 { return Quantity(time() * time_unit()); };
1883
1884 boost::units::quantity< time_unit,google::protobuf::uint64 > time_with_units() const
1885 { return time_with_units<boost::units::quantity< time_unit,google::protobuf::uint64 > >(); };
1886
1887 // @@protoc_insertion_point(class_scope:jaiabot.protobuf.Engineering)
1888 private:
1889 class _Internal;
1890
1891 template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
1892 typedef void InternalArenaConstructable_;
1893 typedef void DestructorSkippable_;
1894 struct Impl_ {
1895 ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
1896 mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
1897 ::jaiabot::protobuf::PIDControl* pid_control_;
1898 ::jaiabot::protobuf::GPSRequirements* gps_requirements_;
1899 ::jaiabot::protobuf::RFDisableOptions* rf_disable_options_;
1900 ::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params_;
1904 uint64_t time_;
1905 uint32_t bot_id_;
1906 bool query_engineering_status_;
1907 bool query_bot_status_;
1908 bool engineering_messages_enabled_;
1909 uint32_t flag_;
1910 int bot_status_rate_;
1911 int link_;
1912 };
1913 union { Impl_ _impl_; };
1914 friend struct ::TableStruct_jaiabot_2fmessages_2fengineering_2eproto;
1915};
1916// ===================================================================
1917
1918
1919// ===================================================================
1920
1921#ifdef __GNUC__
1922 #pragma GCC diagnostic push
1923 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
1924#endif // __GNUC__
1925// PIDControl_PIDSettings
1926
1927// optional double target = 1 [(.dccl.field) = {
1928inline bool PIDControl_PIDSettings::_internal_has_target() const {
1929 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
1930 return value;
1931}
1932inline bool PIDControl_PIDSettings::has_target() const {
1933 return _internal_has_target();
1934}
1935inline void PIDControl_PIDSettings::clear_target() {
1936 _impl_.target_ = 0;
1937 _impl_._has_bits_[0] &= ~0x00000001u;
1938}
1939inline double PIDControl_PIDSettings::_internal_target() const {
1940 return _impl_.target_;
1941}
1942inline double PIDControl_PIDSettings::target() const {
1943 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.PIDSettings.target)
1944 return _internal_target();
1945}
1946inline void PIDControl_PIDSettings::_internal_set_target(double value) {
1947 _impl_._has_bits_[0] |= 0x00000001u;
1948 _impl_.target_ = value;
1949}
1950inline void PIDControl_PIDSettings::set_target(double value) {
1951 _internal_set_target(value);
1952 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.PIDSettings.target)
1953}
1954
1955// optional double Kp = 2 [(.dccl.field) = {
1956inline bool PIDControl_PIDSettings::_internal_has_kp() const {
1957 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
1958 return value;
1959}
1960inline bool PIDControl_PIDSettings::has_kp() const {
1961 return _internal_has_kp();
1962}
1963inline void PIDControl_PIDSettings::clear_kp() {
1964 _impl_.kp_ = 0;
1965 _impl_._has_bits_[0] &= ~0x00000002u;
1966}
1967inline double PIDControl_PIDSettings::_internal_kp() const {
1968 return _impl_.kp_;
1969}
1970inline double PIDControl_PIDSettings::kp() const {
1971 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.PIDSettings.Kp)
1972 return _internal_kp();
1973}
1974inline void PIDControl_PIDSettings::_internal_set_kp(double value) {
1975 _impl_._has_bits_[0] |= 0x00000002u;
1976 _impl_.kp_ = value;
1977}
1978inline void PIDControl_PIDSettings::set_kp(double value) {
1979 _internal_set_kp(value);
1980 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.PIDSettings.Kp)
1981}
1982
1983// optional double Ki = 3 [(.dccl.field) = {
1984inline bool PIDControl_PIDSettings::_internal_has_ki() const {
1985 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
1986 return value;
1987}
1988inline bool PIDControl_PIDSettings::has_ki() const {
1989 return _internal_has_ki();
1990}
1991inline void PIDControl_PIDSettings::clear_ki() {
1992 _impl_.ki_ = 0;
1993 _impl_._has_bits_[0] &= ~0x00000004u;
1994}
1995inline double PIDControl_PIDSettings::_internal_ki() const {
1996 return _impl_.ki_;
1997}
1998inline double PIDControl_PIDSettings::ki() const {
1999 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.PIDSettings.Ki)
2000 return _internal_ki();
2001}
2002inline void PIDControl_PIDSettings::_internal_set_ki(double value) {
2003 _impl_._has_bits_[0] |= 0x00000004u;
2004 _impl_.ki_ = value;
2005}
2006inline void PIDControl_PIDSettings::set_ki(double value) {
2007 _internal_set_ki(value);
2008 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.PIDSettings.Ki)
2009}
2010
2011// optional double Kd = 4 [(.dccl.field) = {
2012inline bool PIDControl_PIDSettings::_internal_has_kd() const {
2013 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
2014 return value;
2015}
2016inline bool PIDControl_PIDSettings::has_kd() const {
2017 return _internal_has_kd();
2018}
2019inline void PIDControl_PIDSettings::clear_kd() {
2020 _impl_.kd_ = 0;
2021 _impl_._has_bits_[0] &= ~0x00000008u;
2022}
2023inline double PIDControl_PIDSettings::_internal_kd() const {
2024 return _impl_.kd_;
2025}
2026inline double PIDControl_PIDSettings::kd() const {
2027 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.PIDSettings.Kd)
2028 return _internal_kd();
2029}
2030inline void PIDControl_PIDSettings::_internal_set_kd(double value) {
2031 _impl_._has_bits_[0] |= 0x00000008u;
2032 _impl_.kd_ = value;
2033}
2034inline void PIDControl_PIDSettings::set_kd(double value) {
2035 _internal_set_kd(value);
2036 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.PIDSettings.Kd)
2037}
2038
2039// -------------------------------------------------------------------
2040
2041// PIDControl
2042
2043// optional uint32 timeout = 3 [(.dccl.field) = {
2044inline bool PIDControl::_internal_has_timeout() const {
2045 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
2046 return value;
2047}
2048inline bool PIDControl::has_timeout() const {
2049 return _internal_has_timeout();
2050}
2051inline void PIDControl::clear_timeout() {
2052 _impl_.timeout_ = 0u;
2053 _impl_._has_bits_[0] &= ~0x00000200u;
2054}
2055inline uint32_t PIDControl::_internal_timeout() const {
2056 return _impl_.timeout_;
2057}
2058inline uint32_t PIDControl::timeout() const {
2059 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.timeout)
2060 return _internal_timeout();
2061}
2062inline void PIDControl::_internal_set_timeout(uint32_t value) {
2063 _impl_._has_bits_[0] |= 0x00000200u;
2064 _impl_.timeout_ = value;
2065}
2066inline void PIDControl::set_timeout(uint32_t value) {
2067 _internal_set_timeout(value);
2068 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.timeout)
2069}
2070
2071// optional double throttle = 4 [(.dccl.field) = {
2072inline bool PIDControl::_internal_has_throttle() const {
2073 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
2074 return value;
2075}
2076inline bool PIDControl::has_throttle() const {
2077 return _internal_has_throttle();
2078}
2079inline void PIDControl::clear_throttle() {
2080 _impl_.throttle_ = 0;
2081 _impl_._has_bits_[0] &= ~0x00000040u;
2082}
2083inline double PIDControl::_internal_throttle() const {
2084 return _impl_.throttle_;
2085}
2086inline double PIDControl::throttle() const {
2087 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.throttle)
2088 return _internal_throttle();
2089}
2090inline void PIDControl::_internal_set_throttle(double value) {
2091 _impl_._has_bits_[0] |= 0x00000040u;
2092 _impl_.throttle_ = value;
2093}
2094inline void PIDControl::set_throttle(double value) {
2095 _internal_set_throttle(value);
2096 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.throttle)
2097}
2098
2099// optional .jaiabot.protobuf.PIDControl.PIDSettings speed = 5;
2100inline bool PIDControl::_internal_has_speed() const {
2101 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2102 PROTOBUF_ASSUME(!value || _impl_.speed_ != nullptr);
2103 return value;
2104}
2105inline bool PIDControl::has_speed() const {
2106 return _internal_has_speed();
2107}
2108inline void PIDControl::clear_speed() {
2109 if (_impl_.speed_ != nullptr) _impl_.speed_->Clear();
2110 _impl_._has_bits_[0] &= ~0x00000001u;
2111}
2112inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::_internal_speed() const {
2113 const ::jaiabot::protobuf::PIDControl_PIDSettings* p = _impl_.speed_;
2114 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::PIDControl_PIDSettings&>(
2116}
2117inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::speed() const {
2118 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.speed)
2119 return _internal_speed();
2120}
2121inline void PIDControl::unsafe_arena_set_allocated_speed(
2123 if (GetArenaForAllocation() == nullptr) {
2124 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.speed_);
2125 }
2126 _impl_.speed_ = speed;
2127 if (speed) {
2128 _impl_._has_bits_[0] |= 0x00000001u;
2129 } else {
2130 _impl_._has_bits_[0] &= ~0x00000001u;
2131 }
2132 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.PIDControl.speed)
2133}
2134inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::release_speed() {
2135 _impl_._has_bits_[0] &= ~0x00000001u;
2136 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.speed_;
2137 _impl_.speed_ = nullptr;
2138#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2139 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2140 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2141 if (GetArenaForAllocation() == nullptr) { delete old; }
2142#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2143 if (GetArenaForAllocation() != nullptr) {
2144 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2145 }
2146#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2147 return temp;
2148}
2149inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::unsafe_arena_release_speed() {
2150 // @@protoc_insertion_point(field_release:jaiabot.protobuf.PIDControl.speed)
2151 _impl_._has_bits_[0] &= ~0x00000001u;
2152 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.speed_;
2153 _impl_.speed_ = nullptr;
2154 return temp;
2155}
2156inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::_internal_mutable_speed() {
2157 _impl_._has_bits_[0] |= 0x00000001u;
2158 if (_impl_.speed_ == nullptr) {
2159 auto* p = CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings>(GetArenaForAllocation());
2160 _impl_.speed_ = p;
2161 }
2162 return _impl_.speed_;
2163}
2164inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::mutable_speed() {
2165 ::jaiabot::protobuf::PIDControl_PIDSettings* _msg = _internal_mutable_speed();
2166 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.PIDControl.speed)
2167 return _msg;
2168}
2169inline void PIDControl::set_allocated_speed(::jaiabot::protobuf::PIDControl_PIDSettings* speed) {
2170 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2171 if (message_arena == nullptr) {
2172 delete _impl_.speed_;
2173 }
2174 if (speed) {
2175 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2176 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(speed);
2177 if (message_arena != submessage_arena) {
2178 speed = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2179 message_arena, speed, submessage_arena);
2180 }
2181 _impl_._has_bits_[0] |= 0x00000001u;
2182 } else {
2183 _impl_._has_bits_[0] &= ~0x00000001u;
2184 }
2185 _impl_.speed_ = speed;
2186 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.PIDControl.speed)
2187}
2188
2189// optional double rudder = 6 [(.dccl.field) = {
2190inline bool PIDControl::_internal_has_rudder() const {
2191 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
2192 return value;
2193}
2194inline bool PIDControl::has_rudder() const {
2195 return _internal_has_rudder();
2196}
2197inline void PIDControl::clear_rudder() {
2198 _impl_.rudder_ = 0;
2199 _impl_._has_bits_[0] &= ~0x00000080u;
2200}
2201inline double PIDControl::_internal_rudder() const {
2202 return _impl_.rudder_;
2203}
2204inline double PIDControl::rudder() const {
2205 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.rudder)
2206 return _internal_rudder();
2207}
2208inline void PIDControl::_internal_set_rudder(double value) {
2209 _impl_._has_bits_[0] |= 0x00000080u;
2210 _impl_.rudder_ = value;
2211}
2212inline void PIDControl::set_rudder(double value) {
2213 _internal_set_rudder(value);
2214 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.rudder)
2215}
2216
2217// optional .jaiabot.protobuf.PIDControl.PIDSettings heading = 7;
2218inline bool PIDControl::_internal_has_heading() const {
2219 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2220 PROTOBUF_ASSUME(!value || _impl_.heading_ != nullptr);
2221 return value;
2222}
2223inline bool PIDControl::has_heading() const {
2224 return _internal_has_heading();
2225}
2226inline void PIDControl::clear_heading() {
2227 if (_impl_.heading_ != nullptr) _impl_.heading_->Clear();
2228 _impl_._has_bits_[0] &= ~0x00000002u;
2229}
2230inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::_internal_heading() const {
2231 const ::jaiabot::protobuf::PIDControl_PIDSettings* p = _impl_.heading_;
2232 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::PIDControl_PIDSettings&>(
2234}
2235inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::heading() const {
2236 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.heading)
2237 return _internal_heading();
2238}
2239inline void PIDControl::unsafe_arena_set_allocated_heading(
2241 if (GetArenaForAllocation() == nullptr) {
2242 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.heading_);
2243 }
2244 _impl_.heading_ = heading;
2245 if (heading) {
2246 _impl_._has_bits_[0] |= 0x00000002u;
2247 } else {
2248 _impl_._has_bits_[0] &= ~0x00000002u;
2249 }
2250 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.PIDControl.heading)
2251}
2252inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::release_heading() {
2253 _impl_._has_bits_[0] &= ~0x00000002u;
2254 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.heading_;
2255 _impl_.heading_ = nullptr;
2256#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2257 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2258 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2259 if (GetArenaForAllocation() == nullptr) { delete old; }
2260#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2261 if (GetArenaForAllocation() != nullptr) {
2262 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2263 }
2264#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2265 return temp;
2266}
2267inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::unsafe_arena_release_heading() {
2268 // @@protoc_insertion_point(field_release:jaiabot.protobuf.PIDControl.heading)
2269 _impl_._has_bits_[0] &= ~0x00000002u;
2270 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.heading_;
2271 _impl_.heading_ = nullptr;
2272 return temp;
2273}
2274inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::_internal_mutable_heading() {
2275 _impl_._has_bits_[0] |= 0x00000002u;
2276 if (_impl_.heading_ == nullptr) {
2277 auto* p = CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings>(GetArenaForAllocation());
2278 _impl_.heading_ = p;
2279 }
2280 return _impl_.heading_;
2281}
2282inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::mutable_heading() {
2283 ::jaiabot::protobuf::PIDControl_PIDSettings* _msg = _internal_mutable_heading();
2284 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.PIDControl.heading)
2285 return _msg;
2286}
2287inline void PIDControl::set_allocated_heading(::jaiabot::protobuf::PIDControl_PIDSettings* heading) {
2288 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2289 if (message_arena == nullptr) {
2290 delete _impl_.heading_;
2291 }
2292 if (heading) {
2293 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2294 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(heading);
2295 if (message_arena != submessage_arena) {
2296 heading = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2297 message_arena, heading, submessage_arena);
2298 }
2299 _impl_._has_bits_[0] |= 0x00000002u;
2300 } else {
2301 _impl_._has_bits_[0] &= ~0x00000002u;
2302 }
2303 _impl_.heading_ = heading;
2304 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.PIDControl.heading)
2305}
2306
2307// optional double port_elevator = 8 [(.dccl.field) = {
2308inline bool PIDControl::_internal_has_port_elevator() const {
2309 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
2310 return value;
2311}
2312inline bool PIDControl::has_port_elevator() const {
2313 return _internal_has_port_elevator();
2314}
2315inline void PIDControl::clear_port_elevator() {
2316 _impl_.port_elevator_ = 0;
2317 _impl_._has_bits_[0] &= ~0x00000100u;
2318}
2319inline double PIDControl::_internal_port_elevator() const {
2320 return _impl_.port_elevator_;
2321}
2322inline double PIDControl::port_elevator() const {
2323 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.port_elevator)
2324 return _internal_port_elevator();
2325}
2326inline void PIDControl::_internal_set_port_elevator(double value) {
2327 _impl_._has_bits_[0] |= 0x00000100u;
2328 _impl_.port_elevator_ = value;
2329}
2330inline void PIDControl::set_port_elevator(double value) {
2331 _internal_set_port_elevator(value);
2332 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.port_elevator)
2333}
2334
2335// optional double stbd_elevator = 9 [(.dccl.field) = {
2336inline bool PIDControl::_internal_has_stbd_elevator() const {
2337 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
2338 return value;
2339}
2340inline bool PIDControl::has_stbd_elevator() const {
2341 return _internal_has_stbd_elevator();
2342}
2343inline void PIDControl::clear_stbd_elevator() {
2344 _impl_.stbd_elevator_ = 0;
2345 _impl_._has_bits_[0] &= ~0x00000800u;
2346}
2347inline double PIDControl::_internal_stbd_elevator() const {
2348 return _impl_.stbd_elevator_;
2349}
2350inline double PIDControl::stbd_elevator() const {
2351 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.stbd_elevator)
2352 return _internal_stbd_elevator();
2353}
2354inline void PIDControl::_internal_set_stbd_elevator(double value) {
2355 _impl_._has_bits_[0] |= 0x00000800u;
2356 _impl_.stbd_elevator_ = value;
2357}
2358inline void PIDControl::set_stbd_elevator(double value) {
2359 _internal_set_stbd_elevator(value);
2360 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.stbd_elevator)
2361}
2362
2363// optional .jaiabot.protobuf.PIDControl.PIDSettings roll = 10;
2364inline bool PIDControl::_internal_has_roll() const {
2365 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
2366 PROTOBUF_ASSUME(!value || _impl_.roll_ != nullptr);
2367 return value;
2368}
2369inline bool PIDControl::has_roll() const {
2370 return _internal_has_roll();
2371}
2372inline void PIDControl::clear_roll() {
2373 if (_impl_.roll_ != nullptr) _impl_.roll_->Clear();
2374 _impl_._has_bits_[0] &= ~0x00000004u;
2375}
2376inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::_internal_roll() const {
2377 const ::jaiabot::protobuf::PIDControl_PIDSettings* p = _impl_.roll_;
2378 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::PIDControl_PIDSettings&>(
2380}
2381inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::roll() const {
2382 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.roll)
2383 return _internal_roll();
2384}
2385inline void PIDControl::unsafe_arena_set_allocated_roll(
2387 if (GetArenaForAllocation() == nullptr) {
2388 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.roll_);
2389 }
2390 _impl_.roll_ = roll;
2391 if (roll) {
2392 _impl_._has_bits_[0] |= 0x00000004u;
2393 } else {
2394 _impl_._has_bits_[0] &= ~0x00000004u;
2395 }
2396 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.PIDControl.roll)
2397}
2398inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::release_roll() {
2399 _impl_._has_bits_[0] &= ~0x00000004u;
2401 _impl_.roll_ = nullptr;
2402#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2403 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2404 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2405 if (GetArenaForAllocation() == nullptr) { delete old; }
2406#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2407 if (GetArenaForAllocation() != nullptr) {
2408 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2409 }
2410#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2411 return temp;
2412}
2413inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::unsafe_arena_release_roll() {
2414 // @@protoc_insertion_point(field_release:jaiabot.protobuf.PIDControl.roll)
2415 _impl_._has_bits_[0] &= ~0x00000004u;
2417 _impl_.roll_ = nullptr;
2418 return temp;
2419}
2420inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::_internal_mutable_roll() {
2421 _impl_._has_bits_[0] |= 0x00000004u;
2422 if (_impl_.roll_ == nullptr) {
2423 auto* p = CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings>(GetArenaForAllocation());
2424 _impl_.roll_ = p;
2425 }
2426 return _impl_.roll_;
2427}
2428inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::mutable_roll() {
2429 ::jaiabot::protobuf::PIDControl_PIDSettings* _msg = _internal_mutable_roll();
2430 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.PIDControl.roll)
2431 return _msg;
2432}
2433inline void PIDControl::set_allocated_roll(::jaiabot::protobuf::PIDControl_PIDSettings* roll) {
2434 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2435 if (message_arena == nullptr) {
2436 delete _impl_.roll_;
2437 }
2438 if (roll) {
2439 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2440 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(roll);
2441 if (message_arena != submessage_arena) {
2442 roll = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2443 message_arena, roll, submessage_arena);
2444 }
2445 _impl_._has_bits_[0] |= 0x00000004u;
2446 } else {
2447 _impl_._has_bits_[0] &= ~0x00000004u;
2448 }
2449 _impl_.roll_ = roll;
2450 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.PIDControl.roll)
2451}
2452
2453// optional .jaiabot.protobuf.PIDControl.PIDSettings pitch = 11;
2454inline bool PIDControl::_internal_has_pitch() const {
2455 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
2456 PROTOBUF_ASSUME(!value || _impl_.pitch_ != nullptr);
2457 return value;
2458}
2459inline bool PIDControl::has_pitch() const {
2460 return _internal_has_pitch();
2461}
2462inline void PIDControl::clear_pitch() {
2463 if (_impl_.pitch_ != nullptr) _impl_.pitch_->Clear();
2464 _impl_._has_bits_[0] &= ~0x00000008u;
2465}
2466inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::_internal_pitch() const {
2467 const ::jaiabot::protobuf::PIDControl_PIDSettings* p = _impl_.pitch_;
2468 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::PIDControl_PIDSettings&>(
2470}
2471inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::pitch() const {
2472 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.pitch)
2473 return _internal_pitch();
2474}
2475inline void PIDControl::unsafe_arena_set_allocated_pitch(
2477 if (GetArenaForAllocation() == nullptr) {
2478 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.pitch_);
2479 }
2480 _impl_.pitch_ = pitch;
2481 if (pitch) {
2482 _impl_._has_bits_[0] |= 0x00000008u;
2483 } else {
2484 _impl_._has_bits_[0] &= ~0x00000008u;
2485 }
2486 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.PIDControl.pitch)
2487}
2488inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::release_pitch() {
2489 _impl_._has_bits_[0] &= ~0x00000008u;
2490 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.pitch_;
2491 _impl_.pitch_ = nullptr;
2492#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2493 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2494 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2495 if (GetArenaForAllocation() == nullptr) { delete old; }
2496#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2497 if (GetArenaForAllocation() != nullptr) {
2498 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2499 }
2500#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2501 return temp;
2502}
2503inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::unsafe_arena_release_pitch() {
2504 // @@protoc_insertion_point(field_release:jaiabot.protobuf.PIDControl.pitch)
2505 _impl_._has_bits_[0] &= ~0x00000008u;
2506 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.pitch_;
2507 _impl_.pitch_ = nullptr;
2508 return temp;
2509}
2510inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::_internal_mutable_pitch() {
2511 _impl_._has_bits_[0] |= 0x00000008u;
2512 if (_impl_.pitch_ == nullptr) {
2513 auto* p = CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings>(GetArenaForAllocation());
2514 _impl_.pitch_ = p;
2515 }
2516 return _impl_.pitch_;
2517}
2518inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::mutable_pitch() {
2519 ::jaiabot::protobuf::PIDControl_PIDSettings* _msg = _internal_mutable_pitch();
2520 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.PIDControl.pitch)
2521 return _msg;
2522}
2523inline void PIDControl::set_allocated_pitch(::jaiabot::protobuf::PIDControl_PIDSettings* pitch) {
2524 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2525 if (message_arena == nullptr) {
2526 delete _impl_.pitch_;
2527 }
2528 if (pitch) {
2529 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2530 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(pitch);
2531 if (message_arena != submessage_arena) {
2532 pitch = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2533 message_arena, pitch, submessage_arena);
2534 }
2535 _impl_._has_bits_[0] |= 0x00000008u;
2536 } else {
2537 _impl_._has_bits_[0] &= ~0x00000008u;
2538 }
2539 _impl_.pitch_ = pitch;
2540 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.PIDControl.pitch)
2541}
2542
2543// optional .jaiabot.protobuf.PIDControl.PIDSettings depth = 12;
2544inline bool PIDControl::_internal_has_depth() const {
2545 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
2546 PROTOBUF_ASSUME(!value || _impl_.depth_ != nullptr);
2547 return value;
2548}
2549inline bool PIDControl::has_depth() const {
2550 return _internal_has_depth();
2551}
2552inline void PIDControl::clear_depth() {
2553 if (_impl_.depth_ != nullptr) _impl_.depth_->Clear();
2554 _impl_._has_bits_[0] &= ~0x00000010u;
2555}
2556inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::_internal_depth() const {
2557 const ::jaiabot::protobuf::PIDControl_PIDSettings* p = _impl_.depth_;
2558 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::PIDControl_PIDSettings&>(
2560}
2561inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::depth() const {
2562 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.depth)
2563 return _internal_depth();
2564}
2565inline void PIDControl::unsafe_arena_set_allocated_depth(
2567 if (GetArenaForAllocation() == nullptr) {
2568 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.depth_);
2569 }
2570 _impl_.depth_ = depth;
2571 if (depth) {
2572 _impl_._has_bits_[0] |= 0x00000010u;
2573 } else {
2574 _impl_._has_bits_[0] &= ~0x00000010u;
2575 }
2576 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.PIDControl.depth)
2577}
2578inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::release_depth() {
2579 _impl_._has_bits_[0] &= ~0x00000010u;
2580 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.depth_;
2581 _impl_.depth_ = nullptr;
2582#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2583 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2584 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2585 if (GetArenaForAllocation() == nullptr) { delete old; }
2586#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2587 if (GetArenaForAllocation() != nullptr) {
2588 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2589 }
2590#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2591 return temp;
2592}
2593inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::unsafe_arena_release_depth() {
2594 // @@protoc_insertion_point(field_release:jaiabot.protobuf.PIDControl.depth)
2595 _impl_._has_bits_[0] &= ~0x00000010u;
2596 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.depth_;
2597 _impl_.depth_ = nullptr;
2598 return temp;
2599}
2600inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::_internal_mutable_depth() {
2601 _impl_._has_bits_[0] |= 0x00000010u;
2602 if (_impl_.depth_ == nullptr) {
2603 auto* p = CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings>(GetArenaForAllocation());
2604 _impl_.depth_ = p;
2605 }
2606 return _impl_.depth_;
2607}
2608inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::mutable_depth() {
2609 ::jaiabot::protobuf::PIDControl_PIDSettings* _msg = _internal_mutable_depth();
2610 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.PIDControl.depth)
2611 return _msg;
2612}
2613inline void PIDControl::set_allocated_depth(::jaiabot::protobuf::PIDControl_PIDSettings* depth) {
2614 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2615 if (message_arena == nullptr) {
2616 delete _impl_.depth_;
2617 }
2618 if (depth) {
2619 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2620 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(depth);
2621 if (message_arena != submessage_arena) {
2622 depth = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2623 message_arena, depth, submessage_arena);
2624 }
2625 _impl_._has_bits_[0] |= 0x00000010u;
2626 } else {
2627 _impl_._has_bits_[0] &= ~0x00000010u;
2628 }
2629 _impl_.depth_ = depth;
2630 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.PIDControl.depth)
2631}
2632
2633// optional bool led_switch_on = 13;
2634inline bool PIDControl::_internal_has_led_switch_on() const {
2635 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
2636 return value;
2637}
2638inline bool PIDControl::has_led_switch_on() const {
2639 return _internal_has_led_switch_on();
2640}
2641inline void PIDControl::clear_led_switch_on() {
2642 _impl_.led_switch_on_ = false;
2643 _impl_._has_bits_[0] &= ~0x00000400u;
2644}
2645inline bool PIDControl::_internal_led_switch_on() const {
2646 return _impl_.led_switch_on_;
2647}
2648inline bool PIDControl::led_switch_on() const {
2649 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.led_switch_on)
2650 return _internal_led_switch_on();
2651}
2652inline void PIDControl::_internal_set_led_switch_on(bool value) {
2653 _impl_._has_bits_[0] |= 0x00000400u;
2654 _impl_.led_switch_on_ = value;
2655}
2656inline void PIDControl::set_led_switch_on(bool value) {
2657 _internal_set_led_switch_on(value);
2658 // @@protoc_insertion_point(field_set:jaiabot.protobuf.PIDControl.led_switch_on)
2659}
2660
2661// optional .jaiabot.protobuf.PIDControl.PIDSettings heading_constant = 14;
2662inline bool PIDControl::_internal_has_heading_constant() const {
2663 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2664 PROTOBUF_ASSUME(!value || _impl_.heading_constant_ != nullptr);
2665 return value;
2666}
2667inline bool PIDControl::has_heading_constant() const {
2668 return _internal_has_heading_constant();
2669}
2670inline void PIDControl::clear_heading_constant() {
2671 if (_impl_.heading_constant_ != nullptr) _impl_.heading_constant_->Clear();
2672 _impl_._has_bits_[0] &= ~0x00000020u;
2673}
2674inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::_internal_heading_constant() const {
2675 const ::jaiabot::protobuf::PIDControl_PIDSettings* p = _impl_.heading_constant_;
2676 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::PIDControl_PIDSettings&>(
2678}
2679inline const ::jaiabot::protobuf::PIDControl_PIDSettings& PIDControl::heading_constant() const {
2680 // @@protoc_insertion_point(field_get:jaiabot.protobuf.PIDControl.heading_constant)
2681 return _internal_heading_constant();
2682}
2683inline void PIDControl::unsafe_arena_set_allocated_heading_constant(
2685 if (GetArenaForAllocation() == nullptr) {
2686 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.heading_constant_);
2687 }
2688 _impl_.heading_constant_ = heading_constant;
2689 if (heading_constant) {
2690 _impl_._has_bits_[0] |= 0x00000020u;
2691 } else {
2692 _impl_._has_bits_[0] &= ~0x00000020u;
2693 }
2694 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.PIDControl.heading_constant)
2695}
2696inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::release_heading_constant() {
2697 _impl_._has_bits_[0] &= ~0x00000020u;
2698 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.heading_constant_;
2699 _impl_.heading_constant_ = nullptr;
2700#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
2701 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
2702 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2703 if (GetArenaForAllocation() == nullptr) { delete old; }
2704#else // PROTOBUF_FORCE_COPY_IN_RELEASE
2705 if (GetArenaForAllocation() != nullptr) {
2706 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
2707 }
2708#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
2709 return temp;
2710}
2711inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::unsafe_arena_release_heading_constant() {
2712 // @@protoc_insertion_point(field_release:jaiabot.protobuf.PIDControl.heading_constant)
2713 _impl_._has_bits_[0] &= ~0x00000020u;
2714 ::jaiabot::protobuf::PIDControl_PIDSettings* temp = _impl_.heading_constant_;
2715 _impl_.heading_constant_ = nullptr;
2716 return temp;
2717}
2718inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::_internal_mutable_heading_constant() {
2719 _impl_._has_bits_[0] |= 0x00000020u;
2720 if (_impl_.heading_constant_ == nullptr) {
2721 auto* p = CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings>(GetArenaForAllocation());
2722 _impl_.heading_constant_ = p;
2723 }
2724 return _impl_.heading_constant_;
2725}
2726inline ::jaiabot::protobuf::PIDControl_PIDSettings* PIDControl::mutable_heading_constant() {
2727 ::jaiabot::protobuf::PIDControl_PIDSettings* _msg = _internal_mutable_heading_constant();
2728 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.PIDControl.heading_constant)
2729 return _msg;
2730}
2731inline void PIDControl::set_allocated_heading_constant(::jaiabot::protobuf::PIDControl_PIDSettings* heading_constant) {
2732 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
2733 if (message_arena == nullptr) {
2734 delete _impl_.heading_constant_;
2735 }
2736 if (heading_constant) {
2737 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
2738 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(heading_constant);
2739 if (message_arena != submessage_arena) {
2740 heading_constant = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
2741 message_arena, heading_constant, submessage_arena);
2742 }
2743 _impl_._has_bits_[0] |= 0x00000020u;
2744 } else {
2745 _impl_._has_bits_[0] &= ~0x00000020u;
2746 }
2747 _impl_.heading_constant_ = heading_constant;
2748 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.PIDControl.heading_constant)
2749}
2750
2751// -------------------------------------------------------------------
2752
2753// GPSRequirements
2754
2755// optional double transit_hdop_req = 1 [(.dccl.field) = {
2756inline bool GPSRequirements::_internal_has_transit_hdop_req() const {
2757 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2758 return value;
2759}
2760inline bool GPSRequirements::has_transit_hdop_req() const {
2761 return _internal_has_transit_hdop_req();
2762}
2763inline void GPSRequirements::clear_transit_hdop_req() {
2764 _impl_.transit_hdop_req_ = 0;
2765 _impl_._has_bits_[0] &= ~0x00000001u;
2766}
2767inline double GPSRequirements::_internal_transit_hdop_req() const {
2768 return _impl_.transit_hdop_req_;
2769}
2770inline double GPSRequirements::transit_hdop_req() const {
2771 // @@protoc_insertion_point(field_get:jaiabot.protobuf.GPSRequirements.transit_hdop_req)
2772 return _internal_transit_hdop_req();
2773}
2774inline void GPSRequirements::_internal_set_transit_hdop_req(double value) {
2775 _impl_._has_bits_[0] |= 0x00000001u;
2776 _impl_.transit_hdop_req_ = value;
2777}
2778inline void GPSRequirements::set_transit_hdop_req(double value) {
2779 _internal_set_transit_hdop_req(value);
2780 // @@protoc_insertion_point(field_set:jaiabot.protobuf.GPSRequirements.transit_hdop_req)
2781}
2782
2783// optional double transit_pdop_req = 2 [(.dccl.field) = {
2784inline bool GPSRequirements::_internal_has_transit_pdop_req() const {
2785 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2786 return value;
2787}
2788inline bool GPSRequirements::has_transit_pdop_req() const {
2789 return _internal_has_transit_pdop_req();
2790}
2791inline void GPSRequirements::clear_transit_pdop_req() {
2792 _impl_.transit_pdop_req_ = 0;
2793 _impl_._has_bits_[0] &= ~0x00000002u;
2794}
2795inline double GPSRequirements::_internal_transit_pdop_req() const {
2796 return _impl_.transit_pdop_req_;
2797}
2798inline double GPSRequirements::transit_pdop_req() const {
2799 // @@protoc_insertion_point(field_get:jaiabot.protobuf.GPSRequirements.transit_pdop_req)
2800 return _internal_transit_pdop_req();
2801}
2802inline void GPSRequirements::_internal_set_transit_pdop_req(double value) {
2803 _impl_._has_bits_[0] |= 0x00000002u;
2804 _impl_.transit_pdop_req_ = value;
2805}
2806inline void GPSRequirements::set_transit_pdop_req(double value) {
2807 _internal_set_transit_pdop_req(value);
2808 // @@protoc_insertion_point(field_set:jaiabot.protobuf.GPSRequirements.transit_pdop_req)
2809}
2810
2811// optional double after_dive_hdop_req = 3 [(.dccl.field) = {
2812inline bool GPSRequirements::_internal_has_after_dive_hdop_req() const {
2813 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
2814 return value;
2815}
2816inline bool GPSRequirements::has_after_dive_hdop_req() const {
2817 return _internal_has_after_dive_hdop_req();
2818}
2819inline void GPSRequirements::clear_after_dive_hdop_req() {
2820 _impl_.after_dive_hdop_req_ = 0;
2821 _impl_._has_bits_[0] &= ~0x00000004u;
2822}
2823inline double GPSRequirements::_internal_after_dive_hdop_req() const {
2824 return _impl_.after_dive_hdop_req_;
2825}
2826inline double GPSRequirements::after_dive_hdop_req() const {
2827 // @@protoc_insertion_point(field_get:jaiabot.protobuf.GPSRequirements.after_dive_hdop_req)
2828 return _internal_after_dive_hdop_req();
2829}
2830inline void GPSRequirements::_internal_set_after_dive_hdop_req(double value) {
2831 _impl_._has_bits_[0] |= 0x00000004u;
2832 _impl_.after_dive_hdop_req_ = value;
2833}
2834inline void GPSRequirements::set_after_dive_hdop_req(double value) {
2835 _internal_set_after_dive_hdop_req(value);
2836 // @@protoc_insertion_point(field_set:jaiabot.protobuf.GPSRequirements.after_dive_hdop_req)
2837}
2838
2839// optional double after_dive_pdop_req = 4 [(.dccl.field) = {
2840inline bool GPSRequirements::_internal_has_after_dive_pdop_req() const {
2841 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
2842 return value;
2843}
2844inline bool GPSRequirements::has_after_dive_pdop_req() const {
2845 return _internal_has_after_dive_pdop_req();
2846}
2847inline void GPSRequirements::clear_after_dive_pdop_req() {
2848 _impl_.after_dive_pdop_req_ = 0;
2849 _impl_._has_bits_[0] &= ~0x00000008u;
2850}
2851inline double GPSRequirements::_internal_after_dive_pdop_req() const {
2852 return _impl_.after_dive_pdop_req_;
2853}
2854inline double GPSRequirements::after_dive_pdop_req() const {
2855 // @@protoc_insertion_point(field_get:jaiabot.protobuf.GPSRequirements.after_dive_pdop_req)
2856 return _internal_after_dive_pdop_req();
2857}
2858inline void GPSRequirements::_internal_set_after_dive_pdop_req(double value) {
2859 _impl_._has_bits_[0] |= 0x00000008u;
2860 _impl_.after_dive_pdop_req_ = value;
2861}
2862inline void GPSRequirements::set_after_dive_pdop_req(double value) {
2863 _internal_set_after_dive_pdop_req(value);
2864 // @@protoc_insertion_point(field_set:jaiabot.protobuf.GPSRequirements.after_dive_pdop_req)
2865}
2866
2867// optional uint32 transit_gps_fix_checks = 5 [(.dccl.field) = {
2868inline bool GPSRequirements::_internal_has_transit_gps_fix_checks() const {
2869 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
2870 return value;
2871}
2872inline bool GPSRequirements::has_transit_gps_fix_checks() const {
2873 return _internal_has_transit_gps_fix_checks();
2874}
2875inline void GPSRequirements::clear_transit_gps_fix_checks() {
2876 _impl_.transit_gps_fix_checks_ = 0u;
2877 _impl_._has_bits_[0] &= ~0x00000010u;
2878}
2879inline uint32_t GPSRequirements::_internal_transit_gps_fix_checks() const {
2880 return _impl_.transit_gps_fix_checks_;
2881}
2882inline uint32_t GPSRequirements::transit_gps_fix_checks() const {
2883 // @@protoc_insertion_point(field_get:jaiabot.protobuf.GPSRequirements.transit_gps_fix_checks)
2884 return _internal_transit_gps_fix_checks();
2885}
2886inline void GPSRequirements::_internal_set_transit_gps_fix_checks(uint32_t value) {
2887 _impl_._has_bits_[0] |= 0x00000010u;
2888 _impl_.transit_gps_fix_checks_ = value;
2889}
2890inline void GPSRequirements::set_transit_gps_fix_checks(uint32_t value) {
2891 _internal_set_transit_gps_fix_checks(value);
2892 // @@protoc_insertion_point(field_set:jaiabot.protobuf.GPSRequirements.transit_gps_fix_checks)
2893}
2894
2895// optional uint32 transit_gps_degraded_fix_checks = 6 [(.dccl.field) = {
2896inline bool GPSRequirements::_internal_has_transit_gps_degraded_fix_checks() const {
2897 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
2898 return value;
2899}
2900inline bool GPSRequirements::has_transit_gps_degraded_fix_checks() const {
2901 return _internal_has_transit_gps_degraded_fix_checks();
2902}
2903inline void GPSRequirements::clear_transit_gps_degraded_fix_checks() {
2904 _impl_.transit_gps_degraded_fix_checks_ = 0u;
2905 _impl_._has_bits_[0] &= ~0x00000020u;
2906}
2907inline uint32_t GPSRequirements::_internal_transit_gps_degraded_fix_checks() const {
2908 return _impl_.transit_gps_degraded_fix_checks_;
2909}
2910inline uint32_t GPSRequirements::transit_gps_degraded_fix_checks() const {
2911 // @@protoc_insertion_point(field_get:jaiabot.protobuf.GPSRequirements.transit_gps_degraded_fix_checks)
2912 return _internal_transit_gps_degraded_fix_checks();
2913}
2914inline void GPSRequirements::_internal_set_transit_gps_degraded_fix_checks(uint32_t value) {
2915 _impl_._has_bits_[0] |= 0x00000020u;
2916 _impl_.transit_gps_degraded_fix_checks_ = value;
2917}
2918inline void GPSRequirements::set_transit_gps_degraded_fix_checks(uint32_t value) {
2919 _internal_set_transit_gps_degraded_fix_checks(value);
2920 // @@protoc_insertion_point(field_set:jaiabot.protobuf.GPSRequirements.transit_gps_degraded_fix_checks)
2921}
2922
2923// optional uint32 after_dive_gps_fix_checks = 7 [(.dccl.field) = {
2924inline bool GPSRequirements::_internal_has_after_dive_gps_fix_checks() const {
2925 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
2926 return value;
2927}
2928inline bool GPSRequirements::has_after_dive_gps_fix_checks() const {
2929 return _internal_has_after_dive_gps_fix_checks();
2930}
2931inline void GPSRequirements::clear_after_dive_gps_fix_checks() {
2932 _impl_.after_dive_gps_fix_checks_ = 0u;
2933 _impl_._has_bits_[0] &= ~0x00000040u;
2934}
2935inline uint32_t GPSRequirements::_internal_after_dive_gps_fix_checks() const {
2936 return _impl_.after_dive_gps_fix_checks_;
2937}
2938inline uint32_t GPSRequirements::after_dive_gps_fix_checks() const {
2939 // @@protoc_insertion_point(field_get:jaiabot.protobuf.GPSRequirements.after_dive_gps_fix_checks)
2940 return _internal_after_dive_gps_fix_checks();
2941}
2942inline void GPSRequirements::_internal_set_after_dive_gps_fix_checks(uint32_t value) {
2943 _impl_._has_bits_[0] |= 0x00000040u;
2944 _impl_.after_dive_gps_fix_checks_ = value;
2945}
2946inline void GPSRequirements::set_after_dive_gps_fix_checks(uint32_t value) {
2947 _internal_set_after_dive_gps_fix_checks(value);
2948 // @@protoc_insertion_point(field_set:jaiabot.protobuf.GPSRequirements.after_dive_gps_fix_checks)
2949}
2950
2951// -------------------------------------------------------------------
2952
2953// RFDisableOptions
2954
2955// optional bool rf_disable = 1 [default = false];
2956inline bool RFDisableOptions::_internal_has_rf_disable() const {
2957 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
2958 return value;
2959}
2960inline bool RFDisableOptions::has_rf_disable() const {
2961 return _internal_has_rf_disable();
2962}
2963inline void RFDisableOptions::clear_rf_disable() {
2964 _impl_.rf_disable_ = false;
2965 _impl_._has_bits_[0] &= ~0x00000001u;
2966}
2967inline bool RFDisableOptions::_internal_rf_disable() const {
2968 return _impl_.rf_disable_;
2969}
2970inline bool RFDisableOptions::rf_disable() const {
2971 // @@protoc_insertion_point(field_get:jaiabot.protobuf.RFDisableOptions.rf_disable)
2972 return _internal_rf_disable();
2973}
2974inline void RFDisableOptions::_internal_set_rf_disable(bool value) {
2975 _impl_._has_bits_[0] |= 0x00000001u;
2976 _impl_.rf_disable_ = value;
2977}
2978inline void RFDisableOptions::set_rf_disable(bool value) {
2979 _internal_set_rf_disable(value);
2980 // @@protoc_insertion_point(field_set:jaiabot.protobuf.RFDisableOptions.rf_disable)
2981}
2982
2983// optional int32 rf_disable_timeout_mins = 2 [default = 10, (.dccl.field) = {
2984inline bool RFDisableOptions::_internal_has_rf_disable_timeout_mins() const {
2985 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
2986 return value;
2987}
2988inline bool RFDisableOptions::has_rf_disable_timeout_mins() const {
2989 return _internal_has_rf_disable_timeout_mins();
2990}
2991inline void RFDisableOptions::clear_rf_disable_timeout_mins() {
2992 _impl_.rf_disable_timeout_mins_ = 10;
2993 _impl_._has_bits_[0] &= ~0x00000002u;
2994}
2995inline int32_t RFDisableOptions::_internal_rf_disable_timeout_mins() const {
2996 return _impl_.rf_disable_timeout_mins_;
2997}
2998inline int32_t RFDisableOptions::rf_disable_timeout_mins() const {
2999 // @@protoc_insertion_point(field_get:jaiabot.protobuf.RFDisableOptions.rf_disable_timeout_mins)
3000 return _internal_rf_disable_timeout_mins();
3001}
3002inline void RFDisableOptions::_internal_set_rf_disable_timeout_mins(int32_t value) {
3003 _impl_._has_bits_[0] |= 0x00000002u;
3004 _impl_.rf_disable_timeout_mins_ = value;
3005}
3006inline void RFDisableOptions::set_rf_disable_timeout_mins(int32_t value) {
3007 _internal_set_rf_disable_timeout_mins(value);
3008 // @@protoc_insertion_point(field_set:jaiabot.protobuf.RFDisableOptions.rf_disable_timeout_mins)
3009}
3010
3011// -------------------------------------------------------------------
3012
3013// IMUCalibration
3014
3015// optional bool run_cal = 1 [default = false];
3016inline bool IMUCalibration::_internal_has_run_cal() const {
3017 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
3018 return value;
3019}
3020inline bool IMUCalibration::has_run_cal() const {
3021 return _internal_has_run_cal();
3022}
3023inline void IMUCalibration::clear_run_cal() {
3024 _impl_.run_cal_ = false;
3025 _impl_._has_bits_[0] &= ~0x00000001u;
3026}
3027inline bool IMUCalibration::_internal_run_cal() const {
3028 return _impl_.run_cal_;
3029}
3030inline bool IMUCalibration::run_cal() const {
3031 // @@protoc_insertion_point(field_get:jaiabot.protobuf.IMUCalibration.run_cal)
3032 return _internal_run_cal();
3033}
3034inline void IMUCalibration::_internal_set_run_cal(bool value) {
3035 _impl_._has_bits_[0] |= 0x00000001u;
3036 _impl_.run_cal_ = value;
3037}
3038inline void IMUCalibration::set_run_cal(bool value) {
3039 _internal_set_run_cal(value);
3040 // @@protoc_insertion_point(field_set:jaiabot.protobuf.IMUCalibration.run_cal)
3041}
3042
3043// -------------------------------------------------------------------
3044
3045// Echo
3046
3047// optional bool start_echo = 1 [default = false];
3048inline bool Echo::_internal_has_start_echo() const {
3049 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
3050 return value;
3051}
3052inline bool Echo::has_start_echo() const {
3053 return _internal_has_start_echo();
3054}
3055inline void Echo::clear_start_echo() {
3056 _impl_.start_echo_ = false;
3057 _impl_._has_bits_[0] &= ~0x00000001u;
3058}
3059inline bool Echo::_internal_start_echo() const {
3060 return _impl_.start_echo_;
3061}
3062inline bool Echo::start_echo() const {
3063 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Echo.start_echo)
3064 return _internal_start_echo();
3065}
3066inline void Echo::_internal_set_start_echo(bool value) {
3067 _impl_._has_bits_[0] |= 0x00000001u;
3068 _impl_.start_echo_ = value;
3069}
3070inline void Echo::set_start_echo(bool value) {
3071 _internal_set_start_echo(value);
3072 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Echo.start_echo)
3073}
3074
3075// optional bool stop_echo = 2 [default = false];
3076inline bool Echo::_internal_has_stop_echo() const {
3077 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
3078 return value;
3079}
3080inline bool Echo::has_stop_echo() const {
3081 return _internal_has_stop_echo();
3082}
3083inline void Echo::clear_stop_echo() {
3084 _impl_.stop_echo_ = false;
3085 _impl_._has_bits_[0] &= ~0x00000002u;
3086}
3087inline bool Echo::_internal_stop_echo() const {
3088 return _impl_.stop_echo_;
3089}
3090inline bool Echo::stop_echo() const {
3091 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Echo.stop_echo)
3092 return _internal_stop_echo();
3093}
3094inline void Echo::_internal_set_stop_echo(bool value) {
3095 _impl_._has_bits_[0] |= 0x00000002u;
3096 _impl_.stop_echo_ = value;
3097}
3098inline void Echo::set_stop_echo(bool value) {
3099 _internal_set_stop_echo(value);
3100 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Echo.stop_echo)
3101}
3102
3103// optional .jaiabot.protobuf.EchoState echo_state = 3 [default = BOOTING];
3104inline bool Echo::_internal_has_echo_state() const {
3105 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
3106 return value;
3107}
3108inline bool Echo::has_echo_state() const {
3109 return _internal_has_echo_state();
3110}
3111inline void Echo::clear_echo_state() {
3112 _impl_.echo_state_ = 0;
3113 _impl_._has_bits_[0] &= ~0x00000004u;
3114}
3115inline ::jaiabot::protobuf::EchoState Echo::_internal_echo_state() const {
3116 return static_cast< ::jaiabot::protobuf::EchoState >(_impl_.echo_state_);
3117}
3118inline ::jaiabot::protobuf::EchoState Echo::echo_state() const {
3119 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Echo.echo_state)
3120 return _internal_echo_state();
3121}
3122inline void Echo::_internal_set_echo_state(::jaiabot::protobuf::EchoState value) {
3124 _impl_._has_bits_[0] |= 0x00000004u;
3125 _impl_.echo_state_ = value;
3126}
3127inline void Echo::set_echo_state(::jaiabot::protobuf::EchoState value) {
3128 _internal_set_echo_state(value);
3129 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Echo.echo_state)
3130}
3131
3132// -------------------------------------------------------------------
3133
3134// Engineering
3135
3136// required uint32 bot_id = 1 [(.dccl.field) = {
3137inline bool Engineering::_internal_has_bot_id() const {
3138 bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
3139 return value;
3140}
3141inline bool Engineering::has_bot_id() const {
3142 return _internal_has_bot_id();
3143}
3144inline void Engineering::clear_bot_id() {
3145 _impl_.bot_id_ = 0u;
3146 _impl_._has_bits_[0] &= ~0x00000100u;
3147}
3148inline uint32_t Engineering::_internal_bot_id() const {
3149 return _impl_.bot_id_;
3150}
3151inline uint32_t Engineering::bot_id() const {
3152 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.bot_id)
3153 return _internal_bot_id();
3154}
3155inline void Engineering::_internal_set_bot_id(uint32_t value) {
3156 _impl_._has_bits_[0] |= 0x00000100u;
3157 _impl_.bot_id_ = value;
3158}
3159inline void Engineering::set_bot_id(uint32_t value) {
3160 _internal_set_bot_id(value);
3161 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.bot_id)
3162}
3163
3164// optional uint64 time = 2 [(.dccl.field) = {
3165inline bool Engineering::_internal_has_time() const {
3166 bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
3167 return value;
3168}
3169inline bool Engineering::has_time() const {
3170 return _internal_has_time();
3171}
3172inline void Engineering::clear_time() {
3173 _impl_.time_ = uint64_t{0u};
3174 _impl_._has_bits_[0] &= ~0x00000080u;
3175}
3176inline uint64_t Engineering::_internal_time() const {
3177 return _impl_.time_;
3178}
3179inline uint64_t Engineering::time() const {
3180 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.time)
3181 return _internal_time();
3182}
3183inline void Engineering::_internal_set_time(uint64_t value) {
3184 _impl_._has_bits_[0] |= 0x00000080u;
3185 _impl_.time_ = value;
3186}
3187inline void Engineering::set_time(uint64_t value) {
3188 _internal_set_time(value);
3189 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.time)
3190}
3191
3192// optional .jaiabot.protobuf.PIDControl pid_control = 3;
3193inline bool Engineering::_internal_has_pid_control() const {
3194 bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
3195 PROTOBUF_ASSUME(!value || _impl_.pid_control_ != nullptr);
3196 return value;
3197}
3198inline bool Engineering::has_pid_control() const {
3199 return _internal_has_pid_control();
3200}
3201inline void Engineering::clear_pid_control() {
3202 if (_impl_.pid_control_ != nullptr) _impl_.pid_control_->Clear();
3203 _impl_._has_bits_[0] &= ~0x00000001u;
3204}
3205inline const ::jaiabot::protobuf::PIDControl& Engineering::_internal_pid_control() const {
3206 const ::jaiabot::protobuf::PIDControl* p = _impl_.pid_control_;
3207 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::PIDControl&>(
3209}
3210inline const ::jaiabot::protobuf::PIDControl& Engineering::pid_control() const {
3211 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.pid_control)
3212 return _internal_pid_control();
3213}
3214inline void Engineering::unsafe_arena_set_allocated_pid_control(
3215 ::jaiabot::protobuf::PIDControl* pid_control) {
3216 if (GetArenaForAllocation() == nullptr) {
3217 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.pid_control_);
3218 }
3219 _impl_.pid_control_ = pid_control;
3220 if (pid_control) {
3221 _impl_._has_bits_[0] |= 0x00000001u;
3222 } else {
3223 _impl_._has_bits_[0] &= ~0x00000001u;
3224 }
3225 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Engineering.pid_control)
3226}
3227inline ::jaiabot::protobuf::PIDControl* Engineering::release_pid_control() {
3228 _impl_._has_bits_[0] &= ~0x00000001u;
3229 ::jaiabot::protobuf::PIDControl* temp = _impl_.pid_control_;
3230 _impl_.pid_control_ = nullptr;
3231#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3232 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3233 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3234 if (GetArenaForAllocation() == nullptr) { delete old; }
3235#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3236 if (GetArenaForAllocation() != nullptr) {
3237 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3238 }
3239#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3240 return temp;
3241}
3242inline ::jaiabot::protobuf::PIDControl* Engineering::unsafe_arena_release_pid_control() {
3243 // @@protoc_insertion_point(field_release:jaiabot.protobuf.Engineering.pid_control)
3244 _impl_._has_bits_[0] &= ~0x00000001u;
3245 ::jaiabot::protobuf::PIDControl* temp = _impl_.pid_control_;
3246 _impl_.pid_control_ = nullptr;
3247 return temp;
3248}
3249inline ::jaiabot::protobuf::PIDControl* Engineering::_internal_mutable_pid_control() {
3250 _impl_._has_bits_[0] |= 0x00000001u;
3251 if (_impl_.pid_control_ == nullptr) {
3252 auto* p = CreateMaybeMessage<::jaiabot::protobuf::PIDControl>(GetArenaForAllocation());
3253 _impl_.pid_control_ = p;
3254 }
3255 return _impl_.pid_control_;
3256}
3257inline ::jaiabot::protobuf::PIDControl* Engineering::mutable_pid_control() {
3258 ::jaiabot::protobuf::PIDControl* _msg = _internal_mutable_pid_control();
3259 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Engineering.pid_control)
3260 return _msg;
3261}
3262inline void Engineering::set_allocated_pid_control(::jaiabot::protobuf::PIDControl* pid_control) {
3263 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3264 if (message_arena == nullptr) {
3265 delete _impl_.pid_control_;
3266 }
3267 if (pid_control) {
3268 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3269 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(pid_control);
3270 if (message_arena != submessage_arena) {
3271 pid_control = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3272 message_arena, pid_control, submessage_arena);
3273 }
3274 _impl_._has_bits_[0] |= 0x00000001u;
3275 } else {
3276 _impl_._has_bits_[0] &= ~0x00000001u;
3277 }
3278 _impl_.pid_control_ = pid_control;
3279 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.Engineering.pid_control)
3280}
3281
3282// optional bool query_engineering_status = 4 [default = false];
3283inline bool Engineering::_internal_has_query_engineering_status() const {
3284 bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
3285 return value;
3286}
3287inline bool Engineering::has_query_engineering_status() const {
3288 return _internal_has_query_engineering_status();
3289}
3290inline void Engineering::clear_query_engineering_status() {
3291 _impl_.query_engineering_status_ = false;
3292 _impl_._has_bits_[0] &= ~0x00000200u;
3293}
3294inline bool Engineering::_internal_query_engineering_status() const {
3295 return _impl_.query_engineering_status_;
3296}
3297inline bool Engineering::query_engineering_status() const {
3298 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.query_engineering_status)
3299 return _internal_query_engineering_status();
3300}
3301inline void Engineering::_internal_set_query_engineering_status(bool value) {
3302 _impl_._has_bits_[0] |= 0x00000200u;
3303 _impl_.query_engineering_status_ = value;
3304}
3305inline void Engineering::set_query_engineering_status(bool value) {
3306 _internal_set_query_engineering_status(value);
3307 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.query_engineering_status)
3308}
3309
3310// optional bool query_bot_status = 5 [default = false];
3311inline bool Engineering::_internal_has_query_bot_status() const {
3312 bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
3313 return value;
3314}
3315inline bool Engineering::has_query_bot_status() const {
3316 return _internal_has_query_bot_status();
3317}
3318inline void Engineering::clear_query_bot_status() {
3319 _impl_.query_bot_status_ = false;
3320 _impl_._has_bits_[0] &= ~0x00000400u;
3321}
3322inline bool Engineering::_internal_query_bot_status() const {
3323 return _impl_.query_bot_status_;
3324}
3325inline bool Engineering::query_bot_status() const {
3326 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.query_bot_status)
3327 return _internal_query_bot_status();
3328}
3329inline void Engineering::_internal_set_query_bot_status(bool value) {
3330 _impl_._has_bits_[0] |= 0x00000400u;
3331 _impl_.query_bot_status_ = value;
3332}
3333inline void Engineering::set_query_bot_status(bool value) {
3334 _internal_set_query_bot_status(value);
3335 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.query_bot_status)
3336}
3337
3338// optional bool engineering_messages_enabled = 13;
3339inline bool Engineering::_internal_has_engineering_messages_enabled() const {
3340 bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
3341 return value;
3342}
3343inline bool Engineering::has_engineering_messages_enabled() const {
3344 return _internal_has_engineering_messages_enabled();
3345}
3346inline void Engineering::clear_engineering_messages_enabled() {
3347 _impl_.engineering_messages_enabled_ = false;
3348 _impl_._has_bits_[0] &= ~0x00000800u;
3349}
3350inline bool Engineering::_internal_engineering_messages_enabled() const {
3351 return _impl_.engineering_messages_enabled_;
3352}
3353inline bool Engineering::engineering_messages_enabled() const {
3354 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.engineering_messages_enabled)
3355 return _internal_engineering_messages_enabled();
3356}
3357inline void Engineering::_internal_set_engineering_messages_enabled(bool value) {
3358 _impl_._has_bits_[0] |= 0x00000800u;
3359 _impl_.engineering_messages_enabled_ = value;
3360}
3361inline void Engineering::set_engineering_messages_enabled(bool value) {
3362 _internal_set_engineering_messages_enabled(value);
3363 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.engineering_messages_enabled)
3364}
3365
3366// optional .jaiabot.protobuf.BotStatusRate bot_status_rate = 14 [default = BotStatusRate_1_Hz];
3367inline bool Engineering::_internal_has_bot_status_rate() const {
3368 bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
3369 return value;
3370}
3371inline bool Engineering::has_bot_status_rate() const {
3372 return _internal_has_bot_status_rate();
3373}
3374inline void Engineering::clear_bot_status_rate() {
3375 _impl_.bot_status_rate_ = 1;
3376 _impl_._has_bits_[0] &= ~0x00002000u;
3377}
3378inline ::jaiabot::protobuf::BotStatusRate Engineering::_internal_bot_status_rate() const {
3379 return static_cast< ::jaiabot::protobuf::BotStatusRate >(_impl_.bot_status_rate_);
3380}
3381inline ::jaiabot::protobuf::BotStatusRate Engineering::bot_status_rate() const {
3382 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.bot_status_rate)
3383 return _internal_bot_status_rate();
3384}
3385inline void Engineering::_internal_set_bot_status_rate(::jaiabot::protobuf::BotStatusRate value) {
3387 _impl_._has_bits_[0] |= 0x00002000u;
3388 _impl_.bot_status_rate_ = value;
3389}
3390inline void Engineering::set_bot_status_rate(::jaiabot::protobuf::BotStatusRate value) {
3391 _internal_set_bot_status_rate(value);
3392 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.bot_status_rate)
3393}
3394
3395// optional .jaiabot.protobuf.GPSRequirements gps_requirements = 15;
3396inline bool Engineering::_internal_has_gps_requirements() const {
3397 bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
3398 PROTOBUF_ASSUME(!value || _impl_.gps_requirements_ != nullptr);
3399 return value;
3400}
3401inline bool Engineering::has_gps_requirements() const {
3402 return _internal_has_gps_requirements();
3403}
3404inline void Engineering::clear_gps_requirements() {
3405 if (_impl_.gps_requirements_ != nullptr) _impl_.gps_requirements_->Clear();
3406 _impl_._has_bits_[0] &= ~0x00000002u;
3407}
3408inline const ::jaiabot::protobuf::GPSRequirements& Engineering::_internal_gps_requirements() const {
3409 const ::jaiabot::protobuf::GPSRequirements* p = _impl_.gps_requirements_;
3410 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::GPSRequirements&>(
3412}
3413inline const ::jaiabot::protobuf::GPSRequirements& Engineering::gps_requirements() const {
3414 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.gps_requirements)
3415 return _internal_gps_requirements();
3416}
3417inline void Engineering::unsafe_arena_set_allocated_gps_requirements(
3418 ::jaiabot::protobuf::GPSRequirements* gps_requirements) {
3419 if (GetArenaForAllocation() == nullptr) {
3420 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.gps_requirements_);
3421 }
3422 _impl_.gps_requirements_ = gps_requirements;
3423 if (gps_requirements) {
3424 _impl_._has_bits_[0] |= 0x00000002u;
3425 } else {
3426 _impl_._has_bits_[0] &= ~0x00000002u;
3427 }
3428 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Engineering.gps_requirements)
3429}
3430inline ::jaiabot::protobuf::GPSRequirements* Engineering::release_gps_requirements() {
3431 _impl_._has_bits_[0] &= ~0x00000002u;
3432 ::jaiabot::protobuf::GPSRequirements* temp = _impl_.gps_requirements_;
3433 _impl_.gps_requirements_ = nullptr;
3434#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3435 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3436 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3437 if (GetArenaForAllocation() == nullptr) { delete old; }
3438#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3439 if (GetArenaForAllocation() != nullptr) {
3440 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3441 }
3442#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3443 return temp;
3444}
3445inline ::jaiabot::protobuf::GPSRequirements* Engineering::unsafe_arena_release_gps_requirements() {
3446 // @@protoc_insertion_point(field_release:jaiabot.protobuf.Engineering.gps_requirements)
3447 _impl_._has_bits_[0] &= ~0x00000002u;
3448 ::jaiabot::protobuf::GPSRequirements* temp = _impl_.gps_requirements_;
3449 _impl_.gps_requirements_ = nullptr;
3450 return temp;
3451}
3452inline ::jaiabot::protobuf::GPSRequirements* Engineering::_internal_mutable_gps_requirements() {
3453 _impl_._has_bits_[0] |= 0x00000002u;
3454 if (_impl_.gps_requirements_ == nullptr) {
3455 auto* p = CreateMaybeMessage<::jaiabot::protobuf::GPSRequirements>(GetArenaForAllocation());
3456 _impl_.gps_requirements_ = p;
3457 }
3458 return _impl_.gps_requirements_;
3459}
3460inline ::jaiabot::protobuf::GPSRequirements* Engineering::mutable_gps_requirements() {
3461 ::jaiabot::protobuf::GPSRequirements* _msg = _internal_mutable_gps_requirements();
3462 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Engineering.gps_requirements)
3463 return _msg;
3464}
3465inline void Engineering::set_allocated_gps_requirements(::jaiabot::protobuf::GPSRequirements* gps_requirements) {
3466 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3467 if (message_arena == nullptr) {
3468 delete _impl_.gps_requirements_;
3469 }
3470 if (gps_requirements) {
3471 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3472 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(gps_requirements);
3473 if (message_arena != submessage_arena) {
3474 gps_requirements = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3475 message_arena, gps_requirements, submessage_arena);
3476 }
3477 _impl_._has_bits_[0] |= 0x00000002u;
3478 } else {
3479 _impl_._has_bits_[0] &= ~0x00000002u;
3480 }
3481 _impl_.gps_requirements_ = gps_requirements;
3482 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.Engineering.gps_requirements)
3483}
3484
3485// optional .jaiabot.protobuf.RFDisableOptions rf_disable_options = 16;
3486inline bool Engineering::_internal_has_rf_disable_options() const {
3487 bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
3488 PROTOBUF_ASSUME(!value || _impl_.rf_disable_options_ != nullptr);
3489 return value;
3490}
3491inline bool Engineering::has_rf_disable_options() const {
3492 return _internal_has_rf_disable_options();
3493}
3494inline void Engineering::clear_rf_disable_options() {
3495 if (_impl_.rf_disable_options_ != nullptr) _impl_.rf_disable_options_->Clear();
3496 _impl_._has_bits_[0] &= ~0x00000004u;
3497}
3498inline const ::jaiabot::protobuf::RFDisableOptions& Engineering::_internal_rf_disable_options() const {
3499 const ::jaiabot::protobuf::RFDisableOptions* p = _impl_.rf_disable_options_;
3500 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::RFDisableOptions&>(
3502}
3503inline const ::jaiabot::protobuf::RFDisableOptions& Engineering::rf_disable_options() const {
3504 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.rf_disable_options)
3505 return _internal_rf_disable_options();
3506}
3507inline void Engineering::unsafe_arena_set_allocated_rf_disable_options(
3508 ::jaiabot::protobuf::RFDisableOptions* rf_disable_options) {
3509 if (GetArenaForAllocation() == nullptr) {
3510 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rf_disable_options_);
3511 }
3512 _impl_.rf_disable_options_ = rf_disable_options;
3513 if (rf_disable_options) {
3514 _impl_._has_bits_[0] |= 0x00000004u;
3515 } else {
3516 _impl_._has_bits_[0] &= ~0x00000004u;
3517 }
3518 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Engineering.rf_disable_options)
3519}
3520inline ::jaiabot::protobuf::RFDisableOptions* Engineering::release_rf_disable_options() {
3521 _impl_._has_bits_[0] &= ~0x00000004u;
3522 ::jaiabot::protobuf::RFDisableOptions* temp = _impl_.rf_disable_options_;
3523 _impl_.rf_disable_options_ = nullptr;
3524#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3525 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3526 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3527 if (GetArenaForAllocation() == nullptr) { delete old; }
3528#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3529 if (GetArenaForAllocation() != nullptr) {
3530 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3531 }
3532#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3533 return temp;
3534}
3535inline ::jaiabot::protobuf::RFDisableOptions* Engineering::unsafe_arena_release_rf_disable_options() {
3536 // @@protoc_insertion_point(field_release:jaiabot.protobuf.Engineering.rf_disable_options)
3537 _impl_._has_bits_[0] &= ~0x00000004u;
3538 ::jaiabot::protobuf::RFDisableOptions* temp = _impl_.rf_disable_options_;
3539 _impl_.rf_disable_options_ = nullptr;
3540 return temp;
3541}
3542inline ::jaiabot::protobuf::RFDisableOptions* Engineering::_internal_mutable_rf_disable_options() {
3543 _impl_._has_bits_[0] |= 0x00000004u;
3544 if (_impl_.rf_disable_options_ == nullptr) {
3545 auto* p = CreateMaybeMessage<::jaiabot::protobuf::RFDisableOptions>(GetArenaForAllocation());
3546 _impl_.rf_disable_options_ = p;
3547 }
3548 return _impl_.rf_disable_options_;
3549}
3550inline ::jaiabot::protobuf::RFDisableOptions* Engineering::mutable_rf_disable_options() {
3551 ::jaiabot::protobuf::RFDisableOptions* _msg = _internal_mutable_rf_disable_options();
3552 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Engineering.rf_disable_options)
3553 return _msg;
3554}
3555inline void Engineering::set_allocated_rf_disable_options(::jaiabot::protobuf::RFDisableOptions* rf_disable_options) {
3556 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3557 if (message_arena == nullptr) {
3558 delete _impl_.rf_disable_options_;
3559 }
3560 if (rf_disable_options) {
3561 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3562 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rf_disable_options);
3563 if (message_arena != submessage_arena) {
3564 rf_disable_options = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3565 message_arena, rf_disable_options, submessage_arena);
3566 }
3567 _impl_._has_bits_[0] |= 0x00000004u;
3568 } else {
3569 _impl_._has_bits_[0] &= ~0x00000004u;
3570 }
3571 _impl_.rf_disable_options_ = rf_disable_options;
3572 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.Engineering.rf_disable_options)
3573}
3574
3575// optional .jaiabot.protobuf.BottomDepthSafetyParams bottom_depth_safety_params = 17;
3576inline bool Engineering::_internal_has_bottom_depth_safety_params() const {
3577 bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
3578 PROTOBUF_ASSUME(!value || _impl_.bottom_depth_safety_params_ != nullptr);
3579 return value;
3580}
3581inline bool Engineering::has_bottom_depth_safety_params() const {
3582 return _internal_has_bottom_depth_safety_params();
3583}
3584inline const ::jaiabot::protobuf::BottomDepthSafetyParams& Engineering::_internal_bottom_depth_safety_params() const {
3585 const ::jaiabot::protobuf::BottomDepthSafetyParams* p = _impl_.bottom_depth_safety_params_;
3586 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::BottomDepthSafetyParams&>(
3588}
3589inline const ::jaiabot::protobuf::BottomDepthSafetyParams& Engineering::bottom_depth_safety_params() const {
3590 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.bottom_depth_safety_params)
3591 return _internal_bottom_depth_safety_params();
3592}
3593inline void Engineering::unsafe_arena_set_allocated_bottom_depth_safety_params(
3594 ::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params) {
3595 if (GetArenaForAllocation() == nullptr) {
3596 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bottom_depth_safety_params_);
3597 }
3598 _impl_.bottom_depth_safety_params_ = bottom_depth_safety_params;
3599 if (bottom_depth_safety_params) {
3600 _impl_._has_bits_[0] |= 0x00000008u;
3601 } else {
3602 _impl_._has_bits_[0] &= ~0x00000008u;
3603 }
3604 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Engineering.bottom_depth_safety_params)
3605}
3606inline ::jaiabot::protobuf::BottomDepthSafetyParams* Engineering::release_bottom_depth_safety_params() {
3607 _impl_._has_bits_[0] &= ~0x00000008u;
3608 ::jaiabot::protobuf::BottomDepthSafetyParams* temp = _impl_.bottom_depth_safety_params_;
3609 _impl_.bottom_depth_safety_params_ = nullptr;
3610#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3611 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3612 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3613 if (GetArenaForAllocation() == nullptr) { delete old; }
3614#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3615 if (GetArenaForAllocation() != nullptr) {
3616 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3617 }
3618#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3619 return temp;
3620}
3621inline ::jaiabot::protobuf::BottomDepthSafetyParams* Engineering::unsafe_arena_release_bottom_depth_safety_params() {
3622 // @@protoc_insertion_point(field_release:jaiabot.protobuf.Engineering.bottom_depth_safety_params)
3623 _impl_._has_bits_[0] &= ~0x00000008u;
3624 ::jaiabot::protobuf::BottomDepthSafetyParams* temp = _impl_.bottom_depth_safety_params_;
3625 _impl_.bottom_depth_safety_params_ = nullptr;
3626 return temp;
3627}
3628inline ::jaiabot::protobuf::BottomDepthSafetyParams* Engineering::_internal_mutable_bottom_depth_safety_params() {
3629 _impl_._has_bits_[0] |= 0x00000008u;
3630 if (_impl_.bottom_depth_safety_params_ == nullptr) {
3632 _impl_.bottom_depth_safety_params_ = p;
3633 }
3634 return _impl_.bottom_depth_safety_params_;
3635}
3636inline ::jaiabot::protobuf::BottomDepthSafetyParams* Engineering::mutable_bottom_depth_safety_params() {
3637 ::jaiabot::protobuf::BottomDepthSafetyParams* _msg = _internal_mutable_bottom_depth_safety_params();
3638 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Engineering.bottom_depth_safety_params)
3639 return _msg;
3640}
3641inline void Engineering::set_allocated_bottom_depth_safety_params(::jaiabot::protobuf::BottomDepthSafetyParams* bottom_depth_safety_params) {
3642 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3643 if (message_arena == nullptr) {
3644 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bottom_depth_safety_params_);
3645 }
3646 if (bottom_depth_safety_params) {
3647 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3648 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
3649 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bottom_depth_safety_params));
3650 if (message_arena != submessage_arena) {
3651 bottom_depth_safety_params = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3652 message_arena, bottom_depth_safety_params, submessage_arena);
3653 }
3654 _impl_._has_bits_[0] |= 0x00000008u;
3655 } else {
3656 _impl_._has_bits_[0] &= ~0x00000008u;
3657 }
3658 _impl_.bottom_depth_safety_params_ = bottom_depth_safety_params;
3659 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.Engineering.bottom_depth_safety_params)
3660}
3661
3662// optional .jaiabot.protobuf.IMUCalibration imu_cal = 18;
3663inline bool Engineering::_internal_has_imu_cal() const {
3664 bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
3665 PROTOBUF_ASSUME(!value || _impl_.imu_cal_ != nullptr);
3666 return value;
3667}
3668inline bool Engineering::has_imu_cal() const {
3669 return _internal_has_imu_cal();
3670}
3671inline void Engineering::clear_imu_cal() {
3672 if (_impl_.imu_cal_ != nullptr) _impl_.imu_cal_->Clear();
3673 _impl_._has_bits_[0] &= ~0x00000010u;
3674}
3675inline const ::jaiabot::protobuf::IMUCalibration& Engineering::_internal_imu_cal() const {
3676 const ::jaiabot::protobuf::IMUCalibration* p = _impl_.imu_cal_;
3677 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::IMUCalibration&>(
3679}
3680inline const ::jaiabot::protobuf::IMUCalibration& Engineering::imu_cal() const {
3681 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.imu_cal)
3682 return _internal_imu_cal();
3683}
3684inline void Engineering::unsafe_arena_set_allocated_imu_cal(
3686 if (GetArenaForAllocation() == nullptr) {
3687 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.imu_cal_);
3688 }
3689 _impl_.imu_cal_ = imu_cal;
3690 if (imu_cal) {
3691 _impl_._has_bits_[0] |= 0x00000010u;
3692 } else {
3693 _impl_._has_bits_[0] &= ~0x00000010u;
3694 }
3695 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Engineering.imu_cal)
3696}
3697inline ::jaiabot::protobuf::IMUCalibration* Engineering::release_imu_cal() {
3698 _impl_._has_bits_[0] &= ~0x00000010u;
3699 ::jaiabot::protobuf::IMUCalibration* temp = _impl_.imu_cal_;
3700 _impl_.imu_cal_ = nullptr;
3701#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3702 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3703 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3704 if (GetArenaForAllocation() == nullptr) { delete old; }
3705#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3706 if (GetArenaForAllocation() != nullptr) {
3707 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3708 }
3709#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3710 return temp;
3711}
3712inline ::jaiabot::protobuf::IMUCalibration* Engineering::unsafe_arena_release_imu_cal() {
3713 // @@protoc_insertion_point(field_release:jaiabot.protobuf.Engineering.imu_cal)
3714 _impl_._has_bits_[0] &= ~0x00000010u;
3715 ::jaiabot::protobuf::IMUCalibration* temp = _impl_.imu_cal_;
3716 _impl_.imu_cal_ = nullptr;
3717 return temp;
3718}
3719inline ::jaiabot::protobuf::IMUCalibration* Engineering::_internal_mutable_imu_cal() {
3720 _impl_._has_bits_[0] |= 0x00000010u;
3721 if (_impl_.imu_cal_ == nullptr) {
3722 auto* p = CreateMaybeMessage<::jaiabot::protobuf::IMUCalibration>(GetArenaForAllocation());
3723 _impl_.imu_cal_ = p;
3724 }
3725 return _impl_.imu_cal_;
3726}
3727inline ::jaiabot::protobuf::IMUCalibration* Engineering::mutable_imu_cal() {
3728 ::jaiabot::protobuf::IMUCalibration* _msg = _internal_mutable_imu_cal();
3729 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Engineering.imu_cal)
3730 return _msg;
3731}
3732inline void Engineering::set_allocated_imu_cal(::jaiabot::protobuf::IMUCalibration* imu_cal) {
3733 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3734 if (message_arena == nullptr) {
3735 delete _impl_.imu_cal_;
3736 }
3737 if (imu_cal) {
3738 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3739 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(imu_cal);
3740 if (message_arena != submessage_arena) {
3741 imu_cal = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3742 message_arena, imu_cal, submessage_arena);
3743 }
3744 _impl_._has_bits_[0] |= 0x00000010u;
3745 } else {
3746 _impl_._has_bits_[0] &= ~0x00000010u;
3747 }
3748 _impl_.imu_cal_ = imu_cal;
3749 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.Engineering.imu_cal)
3750}
3751
3752// optional .jaiabot.protobuf.Echo echo = 19;
3753inline bool Engineering::_internal_has_echo() const {
3754 bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
3755 PROTOBUF_ASSUME(!value || _impl_.echo_ != nullptr);
3756 return value;
3757}
3758inline bool Engineering::has_echo() const {
3759 return _internal_has_echo();
3760}
3761inline void Engineering::clear_echo() {
3762 if (_impl_.echo_ != nullptr) _impl_.echo_->Clear();
3763 _impl_._has_bits_[0] &= ~0x00000020u;
3764}
3765inline const ::jaiabot::protobuf::Echo& Engineering::_internal_echo() const {
3766 const ::jaiabot::protobuf::Echo* p = _impl_.echo_;
3767 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::Echo&>(
3769}
3770inline const ::jaiabot::protobuf::Echo& Engineering::echo() const {
3771 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.echo)
3772 return _internal_echo();
3773}
3774inline void Engineering::unsafe_arena_set_allocated_echo(
3776 if (GetArenaForAllocation() == nullptr) {
3777 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.echo_);
3778 }
3779 _impl_.echo_ = echo;
3780 if (echo) {
3781 _impl_._has_bits_[0] |= 0x00000020u;
3782 } else {
3783 _impl_._has_bits_[0] &= ~0x00000020u;
3784 }
3785 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Engineering.echo)
3786}
3787inline ::jaiabot::protobuf::Echo* Engineering::release_echo() {
3788 _impl_._has_bits_[0] &= ~0x00000020u;
3789 ::jaiabot::protobuf::Echo* temp = _impl_.echo_;
3790 _impl_.echo_ = nullptr;
3791#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3792 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3793 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3794 if (GetArenaForAllocation() == nullptr) { delete old; }
3795#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3796 if (GetArenaForAllocation() != nullptr) {
3797 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3798 }
3799#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3800 return temp;
3801}
3802inline ::jaiabot::protobuf::Echo* Engineering::unsafe_arena_release_echo() {
3803 // @@protoc_insertion_point(field_release:jaiabot.protobuf.Engineering.echo)
3804 _impl_._has_bits_[0] &= ~0x00000020u;
3805 ::jaiabot::protobuf::Echo* temp = _impl_.echo_;
3806 _impl_.echo_ = nullptr;
3807 return temp;
3808}
3809inline ::jaiabot::protobuf::Echo* Engineering::_internal_mutable_echo() {
3810 _impl_._has_bits_[0] |= 0x00000020u;
3811 if (_impl_.echo_ == nullptr) {
3812 auto* p = CreateMaybeMessage<::jaiabot::protobuf::Echo>(GetArenaForAllocation());
3813 _impl_.echo_ = p;
3814 }
3815 return _impl_.echo_;
3816}
3817inline ::jaiabot::protobuf::Echo* Engineering::mutable_echo() {
3818 ::jaiabot::protobuf::Echo* _msg = _internal_mutable_echo();
3819 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Engineering.echo)
3820 return _msg;
3821}
3822inline void Engineering::set_allocated_echo(::jaiabot::protobuf::Echo* echo) {
3823 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3824 if (message_arena == nullptr) {
3825 delete _impl_.echo_;
3826 }
3827 if (echo) {
3828 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3829 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(echo);
3830 if (message_arena != submessage_arena) {
3831 echo = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3832 message_arena, echo, submessage_arena);
3833 }
3834 _impl_._has_bits_[0] |= 0x00000020u;
3835 } else {
3836 _impl_._has_bits_[0] &= ~0x00000020u;
3837 }
3838 _impl_.echo_ = echo;
3839 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.Engineering.echo)
3840}
3841
3842// optional uint32 flag = 100 [(.dccl.field) = {
3843inline bool Engineering::_internal_has_flag() const {
3844 bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
3845 return value;
3846}
3847inline bool Engineering::has_flag() const {
3848 return _internal_has_flag();
3849}
3850inline void Engineering::clear_flag() {
3851 _impl_.flag_ = 0u;
3852 _impl_._has_bits_[0] &= ~0x00001000u;
3853}
3854inline uint32_t Engineering::_internal_flag() const {
3855 return _impl_.flag_;
3856}
3857inline uint32_t Engineering::flag() const {
3858 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.flag)
3859 return _internal_flag();
3860}
3861inline void Engineering::_internal_set_flag(uint32_t value) {
3862 _impl_._has_bits_[0] |= 0x00001000u;
3863 _impl_.flag_ = value;
3864}
3865inline void Engineering::set_flag(uint32_t value) {
3866 _internal_set_flag(value);
3867 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.flag)
3868}
3869
3870// optional .jaiabot.protobuf.Bounds bounds = 101;
3871inline bool Engineering::_internal_has_bounds() const {
3872 bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
3873 PROTOBUF_ASSUME(!value || _impl_.bounds_ != nullptr);
3874 return value;
3875}
3876inline bool Engineering::has_bounds() const {
3877 return _internal_has_bounds();
3878}
3879inline const ::jaiabot::protobuf::Bounds& Engineering::_internal_bounds() const {
3880 const ::jaiabot::protobuf::Bounds* p = _impl_.bounds_;
3881 return p != nullptr ? *p : reinterpret_cast<const ::jaiabot::protobuf::Bounds&>(
3883}
3884inline const ::jaiabot::protobuf::Bounds& Engineering::bounds() const {
3885 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.bounds)
3886 return _internal_bounds();
3887}
3888inline void Engineering::unsafe_arena_set_allocated_bounds(
3890 if (GetArenaForAllocation() == nullptr) {
3891 delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bounds_);
3892 }
3893 _impl_.bounds_ = bounds;
3894 if (bounds) {
3895 _impl_._has_bits_[0] |= 0x00000040u;
3896 } else {
3897 _impl_._has_bits_[0] &= ~0x00000040u;
3898 }
3899 // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.protobuf.Engineering.bounds)
3900}
3901inline ::jaiabot::protobuf::Bounds* Engineering::release_bounds() {
3902 _impl_._has_bits_[0] &= ~0x00000040u;
3903 ::jaiabot::protobuf::Bounds* temp = _impl_.bounds_;
3904 _impl_.bounds_ = nullptr;
3905#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
3906 auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
3907 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3908 if (GetArenaForAllocation() == nullptr) { delete old; }
3909#else // PROTOBUF_FORCE_COPY_IN_RELEASE
3910 if (GetArenaForAllocation() != nullptr) {
3911 temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
3912 }
3913#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
3914 return temp;
3915}
3916inline ::jaiabot::protobuf::Bounds* Engineering::unsafe_arena_release_bounds() {
3917 // @@protoc_insertion_point(field_release:jaiabot.protobuf.Engineering.bounds)
3918 _impl_._has_bits_[0] &= ~0x00000040u;
3919 ::jaiabot::protobuf::Bounds* temp = _impl_.bounds_;
3920 _impl_.bounds_ = nullptr;
3921 return temp;
3922}
3923inline ::jaiabot::protobuf::Bounds* Engineering::_internal_mutable_bounds() {
3924 _impl_._has_bits_[0] |= 0x00000040u;
3925 if (_impl_.bounds_ == nullptr) {
3926 auto* p = CreateMaybeMessage<::jaiabot::protobuf::Bounds>(GetArenaForAllocation());
3927 _impl_.bounds_ = p;
3928 }
3929 return _impl_.bounds_;
3930}
3931inline ::jaiabot::protobuf::Bounds* Engineering::mutable_bounds() {
3932 ::jaiabot::protobuf::Bounds* _msg = _internal_mutable_bounds();
3933 // @@protoc_insertion_point(field_mutable:jaiabot.protobuf.Engineering.bounds)
3934 return _msg;
3935}
3936inline void Engineering::set_allocated_bounds(::jaiabot::protobuf::Bounds* bounds) {
3937 ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
3938 if (message_arena == nullptr) {
3939 delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bounds_);
3940 }
3941 if (bounds) {
3942 ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
3943 ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
3944 reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bounds));
3945 if (message_arena != submessage_arena) {
3946 bounds = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
3947 message_arena, bounds, submessage_arena);
3948 }
3949 _impl_._has_bits_[0] |= 0x00000040u;
3950 } else {
3951 _impl_._has_bits_[0] &= ~0x00000040u;
3952 }
3953 _impl_.bounds_ = bounds;
3954 // @@protoc_insertion_point(field_set_allocated:jaiabot.protobuf.Engineering.bounds)
3955}
3956
3957// optional .jaiabot.protobuf.Link link = 200 [(.dccl.field) = {
3958inline bool Engineering::_internal_has_link() const {
3959 bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
3960 return value;
3961}
3962inline bool Engineering::has_link() const {
3963 return _internal_has_link();
3964}
3965inline void Engineering::clear_link() {
3966 _impl_.link_ = -1;
3967 _impl_._has_bits_[0] &= ~0x00004000u;
3968}
3969inline ::jaiabot::protobuf::Link Engineering::_internal_link() const {
3970 return static_cast< ::jaiabot::protobuf::Link >(_impl_.link_);
3971}
3972inline ::jaiabot::protobuf::Link Engineering::link() const {
3973 // @@protoc_insertion_point(field_get:jaiabot.protobuf.Engineering.link)
3974 return _internal_link();
3975}
3976inline void Engineering::_internal_set_link(::jaiabot::protobuf::Link value) {
3977 assert(::jaiabot::protobuf::Link_IsValid(value));
3978 _impl_._has_bits_[0] |= 0x00004000u;
3979 _impl_.link_ = value;
3980}
3981inline void Engineering::set_link(::jaiabot::protobuf::Link value) {
3982 _internal_set_link(value);
3983 // @@protoc_insertion_point(field_set:jaiabot.protobuf.Engineering.link)
3984}
3985
3986#ifdef __GNUC__
3987 #pragma GCC diagnostic pop
3988#endif // __GNUC__
3989// -------------------------------------------------------------------
3990
3991// -------------------------------------------------------------------
3992
3993// -------------------------------------------------------------------
3994
3995// -------------------------------------------------------------------
3996
3997// -------------------------------------------------------------------
3998
3999// -------------------------------------------------------------------
4000
4001
4002// @@protoc_insertion_point(namespace_scope)
4003
4004} // namespace protobuf
4005} // namespace jaiabot
4006
4007PROTOBUF_NAMESPACE_OPEN
4008
4009template <> struct is_proto_enum< ::jaiabot::protobuf::BotStatusRate> : ::std::true_type {};
4010template <>
4012 return ::jaiabot::protobuf::BotStatusRate_descriptor();
4013}
4014
4015PROTOBUF_NAMESPACE_CLOSE
4016
4017// @@protoc_insertion_point(global_scope)
4018
4019#include <google/protobuf/port_undef.inc>
4020#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_jaiabot_2fmessages_2fengineering_2eproto
PROTOBUF_NAMESPACE_OPEN ::jaiabot::protobuf::Bounds * Arena::CreateMaybeMessage<::jaiabot::protobuf::Bounds >(Arena *)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
Echo(Echo &&from) noexcept
Echo(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
Echo(const Echo &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Echo * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const Echo & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void CopyFrom(const Echo &from)
friend void swap(Echo &a, Echo &b)
Echo & operator=(const Echo &from)
static const ClassData _class_data_
Echo & operator=(Echo &&from) noexcept
PROTOBUF_CONSTEXPR Echo(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void MergeFrom(const Echo &from)
void UnsafeArenaSwap(Echo *other)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const Echo * internal_default_instance()
boost::units::make_scaled_unit< boost::units::unit< time_dimension, boost::units::si::system >, boost::units::scale< 10, boost::units::static_rational<-6 > > >::type time_unit
boost::units::time_dimension time_dimension
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
void Swap(Engineering *other)
PROTOBUF_CONSTEXPR Engineering(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const Engineering & default_instance()
Engineering & operator=(Engineering &&from) noexcept
Engineering * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void UnsafeArenaSwap(Engineering *other)
void MergeFrom(const Engineering &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void CopyFrom(const Engineering &from)
static const ClassData _class_data_
static const Engineering * internal_default_instance()
Engineering(const Engineering &from)
void set_time_with_units(Quantity value_w_units)
Engineering(Engineering &&from) noexcept
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Engineering(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
friend void swap(Engineering &a, Engineering &b)
Engineering & operator=(const Engineering &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
boost::units::quantity< time_unit, google::protobuf::uint64 > time_with_units() const
GPSRequirements(GPSRequirements &&from) noexcept
PROTOBUF_CONSTEXPR GPSRequirements(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void UnsafeArenaSwap(GPSRequirements *other)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
friend void swap(GPSRequirements &a, GPSRequirements &b)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const GPSRequirements & default_instance()
void CopyFrom(const GPSRequirements &from)
GPSRequirements & operator=(GPSRequirements &&from) noexcept
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const ClassData _class_data_
void Swap(GPSRequirements *other)
GPSRequirements & operator=(const GPSRequirements &from)
GPSRequirements * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
GPSRequirements(const GPSRequirements &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
static const GPSRequirements * internal_default_instance()
GPSRequirements(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
void MergeFrom(const GPSRequirements &from)
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
IMUCalibration & operator=(IMUCalibration &&from) noexcept
PROTOBUF_CONSTEXPR IMUCalibration(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
IMUCalibration(const IMUCalibration &from)
static const IMUCalibration * internal_default_instance()
static const IMUCalibration & default_instance()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
IMUCalibration(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
friend void swap(IMUCalibration &a, IMUCalibration &b)
IMUCalibration * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void UnsafeArenaSwap(IMUCalibration *other)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
void Swap(IMUCalibration *other)
void MergeFrom(const IMUCalibration &from)
IMUCalibration & operator=(const IMUCalibration &from)
void CopyFrom(const IMUCalibration &from)
IMUCalibration(IMUCalibration &&from) noexcept
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ClassData _class_data_
PROTOBUF_CONSTEXPR PIDControl_PIDSettings(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
PIDControl_PIDSettings & operator=(PIDControl_PIDSettings &&from) noexcept
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
boost::units::unit< target_dimension, boost::units::degree::system > target_unit
PIDControl_PIDSettings * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
void Swap(PIDControl_PIDSettings *other)
void CopyFrom(const PIDControl_PIDSettings &from)
static const PIDControl_PIDSettings * internal_default_instance()
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
void UnsafeArenaSwap(PIDControl_PIDSettings *other)
PIDControl_PIDSettings(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
boost::units::quantity< target_unit, double > target_with_units() const
static const PIDControl_PIDSettings & default_instance()
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
void MergeFrom(const PIDControl_PIDSettings &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
PIDControl_PIDSettings(PIDControl_PIDSettings &&from) noexcept
PIDControl_PIDSettings(const PIDControl_PIDSettings &from)
boost::units::plane_angle_dimension target_dimension
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
PIDControl_PIDSettings & operator=(const PIDControl_PIDSettings &from)
void set_target_with_units(Quantity value_w_units)
friend void swap(PIDControl_PIDSettings &a, PIDControl_PIDSettings &b)
uint8_t * _InternalSerialize(uint8_t *target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream *stream) const final
const char * _InternalParse(const char *ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext *ctx) final
Quantity timeout_with_units() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const PIDControl & default_instance()
PIDControl(const PIDControl &from)
void CopyFrom(const PIDControl &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
boost::units::time_dimension timeout_dimension
void set_timeout_with_units(Quantity value_w_units)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
PIDControl & operator=(PIDControl &&from) noexcept
void Swap(PIDControl *other)
PIDControl & operator=(const PIDControl &from)
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
boost::units::unit< timeout_dimension, boost::units::si::system > timeout_unit
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
static const ClassData _class_data_
PIDControl * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const PIDControl * internal_default_instance()
PROTOBUF_CONSTEXPR PIDControl(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
void UnsafeArenaSwap(PIDControl *other)
friend void swap(PIDControl &a, PIDControl &b)
void MergeFrom(const PIDControl &from)
PIDControl(PIDControl &&from) noexcept
boost::units::quantity< timeout_unit, google::protobuf::uint32 > timeout_with_units() const
PIDControl(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
void CopyFrom(const RFDisableOptions &from)
void MergeFrom(const RFDisableOptions &from)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
static const RFDisableOptions & default_instance()
RFDisableOptions(RFDisableOptions &&from) noexcept
static const RFDisableOptions * internal_default_instance()
RFDisableOptions * New(::PROTOBUF_NAMESPACE_ID::Arena *arena=nullptr) const final
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
RFDisableOptions(::PROTOBUF_NAMESPACE_ID::Arena *arena, bool is_message_owned=false)
RFDisableOptions & operator=(RFDisableOptions &&from) noexcept
RFDisableOptions(const RFDisableOptions &from)
RFDisableOptions & operator=(const RFDisableOptions &from)
void UnsafeArenaSwap(RFDisableOptions *other)
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData * GetClassData() const final
void Swap(RFDisableOptions *other)
friend void swap(RFDisableOptions &a, RFDisableOptions &b)
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
PROTOBUF_CONSTEXPR RFDisableOptions(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::jaiabot::protobuf::GPSRequirements * Arena::CreateMaybeMessage<::jaiabot::protobuf::GPSRequirements >(Arena *)
const EnumDescriptor * GetEnumDescriptor< ::jaiabot::protobuf::BotStatusRate >()
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_jaiabot_2fmessages_2fengineering_2eproto
::jaiabot::protobuf::IMUCalibration * Arena::CreateMaybeMessage<::jaiabot::protobuf::IMUCalibration >(Arena *)
::jaiabot::protobuf::PIDControl_PIDSettings * Arena::CreateMaybeMessage<::jaiabot::protobuf::PIDControl_PIDSettings >(Arena *)
::jaiabot::protobuf::PIDControl * Arena::CreateMaybeMessage<::jaiabot::protobuf::PIDControl >(Arena *)
PROTOBUF_NAMESPACE_OPEN ::jaiabot::protobuf::Echo * Arena::CreateMaybeMessage<::jaiabot::protobuf::Echo >(Arena *)
::jaiabot::protobuf::RFDisableOptions * Arena::CreateMaybeMessage<::jaiabot::protobuf::RFDisableOptions >(Arena *)
PROTOBUF_NAMESPACE_OPEN ::jaiabot::protobuf::BottomDepthSafetyParams * Arena::CreateMaybeMessage<::jaiabot::protobuf::BottomDepthSafetyParams >(Arena *)
BottomDepthSafetyParamsDefaultTypeInternal _BottomDepthSafetyParams_default_instance_
PIDControlDefaultTypeInternal _PIDControl_default_instance_
RFDisableOptionsDefaultTypeInternal _RFDisableOptions_default_instance_
bool BotStatusRate_IsValid(int value)
EchoDefaultTypeInternal _Echo_default_instance_
bool EchoState_IsValid(int value)
const std::string & BotStatusRate_Name(T enum_t_value)
EngineeringDefaultTypeInternal _Engineering_default_instance_
bool Link_IsValid(int value)
constexpr int BotStatusRate_ARRAYSIZE
GPSRequirementsDefaultTypeInternal _GPSRequirements_default_instance_
IMUCalibrationDefaultTypeInternal _IMUCalibration_default_instance_
PIDControl_PIDSettingsDefaultTypeInternal _PIDControl_PIDSettings_default_instance_
constexpr BotStatusRate BotStatusRate_MAX
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor * BotStatusRate_descriptor()
bool BotStatusRate_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BotStatusRate *value)
BoundsDefaultTypeInternal _Bounds_default_instance_
constexpr BotStatusRate BotStatusRate_MIN