JaiaBot  1.12.0+18+g85da5f82
JaiaBot micro-AUV software
config.pb.h
Go to the documentation of this file.
1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // source: bin/fusion/config.proto
3 
4 #ifndef GOOGLE_PROTOBUF_INCLUDED_bin_2ffusion_2fconfig_2eproto
5 #define GOOGLE_PROTOBUF_INCLUDED_bin_2ffusion_2fconfig_2eproto
6 
7 #include <limits>
8 #include <string>
9 
10 #include <google/protobuf/port_def.inc>
11 #if PROTOBUF_VERSION < 3012000
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 3012004 < 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_table_driven.h>
27 #include <google/protobuf/generated_message_util.h>
28 #include <google/protobuf/inlined_string_field.h>
29 #include <google/protobuf/metadata_lite.h>
30 #include <google/protobuf/generated_message_reflection.h>
31 #include <google/protobuf/message.h>
32 #include <google/protobuf/repeated_field.h> // IWYU pragma: export
33 #include <google/protobuf/extension_set.h> // IWYU pragma: export
34 #include <google/protobuf/unknown_field_set.h>
35 #include "goby/middleware/protobuf/app_config.pb.h"
36 #include "goby/zeromq/protobuf/interprocess_config.pb.h"
40 #include "dccl/option_extensions.pb.h"
41 #include <boost/units/quantity.hpp>
42 #include <boost/units/absolute.hpp>
43 #include <boost/units/dimensionless_type.hpp>
44 #include <boost/units/make_scaled_unit.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_bin_2ffusion_2fconfig_2eproto
50 PROTOBUF_NAMESPACE_OPEN
51 namespace internal {
52 class AnyMetadata;
53 } // namespace internal
54 PROTOBUF_NAMESPACE_CLOSE
55 
56 // Internal implementation detail -- do not use these members.
58  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
59  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
60  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
61  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
62  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
63  PROTOBUF_SECTION_VARIABLE(protodesc_cold);
64  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
65  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
66  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
67 };
68 extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_bin_2ffusion_2fconfig_2eproto;
69 namespace jaiabot {
70 namespace config {
71 class Fusion;
72 class FusionDefaultTypeInternal;
73 extern FusionDefaultTypeInternal _Fusion_default_instance_;
74 } // namespace config
75 } // namespace jaiabot
76 PROTOBUF_NAMESPACE_OPEN
77 template<> ::jaiabot::config::Fusion* Arena::CreateMaybeMessage<::jaiabot::config::Fusion>(Arena*);
78 PROTOBUF_NAMESPACE_CLOSE
79 namespace jaiabot {
80 namespace config {
81 
82 // ===================================================================
83 
84 class Fusion PROTOBUF_FINAL :
85  public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:jaiabot.config.Fusion) */ {
86  public:
87  inline Fusion() : Fusion(nullptr) {};
88  virtual ~Fusion();
89 
90  Fusion(const Fusion& from);
91  Fusion(Fusion&& from) noexcept
92  : Fusion() {
93  *this = ::std::move(from);
94  }
95 
96  inline Fusion& operator=(const Fusion& from) {
97  CopyFrom(from);
98  return *this;
99  }
100  inline Fusion& operator=(Fusion&& from) noexcept {
101  if (GetArena() == from.GetArena()) {
102  if (this != &from) InternalSwap(&from);
103  } else {
104  CopyFrom(from);
105  }
106  return *this;
107  }
108 
109  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
110  return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
111  }
112  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
113  return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
114  }
115 
116  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
117  return GetDescriptor();
118  }
119  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
120  return GetMetadataStatic().descriptor;
121  }
122  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
123  return GetMetadataStatic().reflection;
124  }
125  static const Fusion& default_instance();
126 
127  static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY
128  static inline const Fusion* internal_default_instance() {
129  return reinterpret_cast<const Fusion*>(
131  }
132  static constexpr int kIndexInFileMessages =
133  0;
134 
135  friend void swap(Fusion& a, Fusion& b) {
136  a.Swap(&b);
137  }
138  inline void Swap(Fusion* other) {
139  if (other == this) return;
140  if (GetArena() == other->GetArena()) {
141  InternalSwap(other);
142  } else {
143  ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
144  }
145  }
146  void UnsafeArenaSwap(Fusion* other) {
147  if (other == this) return;
148  GOOGLE_DCHECK(GetArena() == other->GetArena());
149  InternalSwap(other);
150  }
151 
152  // implements Message ----------------------------------------------
153 
154  inline Fusion* New() const final {
155  return CreateMaybeMessage<Fusion>(nullptr);
156  }
157 
158  Fusion* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
159  return CreateMaybeMessage<Fusion>(arena);
160  }
161  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
162  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
163  void CopyFrom(const Fusion& from);
164  void MergeFrom(const Fusion& from);
165  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
166  bool IsInitialized() const final;
167 
168  size_t ByteSizeLong() const final;
169  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
170  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
171  ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
172  int GetCachedSize() const final { return _cached_size_.Get(); }
173 
174  private:
175  inline void SharedCtor();
176  inline void SharedDtor();
177  void SetCachedSize(int size) const final;
178  void InternalSwap(Fusion* other);
179  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
180  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
181  return "jaiabot.config.Fusion";
182  }
183  protected:
184  explicit Fusion(::PROTOBUF_NAMESPACE_ID::Arena* arena);
185  private:
186  static void ArenaDtor(void* object);
187  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
188  public:
189 
190  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
191  private:
192  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
193  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_bin_2ffusion_2fconfig_2eproto);
194  return ::descriptor_table_bin_2ffusion_2fconfig_2eproto.file_level_metadata[kIndexInFileMessages];
195  }
196 
197  public:
198 
199  // nested types ----------------------------------------------------
200 
201  // accessors -------------------------------------------------------
202 
203  enum : int {
204  kDiscardLocationStatesFieldNumber = 30,
205  kIncludeCourseErrorDetectionStatesFieldNumber = 38,
206  kIncludeImuDetectionStatesFieldNumber = 39,
207  kDivingStatesFieldNumber = 49,
208  kAppFieldNumber = 1,
209  kInterprocessFieldNumber = 2,
210  kBotIdFieldNumber = 10,
211  kIsSimFieldNumber = 34,
212  kBotTypeFieldNumber = 11,
213  kHealthReportTimeoutSecondsFieldNumber = 12,
214  kInitDataHealthTimeoutSecondsFieldNumber = 15,
215  kDataTimeoutSecondsFieldNumber = 20,
216  kHeadingTimeoutSecondsFieldNumber = 21,
217  kCourseOverGroundTimeoutFieldNumber = 32,
218  kImuHeadingCourseMaxDiffFieldNumber = 31,
219  kImuIssueSolutionFieldNumber = 33,
220  kTotalImuIssueChecksFieldNumber = 35,
221  kImuDetectTimeoutFieldNumber = 36,
222  kBotStatusPeriodMsFieldNumber = 37,
223  kWatchBatteryPercentageFieldNumber = 40,
224  kBatteryPercentageLowLevelFieldNumber = 41,
225  kBatteryPercentageVeryLowLevelFieldNumber = 42,
226  kBatteryPercentageCriticallyLowLevelFieldNumber = 43,
227  kImuDetectPeriodFieldNumber = 44,
228  kImuIssueDetectHorizontalPitchChecksFieldNumber = 45,
229  kImuIssueDetectHorizontalPitchMinTimeFieldNumber = 46,
230  kImuDetectHorizontalPitchFieldNumber = 47,
231  kImuDetectDesiredHeadingVsCurrentMaxDiffFieldNumber = 48,
232  };
233  // repeated .jaiabot.protobuf.MissionState discard_location_states = 30;
235  private:
236  int _internal_discard_location_states_size() const;
237  public:
239  private:
240  ::jaiabot::protobuf::MissionState _internal_discard_location_states(int index) const;
241  void _internal_add_discard_location_states(::jaiabot::protobuf::MissionState value);
242  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_discard_location_states();
243  public:
247  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& discard_location_states() const;
248  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_discard_location_states();
249 
250  // repeated .jaiabot.protobuf.MissionState include_course_error_detection_states = 38;
252  private:
253  int _internal_include_course_error_detection_states_size() const;
254  public:
256  private:
257  ::jaiabot::protobuf::MissionState _internal_include_course_error_detection_states(int index) const;
258  void _internal_add_include_course_error_detection_states(::jaiabot::protobuf::MissionState value);
259  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_include_course_error_detection_states();
260  public:
264  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& include_course_error_detection_states() const;
265  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_include_course_error_detection_states();
266 
267  // repeated .jaiabot.protobuf.MissionState include_imu_detection_states = 39;
269  private:
270  int _internal_include_imu_detection_states_size() const;
271  public:
273  private:
274  ::jaiabot::protobuf::MissionState _internal_include_imu_detection_states(int index) const;
275  void _internal_add_include_imu_detection_states(::jaiabot::protobuf::MissionState value);
276  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_include_imu_detection_states();
277  public:
281  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& include_imu_detection_states() const;
282  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_include_imu_detection_states();
283 
284  // repeated .jaiabot.protobuf.MissionState diving_states = 49;
285  int diving_states_size() const;
286  private:
287  int _internal_diving_states_size() const;
288  public:
290  private:
291  ::jaiabot::protobuf::MissionState _internal_diving_states(int index) const;
292  void _internal_add_diving_states(::jaiabot::protobuf::MissionState value);
293  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* _internal_mutable_diving_states();
294  public:
298  const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>& diving_states() const;
299  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>* mutable_diving_states();
300 
301  // optional .goby.middleware.protobuf.AppConfig app = 1;
302  bool has_app() const;
303  private:
304  bool _internal_has_app() const;
305  public:
306  void clear_app();
307  const ::goby::middleware::protobuf::AppConfig& app() const;
308  ::goby::middleware::protobuf::AppConfig* release_app();
309  ::goby::middleware::protobuf::AppConfig* mutable_app();
310  void set_allocated_app(::goby::middleware::protobuf::AppConfig* app);
311  private:
312  const ::goby::middleware::protobuf::AppConfig& _internal_app() const;
313  ::goby::middleware::protobuf::AppConfig* _internal_mutable_app();
314  public:
316  ::goby::middleware::protobuf::AppConfig* app);
317  ::goby::middleware::protobuf::AppConfig* unsafe_arena_release_app();
318 
319  // optional .goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
320  bool has_interprocess() const;
321  private:
322  bool _internal_has_interprocess() const;
323  public:
325  const ::goby::zeromq::protobuf::InterProcessPortalConfig& interprocess() const;
326  ::goby::zeromq::protobuf::InterProcessPortalConfig* release_interprocess();
327  ::goby::zeromq::protobuf::InterProcessPortalConfig* mutable_interprocess();
328  void set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess);
329  private:
330  const ::goby::zeromq::protobuf::InterProcessPortalConfig& _internal_interprocess() const;
331  ::goby::zeromq::protobuf::InterProcessPortalConfig* _internal_mutable_interprocess();
332  public:
334  ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess);
335  ::goby::zeromq::protobuf::InterProcessPortalConfig* unsafe_arena_release_interprocess();
336 
337  // required int32 bot_id = 10;
338  bool has_bot_id() const;
339  private:
340  bool _internal_has_bot_id() const;
341  public:
342  void clear_bot_id();
343  ::PROTOBUF_NAMESPACE_ID::int32 bot_id() const;
344  void set_bot_id(::PROTOBUF_NAMESPACE_ID::int32 value);
345  private:
346  ::PROTOBUF_NAMESPACE_ID::int32 _internal_bot_id() const;
347  void _internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::int32 value);
348  public:
349 
350  // optional bool is_sim = 34 [default = false];
351  bool has_is_sim() const;
352  private:
353  bool _internal_has_is_sim() const;
354  public:
355  void clear_is_sim();
356  bool is_sim() const;
357  void set_is_sim(bool value);
358  private:
359  bool _internal_is_sim() const;
360  void _internal_set_is_sim(bool value);
361  public:
362 
363  // required .jaiabot.protobuf.BotStatus.BotType bot_type = 11;
364  bool has_bot_type() const;
365  private:
366  bool _internal_has_bot_type() const;
367  public:
371  private:
372  ::jaiabot::protobuf::BotStatus_BotType _internal_bot_type() const;
373  void _internal_set_bot_type(::jaiabot::protobuf::BotStatus_BotType value);
374  public:
375 
376  // optional int32 health_report_timeout_seconds = 12 [default = 20];
378  private:
379  bool _internal_has_health_report_timeout_seconds() const;
380  public:
382  ::PROTOBUF_NAMESPACE_ID::int32 health_report_timeout_seconds() const;
383  void set_health_report_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
384  private:
385  ::PROTOBUF_NAMESPACE_ID::int32 _internal_health_report_timeout_seconds() const;
386  void _internal_set_health_report_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
387  public:
388 
389  // optional int32 init_data_health_timeout_seconds = 15 [default = 20];
391  private:
392  bool _internal_has_init_data_health_timeout_seconds() const;
393  public:
395  ::PROTOBUF_NAMESPACE_ID::int32 init_data_health_timeout_seconds() const;
396  void set_init_data_health_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
397  private:
398  ::PROTOBUF_NAMESPACE_ID::int32 _internal_init_data_health_timeout_seconds() const;
399  void _internal_set_init_data_health_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
400  public:
401 
402  // optional int32 data_timeout_seconds = 20 [default = 20];
404  private:
405  bool _internal_has_data_timeout_seconds() const;
406  public:
408  ::PROTOBUF_NAMESPACE_ID::int32 data_timeout_seconds() const;
409  void set_data_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
410  private:
411  ::PROTOBUF_NAMESPACE_ID::int32 _internal_data_timeout_seconds() const;
412  void _internal_set_data_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
413  public:
414 
415  // optional int32 heading_timeout_seconds = 21 [default = 15];
417  private:
418  bool _internal_has_heading_timeout_seconds() const;
419  public:
421  ::PROTOBUF_NAMESPACE_ID::int32 heading_timeout_seconds() const;
422  void set_heading_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
423  private:
424  ::PROTOBUF_NAMESPACE_ID::int32 _internal_heading_timeout_seconds() const;
425  void _internal_set_heading_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value);
426  public:
427 
428  // optional int32 course_over_ground_timeout = 32 [default = 3];
430  private:
431  bool _internal_has_course_over_ground_timeout() const;
432  public:
434  ::PROTOBUF_NAMESPACE_ID::int32 course_over_ground_timeout() const;
435  void set_course_over_ground_timeout(::PROTOBUF_NAMESPACE_ID::int32 value);
436  private:
437  ::PROTOBUF_NAMESPACE_ID::int32 _internal_course_over_ground_timeout() const;
438  void _internal_set_course_over_ground_timeout(::PROTOBUF_NAMESPACE_ID::int32 value);
439  public:
440 
441  // optional double imu_heading_course_max_diff = 31 [default = 45];
443  private:
444  bool _internal_has_imu_heading_course_max_diff() const;
445  public:
449  private:
450  double _internal_imu_heading_course_max_diff() const;
451  void _internal_set_imu_heading_course_max_diff(double value);
452  public:
453 
454  // optional .jaiabot.protobuf.IMUIssue.SolutionType imu_issue_solution = 33 [default = REPORT_IMU];
456  private:
457  bool _internal_has_imu_issue_solution() const;
458  public:
462  private:
463  ::jaiabot::protobuf::IMUIssue_SolutionType _internal_imu_issue_solution() const;
464  void _internal_set_imu_issue_solution(::jaiabot::protobuf::IMUIssue_SolutionType value);
465  public:
466 
467  // optional int32 total_imu_issue_checks = 35 [default = 4];
469  private:
470  bool _internal_has_total_imu_issue_checks() const;
471  public:
473  ::PROTOBUF_NAMESPACE_ID::int32 total_imu_issue_checks() const;
474  void set_total_imu_issue_checks(::PROTOBUF_NAMESPACE_ID::int32 value);
475  private:
476  ::PROTOBUF_NAMESPACE_ID::int32 _internal_total_imu_issue_checks() const;
477  void _internal_set_total_imu_issue_checks(::PROTOBUF_NAMESPACE_ID::int32 value);
478  public:
479 
480  // optional int32 imu_detect_timeout = 36 [default = 20];
482  private:
483  bool _internal_has_imu_detect_timeout() const;
484  public:
486  ::PROTOBUF_NAMESPACE_ID::int32 imu_detect_timeout() const;
487  void set_imu_detect_timeout(::PROTOBUF_NAMESPACE_ID::int32 value);
488  private:
489  ::PROTOBUF_NAMESPACE_ID::int32 _internal_imu_detect_timeout() const;
490  void _internal_set_imu_detect_timeout(::PROTOBUF_NAMESPACE_ID::int32 value);
491  public:
492 
493  // optional int32 bot_status_period_ms = 37 [default = 1000];
495  private:
496  bool _internal_has_bot_status_period_ms() const;
497  public:
499  ::PROTOBUF_NAMESPACE_ID::int32 bot_status_period_ms() const;
500  void set_bot_status_period_ms(::PROTOBUF_NAMESPACE_ID::int32 value);
501  private:
502  ::PROTOBUF_NAMESPACE_ID::int32 _internal_bot_status_period_ms() const;
503  void _internal_set_bot_status_period_ms(::PROTOBUF_NAMESPACE_ID::int32 value);
504  public:
505 
506  // optional bool watch_battery_percentage = 40 [default = true];
508  private:
509  bool _internal_has_watch_battery_percentage() const;
510  public:
514  private:
515  bool _internal_watch_battery_percentage() const;
516  void _internal_set_watch_battery_percentage(bool value);
517  public:
518 
519  // optional float battery_percentage_low_level = 41 [default = 50];
521  private:
522  bool _internal_has_battery_percentage_low_level() const;
523  public:
527  private:
528  float _internal_battery_percentage_low_level() const;
529  void _internal_set_battery_percentage_low_level(float value);
530  public:
531 
532  // optional float battery_percentage_very_low_level = 42 [default = 20];
534  private:
535  bool _internal_has_battery_percentage_very_low_level() const;
536  public:
540  private:
541  float _internal_battery_percentage_very_low_level() const;
542  void _internal_set_battery_percentage_very_low_level(float value);
543  public:
544 
545  // optional float battery_percentage_critically_low_level = 43 [default = 10];
547  private:
548  bool _internal_has_battery_percentage_critically_low_level() const;
549  public:
553  private:
554  float _internal_battery_percentage_critically_low_level() const;
555  void _internal_set_battery_percentage_critically_low_level(float value);
556  public:
557 
558  // optional int32 imu_detect_period = 44 [default = 1];
559  bool has_imu_detect_period() const;
560  private:
561  bool _internal_has_imu_detect_period() const;
562  public:
564  ::PROTOBUF_NAMESPACE_ID::int32 imu_detect_period() const;
565  void set_imu_detect_period(::PROTOBUF_NAMESPACE_ID::int32 value);
566  private:
567  ::PROTOBUF_NAMESPACE_ID::int32 _internal_imu_detect_period() const;
568  void _internal_set_imu_detect_period(::PROTOBUF_NAMESPACE_ID::int32 value);
569  public:
570 
571  // optional int32 imu_issue_detect_horizontal_pitch_checks = 45 [default = 3];
573  private:
574  bool _internal_has_imu_issue_detect_horizontal_pitch_checks() const;
575  public:
577  ::PROTOBUF_NAMESPACE_ID::int32 imu_issue_detect_horizontal_pitch_checks() const;
578  void set_imu_issue_detect_horizontal_pitch_checks(::PROTOBUF_NAMESPACE_ID::int32 value);
579  private:
580  ::PROTOBUF_NAMESPACE_ID::int32 _internal_imu_issue_detect_horizontal_pitch_checks() const;
581  void _internal_set_imu_issue_detect_horizontal_pitch_checks(::PROTOBUF_NAMESPACE_ID::int32 value);
582  public:
583 
584  // optional double imu_issue_detect_horizontal_pitch_min_time = 46 [default = 1, (.dccl.field) = {
586  private:
587  bool _internal_has_imu_issue_detect_horizontal_pitch_min_time() const;
588  public:
592  private:
593  double _internal_imu_issue_detect_horizontal_pitch_min_time() const;
594  void _internal_set_imu_issue_detect_horizontal_pitch_min_time(double value);
595  public:
596 
597  // optional double imu_detect_horizontal_pitch = 47 [default = 45];
599  private:
600  bool _internal_has_imu_detect_horizontal_pitch() const;
601  public:
605  private:
606  double _internal_imu_detect_horizontal_pitch() const;
607  void _internal_set_imu_detect_horizontal_pitch(double value);
608  public:
609 
610  // optional double imu_detect_desired_heading_vs_current_max_diff = 48 [default = 45];
612  private:
613  bool _internal_has_imu_detect_desired_heading_vs_current_max_diff() const;
614  public:
618  private:
619  double _internal_imu_detect_desired_heading_vs_current_max_diff() const;
620  void _internal_set_imu_detect_desired_heading_vs_current_max_diff(double value);
621  public:
622 
623  typedef boost::units::derived_dimension< boost::units::time_base_dimension,1 >::type imu_issue_detect_horizontal_pitch_min_time_dimension;
624 
625  typedef boost::units::unit<imu_issue_detect_horizontal_pitch_min_time_dimension,boost::units::si::system> imu_issue_detect_horizontal_pitch_min_time_unit;
626 
627  template<typename Quantity >
629  { set_imu_issue_detect_horizontal_pitch_min_time(boost::units::quantity<imu_issue_detect_horizontal_pitch_min_time_unit,double >(value_w_units).value() ); };
630 
631  template<typename Quantity >
633  { return Quantity(imu_issue_detect_horizontal_pitch_min_time() * imu_issue_detect_horizontal_pitch_min_time_unit()); };
634 
635  boost::units::quantity< imu_issue_detect_horizontal_pitch_min_time_unit,double > imu_issue_detect_horizontal_pitch_min_time_with_units() const
636  { return imu_issue_detect_horizontal_pitch_min_time_with_units<boost::units::quantity< imu_issue_detect_horizontal_pitch_min_time_unit,double > >(); };
637 
638  // @@protoc_insertion_point(class_scope:jaiabot.config.Fusion)
639  private:
640  class _Internal;
641 
642  // helper for ByteSizeLong()
643  size_t RequiredFieldsByteSizeFallback() const;
644 
645  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
646  typedef void InternalArenaConstructable_;
647  typedef void DestructorSkippable_;
648  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
649  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
650  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> discard_location_states_;
651  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> include_course_error_detection_states_;
652  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> include_imu_detection_states_;
653  ::PROTOBUF_NAMESPACE_ID::RepeatedField<int> diving_states_;
654  ::goby::middleware::protobuf::AppConfig* app_;
655  ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess_;
656  ::PROTOBUF_NAMESPACE_ID::int32 bot_id_;
657  bool is_sim_;
658  int bot_type_;
659  ::PROTOBUF_NAMESPACE_ID::int32 health_report_timeout_seconds_;
660  ::PROTOBUF_NAMESPACE_ID::int32 init_data_health_timeout_seconds_;
661  ::PROTOBUF_NAMESPACE_ID::int32 data_timeout_seconds_;
662  ::PROTOBUF_NAMESPACE_ID::int32 heading_timeout_seconds_;
663  ::PROTOBUF_NAMESPACE_ID::int32 course_over_ground_timeout_;
664  double imu_heading_course_max_diff_;
665  int imu_issue_solution_;
666  ::PROTOBUF_NAMESPACE_ID::int32 total_imu_issue_checks_;
667  ::PROTOBUF_NAMESPACE_ID::int32 imu_detect_timeout_;
668  ::PROTOBUF_NAMESPACE_ID::int32 bot_status_period_ms_;
669  bool watch_battery_percentage_;
670  float battery_percentage_low_level_;
671  float battery_percentage_very_low_level_;
672  float battery_percentage_critically_low_level_;
673  ::PROTOBUF_NAMESPACE_ID::int32 imu_detect_period_;
674  ::PROTOBUF_NAMESPACE_ID::int32 imu_issue_detect_horizontal_pitch_checks_;
675  double imu_issue_detect_horizontal_pitch_min_time_;
676  double imu_detect_horizontal_pitch_;
677  double imu_detect_desired_heading_vs_current_max_diff_;
678  friend struct ::TableStruct_bin_2ffusion_2fconfig_2eproto;
679 };
680 // ===================================================================
681 
682 
683 // ===================================================================
684 
685 #ifdef __GNUC__
686  #pragma GCC diagnostic push
687  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
688 #endif // __GNUC__
689 // Fusion
690 
691 // optional .goby.middleware.protobuf.AppConfig app = 1;
692 inline bool Fusion::_internal_has_app() const {
693  bool value = (_has_bits_[0] & 0x00000001u) != 0;
694  PROTOBUF_ASSUME(!value || app_ != nullptr);
695  return value;
696 }
697 inline bool Fusion::has_app() const {
698  return _internal_has_app();
699 }
700 inline const ::goby::middleware::protobuf::AppConfig& Fusion::_internal_app() const {
701  const ::goby::middleware::protobuf::AppConfig* p = app_;
702  return p != nullptr ? *p : *reinterpret_cast<const ::goby::middleware::protobuf::AppConfig*>(
703  &::goby::middleware::protobuf::_AppConfig_default_instance_);
704 }
705 inline const ::goby::middleware::protobuf::AppConfig& Fusion::app() const {
706  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.app)
707  return _internal_app();
708 }
709 inline void Fusion::unsafe_arena_set_allocated_app(
710  ::goby::middleware::protobuf::AppConfig* app) {
711  if (GetArena() == nullptr) {
712  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(app_);
713  }
714  app_ = app;
715  if (app) {
716  _has_bits_[0] |= 0x00000001u;
717  } else {
718  _has_bits_[0] &= ~0x00000001u;
719  }
720  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Fusion.app)
721 }
722 inline ::goby::middleware::protobuf::AppConfig* Fusion::release_app() {
723  auto temp = unsafe_arena_release_app();
724  if (GetArena() != nullptr) {
725  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
726  }
727  return temp;
728 }
729 inline ::goby::middleware::protobuf::AppConfig* Fusion::unsafe_arena_release_app() {
730  // @@protoc_insertion_point(field_release:jaiabot.config.Fusion.app)
731  _has_bits_[0] &= ~0x00000001u;
732  ::goby::middleware::protobuf::AppConfig* temp = app_;
733  app_ = nullptr;
734  return temp;
735 }
736 inline ::goby::middleware::protobuf::AppConfig* Fusion::_internal_mutable_app() {
737  _has_bits_[0] |= 0x00000001u;
738  if (app_ == nullptr) {
739  auto* p = CreateMaybeMessage<::goby::middleware::protobuf::AppConfig>(GetArena());
740  app_ = p;
741  }
742  return app_;
743 }
744 inline ::goby::middleware::protobuf::AppConfig* Fusion::mutable_app() {
745  // @@protoc_insertion_point(field_mutable:jaiabot.config.Fusion.app)
746  return _internal_mutable_app();
747 }
748 inline void Fusion::set_allocated_app(::goby::middleware::protobuf::AppConfig* app) {
749  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
750  if (message_arena == nullptr) {
751  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(app_);
752  }
753  if (app) {
754  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
755  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(app)->GetArena();
756  if (message_arena != submessage_arena) {
757  app = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
758  message_arena, app, submessage_arena);
759  }
760  _has_bits_[0] |= 0x00000001u;
761  } else {
762  _has_bits_[0] &= ~0x00000001u;
763  }
764  app_ = app;
765  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Fusion.app)
766 }
767 
768 // optional .goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2;
769 inline bool Fusion::_internal_has_interprocess() const {
770  bool value = (_has_bits_[0] & 0x00000002u) != 0;
771  PROTOBUF_ASSUME(!value || interprocess_ != nullptr);
772  return value;
773 }
774 inline bool Fusion::has_interprocess() const {
775  return _internal_has_interprocess();
776 }
777 inline const ::goby::zeromq::protobuf::InterProcessPortalConfig& Fusion::_internal_interprocess() const {
778  const ::goby::zeromq::protobuf::InterProcessPortalConfig* p = interprocess_;
779  return p != nullptr ? *p : *reinterpret_cast<const ::goby::zeromq::protobuf::InterProcessPortalConfig*>(
780  &::goby::zeromq::protobuf::_InterProcessPortalConfig_default_instance_);
781 }
782 inline const ::goby::zeromq::protobuf::InterProcessPortalConfig& Fusion::interprocess() const {
783  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.interprocess)
784  return _internal_interprocess();
785 }
786 inline void Fusion::unsafe_arena_set_allocated_interprocess(
787  ::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess) {
788  if (GetArena() == nullptr) {
789  delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interprocess_);
790  }
791  interprocess_ = interprocess;
792  if (interprocess) {
793  _has_bits_[0] |= 0x00000002u;
794  } else {
795  _has_bits_[0] &= ~0x00000002u;
796  }
797  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:jaiabot.config.Fusion.interprocess)
798 }
799 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Fusion::release_interprocess() {
800  auto temp = unsafe_arena_release_interprocess();
801  if (GetArena() != nullptr) {
802  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
803  }
804  return temp;
805 }
806 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Fusion::unsafe_arena_release_interprocess() {
807  // @@protoc_insertion_point(field_release:jaiabot.config.Fusion.interprocess)
808  _has_bits_[0] &= ~0x00000002u;
809  ::goby::zeromq::protobuf::InterProcessPortalConfig* temp = interprocess_;
810  interprocess_ = nullptr;
811  return temp;
812 }
813 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Fusion::_internal_mutable_interprocess() {
814  _has_bits_[0] |= 0x00000002u;
815  if (interprocess_ == nullptr) {
816  auto* p = CreateMaybeMessage<::goby::zeromq::protobuf::InterProcessPortalConfig>(GetArena());
817  interprocess_ = p;
818  }
819  return interprocess_;
820 }
821 inline ::goby::zeromq::protobuf::InterProcessPortalConfig* Fusion::mutable_interprocess() {
822  // @@protoc_insertion_point(field_mutable:jaiabot.config.Fusion.interprocess)
823  return _internal_mutable_interprocess();
824 }
825 inline void Fusion::set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig* interprocess) {
826  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
827  if (message_arena == nullptr) {
828  delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(interprocess_);
829  }
830  if (interprocess) {
831  ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
832  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(interprocess)->GetArena();
833  if (message_arena != submessage_arena) {
834  interprocess = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
835  message_arena, interprocess, submessage_arena);
836  }
837  _has_bits_[0] |= 0x00000002u;
838  } else {
839  _has_bits_[0] &= ~0x00000002u;
840  }
841  interprocess_ = interprocess;
842  // @@protoc_insertion_point(field_set_allocated:jaiabot.config.Fusion.interprocess)
843 }
844 
845 // required int32 bot_id = 10;
846 inline bool Fusion::_internal_has_bot_id() const {
847  bool value = (_has_bits_[0] & 0x00000004u) != 0;
848  return value;
849 }
850 inline bool Fusion::has_bot_id() const {
851  return _internal_has_bot_id();
852 }
853 inline void Fusion::clear_bot_id() {
854  bot_id_ = 0;
855  _has_bits_[0] &= ~0x00000004u;
856 }
857 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_bot_id() const {
858  return bot_id_;
859 }
860 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::bot_id() const {
861  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.bot_id)
862  return _internal_bot_id();
863 }
864 inline void Fusion::_internal_set_bot_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
865  _has_bits_[0] |= 0x00000004u;
866  bot_id_ = value;
867 }
868 inline void Fusion::set_bot_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
869  _internal_set_bot_id(value);
870  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.bot_id)
871 }
872 
873 // required .jaiabot.protobuf.BotStatus.BotType bot_type = 11;
874 inline bool Fusion::_internal_has_bot_type() const {
875  bool value = (_has_bits_[0] & 0x00000010u) != 0;
876  return value;
877 }
878 inline bool Fusion::has_bot_type() const {
879  return _internal_has_bot_type();
880 }
881 inline void Fusion::clear_bot_type() {
882  bot_type_ = 1;
883  _has_bits_[0] &= ~0x00000010u;
884 }
885 inline ::jaiabot::protobuf::BotStatus_BotType Fusion::_internal_bot_type() const {
886  return static_cast< ::jaiabot::protobuf::BotStatus_BotType >(bot_type_);
887 }
888 inline ::jaiabot::protobuf::BotStatus_BotType Fusion::bot_type() const {
889  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.bot_type)
890  return _internal_bot_type();
891 }
892 inline void Fusion::_internal_set_bot_type(::jaiabot::protobuf::BotStatus_BotType value) {
894  _has_bits_[0] |= 0x00000010u;
895  bot_type_ = value;
896 }
897 inline void Fusion::set_bot_type(::jaiabot::protobuf::BotStatus_BotType value) {
898  _internal_set_bot_type(value);
899  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.bot_type)
900 }
901 
902 // optional int32 health_report_timeout_seconds = 12 [default = 20];
903 inline bool Fusion::_internal_has_health_report_timeout_seconds() const {
904  bool value = (_has_bits_[0] & 0x00000020u) != 0;
905  return value;
906 }
907 inline bool Fusion::has_health_report_timeout_seconds() const {
908  return _internal_has_health_report_timeout_seconds();
909 }
910 inline void Fusion::clear_health_report_timeout_seconds() {
911  health_report_timeout_seconds_ = 20;
912  _has_bits_[0] &= ~0x00000020u;
913 }
914 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_health_report_timeout_seconds() const {
915  return health_report_timeout_seconds_;
916 }
917 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::health_report_timeout_seconds() const {
918  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.health_report_timeout_seconds)
919  return _internal_health_report_timeout_seconds();
920 }
921 inline void Fusion::_internal_set_health_report_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
922  _has_bits_[0] |= 0x00000020u;
923  health_report_timeout_seconds_ = value;
924 }
925 inline void Fusion::set_health_report_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
926  _internal_set_health_report_timeout_seconds(value);
927  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.health_report_timeout_seconds)
928 }
929 
930 // optional int32 init_data_health_timeout_seconds = 15 [default = 20];
931 inline bool Fusion::_internal_has_init_data_health_timeout_seconds() const {
932  bool value = (_has_bits_[0] & 0x00000040u) != 0;
933  return value;
934 }
935 inline bool Fusion::has_init_data_health_timeout_seconds() const {
936  return _internal_has_init_data_health_timeout_seconds();
937 }
938 inline void Fusion::clear_init_data_health_timeout_seconds() {
939  init_data_health_timeout_seconds_ = 20;
940  _has_bits_[0] &= ~0x00000040u;
941 }
942 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_init_data_health_timeout_seconds() const {
943  return init_data_health_timeout_seconds_;
944 }
945 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::init_data_health_timeout_seconds() const {
946  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.init_data_health_timeout_seconds)
947  return _internal_init_data_health_timeout_seconds();
948 }
949 inline void Fusion::_internal_set_init_data_health_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
950  _has_bits_[0] |= 0x00000040u;
951  init_data_health_timeout_seconds_ = value;
952 }
953 inline void Fusion::set_init_data_health_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
954  _internal_set_init_data_health_timeout_seconds(value);
955  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.init_data_health_timeout_seconds)
956 }
957 
958 // optional int32 data_timeout_seconds = 20 [default = 20];
959 inline bool Fusion::_internal_has_data_timeout_seconds() const {
960  bool value = (_has_bits_[0] & 0x00000080u) != 0;
961  return value;
962 }
963 inline bool Fusion::has_data_timeout_seconds() const {
964  return _internal_has_data_timeout_seconds();
965 }
966 inline void Fusion::clear_data_timeout_seconds() {
967  data_timeout_seconds_ = 20;
968  _has_bits_[0] &= ~0x00000080u;
969 }
970 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_data_timeout_seconds() const {
971  return data_timeout_seconds_;
972 }
973 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::data_timeout_seconds() const {
974  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.data_timeout_seconds)
975  return _internal_data_timeout_seconds();
976 }
977 inline void Fusion::_internal_set_data_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
978  _has_bits_[0] |= 0x00000080u;
979  data_timeout_seconds_ = value;
980 }
981 inline void Fusion::set_data_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
982  _internal_set_data_timeout_seconds(value);
983  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.data_timeout_seconds)
984 }
985 
986 // optional int32 heading_timeout_seconds = 21 [default = 15];
987 inline bool Fusion::_internal_has_heading_timeout_seconds() const {
988  bool value = (_has_bits_[0] & 0x00000100u) != 0;
989  return value;
990 }
991 inline bool Fusion::has_heading_timeout_seconds() const {
992  return _internal_has_heading_timeout_seconds();
993 }
994 inline void Fusion::clear_heading_timeout_seconds() {
995  heading_timeout_seconds_ = 15;
996  _has_bits_[0] &= ~0x00000100u;
997 }
998 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_heading_timeout_seconds() const {
999  return heading_timeout_seconds_;
1000 }
1001 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::heading_timeout_seconds() const {
1002  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.heading_timeout_seconds)
1003  return _internal_heading_timeout_seconds();
1004 }
1005 inline void Fusion::_internal_set_heading_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
1006  _has_bits_[0] |= 0x00000100u;
1007  heading_timeout_seconds_ = value;
1008 }
1009 inline void Fusion::set_heading_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value) {
1010  _internal_set_heading_timeout_seconds(value);
1011  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.heading_timeout_seconds)
1012 }
1013 
1014 // repeated .jaiabot.protobuf.MissionState discard_location_states = 30;
1015 inline int Fusion::_internal_discard_location_states_size() const {
1016  return discard_location_states_.size();
1017 }
1018 inline int Fusion::discard_location_states_size() const {
1019  return _internal_discard_location_states_size();
1020 }
1021 inline void Fusion::clear_discard_location_states() {
1022  discard_location_states_.Clear();
1023 }
1024 inline ::jaiabot::protobuf::MissionState Fusion::_internal_discard_location_states(int index) const {
1025  return static_cast< ::jaiabot::protobuf::MissionState >(discard_location_states_.Get(index));
1026 }
1027 inline ::jaiabot::protobuf::MissionState Fusion::discard_location_states(int index) const {
1028  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.discard_location_states)
1029  return _internal_discard_location_states(index);
1030 }
1031 inline void Fusion::set_discard_location_states(int index, ::jaiabot::protobuf::MissionState value) {
1032  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1033  discard_location_states_.Set(index, value);
1034  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.discard_location_states)
1035 }
1036 inline void Fusion::_internal_add_discard_location_states(::jaiabot::protobuf::MissionState value) {
1037  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1038  discard_location_states_.Add(value);
1039 }
1040 inline void Fusion::add_discard_location_states(::jaiabot::protobuf::MissionState value) {
1041  // @@protoc_insertion_point(field_add:jaiabot.config.Fusion.discard_location_states)
1042  _internal_add_discard_location_states(value);
1043 }
1044 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
1045 Fusion::discard_location_states() const {
1046  // @@protoc_insertion_point(field_list:jaiabot.config.Fusion.discard_location_states)
1047  return discard_location_states_;
1048 }
1049 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1050 Fusion::_internal_mutable_discard_location_states() {
1051  return &discard_location_states_;
1052 }
1053 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1054 Fusion::mutable_discard_location_states() {
1055  // @@protoc_insertion_point(field_mutable_list:jaiabot.config.Fusion.discard_location_states)
1056  return _internal_mutable_discard_location_states();
1057 }
1058 
1059 // optional double imu_heading_course_max_diff = 31 [default = 45];
1060 inline bool Fusion::_internal_has_imu_heading_course_max_diff() const {
1061  bool value = (_has_bits_[0] & 0x00000400u) != 0;
1062  return value;
1063 }
1064 inline bool Fusion::has_imu_heading_course_max_diff() const {
1065  return _internal_has_imu_heading_course_max_diff();
1066 }
1067 inline void Fusion::clear_imu_heading_course_max_diff() {
1068  imu_heading_course_max_diff_ = 45;
1069  _has_bits_[0] &= ~0x00000400u;
1070 }
1071 inline double Fusion::_internal_imu_heading_course_max_diff() const {
1072  return imu_heading_course_max_diff_;
1073 }
1074 inline double Fusion::imu_heading_course_max_diff() const {
1075  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_heading_course_max_diff)
1076  return _internal_imu_heading_course_max_diff();
1077 }
1078 inline void Fusion::_internal_set_imu_heading_course_max_diff(double value) {
1079  _has_bits_[0] |= 0x00000400u;
1080  imu_heading_course_max_diff_ = value;
1081 }
1082 inline void Fusion::set_imu_heading_course_max_diff(double value) {
1083  _internal_set_imu_heading_course_max_diff(value);
1084  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_heading_course_max_diff)
1085 }
1086 
1087 // optional int32 course_over_ground_timeout = 32 [default = 3];
1088 inline bool Fusion::_internal_has_course_over_ground_timeout() const {
1089  bool value = (_has_bits_[0] & 0x00000200u) != 0;
1090  return value;
1091 }
1092 inline bool Fusion::has_course_over_ground_timeout() const {
1093  return _internal_has_course_over_ground_timeout();
1094 }
1095 inline void Fusion::clear_course_over_ground_timeout() {
1096  course_over_ground_timeout_ = 3;
1097  _has_bits_[0] &= ~0x00000200u;
1098 }
1099 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_course_over_ground_timeout() const {
1100  return course_over_ground_timeout_;
1101 }
1102 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::course_over_ground_timeout() const {
1103  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.course_over_ground_timeout)
1104  return _internal_course_over_ground_timeout();
1105 }
1106 inline void Fusion::_internal_set_course_over_ground_timeout(::PROTOBUF_NAMESPACE_ID::int32 value) {
1107  _has_bits_[0] |= 0x00000200u;
1108  course_over_ground_timeout_ = value;
1109 }
1110 inline void Fusion::set_course_over_ground_timeout(::PROTOBUF_NAMESPACE_ID::int32 value) {
1111  _internal_set_course_over_ground_timeout(value);
1112  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.course_over_ground_timeout)
1113 }
1114 
1115 // optional .jaiabot.protobuf.IMUIssue.SolutionType imu_issue_solution = 33 [default = REPORT_IMU];
1116 inline bool Fusion::_internal_has_imu_issue_solution() const {
1117  bool value = (_has_bits_[0] & 0x00000800u) != 0;
1118  return value;
1119 }
1120 inline bool Fusion::has_imu_issue_solution() const {
1121  return _internal_has_imu_issue_solution();
1122 }
1123 inline void Fusion::clear_imu_issue_solution() {
1124  imu_issue_solution_ = 5;
1125  _has_bits_[0] &= ~0x00000800u;
1126 }
1127 inline ::jaiabot::protobuf::IMUIssue_SolutionType Fusion::_internal_imu_issue_solution() const {
1128  return static_cast< ::jaiabot::protobuf::IMUIssue_SolutionType >(imu_issue_solution_);
1129 }
1130 inline ::jaiabot::protobuf::IMUIssue_SolutionType Fusion::imu_issue_solution() const {
1131  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_issue_solution)
1132  return _internal_imu_issue_solution();
1133 }
1134 inline void Fusion::_internal_set_imu_issue_solution(::jaiabot::protobuf::IMUIssue_SolutionType value) {
1136  _has_bits_[0] |= 0x00000800u;
1137  imu_issue_solution_ = value;
1138 }
1139 inline void Fusion::set_imu_issue_solution(::jaiabot::protobuf::IMUIssue_SolutionType value) {
1140  _internal_set_imu_issue_solution(value);
1141  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_issue_solution)
1142 }
1143 
1144 // optional bool is_sim = 34 [default = false];
1145 inline bool Fusion::_internal_has_is_sim() const {
1146  bool value = (_has_bits_[0] & 0x00000008u) != 0;
1147  return value;
1148 }
1149 inline bool Fusion::has_is_sim() const {
1150  return _internal_has_is_sim();
1151 }
1152 inline void Fusion::clear_is_sim() {
1153  is_sim_ = false;
1154  _has_bits_[0] &= ~0x00000008u;
1155 }
1156 inline bool Fusion::_internal_is_sim() const {
1157  return is_sim_;
1158 }
1159 inline bool Fusion::is_sim() const {
1160  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.is_sim)
1161  return _internal_is_sim();
1162 }
1163 inline void Fusion::_internal_set_is_sim(bool value) {
1164  _has_bits_[0] |= 0x00000008u;
1165  is_sim_ = value;
1166 }
1167 inline void Fusion::set_is_sim(bool value) {
1168  _internal_set_is_sim(value);
1169  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.is_sim)
1170 }
1171 
1172 // optional int32 total_imu_issue_checks = 35 [default = 4];
1173 inline bool Fusion::_internal_has_total_imu_issue_checks() const {
1174  bool value = (_has_bits_[0] & 0x00001000u) != 0;
1175  return value;
1176 }
1177 inline bool Fusion::has_total_imu_issue_checks() const {
1178  return _internal_has_total_imu_issue_checks();
1179 }
1180 inline void Fusion::clear_total_imu_issue_checks() {
1181  total_imu_issue_checks_ = 4;
1182  _has_bits_[0] &= ~0x00001000u;
1183 }
1184 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_total_imu_issue_checks() const {
1185  return total_imu_issue_checks_;
1186 }
1187 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::total_imu_issue_checks() const {
1188  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.total_imu_issue_checks)
1189  return _internal_total_imu_issue_checks();
1190 }
1191 inline void Fusion::_internal_set_total_imu_issue_checks(::PROTOBUF_NAMESPACE_ID::int32 value) {
1192  _has_bits_[0] |= 0x00001000u;
1193  total_imu_issue_checks_ = value;
1194 }
1195 inline void Fusion::set_total_imu_issue_checks(::PROTOBUF_NAMESPACE_ID::int32 value) {
1196  _internal_set_total_imu_issue_checks(value);
1197  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.total_imu_issue_checks)
1198 }
1199 
1200 // optional int32 imu_detect_timeout = 36 [default = 20];
1201 inline bool Fusion::_internal_has_imu_detect_timeout() const {
1202  bool value = (_has_bits_[0] & 0x00002000u) != 0;
1203  return value;
1204 }
1205 inline bool Fusion::has_imu_detect_timeout() const {
1206  return _internal_has_imu_detect_timeout();
1207 }
1208 inline void Fusion::clear_imu_detect_timeout() {
1209  imu_detect_timeout_ = 20;
1210  _has_bits_[0] &= ~0x00002000u;
1211 }
1212 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_imu_detect_timeout() const {
1213  return imu_detect_timeout_;
1214 }
1215 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::imu_detect_timeout() const {
1216  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_detect_timeout)
1217  return _internal_imu_detect_timeout();
1218 }
1219 inline void Fusion::_internal_set_imu_detect_timeout(::PROTOBUF_NAMESPACE_ID::int32 value) {
1220  _has_bits_[0] |= 0x00002000u;
1221  imu_detect_timeout_ = value;
1222 }
1223 inline void Fusion::set_imu_detect_timeout(::PROTOBUF_NAMESPACE_ID::int32 value) {
1224  _internal_set_imu_detect_timeout(value);
1225  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_detect_timeout)
1226 }
1227 
1228 // optional int32 bot_status_period_ms = 37 [default = 1000];
1229 inline bool Fusion::_internal_has_bot_status_period_ms() const {
1230  bool value = (_has_bits_[0] & 0x00004000u) != 0;
1231  return value;
1232 }
1233 inline bool Fusion::has_bot_status_period_ms() const {
1234  return _internal_has_bot_status_period_ms();
1235 }
1236 inline void Fusion::clear_bot_status_period_ms() {
1237  bot_status_period_ms_ = 1000;
1238  _has_bits_[0] &= ~0x00004000u;
1239 }
1240 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_bot_status_period_ms() const {
1241  return bot_status_period_ms_;
1242 }
1243 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::bot_status_period_ms() const {
1244  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.bot_status_period_ms)
1245  return _internal_bot_status_period_ms();
1246 }
1247 inline void Fusion::_internal_set_bot_status_period_ms(::PROTOBUF_NAMESPACE_ID::int32 value) {
1248  _has_bits_[0] |= 0x00004000u;
1249  bot_status_period_ms_ = value;
1250 }
1251 inline void Fusion::set_bot_status_period_ms(::PROTOBUF_NAMESPACE_ID::int32 value) {
1252  _internal_set_bot_status_period_ms(value);
1253  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.bot_status_period_ms)
1254 }
1255 
1256 // repeated .jaiabot.protobuf.MissionState include_course_error_detection_states = 38;
1257 inline int Fusion::_internal_include_course_error_detection_states_size() const {
1258  return include_course_error_detection_states_.size();
1259 }
1260 inline int Fusion::include_course_error_detection_states_size() const {
1261  return _internal_include_course_error_detection_states_size();
1262 }
1263 inline void Fusion::clear_include_course_error_detection_states() {
1264  include_course_error_detection_states_.Clear();
1265 }
1266 inline ::jaiabot::protobuf::MissionState Fusion::_internal_include_course_error_detection_states(int index) const {
1267  return static_cast< ::jaiabot::protobuf::MissionState >(include_course_error_detection_states_.Get(index));
1268 }
1269 inline ::jaiabot::protobuf::MissionState Fusion::include_course_error_detection_states(int index) const {
1270  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.include_course_error_detection_states)
1271  return _internal_include_course_error_detection_states(index);
1272 }
1273 inline void Fusion::set_include_course_error_detection_states(int index, ::jaiabot::protobuf::MissionState value) {
1274  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1275  include_course_error_detection_states_.Set(index, value);
1276  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.include_course_error_detection_states)
1277 }
1278 inline void Fusion::_internal_add_include_course_error_detection_states(::jaiabot::protobuf::MissionState value) {
1279  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1280  include_course_error_detection_states_.Add(value);
1281 }
1282 inline void Fusion::add_include_course_error_detection_states(::jaiabot::protobuf::MissionState value) {
1283  // @@protoc_insertion_point(field_add:jaiabot.config.Fusion.include_course_error_detection_states)
1284  _internal_add_include_course_error_detection_states(value);
1285 }
1286 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
1287 Fusion::include_course_error_detection_states() const {
1288  // @@protoc_insertion_point(field_list:jaiabot.config.Fusion.include_course_error_detection_states)
1289  return include_course_error_detection_states_;
1290 }
1291 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1292 Fusion::_internal_mutable_include_course_error_detection_states() {
1293  return &include_course_error_detection_states_;
1294 }
1295 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1296 Fusion::mutable_include_course_error_detection_states() {
1297  // @@protoc_insertion_point(field_mutable_list:jaiabot.config.Fusion.include_course_error_detection_states)
1298  return _internal_mutable_include_course_error_detection_states();
1299 }
1300 
1301 // repeated .jaiabot.protobuf.MissionState include_imu_detection_states = 39;
1302 inline int Fusion::_internal_include_imu_detection_states_size() const {
1303  return include_imu_detection_states_.size();
1304 }
1305 inline int Fusion::include_imu_detection_states_size() const {
1306  return _internal_include_imu_detection_states_size();
1307 }
1308 inline void Fusion::clear_include_imu_detection_states() {
1309  include_imu_detection_states_.Clear();
1310 }
1311 inline ::jaiabot::protobuf::MissionState Fusion::_internal_include_imu_detection_states(int index) const {
1312  return static_cast< ::jaiabot::protobuf::MissionState >(include_imu_detection_states_.Get(index));
1313 }
1314 inline ::jaiabot::protobuf::MissionState Fusion::include_imu_detection_states(int index) const {
1315  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.include_imu_detection_states)
1316  return _internal_include_imu_detection_states(index);
1317 }
1318 inline void Fusion::set_include_imu_detection_states(int index, ::jaiabot::protobuf::MissionState value) {
1319  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1320  include_imu_detection_states_.Set(index, value);
1321  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.include_imu_detection_states)
1322 }
1323 inline void Fusion::_internal_add_include_imu_detection_states(::jaiabot::protobuf::MissionState value) {
1324  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1325  include_imu_detection_states_.Add(value);
1326 }
1327 inline void Fusion::add_include_imu_detection_states(::jaiabot::protobuf::MissionState value) {
1328  // @@protoc_insertion_point(field_add:jaiabot.config.Fusion.include_imu_detection_states)
1329  _internal_add_include_imu_detection_states(value);
1330 }
1331 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
1332 Fusion::include_imu_detection_states() const {
1333  // @@protoc_insertion_point(field_list:jaiabot.config.Fusion.include_imu_detection_states)
1334  return include_imu_detection_states_;
1335 }
1336 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1337 Fusion::_internal_mutable_include_imu_detection_states() {
1338  return &include_imu_detection_states_;
1339 }
1340 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1341 Fusion::mutable_include_imu_detection_states() {
1342  // @@protoc_insertion_point(field_mutable_list:jaiabot.config.Fusion.include_imu_detection_states)
1343  return _internal_mutable_include_imu_detection_states();
1344 }
1345 
1346 // optional bool watch_battery_percentage = 40 [default = true];
1347 inline bool Fusion::_internal_has_watch_battery_percentage() const {
1348  bool value = (_has_bits_[0] & 0x00008000u) != 0;
1349  return value;
1350 }
1351 inline bool Fusion::has_watch_battery_percentage() const {
1352  return _internal_has_watch_battery_percentage();
1353 }
1354 inline void Fusion::clear_watch_battery_percentage() {
1355  watch_battery_percentage_ = true;
1356  _has_bits_[0] &= ~0x00008000u;
1357 }
1358 inline bool Fusion::_internal_watch_battery_percentage() const {
1359  return watch_battery_percentage_;
1360 }
1361 inline bool Fusion::watch_battery_percentage() const {
1362  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.watch_battery_percentage)
1363  return _internal_watch_battery_percentage();
1364 }
1365 inline void Fusion::_internal_set_watch_battery_percentage(bool value) {
1366  _has_bits_[0] |= 0x00008000u;
1367  watch_battery_percentage_ = value;
1368 }
1369 inline void Fusion::set_watch_battery_percentage(bool value) {
1370  _internal_set_watch_battery_percentage(value);
1371  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.watch_battery_percentage)
1372 }
1373 
1374 // optional float battery_percentage_low_level = 41 [default = 50];
1375 inline bool Fusion::_internal_has_battery_percentage_low_level() const {
1376  bool value = (_has_bits_[0] & 0x00010000u) != 0;
1377  return value;
1378 }
1379 inline bool Fusion::has_battery_percentage_low_level() const {
1380  return _internal_has_battery_percentage_low_level();
1381 }
1382 inline void Fusion::clear_battery_percentage_low_level() {
1383  battery_percentage_low_level_ = 50;
1384  _has_bits_[0] &= ~0x00010000u;
1385 }
1386 inline float Fusion::_internal_battery_percentage_low_level() const {
1387  return battery_percentage_low_level_;
1388 }
1389 inline float Fusion::battery_percentage_low_level() const {
1390  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.battery_percentage_low_level)
1391  return _internal_battery_percentage_low_level();
1392 }
1393 inline void Fusion::_internal_set_battery_percentage_low_level(float value) {
1394  _has_bits_[0] |= 0x00010000u;
1395  battery_percentage_low_level_ = value;
1396 }
1397 inline void Fusion::set_battery_percentage_low_level(float value) {
1398  _internal_set_battery_percentage_low_level(value);
1399  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.battery_percentage_low_level)
1400 }
1401 
1402 // optional float battery_percentage_very_low_level = 42 [default = 20];
1403 inline bool Fusion::_internal_has_battery_percentage_very_low_level() const {
1404  bool value = (_has_bits_[0] & 0x00020000u) != 0;
1405  return value;
1406 }
1407 inline bool Fusion::has_battery_percentage_very_low_level() const {
1408  return _internal_has_battery_percentage_very_low_level();
1409 }
1410 inline void Fusion::clear_battery_percentage_very_low_level() {
1411  battery_percentage_very_low_level_ = 20;
1412  _has_bits_[0] &= ~0x00020000u;
1413 }
1414 inline float Fusion::_internal_battery_percentage_very_low_level() const {
1415  return battery_percentage_very_low_level_;
1416 }
1417 inline float Fusion::battery_percentage_very_low_level() const {
1418  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.battery_percentage_very_low_level)
1419  return _internal_battery_percentage_very_low_level();
1420 }
1421 inline void Fusion::_internal_set_battery_percentage_very_low_level(float value) {
1422  _has_bits_[0] |= 0x00020000u;
1423  battery_percentage_very_low_level_ = value;
1424 }
1425 inline void Fusion::set_battery_percentage_very_low_level(float value) {
1426  _internal_set_battery_percentage_very_low_level(value);
1427  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.battery_percentage_very_low_level)
1428 }
1429 
1430 // optional float battery_percentage_critically_low_level = 43 [default = 10];
1431 inline bool Fusion::_internal_has_battery_percentage_critically_low_level() const {
1432  bool value = (_has_bits_[0] & 0x00040000u) != 0;
1433  return value;
1434 }
1435 inline bool Fusion::has_battery_percentage_critically_low_level() const {
1436  return _internal_has_battery_percentage_critically_low_level();
1437 }
1438 inline void Fusion::clear_battery_percentage_critically_low_level() {
1439  battery_percentage_critically_low_level_ = 10;
1440  _has_bits_[0] &= ~0x00040000u;
1441 }
1442 inline float Fusion::_internal_battery_percentage_critically_low_level() const {
1443  return battery_percentage_critically_low_level_;
1444 }
1445 inline float Fusion::battery_percentage_critically_low_level() const {
1446  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.battery_percentage_critically_low_level)
1447  return _internal_battery_percentage_critically_low_level();
1448 }
1449 inline void Fusion::_internal_set_battery_percentage_critically_low_level(float value) {
1450  _has_bits_[0] |= 0x00040000u;
1451  battery_percentage_critically_low_level_ = value;
1452 }
1453 inline void Fusion::set_battery_percentage_critically_low_level(float value) {
1454  _internal_set_battery_percentage_critically_low_level(value);
1455  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.battery_percentage_critically_low_level)
1456 }
1457 
1458 // optional int32 imu_detect_period = 44 [default = 1];
1459 inline bool Fusion::_internal_has_imu_detect_period() const {
1460  bool value = (_has_bits_[0] & 0x00080000u) != 0;
1461  return value;
1462 }
1463 inline bool Fusion::has_imu_detect_period() const {
1464  return _internal_has_imu_detect_period();
1465 }
1466 inline void Fusion::clear_imu_detect_period() {
1467  imu_detect_period_ = 1;
1468  _has_bits_[0] &= ~0x00080000u;
1469 }
1470 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_imu_detect_period() const {
1471  return imu_detect_period_;
1472 }
1473 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::imu_detect_period() const {
1474  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_detect_period)
1475  return _internal_imu_detect_period();
1476 }
1477 inline void Fusion::_internal_set_imu_detect_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
1478  _has_bits_[0] |= 0x00080000u;
1479  imu_detect_period_ = value;
1480 }
1481 inline void Fusion::set_imu_detect_period(::PROTOBUF_NAMESPACE_ID::int32 value) {
1482  _internal_set_imu_detect_period(value);
1483  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_detect_period)
1484 }
1485 
1486 // optional int32 imu_issue_detect_horizontal_pitch_checks = 45 [default = 3];
1487 inline bool Fusion::_internal_has_imu_issue_detect_horizontal_pitch_checks() const {
1488  bool value = (_has_bits_[0] & 0x00100000u) != 0;
1489  return value;
1490 }
1491 inline bool Fusion::has_imu_issue_detect_horizontal_pitch_checks() const {
1492  return _internal_has_imu_issue_detect_horizontal_pitch_checks();
1493 }
1494 inline void Fusion::clear_imu_issue_detect_horizontal_pitch_checks() {
1495  imu_issue_detect_horizontal_pitch_checks_ = 3;
1496  _has_bits_[0] &= ~0x00100000u;
1497 }
1498 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::_internal_imu_issue_detect_horizontal_pitch_checks() const {
1499  return imu_issue_detect_horizontal_pitch_checks_;
1500 }
1501 inline ::PROTOBUF_NAMESPACE_ID::int32 Fusion::imu_issue_detect_horizontal_pitch_checks() const {
1502  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_issue_detect_horizontal_pitch_checks)
1503  return _internal_imu_issue_detect_horizontal_pitch_checks();
1504 }
1505 inline void Fusion::_internal_set_imu_issue_detect_horizontal_pitch_checks(::PROTOBUF_NAMESPACE_ID::int32 value) {
1506  _has_bits_[0] |= 0x00100000u;
1507  imu_issue_detect_horizontal_pitch_checks_ = value;
1508 }
1509 inline void Fusion::set_imu_issue_detect_horizontal_pitch_checks(::PROTOBUF_NAMESPACE_ID::int32 value) {
1510  _internal_set_imu_issue_detect_horizontal_pitch_checks(value);
1511  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_issue_detect_horizontal_pitch_checks)
1512 }
1513 
1514 // optional double imu_issue_detect_horizontal_pitch_min_time = 46 [default = 1, (.dccl.field) = {
1515 inline bool Fusion::_internal_has_imu_issue_detect_horizontal_pitch_min_time() const {
1516  bool value = (_has_bits_[0] & 0x00200000u) != 0;
1517  return value;
1518 }
1519 inline bool Fusion::has_imu_issue_detect_horizontal_pitch_min_time() const {
1520  return _internal_has_imu_issue_detect_horizontal_pitch_min_time();
1521 }
1522 inline void Fusion::clear_imu_issue_detect_horizontal_pitch_min_time() {
1523  imu_issue_detect_horizontal_pitch_min_time_ = 1;
1524  _has_bits_[0] &= ~0x00200000u;
1525 }
1526 inline double Fusion::_internal_imu_issue_detect_horizontal_pitch_min_time() const {
1527  return imu_issue_detect_horizontal_pitch_min_time_;
1528 }
1529 inline double Fusion::imu_issue_detect_horizontal_pitch_min_time() const {
1530  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_issue_detect_horizontal_pitch_min_time)
1531  return _internal_imu_issue_detect_horizontal_pitch_min_time();
1532 }
1533 inline void Fusion::_internal_set_imu_issue_detect_horizontal_pitch_min_time(double value) {
1534  _has_bits_[0] |= 0x00200000u;
1535  imu_issue_detect_horizontal_pitch_min_time_ = value;
1536 }
1537 inline void Fusion::set_imu_issue_detect_horizontal_pitch_min_time(double value) {
1538  _internal_set_imu_issue_detect_horizontal_pitch_min_time(value);
1539  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_issue_detect_horizontal_pitch_min_time)
1540 }
1541 
1542 // optional double imu_detect_horizontal_pitch = 47 [default = 45];
1543 inline bool Fusion::_internal_has_imu_detect_horizontal_pitch() const {
1544  bool value = (_has_bits_[0] & 0x00400000u) != 0;
1545  return value;
1546 }
1547 inline bool Fusion::has_imu_detect_horizontal_pitch() const {
1548  return _internal_has_imu_detect_horizontal_pitch();
1549 }
1550 inline void Fusion::clear_imu_detect_horizontal_pitch() {
1551  imu_detect_horizontal_pitch_ = 45;
1552  _has_bits_[0] &= ~0x00400000u;
1553 }
1554 inline double Fusion::_internal_imu_detect_horizontal_pitch() const {
1555  return imu_detect_horizontal_pitch_;
1556 }
1557 inline double Fusion::imu_detect_horizontal_pitch() const {
1558  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_detect_horizontal_pitch)
1559  return _internal_imu_detect_horizontal_pitch();
1560 }
1561 inline void Fusion::_internal_set_imu_detect_horizontal_pitch(double value) {
1562  _has_bits_[0] |= 0x00400000u;
1563  imu_detect_horizontal_pitch_ = value;
1564 }
1565 inline void Fusion::set_imu_detect_horizontal_pitch(double value) {
1566  _internal_set_imu_detect_horizontal_pitch(value);
1567  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_detect_horizontal_pitch)
1568 }
1569 
1570 // optional double imu_detect_desired_heading_vs_current_max_diff = 48 [default = 45];
1571 inline bool Fusion::_internal_has_imu_detect_desired_heading_vs_current_max_diff() const {
1572  bool value = (_has_bits_[0] & 0x00800000u) != 0;
1573  return value;
1574 }
1575 inline bool Fusion::has_imu_detect_desired_heading_vs_current_max_diff() const {
1576  return _internal_has_imu_detect_desired_heading_vs_current_max_diff();
1577 }
1578 inline void Fusion::clear_imu_detect_desired_heading_vs_current_max_diff() {
1579  imu_detect_desired_heading_vs_current_max_diff_ = 45;
1580  _has_bits_[0] &= ~0x00800000u;
1581 }
1582 inline double Fusion::_internal_imu_detect_desired_heading_vs_current_max_diff() const {
1583  return imu_detect_desired_heading_vs_current_max_diff_;
1584 }
1585 inline double Fusion::imu_detect_desired_heading_vs_current_max_diff() const {
1586  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.imu_detect_desired_heading_vs_current_max_diff)
1587  return _internal_imu_detect_desired_heading_vs_current_max_diff();
1588 }
1589 inline void Fusion::_internal_set_imu_detect_desired_heading_vs_current_max_diff(double value) {
1590  _has_bits_[0] |= 0x00800000u;
1591  imu_detect_desired_heading_vs_current_max_diff_ = value;
1592 }
1593 inline void Fusion::set_imu_detect_desired_heading_vs_current_max_diff(double value) {
1594  _internal_set_imu_detect_desired_heading_vs_current_max_diff(value);
1595  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.imu_detect_desired_heading_vs_current_max_diff)
1596 }
1597 
1598 // repeated .jaiabot.protobuf.MissionState diving_states = 49;
1599 inline int Fusion::_internal_diving_states_size() const {
1600  return diving_states_.size();
1601 }
1602 inline int Fusion::diving_states_size() const {
1603  return _internal_diving_states_size();
1604 }
1605 inline void Fusion::clear_diving_states() {
1606  diving_states_.Clear();
1607 }
1608 inline ::jaiabot::protobuf::MissionState Fusion::_internal_diving_states(int index) const {
1609  return static_cast< ::jaiabot::protobuf::MissionState >(diving_states_.Get(index));
1610 }
1611 inline ::jaiabot::protobuf::MissionState Fusion::diving_states(int index) const {
1612  // @@protoc_insertion_point(field_get:jaiabot.config.Fusion.diving_states)
1613  return _internal_diving_states(index);
1614 }
1615 inline void Fusion::set_diving_states(int index, ::jaiabot::protobuf::MissionState value) {
1616  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1617  diving_states_.Set(index, value);
1618  // @@protoc_insertion_point(field_set:jaiabot.config.Fusion.diving_states)
1619 }
1620 inline void Fusion::_internal_add_diving_states(::jaiabot::protobuf::MissionState value) {
1621  assert(::jaiabot::protobuf::MissionState_IsValid(value));
1622  diving_states_.Add(value);
1623 }
1624 inline void Fusion::add_diving_states(::jaiabot::protobuf::MissionState value) {
1625  // @@protoc_insertion_point(field_add:jaiabot.config.Fusion.diving_states)
1626  _internal_add_diving_states(value);
1627 }
1628 inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>&
1629 Fusion::diving_states() const {
1630  // @@protoc_insertion_point(field_list:jaiabot.config.Fusion.diving_states)
1631  return diving_states_;
1632 }
1633 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1634 Fusion::_internal_mutable_diving_states() {
1635  return &diving_states_;
1636 }
1637 inline ::PROTOBUF_NAMESPACE_ID::RepeatedField<int>*
1638 Fusion::mutable_diving_states() {
1639  // @@protoc_insertion_point(field_mutable_list:jaiabot.config.Fusion.diving_states)
1640  return _internal_mutable_diving_states();
1641 }
1642 
1643 #ifdef __GNUC__
1644  #pragma GCC diagnostic pop
1645 #endif // __GNUC__
1646 
1647 // @@protoc_insertion_point(namespace_scope)
1648 
1649 } // namespace config
1650 } // namespace jaiabot
1651 
1652 // @@protoc_insertion_point(global_scope)
1653 
1654 #include <google/protobuf/port_undef.inc>
1655 #endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_bin_2ffusion_2fconfig_2eproto
bool has_imu_heading_course_max_diff() const
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet * mutable_unknown_fields()
Definition: config.pb.h:112
void set_discard_location_states(int index, ::jaiabot::protobuf::MissionState value)
void MergeFrom(const Fusion &from)
friend void swap(Fusion &a, Fusion &b)
Definition: config.pb.h:135
::jaiabot::protobuf::MissionState discard_location_states(int index) const
void set_heading_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_battery_percentage_low_level(float value)
float battery_percentage_critically_low_level() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_include_course_error_detection_states()
Fusion & operator=(Fusion &&from) noexcept
Definition: config.pb.h:100
Fusion & operator=(const Fusion &from)
Definition: config.pb.h:96
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & include_course_error_detection_states() const
void set_battery_percentage_very_low_level(float value)
void set_watch_battery_percentage(bool value)
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final
::jaiabot::protobuf::BotStatus_BotType bot_type() const
const ::goby::middleware::protobuf::AppConfig & app() const
bool has_init_data_health_timeout_seconds() const
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & diving_states() const
Fusion * New() const final
Definition: config.pb.h:154
::PROTOBUF_NAMESPACE_ID::int32 course_over_ground_timeout() const
void set_imu_detect_timeout(::PROTOBUF_NAMESPACE_ID::int32 value)
double imu_heading_course_max_diff() const
void set_imu_detect_horizontal_pitch(double value)
double imu_issue_detect_horizontal_pitch_min_time() const
static const Fusion & default_instance()
int include_imu_detection_states_size() const
void set_imu_issue_detect_horizontal_pitch_min_time(double value)
void add_include_course_error_detection_states(::jaiabot::protobuf::MissionState value)
Fusion(::PROTOBUF_NAMESPACE_ID::Arena *arena)
void set_init_data_health_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_health_report_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value)
bool has_health_report_timeout_seconds() const
::jaiabot::protobuf::MissionState include_course_error_detection_states(int index) const
::goby::middleware::protobuf::AppConfig * unsafe_arena_release_app()
void set_imu_detect_period(::PROTOBUF_NAMESPACE_ID::int32 value)
::goby::middleware::protobuf::AppConfig * release_app()
void add_diving_states(::jaiabot::protobuf::MissionState value)
void set_data_timeout_seconds(::PROTOBUF_NAMESPACE_ID::int32 value)
void add_discard_location_states(::jaiabot::protobuf::MissionState value)
void set_imu_issue_detect_horizontal_pitch_min_time_with_units(Quantity value_w_units)
Definition: config.pb.h:628
void set_include_imu_detection_states(int index, ::jaiabot::protobuf::MissionState value)
const ::goby::zeromq::protobuf::InterProcessPortalConfig & interprocess() const
float battery_percentage_low_level() const
::PROTOBUF_NAMESPACE_ID::int32 health_report_timeout_seconds() const
::PROTOBUF_NAMESPACE_ID::int32 data_timeout_seconds() const
void clear_imu_issue_detect_horizontal_pitch_checks()
void CopyFrom(const Fusion &from)
bool has_imu_issue_detect_horizontal_pitch_min_time() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_diving_states()
Fusion(Fusion &&from) noexcept
Definition: config.pb.h:91
static const ::PROTOBUF_NAMESPACE_ID::Reflection * GetReflection()
Definition: config.pb.h:122
bool has_battery_percentage_low_level() const
::PROTOBUF_NAMESPACE_ID::int32 imu_detect_timeout() const
void set_total_imu_issue_checks(::PROTOBUF_NAMESPACE_ID::int32 value)
void unsafe_arena_set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig *interprocess)
void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
double imu_detect_desired_heading_vs_current_max_diff() const
void set_bot_id(::PROTOBUF_NAMESPACE_ID::int32 value)
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * GetDescriptor()
Definition: config.pb.h:119
::PROTOBUF_NAMESPACE_ID::int32 bot_id() const
const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet & unknown_fields() const
Definition: config.pb.h:109
::goby::zeromq::protobuf::InterProcessPortalConfig * release_interprocess()
void set_battery_percentage_critically_low_level(float value)
void set_bot_status_period_ms(::PROTOBUF_NAMESPACE_ID::int32 value)
::goby::zeromq::protobuf::InterProcessPortalConfig * mutable_interprocess()
void set_include_course_error_detection_states(int index, ::jaiabot::protobuf::MissionState value)
::PROTOBUF_NAMESPACE_ID::int32 total_imu_issue_checks() const
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final
boost::units::quantity< imu_issue_detect_horizontal_pitch_min_time_unit, double > imu_issue_detect_horizontal_pitch_min_time_with_units() const
Definition: config.pb.h:635
bool has_heading_timeout_seconds() const
void set_course_over_ground_timeout(::PROTOBUF_NAMESPACE_ID::int32 value)
::PROTOBUF_NAMESPACE_ID::int32 imu_issue_detect_horizontal_pitch_checks() const
void clear_imu_detect_desired_heading_vs_current_max_diff()
void set_imu_heading_course_max_diff(double value)
::PROTOBUF_NAMESPACE_ID::int32 imu_detect_period() const
bool has_watch_battery_percentage() const
void set_diving_states(int index, ::jaiabot::protobuf::MissionState value)
boost::units::unit< imu_issue_detect_horizontal_pitch_min_time_dimension, boost::units::si::system > imu_issue_detect_horizontal_pitch_min_time_unit
Definition: config.pb.h:625
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & include_imu_detection_states() const
void set_imu_issue_detect_horizontal_pitch_checks(::PROTOBUF_NAMESPACE_ID::int32 value)
void set_imu_issue_solution(::jaiabot::protobuf::IMUIssue_SolutionType value)
void add_include_imu_detection_states(::jaiabot::protobuf::MissionState value)
::jaiabot::protobuf::MissionState diving_states(int index) const
::PROTOBUF_NAMESPACE_ID::int32 init_data_health_timeout_seconds() const
bool has_course_over_ground_timeout() const
::goby::middleware::protobuf::AppConfig * mutable_app()
bool has_imu_issue_detect_horizontal_pitch_checks() const
static const Fusion * internal_default_instance()
Definition: config.pb.h:128
boost::units::derived_dimension< boost::units::time_base_dimension, 1 >::type imu_issue_detect_horizontal_pitch_min_time_dimension
Definition: config.pb.h:623
void UnsafeArenaSwap(Fusion *other)
Definition: config.pb.h:146
bool has_battery_percentage_very_low_level() const
double imu_detect_horizontal_pitch() const
Quantity imu_issue_detect_horizontal_pitch_min_time_with_units() const
Definition: config.pb.h:632
Fusion * New(::PROTOBUF_NAMESPACE_ID::Arena *arena) const final
Definition: config.pb.h:158
void set_allocated_interprocess(::goby::zeromq::protobuf::InterProcessPortalConfig *interprocess)
void unsafe_arena_set_allocated_app(::goby::middleware::protobuf::AppConfig *app)
::jaiabot::protobuf::IMUIssue_SolutionType imu_issue_solution() const
::PROTOBUF_NAMESPACE_ID::int32 bot_status_period_ms() const
void clear_imu_issue_detect_horizontal_pitch_min_time()
void set_allocated_app(::goby::middleware::protobuf::AppConfig *app)
const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int > & discard_location_states() const
void Swap(Fusion *other)
Definition: config.pb.h:138
::goby::zeromq::protobuf::InterProcessPortalConfig * unsafe_arena_release_interprocess()
bool has_imu_detect_horizontal_pitch() const
bool has_battery_percentage_critically_low_level() const
::jaiabot::protobuf::MissionState include_imu_detection_states(int index) const
::PROTOBUF_NAMESPACE_ID::int32 heading_timeout_seconds() const
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_discard_location_states()
float battery_percentage_very_low_level() const
int include_course_error_detection_states_size() const
static const ::PROTOBUF_NAMESPACE_ID::Descriptor * descriptor()
Definition: config.pb.h:116
void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message &from) final
void set_imu_detect_desired_heading_vs_current_max_diff(double value)
bool has_imu_detect_desired_heading_vs_current_max_diff() const
void clear_battery_percentage_critically_low_level()
::PROTOBUF_NAMESPACE_ID::RepeatedField< int > * mutable_include_imu_detection_states()
void set_bot_type(::jaiabot::protobuf::BotStatus_BotType value)
Fusion(const Fusion &from)
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_bin_2ffusion_2fconfig_2eproto
FusionDefaultTypeInternal _Fusion_default_instance_
bool BotStatus_BotType_IsValid(int value)
bool IMUIssue_SolutionType_IsValid(int value)
bool MissionState_IsValid(int value)
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::goby::acomms::protobuf::DriverConfig, ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::xbee::protobuf::Config >, 11, false > config
static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]
Definition: config.pb.h:64
static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]
Definition: config.pb.h:65
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] PROTOBUF_SECTION_VARIABLE(protodesc_cold)
static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]
Definition: config.pb.h:66