text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: calibration/calibration.proto
  
  #include "calibration/calibration.pb.h"
  
  #include <algorithm>
  
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/extension_set.h>
  #include <google/protobuf/wire_format_lite.h>
  #include <google/protobuf/descriptor.h>
  #include <google/protobuf/generated_message_reflection.h>
  #include <google/protobuf/reflection_ops.h>
  #include <google/protobuf/wire_format.h>
  // @@protoc_insertion_point(includes)
  #include <google/protobuf/port_def.inc>
  
  PROTOBUF_PRAGMA_INIT_SEG
  namespace mavsdk {
  namespace rpc {
  namespace calibration {
  constexpr SubscribeCalibrateGyroRequest::SubscribeCalibrateGyroRequest(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
  struct SubscribeCalibrateGyroRequestDefaultTypeInternal {
    constexpr SubscribeCalibrateGyroRequestDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~SubscribeCalibrateGyroRequestDefaultTypeInternal() {}
    union {
      SubscribeCalibrateGyroRequest _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SubscribeCalibrateGyroRequestDefaultTypeInternal _SubscribeCalibrateGyroRequest_default_instance_;
  constexpr CalibrateGyroResponse::CalibrateGyroResponse(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : calibration_result_(nullptr)
    , progress_data_(nullptr){}
  struct CalibrateGyroResponseDefaultTypeInternal {
    constexpr CalibrateGyroResponseDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CalibrateGyroResponseDefaultTypeInternal() {}
    union {
      CalibrateGyroResponse _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CalibrateGyroResponseDefaultTypeInternal _CalibrateGyroResponse_default_instance_;
  constexpr SubscribeCalibrateAccelerometerRequest::SubscribeCalibrateAccelerometerRequest(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
  struct SubscribeCalibrateAccelerometerRequestDefaultTypeInternal {
    constexpr SubscribeCalibrateAccelerometerRequestDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~SubscribeCalibrateAccelerometerRequestDefaultTypeInternal() {}
    union {
      SubscribeCalibrateAccelerometerRequest _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SubscribeCalibrateAccelerometerRequestDefaultTypeInternal _SubscribeCalibrateAccelerometerRequest_default_instance_;
  constexpr CalibrateAccelerometerResponse::CalibrateAccelerometerResponse(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : calibration_result_(nullptr)
    , progress_data_(nullptr){}
  struct CalibrateAccelerometerResponseDefaultTypeInternal {
    constexpr CalibrateAccelerometerResponseDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CalibrateAccelerometerResponseDefaultTypeInternal() {}
    union {
      CalibrateAccelerometerResponse _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CalibrateAccelerometerResponseDefaultTypeInternal _CalibrateAccelerometerResponse_default_instance_;
  constexpr SubscribeCalibrateMagnetometerRequest::SubscribeCalibrateMagnetometerRequest(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
  struct SubscribeCalibrateMagnetometerRequestDefaultTypeInternal {
    constexpr SubscribeCalibrateMagnetometerRequestDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~SubscribeCalibrateMagnetometerRequestDefaultTypeInternal() {}
    union {
      SubscribeCalibrateMagnetometerRequest _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SubscribeCalibrateMagnetometerRequestDefaultTypeInternal _SubscribeCalibrateMagnetometerRequest_default_instance_;
  constexpr CalibrateMagnetometerResponse::CalibrateMagnetometerResponse(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : calibration_result_(nullptr)
    , progress_data_(nullptr){}
  struct CalibrateMagnetometerResponseDefaultTypeInternal {
    constexpr CalibrateMagnetometerResponseDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CalibrateMagnetometerResponseDefaultTypeInternal() {}
    union {
      CalibrateMagnetometerResponse _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CalibrateMagnetometerResponseDefaultTypeInternal _CalibrateMagnetometerResponse_default_instance_;
  constexpr SubscribeCalibrateLevelHorizonRequest::SubscribeCalibrateLevelHorizonRequest(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
  struct SubscribeCalibrateLevelHorizonRequestDefaultTypeInternal {
    constexpr SubscribeCalibrateLevelHorizonRequestDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~SubscribeCalibrateLevelHorizonRequestDefaultTypeInternal() {}
    union {
      SubscribeCalibrateLevelHorizonRequest _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SubscribeCalibrateLevelHorizonRequestDefaultTypeInternal _SubscribeCalibrateLevelHorizonRequest_default_instance_;
  constexpr CalibrateLevelHorizonResponse::CalibrateLevelHorizonResponse(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : calibration_result_(nullptr)
    , progress_data_(nullptr){}
  struct CalibrateLevelHorizonResponseDefaultTypeInternal {
    constexpr CalibrateLevelHorizonResponseDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CalibrateLevelHorizonResponseDefaultTypeInternal() {}
    union {
      CalibrateLevelHorizonResponse _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CalibrateLevelHorizonResponseDefaultTypeInternal _CalibrateLevelHorizonResponse_default_instance_;
  constexpr SubscribeCalibrateGimbalAccelerometerRequest::SubscribeCalibrateGimbalAccelerometerRequest(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
  struct SubscribeCalibrateGimbalAccelerometerRequestDefaultTypeInternal {
    constexpr SubscribeCalibrateGimbalAccelerometerRequestDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~SubscribeCalibrateGimbalAccelerometerRequestDefaultTypeInternal() {}
    union {
      SubscribeCalibrateGimbalAccelerometerRequest _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SubscribeCalibrateGimbalAccelerometerRequestDefaultTypeInternal _SubscribeCalibrateGimbalAccelerometerRequest_default_instance_;
  constexpr CalibrateGimbalAccelerometerResponse::CalibrateGimbalAccelerometerResponse(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : calibration_result_(nullptr)
    , progress_data_(nullptr){}
  struct CalibrateGimbalAccelerometerResponseDefaultTypeInternal {
    constexpr CalibrateGimbalAccelerometerResponseDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CalibrateGimbalAccelerometerResponseDefaultTypeInternal() {}
    union {
      CalibrateGimbalAccelerometerResponse _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CalibrateGimbalAccelerometerResponseDefaultTypeInternal _CalibrateGimbalAccelerometerResponse_default_instance_;
  constexpr CancelRequest::CancelRequest(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
  struct CancelRequestDefaultTypeInternal {
    constexpr CancelRequestDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CancelRequestDefaultTypeInternal() {}
    union {
      CancelRequest _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CancelRequestDefaultTypeInternal _CancelRequest_default_instance_;
  constexpr CancelResponse::CancelResponse(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : calibration_result_(nullptr){}
  struct CancelResponseDefaultTypeInternal {
    constexpr CancelResponseDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CancelResponseDefaultTypeInternal() {}
    union {
      CancelResponse _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CancelResponseDefaultTypeInternal _CancelResponse_default_instance_;
  constexpr CalibrationResult::CalibrationResult(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : result_str_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
    , result_(0)
  {}
  struct CalibrationResultDefaultTypeInternal {
    constexpr CalibrationResultDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~CalibrationResultDefaultTypeInternal() {}
    union {
      CalibrationResult _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CalibrationResultDefaultTypeInternal _CalibrationResult_default_instance_;
  constexpr ProgressData::ProgressData(
    ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
    : status_text_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
    , progress_(0)
    , has_progress_(false)
    , has_status_text_(false){}
  struct ProgressDataDefaultTypeInternal {
    constexpr ProgressDataDefaultTypeInternal()
      : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
    ~ProgressDataDefaultTypeInternal() {}
    union {
      ProgressData _instance;
    };
  };
  PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ProgressDataDefaultTypeInternal _ProgressData_default_instance_;
  }  // namespace calibration
  }  // namespace rpc
  }  // namespace mavsdk
  static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_calibration_2fcalibration_2eproto[14];
  static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_calibration_2fcalibration_2eproto[1];
  static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_calibration_2fcalibration_2eproto = nullptr;
  
  const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_calibration_2fcalibration_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::SubscribeCalibrateGyroRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateGyroResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateGyroResponse, calibration_result_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateGyroResponse, progress_data_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::SubscribeCalibrateAccelerometerRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateAccelerometerResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateAccelerometerResponse, calibration_result_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateAccelerometerResponse, progress_data_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::SubscribeCalibrateMagnetometerRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateMagnetometerResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateMagnetometerResponse, calibration_result_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateMagnetometerResponse, progress_data_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::SubscribeCalibrateLevelHorizonRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateLevelHorizonResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateLevelHorizonResponse, calibration_result_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateLevelHorizonResponse, progress_data_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::SubscribeCalibrateGimbalAccelerometerRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateGimbalAccelerometerResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateGimbalAccelerometerResponse, calibration_result_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrateGimbalAccelerometerResponse, progress_data_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CancelRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CancelResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CancelResponse, calibration_result_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrationResult, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrationResult, result_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::CalibrationResult, result_str_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::ProgressData, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::ProgressData, has_progress_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::ProgressData, progress_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::ProgressData, has_status_text_),
    PROTOBUF_FIELD_OFFSET(::mavsdk::rpc::calibration::ProgressData, status_text_),
  };
  static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
    { 0, -1, sizeof(::mavsdk::rpc::calibration::SubscribeCalibrateGyroRequest)},
    { 5, -1, sizeof(::mavsdk::rpc::calibration::CalibrateGyroResponse)},
    { 12, -1, sizeof(::mavsdk::rpc::calibration::SubscribeCalibrateAccelerometerRequest)},
    { 17, -1, sizeof(::mavsdk::rpc::calibration::CalibrateAccelerometerResponse)},
    { 24, -1, sizeof(::mavsdk::rpc::calibration::SubscribeCalibrateMagnetometerRequest)},
    { 29, -1, sizeof(::mavsdk::rpc::calibration::CalibrateMagnetometerResponse)},
    { 36, -1, sizeof(::mavsdk::rpc::calibration::SubscribeCalibrateLevelHorizonRequest)},
    { 41, -1, sizeof(::mavsdk::rpc::calibration::CalibrateLevelHorizonResponse)},
    { 48, -1, sizeof(::mavsdk::rpc::calibration::SubscribeCalibrateGimbalAccelerometerRequest)},
    { 53, -1, sizeof(::mavsdk::rpc::calibration::CalibrateGimbalAccelerometerResponse)},
    { 60, -1, sizeof(::mavsdk::rpc::calibration::CancelRequest)},
    { 65, -1, sizeof(::mavsdk::rpc::calibration::CancelResponse)},
    { 71, -1, sizeof(::mavsdk::rpc::calibration::CalibrationResult)},
    { 78, -1, sizeof(::mavsdk::rpc::calibration::ProgressData)},
  };
  
  static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_SubscribeCalibrateGyroRequest_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CalibrateGyroResponse_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_SubscribeCalibrateAccelerometerRequest_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CalibrateAccelerometerResponse_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_SubscribeCalibrateMagnetometerRequest_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CalibrateMagnetometerResponse_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_SubscribeCalibrateLevelHorizonRequest_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CalibrateLevelHorizonResponse_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_SubscribeCalibrateGimbalAccelerometerRequest_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CalibrateGimbalAccelerometerResponse_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CancelRequest_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CancelResponse_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_CalibrationResult_default_instance_),
    reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::mavsdk::rpc::calibration::_ProgressData_default_instance_),
  };
  
  const char descriptor_table_protodef_calibration_2fcalibration_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
    "\n\035calibration/calibration.proto\022\026mavsdk."
    "rpc.calibration\032\024mavsdk_options.proto\"\037\n"
    "\035SubscribeCalibrateGyroRequest\"\233\001\n\025Calib"
    "rateGyroResponse\022E\n\022calibration_result\030\001"
    " \001(\0132).mavsdk.rpc.calibration.Calibratio"
    "nResult\022;\n\rprogress_data\030\002 \001(\0132$.mavsdk."
    "rpc.calibration.ProgressData\"(\n&Subscrib"
    "eCalibrateAccelerometerRequest\"\244\001\n\036Calib"
    "rateAccelerometerResponse\022E\n\022calibration"
    "_result\030\001 \001(\0132).mavsdk.rpc.calibration.C"
    "alibrationResult\022;\n\rprogress_data\030\002 \001(\0132"
    "$.mavsdk.rpc.calibration.ProgressData\"\'\n"
    "%SubscribeCalibrateMagnetometerRequest\"\243"
    "\001\n\035CalibrateMagnetometerResponse\022E\n\022cali"
    "bration_result\030\001 \001(\0132).mavsdk.rpc.calibr"
    "ation.CalibrationResult\022;\n\rprogress_data"
    "\030\002 \001(\0132$.mavsdk.rpc.calibration.Progress"
    "Data\"\'\n%SubscribeCalibrateLevelHorizonRe"
    "quest\"\243\001\n\035CalibrateLevelHorizonResponse\022"
    "E\n\022calibration_result\030\001 \001(\0132).mavsdk.rpc"
    ".calibration.CalibrationResult\022;\n\rprogre"
    "ss_data\030\002 \001(\0132$.mavsdk.rpc.calibration.P"
    "rogressData\".\n,SubscribeCalibrateGimbalA"
    "ccelerometerRequest\"\252\001\n$CalibrateGimbalA"
    "ccelerometerResponse\022E\n\022calibration_resu"
    "lt\030\001 \001(\0132).mavsdk.rpc.calibration.Calibr"
    "ationResult\022;\n\rprogress_data\030\002 \001(\0132$.mav"
    "sdk.rpc.calibration.ProgressData\"\017\n\rCanc"
    "elRequest\"W\n\016CancelResponse\022E\n\022calibrati"
    "on_result\030\001 \001(\0132).mavsdk.rpc.calibration"
    ".CalibrationResult\"\342\002\n\021CalibrationResult"
    "\022@\n\006result\030\001 \001(\01620.mavsdk.rpc.calibratio"
    "n.CalibrationResult.Result\022\022\n\nresult_str"
    "\030\002 \001(\t\"\366\001\n\006Result\022\022\n\016RESULT_UNKNOWN\020\000\022\022\n"
    "\016RESULT_SUCCESS\020\001\022\017\n\013RESULT_NEXT\020\002\022\021\n\rRE"
    "SULT_FAILED\020\003\022\024\n\020RESULT_NO_SYSTEM\020\004\022\033\n\027R"
    "ESULT_CONNECTION_ERROR\020\005\022\017\n\013RESULT_BUSY\020"
    "\006\022\031\n\025RESULT_COMMAND_DENIED\020\007\022\022\n\016RESULT_T"
    "IMEOUT\020\010\022\024\n\020RESULT_CANCELLED\020\t\022\027\n\023RESULT"
    "_FAILED_ARMED\020\n\"\203\001\n\014ProgressData\022\037\n\014has_"
    "progress\030\001 \001(\010B\t\202\265\030\005false\022\031\n\010progress\030\002 "
    "\001(\002B\007\202\265\030\003NaN\022\"\n\017has_status_text\030\003 \001(\010B\t\202"
    "\265\030\005false\022\023\n\013status_text\030\004 \001(\t2\254\007\n\022Calibr"
    "ationService\022\212\001\n\026SubscribeCalibrateGyro\022"
    "5.mavsdk.rpc.calibration.SubscribeCalibr"
    "ateGyroRequest\032-.mavsdk.rpc.calibration."
    "CalibrateGyroResponse\"\010\200\265\030\000\210\265\030\0010\001\022\245\001\n\037Su"
    "bscribeCalibrateAccelerometer\022>.mavsdk.r"
    "pc.calibration.SubscribeCalibrateAcceler"
    "ometerRequest\0326.mavsdk.rpc.calibration.C"
    "alibrateAccelerometerResponse\"\010\200\265\030\000\210\265\030\0010"
    "\001\022\242\001\n\036SubscribeCalibrateMagnetometer\022=.m"
    "avsdk.rpc.calibration.SubscribeCalibrate"
    "MagnetometerRequest\0325.mavsdk.rpc.calibra"
    "tion.CalibrateMagnetometerResponse\"\010\200\265\030\000"
    "\210\265\030\0010\001\022\242\001\n\036SubscribeCalibrateLevelHorizo"
    "n\022=.mavsdk.rpc.calibration.SubscribeCali"
    "brateLevelHorizonRequest\0325.mavsdk.rpc.ca"
    "libration.CalibrateLevelHorizonResponse\""
    "\010\200\265\030\000\210\265\030\0010\001\022\267\001\n%SubscribeCalibrateGimbal"
    "Accelerometer\022D.mavsdk.rpc.calibration.S"
    "ubscribeCalibrateGimbalAccelerometerRequ"
    "est\032<.mavsdk.rpc.calibration.CalibrateGi"
    "mbalAccelerometerResponse\"\010\200\265\030\000\210\265\030\0010\001\022]\n"
    "\006Cancel\022%.mavsdk.rpc.calibration.CancelR"
    "equest\032&.mavsdk.rpc.calibration.CancelRe"
    "sponse\"\004\200\265\030\001B)\n\025io.mavsdk.calibrationB\020C"
    "alibrationProtob\006proto3"
    ;
  static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_calibration_2fcalibration_2eproto_deps[1] = {
    &::descriptor_table_mavsdk_5foptions_2eproto,
  };
  static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_calibration_2fcalibration_2eproto_once;
  const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_calibration_2fcalibration_2eproto = {
    false, false, 2703, descriptor_table_protodef_calibration_2fcalibration_2eproto, "calibration/calibration.proto", 
    &descriptor_table_calibration_2fcalibration_2eproto_once, descriptor_table_calibration_2fcalibration_2eproto_deps, 1, 14,
    schemas, file_default_instances, TableStruct_calibration_2fcalibration_2eproto::offsets,
    file_level_metadata_calibration_2fcalibration_2eproto, file_level_enum_descriptors_calibration_2fcalibration_2eproto, file_level_service_descriptors_calibration_2fcalibration_2eproto,
  };
  PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_calibration_2fcalibration_2eproto_getter() {
    return &descriptor_table_calibration_2fcalibration_2eproto;
  }
  
  // Force running AddDescriptors() at dynamic initialization time.
  PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_calibration_2fcalibration_2eproto(&descriptor_table_calibration_2fcalibration_2eproto);
  namespace mavsdk {
  namespace rpc {
  namespace calibration {
  const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CalibrationResult_Result_descriptor() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_calibration_2fcalibration_2eproto);
    return file_level_enum_descriptors_calibration_2fcalibration_2eproto[0];
  }
  bool CalibrationResult_Result_IsValid(int value) {
    switch (value) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
      case 8:
      case 9:
      case 10:
        return true;
      default:
        return false;
    }
  }
  
  #if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
  constexpr CalibrationResult_Result CalibrationResult::RESULT_UNKNOWN;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_SUCCESS;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_NEXT;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_FAILED;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_NO_SYSTEM;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_CONNECTION_ERROR;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_BUSY;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_COMMAND_DENIED;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_TIMEOUT;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_CANCELLED;
  constexpr CalibrationResult_Result CalibrationResult::RESULT_FAILED_ARMED;
  constexpr CalibrationResult_Result CalibrationResult::Result_MIN;
  constexpr CalibrationResult_Result CalibrationResult::Result_MAX;
  constexpr int CalibrationResult::Result_ARRAYSIZE;
  #endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
  
  // ===================================================================
  
  class SubscribeCalibrateGyroRequest::_Internal {
   public:
  };
  
  SubscribeCalibrateGyroRequest::SubscribeCalibrateGyroRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
  }
  SubscribeCalibrateGyroRequest::SubscribeCalibrateGyroRequest(const SubscribeCalibrateGyroRequest& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
  }
  
  inline void SubscribeCalibrateGyroRequest::SharedCtor() {
  }
  
  SubscribeCalibrateGyroRequest::~SubscribeCalibrateGyroRequest() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void SubscribeCalibrateGyroRequest::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  }
  
  void SubscribeCalibrateGyroRequest::ArenaDtor(void* object) {
    SubscribeCalibrateGyroRequest* _this = reinterpret_cast< SubscribeCalibrateGyroRequest* >(object);
    (void)_this;
  }
  void SubscribeCalibrateGyroRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void SubscribeCalibrateGyroRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void SubscribeCalibrateGyroRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* SubscribeCalibrateGyroRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* SubscribeCalibrateGyroRequest::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
    return target;
  }
  
  size_t SubscribeCalibrateGyroRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubscribeCalibrateGyroRequest::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      SubscribeCalibrateGyroRequest::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubscribeCalibrateGyroRequest::GetClassData() const { return &_class_data_; }
  
  void SubscribeCalibrateGyroRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<SubscribeCalibrateGyroRequest *>(to)->MergeFrom(
        static_cast<const SubscribeCalibrateGyroRequest &>(from));
  }
  
  
  void SubscribeCalibrateGyroRequest::MergeFrom(const SubscribeCalibrateGyroRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void SubscribeCalibrateGyroRequest::CopyFrom(const SubscribeCalibrateGyroRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.SubscribeCalibrateGyroRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool SubscribeCalibrateGyroRequest::IsInitialized() const {
    return true;
  }
  
  void SubscribeCalibrateGyroRequest::InternalSwap(SubscribeCalibrateGyroRequest* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata SubscribeCalibrateGyroRequest::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[0]);
  }
  
  // ===================================================================
  
  class CalibrateGyroResponse::_Internal {
   public:
    static const ::mavsdk::rpc::calibration::CalibrationResult& calibration_result(const CalibrateGyroResponse* msg);
    static const ::mavsdk::rpc::calibration::ProgressData& progress_data(const CalibrateGyroResponse* msg);
  };
  
  const ::mavsdk::rpc::calibration::CalibrationResult&
  CalibrateGyroResponse::_Internal::calibration_result(const CalibrateGyroResponse* msg) {
    return *msg->calibration_result_;
  }
  const ::mavsdk::rpc::calibration::ProgressData&
  CalibrateGyroResponse::_Internal::progress_data(const CalibrateGyroResponse* msg) {
    return *msg->progress_data_;
  }
  CalibrateGyroResponse::CalibrateGyroResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CalibrateGyroResponse)
  }
  CalibrateGyroResponse::CalibrateGyroResponse(const CalibrateGyroResponse& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    if (from._internal_has_calibration_result()) {
      calibration_result_ = new ::mavsdk::rpc::calibration::CalibrationResult(*from.calibration_result_);
    } else {
      calibration_result_ = nullptr;
    }
    if (from._internal_has_progress_data()) {
      progress_data_ = new ::mavsdk::rpc::calibration::ProgressData(*from.progress_data_);
    } else {
      progress_data_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CalibrateGyroResponse)
  }
  
  inline void CalibrateGyroResponse::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&calibration_result_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&progress_data_) -
      reinterpret_cast<char*>(&calibration_result_)) + sizeof(progress_data_));
  }
  
  CalibrateGyroResponse::~CalibrateGyroResponse() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CalibrateGyroResponse)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CalibrateGyroResponse::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    if (this != internal_default_instance()) delete calibration_result_;
    if (this != internal_default_instance()) delete progress_data_;
  }
  
  void CalibrateGyroResponse::ArenaDtor(void* object) {
    CalibrateGyroResponse* _this = reinterpret_cast< CalibrateGyroResponse* >(object);
    (void)_this;
  }
  void CalibrateGyroResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CalibrateGyroResponse::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CalibrateGyroResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CalibrateGyroResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaForAllocation() == nullptr && calibration_result_ != nullptr) {
      delete calibration_result_;
    }
    calibration_result_ = nullptr;
    if (GetArenaForAllocation() == nullptr && progress_data_ != nullptr) {
      delete progress_data_;
    }
    progress_data_ = nullptr;
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CalibrateGyroResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
            ptr = ctx->ParseMessage(_internal_mutable_calibration_result(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
        case 2:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
            ptr = ctx->ParseMessage(_internal_mutable_progress_data(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CalibrateGyroResponse::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CalibrateGyroResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          1, _Internal::calibration_result(this), target, stream);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          2, _Internal::progress_data(this), target, stream);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CalibrateGyroResponse)
    return target;
  }
  
  size_t CalibrateGyroResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CalibrateGyroResponse)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *calibration_result_);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *progress_data_);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CalibrateGyroResponse::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CalibrateGyroResponse::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CalibrateGyroResponse::GetClassData() const { return &_class_data_; }
  
  void CalibrateGyroResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CalibrateGyroResponse *>(to)->MergeFrom(
        static_cast<const CalibrateGyroResponse &>(from));
  }
  
  
  void CalibrateGyroResponse::MergeFrom(const CalibrateGyroResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CalibrateGyroResponse)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from._internal_has_calibration_result()) {
      _internal_mutable_calibration_result()->::mavsdk::rpc::calibration::CalibrationResult::MergeFrom(from._internal_calibration_result());
    }
    if (from._internal_has_progress_data()) {
      _internal_mutable_progress_data()->::mavsdk::rpc::calibration::ProgressData::MergeFrom(from._internal_progress_data());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CalibrateGyroResponse::CopyFrom(const CalibrateGyroResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CalibrateGyroResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CalibrateGyroResponse::IsInitialized() const {
    return true;
  }
  
  void CalibrateGyroResponse::InternalSwap(CalibrateGyroResponse* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    ::PROTOBUF_NAMESPACE_ID::internal::memswap<
        PROTOBUF_FIELD_OFFSET(CalibrateGyroResponse, progress_data_)
        + sizeof(CalibrateGyroResponse::progress_data_)
        - PROTOBUF_FIELD_OFFSET(CalibrateGyroResponse, calibration_result_)>(
            reinterpret_cast<char*>(&calibration_result_),
            reinterpret_cast<char*>(&other->calibration_result_));
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CalibrateGyroResponse::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[1]);
  }
  
  // ===================================================================
  
  class SubscribeCalibrateAccelerometerRequest::_Internal {
   public:
  };
  
  SubscribeCalibrateAccelerometerRequest::SubscribeCalibrateAccelerometerRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
  }
  SubscribeCalibrateAccelerometerRequest::SubscribeCalibrateAccelerometerRequest(const SubscribeCalibrateAccelerometerRequest& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
  }
  
  inline void SubscribeCalibrateAccelerometerRequest::SharedCtor() {
  }
  
  SubscribeCalibrateAccelerometerRequest::~SubscribeCalibrateAccelerometerRequest() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void SubscribeCalibrateAccelerometerRequest::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  }
  
  void SubscribeCalibrateAccelerometerRequest::ArenaDtor(void* object) {
    SubscribeCalibrateAccelerometerRequest* _this = reinterpret_cast< SubscribeCalibrateAccelerometerRequest* >(object);
    (void)_this;
  }
  void SubscribeCalibrateAccelerometerRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void SubscribeCalibrateAccelerometerRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void SubscribeCalibrateAccelerometerRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* SubscribeCalibrateAccelerometerRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* SubscribeCalibrateAccelerometerRequest::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
    return target;
  }
  
  size_t SubscribeCalibrateAccelerometerRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubscribeCalibrateAccelerometerRequest::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      SubscribeCalibrateAccelerometerRequest::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubscribeCalibrateAccelerometerRequest::GetClassData() const { return &_class_data_; }
  
  void SubscribeCalibrateAccelerometerRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<SubscribeCalibrateAccelerometerRequest *>(to)->MergeFrom(
        static_cast<const SubscribeCalibrateAccelerometerRequest &>(from));
  }
  
  
  void SubscribeCalibrateAccelerometerRequest::MergeFrom(const SubscribeCalibrateAccelerometerRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void SubscribeCalibrateAccelerometerRequest::CopyFrom(const SubscribeCalibrateAccelerometerRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.SubscribeCalibrateAccelerometerRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool SubscribeCalibrateAccelerometerRequest::IsInitialized() const {
    return true;
  }
  
  void SubscribeCalibrateAccelerometerRequest::InternalSwap(SubscribeCalibrateAccelerometerRequest* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata SubscribeCalibrateAccelerometerRequest::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[2]);
  }
  
  // ===================================================================
  
  class CalibrateAccelerometerResponse::_Internal {
   public:
    static const ::mavsdk::rpc::calibration::CalibrationResult& calibration_result(const CalibrateAccelerometerResponse* msg);
    static const ::mavsdk::rpc::calibration::ProgressData& progress_data(const CalibrateAccelerometerResponse* msg);
  };
  
  const ::mavsdk::rpc::calibration::CalibrationResult&
  CalibrateAccelerometerResponse::_Internal::calibration_result(const CalibrateAccelerometerResponse* msg) {
    return *msg->calibration_result_;
  }
  const ::mavsdk::rpc::calibration::ProgressData&
  CalibrateAccelerometerResponse::_Internal::progress_data(const CalibrateAccelerometerResponse* msg) {
    return *msg->progress_data_;
  }
  CalibrateAccelerometerResponse::CalibrateAccelerometerResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
  }
  CalibrateAccelerometerResponse::CalibrateAccelerometerResponse(const CalibrateAccelerometerResponse& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    if (from._internal_has_calibration_result()) {
      calibration_result_ = new ::mavsdk::rpc::calibration::CalibrationResult(*from.calibration_result_);
    } else {
      calibration_result_ = nullptr;
    }
    if (from._internal_has_progress_data()) {
      progress_data_ = new ::mavsdk::rpc::calibration::ProgressData(*from.progress_data_);
    } else {
      progress_data_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
  }
  
  inline void CalibrateAccelerometerResponse::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&calibration_result_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&progress_data_) -
      reinterpret_cast<char*>(&calibration_result_)) + sizeof(progress_data_));
  }
  
  CalibrateAccelerometerResponse::~CalibrateAccelerometerResponse() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CalibrateAccelerometerResponse::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    if (this != internal_default_instance()) delete calibration_result_;
    if (this != internal_default_instance()) delete progress_data_;
  }
  
  void CalibrateAccelerometerResponse::ArenaDtor(void* object) {
    CalibrateAccelerometerResponse* _this = reinterpret_cast< CalibrateAccelerometerResponse* >(object);
    (void)_this;
  }
  void CalibrateAccelerometerResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CalibrateAccelerometerResponse::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CalibrateAccelerometerResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaForAllocation() == nullptr && calibration_result_ != nullptr) {
      delete calibration_result_;
    }
    calibration_result_ = nullptr;
    if (GetArenaForAllocation() == nullptr && progress_data_ != nullptr) {
      delete progress_data_;
    }
    progress_data_ = nullptr;
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CalibrateAccelerometerResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
            ptr = ctx->ParseMessage(_internal_mutable_calibration_result(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
        case 2:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
            ptr = ctx->ParseMessage(_internal_mutable_progress_data(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CalibrateAccelerometerResponse::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          1, _Internal::calibration_result(this), target, stream);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          2, _Internal::progress_data(this), target, stream);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
    return target;
  }
  
  size_t CalibrateAccelerometerResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *calibration_result_);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *progress_data_);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CalibrateAccelerometerResponse::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CalibrateAccelerometerResponse::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CalibrateAccelerometerResponse::GetClassData() const { return &_class_data_; }
  
  void CalibrateAccelerometerResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CalibrateAccelerometerResponse *>(to)->MergeFrom(
        static_cast<const CalibrateAccelerometerResponse &>(from));
  }
  
  
  void CalibrateAccelerometerResponse::MergeFrom(const CalibrateAccelerometerResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from._internal_has_calibration_result()) {
      _internal_mutable_calibration_result()->::mavsdk::rpc::calibration::CalibrationResult::MergeFrom(from._internal_calibration_result());
    }
    if (from._internal_has_progress_data()) {
      _internal_mutable_progress_data()->::mavsdk::rpc::calibration::ProgressData::MergeFrom(from._internal_progress_data());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CalibrateAccelerometerResponse::CopyFrom(const CalibrateAccelerometerResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CalibrateAccelerometerResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CalibrateAccelerometerResponse::IsInitialized() const {
    return true;
  }
  
  void CalibrateAccelerometerResponse::InternalSwap(CalibrateAccelerometerResponse* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    ::PROTOBUF_NAMESPACE_ID::internal::memswap<
        PROTOBUF_FIELD_OFFSET(CalibrateAccelerometerResponse, progress_data_)
        + sizeof(CalibrateAccelerometerResponse::progress_data_)
        - PROTOBUF_FIELD_OFFSET(CalibrateAccelerometerResponse, calibration_result_)>(
            reinterpret_cast<char*>(&calibration_result_),
            reinterpret_cast<char*>(&other->calibration_result_));
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CalibrateAccelerometerResponse::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[3]);
  }
  
  // ===================================================================
  
  class SubscribeCalibrateMagnetometerRequest::_Internal {
   public:
  };
  
  SubscribeCalibrateMagnetometerRequest::SubscribeCalibrateMagnetometerRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
  }
  SubscribeCalibrateMagnetometerRequest::SubscribeCalibrateMagnetometerRequest(const SubscribeCalibrateMagnetometerRequest& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
  }
  
  inline void SubscribeCalibrateMagnetometerRequest::SharedCtor() {
  }
  
  SubscribeCalibrateMagnetometerRequest::~SubscribeCalibrateMagnetometerRequest() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void SubscribeCalibrateMagnetometerRequest::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  }
  
  void SubscribeCalibrateMagnetometerRequest::ArenaDtor(void* object) {
    SubscribeCalibrateMagnetometerRequest* _this = reinterpret_cast< SubscribeCalibrateMagnetometerRequest* >(object);
    (void)_this;
  }
  void SubscribeCalibrateMagnetometerRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void SubscribeCalibrateMagnetometerRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void SubscribeCalibrateMagnetometerRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* SubscribeCalibrateMagnetometerRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* SubscribeCalibrateMagnetometerRequest::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
    return target;
  }
  
  size_t SubscribeCalibrateMagnetometerRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubscribeCalibrateMagnetometerRequest::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      SubscribeCalibrateMagnetometerRequest::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubscribeCalibrateMagnetometerRequest::GetClassData() const { return &_class_data_; }
  
  void SubscribeCalibrateMagnetometerRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<SubscribeCalibrateMagnetometerRequest *>(to)->MergeFrom(
        static_cast<const SubscribeCalibrateMagnetometerRequest &>(from));
  }
  
  
  void SubscribeCalibrateMagnetometerRequest::MergeFrom(const SubscribeCalibrateMagnetometerRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void SubscribeCalibrateMagnetometerRequest::CopyFrom(const SubscribeCalibrateMagnetometerRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.SubscribeCalibrateMagnetometerRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool SubscribeCalibrateMagnetometerRequest::IsInitialized() const {
    return true;
  }
  
  void SubscribeCalibrateMagnetometerRequest::InternalSwap(SubscribeCalibrateMagnetometerRequest* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata SubscribeCalibrateMagnetometerRequest::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[4]);
  }
  
  // ===================================================================
  
  class CalibrateMagnetometerResponse::_Internal {
   public:
    static const ::mavsdk::rpc::calibration::CalibrationResult& calibration_result(const CalibrateMagnetometerResponse* msg);
    static const ::mavsdk::rpc::calibration::ProgressData& progress_data(const CalibrateMagnetometerResponse* msg);
  };
  
  const ::mavsdk::rpc::calibration::CalibrationResult&
  CalibrateMagnetometerResponse::_Internal::calibration_result(const CalibrateMagnetometerResponse* msg) {
    return *msg->calibration_result_;
  }
  const ::mavsdk::rpc::calibration::ProgressData&
  CalibrateMagnetometerResponse::_Internal::progress_data(const CalibrateMagnetometerResponse* msg) {
    return *msg->progress_data_;
  }
  CalibrateMagnetometerResponse::CalibrateMagnetometerResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
  }
  CalibrateMagnetometerResponse::CalibrateMagnetometerResponse(const CalibrateMagnetometerResponse& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    if (from._internal_has_calibration_result()) {
      calibration_result_ = new ::mavsdk::rpc::calibration::CalibrationResult(*from.calibration_result_);
    } else {
      calibration_result_ = nullptr;
    }
    if (from._internal_has_progress_data()) {
      progress_data_ = new ::mavsdk::rpc::calibration::ProgressData(*from.progress_data_);
    } else {
      progress_data_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
  }
  
  inline void CalibrateMagnetometerResponse::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&calibration_result_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&progress_data_) -
      reinterpret_cast<char*>(&calibration_result_)) + sizeof(progress_data_));
  }
  
  CalibrateMagnetometerResponse::~CalibrateMagnetometerResponse() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CalibrateMagnetometerResponse::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    if (this != internal_default_instance()) delete calibration_result_;
    if (this != internal_default_instance()) delete progress_data_;
  }
  
  void CalibrateMagnetometerResponse::ArenaDtor(void* object) {
    CalibrateMagnetometerResponse* _this = reinterpret_cast< CalibrateMagnetometerResponse* >(object);
    (void)_this;
  }
  void CalibrateMagnetometerResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CalibrateMagnetometerResponse::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CalibrateMagnetometerResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaForAllocation() == nullptr && calibration_result_ != nullptr) {
      delete calibration_result_;
    }
    calibration_result_ = nullptr;
    if (GetArenaForAllocation() == nullptr && progress_data_ != nullptr) {
      delete progress_data_;
    }
    progress_data_ = nullptr;
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CalibrateMagnetometerResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
            ptr = ctx->ParseMessage(_internal_mutable_calibration_result(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
        case 2:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
            ptr = ctx->ParseMessage(_internal_mutable_progress_data(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CalibrateMagnetometerResponse::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          1, _Internal::calibration_result(this), target, stream);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          2, _Internal::progress_data(this), target, stream);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
    return target;
  }
  
  size_t CalibrateMagnetometerResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *calibration_result_);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *progress_data_);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CalibrateMagnetometerResponse::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CalibrateMagnetometerResponse::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CalibrateMagnetometerResponse::GetClassData() const { return &_class_data_; }
  
  void CalibrateMagnetometerResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CalibrateMagnetometerResponse *>(to)->MergeFrom(
        static_cast<const CalibrateMagnetometerResponse &>(from));
  }
  
  
  void CalibrateMagnetometerResponse::MergeFrom(const CalibrateMagnetometerResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from._internal_has_calibration_result()) {
      _internal_mutable_calibration_result()->::mavsdk::rpc::calibration::CalibrationResult::MergeFrom(from._internal_calibration_result());
    }
    if (from._internal_has_progress_data()) {
      _internal_mutable_progress_data()->::mavsdk::rpc::calibration::ProgressData::MergeFrom(from._internal_progress_data());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CalibrateMagnetometerResponse::CopyFrom(const CalibrateMagnetometerResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CalibrateMagnetometerResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CalibrateMagnetometerResponse::IsInitialized() const {
    return true;
  }
  
  void CalibrateMagnetometerResponse::InternalSwap(CalibrateMagnetometerResponse* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    ::PROTOBUF_NAMESPACE_ID::internal::memswap<
        PROTOBUF_FIELD_OFFSET(CalibrateMagnetometerResponse, progress_data_)
        + sizeof(CalibrateMagnetometerResponse::progress_data_)
        - PROTOBUF_FIELD_OFFSET(CalibrateMagnetometerResponse, calibration_result_)>(
            reinterpret_cast<char*>(&calibration_result_),
            reinterpret_cast<char*>(&other->calibration_result_));
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CalibrateMagnetometerResponse::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[5]);
  }
  
  // ===================================================================
  
  class SubscribeCalibrateLevelHorizonRequest::_Internal {
   public:
  };
  
  SubscribeCalibrateLevelHorizonRequest::SubscribeCalibrateLevelHorizonRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
  }
  SubscribeCalibrateLevelHorizonRequest::SubscribeCalibrateLevelHorizonRequest(const SubscribeCalibrateLevelHorizonRequest& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
  }
  
  inline void SubscribeCalibrateLevelHorizonRequest::SharedCtor() {
  }
  
  SubscribeCalibrateLevelHorizonRequest::~SubscribeCalibrateLevelHorizonRequest() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void SubscribeCalibrateLevelHorizonRequest::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  }
  
  void SubscribeCalibrateLevelHorizonRequest::ArenaDtor(void* object) {
    SubscribeCalibrateLevelHorizonRequest* _this = reinterpret_cast< SubscribeCalibrateLevelHorizonRequest* >(object);
    (void)_this;
  }
  void SubscribeCalibrateLevelHorizonRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void SubscribeCalibrateLevelHorizonRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void SubscribeCalibrateLevelHorizonRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* SubscribeCalibrateLevelHorizonRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* SubscribeCalibrateLevelHorizonRequest::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
    return target;
  }
  
  size_t SubscribeCalibrateLevelHorizonRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubscribeCalibrateLevelHorizonRequest::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      SubscribeCalibrateLevelHorizonRequest::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubscribeCalibrateLevelHorizonRequest::GetClassData() const { return &_class_data_; }
  
  void SubscribeCalibrateLevelHorizonRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<SubscribeCalibrateLevelHorizonRequest *>(to)->MergeFrom(
        static_cast<const SubscribeCalibrateLevelHorizonRequest &>(from));
  }
  
  
  void SubscribeCalibrateLevelHorizonRequest::MergeFrom(const SubscribeCalibrateLevelHorizonRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void SubscribeCalibrateLevelHorizonRequest::CopyFrom(const SubscribeCalibrateLevelHorizonRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.SubscribeCalibrateLevelHorizonRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool SubscribeCalibrateLevelHorizonRequest::IsInitialized() const {
    return true;
  }
  
  void SubscribeCalibrateLevelHorizonRequest::InternalSwap(SubscribeCalibrateLevelHorizonRequest* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata SubscribeCalibrateLevelHorizonRequest::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[6]);
  }
  
  // ===================================================================
  
  class CalibrateLevelHorizonResponse::_Internal {
   public:
    static const ::mavsdk::rpc::calibration::CalibrationResult& calibration_result(const CalibrateLevelHorizonResponse* msg);
    static const ::mavsdk::rpc::calibration::ProgressData& progress_data(const CalibrateLevelHorizonResponse* msg);
  };
  
  const ::mavsdk::rpc::calibration::CalibrationResult&
  CalibrateLevelHorizonResponse::_Internal::calibration_result(const CalibrateLevelHorizonResponse* msg) {
    return *msg->calibration_result_;
  }
  const ::mavsdk::rpc::calibration::ProgressData&
  CalibrateLevelHorizonResponse::_Internal::progress_data(const CalibrateLevelHorizonResponse* msg) {
    return *msg->progress_data_;
  }
  CalibrateLevelHorizonResponse::CalibrateLevelHorizonResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
  }
  CalibrateLevelHorizonResponse::CalibrateLevelHorizonResponse(const CalibrateLevelHorizonResponse& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    if (from._internal_has_calibration_result()) {
      calibration_result_ = new ::mavsdk::rpc::calibration::CalibrationResult(*from.calibration_result_);
    } else {
      calibration_result_ = nullptr;
    }
    if (from._internal_has_progress_data()) {
      progress_data_ = new ::mavsdk::rpc::calibration::ProgressData(*from.progress_data_);
    } else {
      progress_data_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
  }
  
  inline void CalibrateLevelHorizonResponse::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&calibration_result_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&progress_data_) -
      reinterpret_cast<char*>(&calibration_result_)) + sizeof(progress_data_));
  }
  
  CalibrateLevelHorizonResponse::~CalibrateLevelHorizonResponse() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CalibrateLevelHorizonResponse::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    if (this != internal_default_instance()) delete calibration_result_;
    if (this != internal_default_instance()) delete progress_data_;
  }
  
  void CalibrateLevelHorizonResponse::ArenaDtor(void* object) {
    CalibrateLevelHorizonResponse* _this = reinterpret_cast< CalibrateLevelHorizonResponse* >(object);
    (void)_this;
  }
  void CalibrateLevelHorizonResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CalibrateLevelHorizonResponse::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CalibrateLevelHorizonResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaForAllocation() == nullptr && calibration_result_ != nullptr) {
      delete calibration_result_;
    }
    calibration_result_ = nullptr;
    if (GetArenaForAllocation() == nullptr && progress_data_ != nullptr) {
      delete progress_data_;
    }
    progress_data_ = nullptr;
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CalibrateLevelHorizonResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
            ptr = ctx->ParseMessage(_internal_mutable_calibration_result(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
        case 2:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
            ptr = ctx->ParseMessage(_internal_mutable_progress_data(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CalibrateLevelHorizonResponse::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          1, _Internal::calibration_result(this), target, stream);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          2, _Internal::progress_data(this), target, stream);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
    return target;
  }
  
  size_t CalibrateLevelHorizonResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *calibration_result_);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *progress_data_);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CalibrateLevelHorizonResponse::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CalibrateLevelHorizonResponse::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CalibrateLevelHorizonResponse::GetClassData() const { return &_class_data_; }
  
  void CalibrateLevelHorizonResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CalibrateLevelHorizonResponse *>(to)->MergeFrom(
        static_cast<const CalibrateLevelHorizonResponse &>(from));
  }
  
  
  void CalibrateLevelHorizonResponse::MergeFrom(const CalibrateLevelHorizonResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from._internal_has_calibration_result()) {
      _internal_mutable_calibration_result()->::mavsdk::rpc::calibration::CalibrationResult::MergeFrom(from._internal_calibration_result());
    }
    if (from._internal_has_progress_data()) {
      _internal_mutable_progress_data()->::mavsdk::rpc::calibration::ProgressData::MergeFrom(from._internal_progress_data());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CalibrateLevelHorizonResponse::CopyFrom(const CalibrateLevelHorizonResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CalibrateLevelHorizonResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CalibrateLevelHorizonResponse::IsInitialized() const {
    return true;
  }
  
  void CalibrateLevelHorizonResponse::InternalSwap(CalibrateLevelHorizonResponse* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    ::PROTOBUF_NAMESPACE_ID::internal::memswap<
        PROTOBUF_FIELD_OFFSET(CalibrateLevelHorizonResponse, progress_data_)
        + sizeof(CalibrateLevelHorizonResponse::progress_data_)
        - PROTOBUF_FIELD_OFFSET(CalibrateLevelHorizonResponse, calibration_result_)>(
            reinterpret_cast<char*>(&calibration_result_),
            reinterpret_cast<char*>(&other->calibration_result_));
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CalibrateLevelHorizonResponse::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[7]);
  }
  
  // ===================================================================
  
  class SubscribeCalibrateGimbalAccelerometerRequest::_Internal {
   public:
  };
  
  SubscribeCalibrateGimbalAccelerometerRequest::SubscribeCalibrateGimbalAccelerometerRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
  }
  SubscribeCalibrateGimbalAccelerometerRequest::SubscribeCalibrateGimbalAccelerometerRequest(const SubscribeCalibrateGimbalAccelerometerRequest& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
  }
  
  inline void SubscribeCalibrateGimbalAccelerometerRequest::SharedCtor() {
  }
  
  SubscribeCalibrateGimbalAccelerometerRequest::~SubscribeCalibrateGimbalAccelerometerRequest() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void SubscribeCalibrateGimbalAccelerometerRequest::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  }
  
  void SubscribeCalibrateGimbalAccelerometerRequest::ArenaDtor(void* object) {
    SubscribeCalibrateGimbalAccelerometerRequest* _this = reinterpret_cast< SubscribeCalibrateGimbalAccelerometerRequest* >(object);
    (void)_this;
  }
  void SubscribeCalibrateGimbalAccelerometerRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void SubscribeCalibrateGimbalAccelerometerRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void SubscribeCalibrateGimbalAccelerometerRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* SubscribeCalibrateGimbalAccelerometerRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* SubscribeCalibrateGimbalAccelerometerRequest::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
    return target;
  }
  
  size_t SubscribeCalibrateGimbalAccelerometerRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData SubscribeCalibrateGimbalAccelerometerRequest::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      SubscribeCalibrateGimbalAccelerometerRequest::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*SubscribeCalibrateGimbalAccelerometerRequest::GetClassData() const { return &_class_data_; }
  
  void SubscribeCalibrateGimbalAccelerometerRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<SubscribeCalibrateGimbalAccelerometerRequest *>(to)->MergeFrom(
        static_cast<const SubscribeCalibrateGimbalAccelerometerRequest &>(from));
  }
  
  
  void SubscribeCalibrateGimbalAccelerometerRequest::MergeFrom(const SubscribeCalibrateGimbalAccelerometerRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void SubscribeCalibrateGimbalAccelerometerRequest::CopyFrom(const SubscribeCalibrateGimbalAccelerometerRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.SubscribeCalibrateGimbalAccelerometerRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool SubscribeCalibrateGimbalAccelerometerRequest::IsInitialized() const {
    return true;
  }
  
  void SubscribeCalibrateGimbalAccelerometerRequest::InternalSwap(SubscribeCalibrateGimbalAccelerometerRequest* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata SubscribeCalibrateGimbalAccelerometerRequest::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[8]);
  }
  
  // ===================================================================
  
  class CalibrateGimbalAccelerometerResponse::_Internal {
   public:
    static const ::mavsdk::rpc::calibration::CalibrationResult& calibration_result(const CalibrateGimbalAccelerometerResponse* msg);
    static const ::mavsdk::rpc::calibration::ProgressData& progress_data(const CalibrateGimbalAccelerometerResponse* msg);
  };
  
  const ::mavsdk::rpc::calibration::CalibrationResult&
  CalibrateGimbalAccelerometerResponse::_Internal::calibration_result(const CalibrateGimbalAccelerometerResponse* msg) {
    return *msg->calibration_result_;
  }
  const ::mavsdk::rpc::calibration::ProgressData&
  CalibrateGimbalAccelerometerResponse::_Internal::progress_data(const CalibrateGimbalAccelerometerResponse* msg) {
    return *msg->progress_data_;
  }
  CalibrateGimbalAccelerometerResponse::CalibrateGimbalAccelerometerResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
  }
  CalibrateGimbalAccelerometerResponse::CalibrateGimbalAccelerometerResponse(const CalibrateGimbalAccelerometerResponse& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    if (from._internal_has_calibration_result()) {
      calibration_result_ = new ::mavsdk::rpc::calibration::CalibrationResult(*from.calibration_result_);
    } else {
      calibration_result_ = nullptr;
    }
    if (from._internal_has_progress_data()) {
      progress_data_ = new ::mavsdk::rpc::calibration::ProgressData(*from.progress_data_);
    } else {
      progress_data_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
  }
  
  inline void CalibrateGimbalAccelerometerResponse::SharedCtor() {
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&calibration_result_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&progress_data_) -
      reinterpret_cast<char*>(&calibration_result_)) + sizeof(progress_data_));
  }
  
  CalibrateGimbalAccelerometerResponse::~CalibrateGimbalAccelerometerResponse() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CalibrateGimbalAccelerometerResponse::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    if (this != internal_default_instance()) delete calibration_result_;
    if (this != internal_default_instance()) delete progress_data_;
  }
  
  void CalibrateGimbalAccelerometerResponse::ArenaDtor(void* object) {
    CalibrateGimbalAccelerometerResponse* _this = reinterpret_cast< CalibrateGimbalAccelerometerResponse* >(object);
    (void)_this;
  }
  void CalibrateGimbalAccelerometerResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CalibrateGimbalAccelerometerResponse::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CalibrateGimbalAccelerometerResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaForAllocation() == nullptr && calibration_result_ != nullptr) {
      delete calibration_result_;
    }
    calibration_result_ = nullptr;
    if (GetArenaForAllocation() == nullptr && progress_data_ != nullptr) {
      delete progress_data_;
    }
    progress_data_ = nullptr;
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CalibrateGimbalAccelerometerResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
            ptr = ctx->ParseMessage(_internal_mutable_calibration_result(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
        case 2:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
            ptr = ctx->ParseMessage(_internal_mutable_progress_data(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CalibrateGimbalAccelerometerResponse::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          1, _Internal::calibration_result(this), target, stream);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          2, _Internal::progress_data(this), target, stream);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
    return target;
  }
  
  size_t CalibrateGimbalAccelerometerResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *calibration_result_);
    }
  
    // .mavsdk.rpc.calibration.ProgressData progress_data = 2;
    if (this->_internal_has_progress_data()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *progress_data_);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CalibrateGimbalAccelerometerResponse::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CalibrateGimbalAccelerometerResponse::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CalibrateGimbalAccelerometerResponse::GetClassData() const { return &_class_data_; }
  
  void CalibrateGimbalAccelerometerResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CalibrateGimbalAccelerometerResponse *>(to)->MergeFrom(
        static_cast<const CalibrateGimbalAccelerometerResponse &>(from));
  }
  
  
  void CalibrateGimbalAccelerometerResponse::MergeFrom(const CalibrateGimbalAccelerometerResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from._internal_has_calibration_result()) {
      _internal_mutable_calibration_result()->::mavsdk::rpc::calibration::CalibrationResult::MergeFrom(from._internal_calibration_result());
    }
    if (from._internal_has_progress_data()) {
      _internal_mutable_progress_data()->::mavsdk::rpc::calibration::ProgressData::MergeFrom(from._internal_progress_data());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CalibrateGimbalAccelerometerResponse::CopyFrom(const CalibrateGimbalAccelerometerResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CalibrateGimbalAccelerometerResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CalibrateGimbalAccelerometerResponse::IsInitialized() const {
    return true;
  }
  
  void CalibrateGimbalAccelerometerResponse::InternalSwap(CalibrateGimbalAccelerometerResponse* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    ::PROTOBUF_NAMESPACE_ID::internal::memswap<
        PROTOBUF_FIELD_OFFSET(CalibrateGimbalAccelerometerResponse, progress_data_)
        + sizeof(CalibrateGimbalAccelerometerResponse::progress_data_)
        - PROTOBUF_FIELD_OFFSET(CalibrateGimbalAccelerometerResponse, calibration_result_)>(
            reinterpret_cast<char*>(&calibration_result_),
            reinterpret_cast<char*>(&other->calibration_result_));
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CalibrateGimbalAccelerometerResponse::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[9]);
  }
  
  // ===================================================================
  
  class CancelRequest::_Internal {
   public:
  };
  
  CancelRequest::CancelRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CancelRequest)
  }
  CancelRequest::CancelRequest(const CancelRequest& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CancelRequest)
  }
  
  inline void CancelRequest::SharedCtor() {
  }
  
  CancelRequest::~CancelRequest() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CancelRequest)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CancelRequest::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  }
  
  void CancelRequest::ArenaDtor(void* object) {
    CancelRequest* _this = reinterpret_cast< CancelRequest* >(object);
    (void)_this;
  }
  void CancelRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CancelRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CancelRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CancelRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CancelRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CancelRequest::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CancelRequest)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CancelRequest)
    return target;
  }
  
  size_t CancelRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CancelRequest)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CancelRequest::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CancelRequest::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CancelRequest::GetClassData() const { return &_class_data_; }
  
  void CancelRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CancelRequest *>(to)->MergeFrom(
        static_cast<const CancelRequest &>(from));
  }
  
  
  void CancelRequest::MergeFrom(const CancelRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CancelRequest)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CancelRequest::CopyFrom(const CancelRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CancelRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CancelRequest::IsInitialized() const {
    return true;
  }
  
  void CancelRequest::InternalSwap(CancelRequest* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CancelRequest::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[10]);
  }
  
  // ===================================================================
  
  class CancelResponse::_Internal {
   public:
    static const ::mavsdk::rpc::calibration::CalibrationResult& calibration_result(const CancelResponse* msg);
  };
  
  const ::mavsdk::rpc::calibration::CalibrationResult&
  CancelResponse::_Internal::calibration_result(const CancelResponse* msg) {
    return *msg->calibration_result_;
  }
  CancelResponse::CancelResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CancelResponse)
  }
  CancelResponse::CancelResponse(const CancelResponse& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    if (from._internal_has_calibration_result()) {
      calibration_result_ = new ::mavsdk::rpc::calibration::CalibrationResult(*from.calibration_result_);
    } else {
      calibration_result_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CancelResponse)
  }
  
  inline void CancelResponse::SharedCtor() {
  calibration_result_ = nullptr;
  }
  
  CancelResponse::~CancelResponse() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CancelResponse)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CancelResponse::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    if (this != internal_default_instance()) delete calibration_result_;
  }
  
  void CancelResponse::ArenaDtor(void* object) {
    CancelResponse* _this = reinterpret_cast< CancelResponse* >(object);
    (void)_this;
  }
  void CancelResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CancelResponse::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CancelResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CancelResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaForAllocation() == nullptr && calibration_result_ != nullptr) {
      delete calibration_result_;
    }
    calibration_result_ = nullptr;
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CancelResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
            ptr = ctx->ParseMessage(_internal_mutable_calibration_result(), ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CancelResponse::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CancelResponse)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(
          1, _Internal::calibration_result(this), target, stream);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CancelResponse)
    return target;
  }
  
  size_t CancelResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CancelResponse)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult calibration_result = 1;
    if (this->_internal_has_calibration_result()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *calibration_result_);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CancelResponse::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CancelResponse::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CancelResponse::GetClassData() const { return &_class_data_; }
  
  void CancelResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CancelResponse *>(to)->MergeFrom(
        static_cast<const CancelResponse &>(from));
  }
  
  
  void CancelResponse::MergeFrom(const CancelResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CancelResponse)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from._internal_has_calibration_result()) {
      _internal_mutable_calibration_result()->::mavsdk::rpc::calibration::CalibrationResult::MergeFrom(from._internal_calibration_result());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CancelResponse::CopyFrom(const CancelResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CancelResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CancelResponse::IsInitialized() const {
    return true;
  }
  
  void CancelResponse::InternalSwap(CancelResponse* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    swap(calibration_result_, other->calibration_result_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CancelResponse::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[11]);
  }
  
  // ===================================================================
  
  class CalibrationResult::_Internal {
   public:
  };
  
  CalibrationResult::CalibrationResult(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.CalibrationResult)
  }
  CalibrationResult::CalibrationResult(const CalibrationResult& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    result_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
    if (!from._internal_result_str().empty()) {
      result_str_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_result_str(), 
        GetArenaForAllocation());
    }
    result_ = from.result_;
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.CalibrationResult)
  }
  
  inline void CalibrationResult::SharedCtor() {
  result_str_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  result_ = 0;
  }
  
  CalibrationResult::~CalibrationResult() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.CalibrationResult)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void CalibrationResult::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    result_str_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  }
  
  void CalibrationResult::ArenaDtor(void* object) {
    CalibrationResult* _this = reinterpret_cast< CalibrationResult* >(object);
    (void)_this;
  }
  void CalibrationResult::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void CalibrationResult::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void CalibrationResult::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.CalibrationResult)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    result_str_.ClearToEmpty();
    result_ = 0;
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* CalibrationResult::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // .mavsdk.rpc.calibration.CalibrationResult.Result result = 1;
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            _internal_set_result(static_cast<::mavsdk::rpc::calibration::CalibrationResult_Result>(val));
          } else goto handle_unusual;
          continue;
        // string result_str = 2;
        case 2:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
            auto str = _internal_mutable_result_str();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "mavsdk.rpc.calibration.CalibrationResult.result_str"));
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* CalibrationResult::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.CalibrationResult)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .mavsdk.rpc.calibration.CalibrationResult.Result result = 1;
    if (this->_internal_result() != 0) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        1, this->_internal_result(), target);
    }
  
    // string result_str = 2;
    if (!this->_internal_result_str().empty()) {
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        this->_internal_result_str().data(), static_cast<int>(this->_internal_result_str().length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "mavsdk.rpc.calibration.CalibrationResult.result_str");
      target = stream->WriteStringMaybeAliased(
          2, this->_internal_result_str(), target);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.CalibrationResult)
    return target;
  }
  
  size_t CalibrationResult::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.CalibrationResult)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // string result_str = 2;
    if (!this->_internal_result_str().empty()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_result_str());
    }
  
    // .mavsdk.rpc.calibration.CalibrationResult.Result result = 1;
    if (this->_internal_result() != 0) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_result());
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CalibrationResult::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      CalibrationResult::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CalibrationResult::GetClassData() const { return &_class_data_; }
  
  void CalibrationResult::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<CalibrationResult *>(to)->MergeFrom(
        static_cast<const CalibrationResult &>(from));
  }
  
  
  void CalibrationResult::MergeFrom(const CalibrationResult& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.CalibrationResult)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (!from._internal_result_str().empty()) {
      _internal_set_result_str(from._internal_result_str());
    }
    if (from._internal_result() != 0) {
      _internal_set_result(from._internal_result());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void CalibrationResult::CopyFrom(const CalibrationResult& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.CalibrationResult)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool CalibrationResult::IsInitialized() const {
    return true;
  }
  
  void CalibrationResult::InternalSwap(CalibrationResult* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
        &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
        &result_str_, GetArenaForAllocation(),
        &other->result_str_, other->GetArenaForAllocation()
    );
    swap(result_, other->result_);
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata CalibrationResult::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[12]);
  }
  
  // ===================================================================
  
  class ProgressData::_Internal {
   public:
  };
  
  ProgressData::ProgressData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                           bool is_message_owned)
    : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
    SharedCtor();
    if (!is_message_owned) {
      RegisterArenaDtor(arena);
    }
    // @@protoc_insertion_point(arena_constructor:mavsdk.rpc.calibration.ProgressData)
  }
  ProgressData::ProgressData(const ProgressData& from)
    : ::PROTOBUF_NAMESPACE_ID::Message() {
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
    status_text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
    if (!from._internal_status_text().empty()) {
      status_text_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_status_text(), 
        GetArenaForAllocation());
    }
    ::memcpy(&progress_, &from.progress_,
      static_cast<size_t>(reinterpret_cast<char*>(&has_status_text_) -
      reinterpret_cast<char*>(&progress_)) + sizeof(has_status_text_));
    // @@protoc_insertion_point(copy_constructor:mavsdk.rpc.calibration.ProgressData)
  }
  
  inline void ProgressData::SharedCtor() {
  status_text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
      reinterpret_cast<char*>(&progress_) - reinterpret_cast<char*>(this)),
      0, static_cast<size_t>(reinterpret_cast<char*>(&has_status_text_) -
      reinterpret_cast<char*>(&progress_)) + sizeof(has_status_text_));
  }
  
  ProgressData::~ProgressData() {
    // @@protoc_insertion_point(destructor:mavsdk.rpc.calibration.ProgressData)
    if (GetArenaForAllocation() != nullptr) return;
    SharedDtor();
    _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  inline void ProgressData::SharedDtor() {
    GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
    status_text_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  }
  
  void ProgressData::ArenaDtor(void* object) {
    ProgressData* _this = reinterpret_cast< ProgressData* >(object);
    (void)_this;
  }
  void ProgressData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
  }
  void ProgressData::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  
  void ProgressData::Clear() {
  // @@protoc_insertion_point(message_clear_start:mavsdk.rpc.calibration.ProgressData)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    status_text_.ClearToEmpty();
    ::memset(&progress_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&has_status_text_) -
        reinterpret_cast<char*>(&progress_)) + sizeof(has_status_text_));
    _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }
  
  const char* ProgressData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
  #define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
    while (!ctx->Done(&ptr)) {
      ::PROTOBUF_NAMESPACE_ID::uint32 tag;
      ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
      switch (tag >> 3) {
        // bool has_progress = 1 [(.mavsdk.options.default_value) = "false"];
        case 1:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
            has_progress_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        // float progress = 2 [(.mavsdk.options.default_value) = "NaN"];
        case 2:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
            progress_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
            ptr += sizeof(float);
          } else goto handle_unusual;
          continue;
        // bool has_status_text = 3 [(.mavsdk.options.default_value) = "false"];
        case 3:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
            has_status_text_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        // string status_text = 4;
        case 4:
          if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
            auto str = _internal_mutable_status_text();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "mavsdk.rpc.calibration.ProgressData.status_text"));
            CHK_(ptr);
          } else goto handle_unusual;
          continue;
        default: {
        handle_unusual:
          if ((tag == 0) || ((tag & 7) == 4)) {
            CHK_(ptr);
            ctx->SetLastTag(tag);
            goto success;
          }
          ptr = UnknownFieldParse(tag,
              _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
              ptr, ctx);
          CHK_(ptr != nullptr);
          continue;
        }
      }  // switch
    }  // while
  success:
    return ptr;
  failure:
    ptr = nullptr;
    goto success;
  #undef CHK_
  }
  
  ::PROTOBUF_NAMESPACE_ID::uint8* ProgressData::_InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
    // @@protoc_insertion_point(serialize_to_array_start:mavsdk.rpc.calibration.ProgressData)
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // bool has_progress = 1 [(.mavsdk.options.default_value) = "false"];
    if (this->_internal_has_progress() != 0) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_has_progress(), target);
    }
  
    // float progress = 2 [(.mavsdk.options.default_value) = "NaN"];
    if (!(this->_internal_progress() <= 0 && this->_internal_progress() >= 0)) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_progress(), target);
    }
  
    // bool has_status_text = 3 [(.mavsdk.options.default_value) = "false"];
    if (this->_internal_has_status_text() != 0) {
      target = stream->EnsureSpace(target);
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_has_status_text(), target);
    }
  
    // string status_text = 4;
    if (!this->_internal_status_text().empty()) {
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
        this->_internal_status_text().data(), static_cast<int>(this->_internal_status_text().length()),
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
        "mavsdk.rpc.calibration.ProgressData.status_text");
      target = stream->WriteStringMaybeAliased(
          4, this->_internal_status_text(), target);
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
          _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
    }
    // @@protoc_insertion_point(serialize_to_array_end:mavsdk.rpc.calibration.ProgressData)
    return target;
  }
  
  size_t ProgressData::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:mavsdk.rpc.calibration.ProgressData)
    size_t total_size = 0;
  
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    // string status_text = 4;
    if (!this->_internal_status_text().empty()) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_status_text());
    }
  
    // float progress = 2 [(.mavsdk.options.default_value) = "NaN"];
    if (!(this->_internal_progress() <= 0 && this->_internal_progress() >= 0)) {
      total_size += 1 + 4;
    }
  
    // bool has_progress = 1 [(.mavsdk.options.default_value) = "false"];
    if (this->_internal_has_progress() != 0) {
      total_size += 1 + 1;
    }
  
    // bool has_status_text = 3 [(.mavsdk.options.default_value) = "false"];
    if (this->_internal_has_status_text() != 0) {
      total_size += 1 + 1;
    }
  
    if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
      return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
          _internal_metadata_, total_size, &_cached_size_);
    }
    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ProgressData::_class_data_ = {
      ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
      ProgressData::MergeImpl
  };
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ProgressData::GetClassData() const { return &_class_data_; }
  
  void ProgressData::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to,
                        const ::PROTOBUF_NAMESPACE_ID::Message&from) {
    static_cast<ProgressData *>(to)->MergeFrom(
        static_cast<const ProgressData &>(from));
  }
  
  
  void ProgressData::MergeFrom(const ProgressData& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:mavsdk.rpc.calibration.ProgressData)
    GOOGLE_DCHECK_NE(&from, this);
    ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (!from._internal_status_text().empty()) {
      _internal_set_status_text(from._internal_status_text());
    }
    if (!(from._internal_progress() <= 0 && from._internal_progress() >= 0)) {
      _internal_set_progress(from._internal_progress());
    }
    if (from._internal_has_progress() != 0) {
      _internal_set_has_progress(from._internal_has_progress());
    }
    if (from._internal_has_status_text() != 0) {
      _internal_set_has_status_text(from._internal_has_status_text());
    }
    _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  }
  
  void ProgressData::CopyFrom(const ProgressData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:mavsdk.rpc.calibration.ProgressData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool ProgressData::IsInitialized() const {
    return true;
  }
  
  void ProgressData::InternalSwap(ProgressData* other) {
    using std::swap;
    _internal_metadata_.InternalSwap(&other->_internal_metadata_);
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
        &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
        &status_text_, GetArenaForAllocation(),
        &other->status_text_, other->GetArenaForAllocation()
    );
    ::PROTOBUF_NAMESPACE_ID::internal::memswap<
        PROTOBUF_FIELD_OFFSET(ProgressData, has_status_text_)
        + sizeof(ProgressData::has_status_text_)
        - PROTOBUF_FIELD_OFFSET(ProgressData, progress_)>(
            reinterpret_cast<char*>(&progress_),
            reinterpret_cast<char*>(&other->progress_));
  }
  
  ::PROTOBUF_NAMESPACE_ID::Metadata ProgressData::GetMetadata() const {
    return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
        &descriptor_table_calibration_2fcalibration_2eproto_getter, &descriptor_table_calibration_2fcalibration_2eproto_once,
        file_level_metadata_calibration_2fcalibration_2eproto[13]);
  }
  
  // @@protoc_insertion_point(namespace_scope)
  }  // namespace calibration
  }  // namespace rpc
  }  // namespace mavsdk
  PROTOBUF_NAMESPACE_OPEN
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::SubscribeCalibrateGyroRequest* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::SubscribeCalibrateGyroRequest >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::SubscribeCalibrateGyroRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CalibrateGyroResponse* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CalibrateGyroResponse >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CalibrateGyroResponse >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::SubscribeCalibrateAccelerometerRequest* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::SubscribeCalibrateAccelerometerRequest >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::SubscribeCalibrateAccelerometerRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CalibrateAccelerometerResponse* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CalibrateAccelerometerResponse >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CalibrateAccelerometerResponse >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::SubscribeCalibrateMagnetometerRequest* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::SubscribeCalibrateMagnetometerRequest >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::SubscribeCalibrateMagnetometerRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CalibrateMagnetometerResponse* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CalibrateMagnetometerResponse >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CalibrateMagnetometerResponse >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::SubscribeCalibrateLevelHorizonRequest* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::SubscribeCalibrateLevelHorizonRequest >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::SubscribeCalibrateLevelHorizonRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CalibrateLevelHorizonResponse* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CalibrateLevelHorizonResponse >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CalibrateLevelHorizonResponse >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::SubscribeCalibrateGimbalAccelerometerRequest* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::SubscribeCalibrateGimbalAccelerometerRequest >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::SubscribeCalibrateGimbalAccelerometerRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CalibrateGimbalAccelerometerResponse* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CalibrateGimbalAccelerometerResponse >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CalibrateGimbalAccelerometerResponse >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CancelRequest* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CancelRequest >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CancelRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CancelResponse* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CancelResponse >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CancelResponse >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::CalibrationResult* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::CalibrationResult >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::CalibrationResult >(arena);
  }
  template<> PROTOBUF_NOINLINE ::mavsdk::rpc::calibration::ProgressData* Arena::CreateMaybeMessage< ::mavsdk::rpc::calibration::ProgressData >(Arena* arena) {
    return Arena::CreateMessageInternal< ::mavsdk::rpc::calibration::ProgressData >(arena);
  }
  PROTOBUF_NAMESPACE_CLOSE
  
  // @@protoc_insertion_point(global_scope)
  #include <google/protobuf/port_undef.inc>
  