All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.craxiom.messaging.GnssRecordData Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: com/craxiom/messaging/gnss_record.proto
// Protobuf Java Version: 4.27.3

package com.craxiom.messaging;

/**
 * Protobuf type {@code com.craxiom.messaging.GnssRecordData}
 */
public final class GnssRecordData extends
    com.google.protobuf.GeneratedMessage implements
    // @@protoc_insertion_point(message_implements:com.craxiom.messaging.GnssRecordData)
    GnssRecordDataOrBuilder {
private static final long serialVersionUID = 0L;
  static {
    com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
      /* major= */ 4,
      /* minor= */ 27,
      /* patch= */ 3,
      /* suffix= */ "",
      GnssRecordData.class.getName());
  }
  // Use GnssRecordData.newBuilder() to construct.
  private GnssRecordData(com.google.protobuf.GeneratedMessage.Builder builder) {
    super(builder);
  }
  private GnssRecordData() {
    deviceSerialNumber_ = "";
    deviceName_ = "";
    deviceTime_ = "";
    missionId_ = "";
    deviceModel_ = "";
    constellation_ = 0;
  }

  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return com.craxiom.messaging.GnssRecordOuterClass.internal_static_com_craxiom_messaging_GnssRecordData_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.craxiom.messaging.GnssRecordOuterClass.internal_static_com_craxiom_messaging_GnssRecordData_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.craxiom.messaging.GnssRecordData.class, com.craxiom.messaging.GnssRecordData.Builder.class);
  }

  private int bitField0_;
  public static final int DEVICESERIALNUMBER_FIELD_NUMBER = 1;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceSerialNumber_ = "";
  /**
   * string deviceSerialNumber = 1;
   * @return The deviceSerialNumber.
   */
  @java.lang.Override
  public java.lang.String getDeviceSerialNumber() {
    java.lang.Object ref = deviceSerialNumber_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      deviceSerialNumber_ = s;
      return s;
    }
  }
  /**
   * string deviceSerialNumber = 1;
   * @return The bytes for deviceSerialNumber.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceSerialNumberBytes() {
    java.lang.Object ref = deviceSerialNumber_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceSerialNumber_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DEVICENAME_FIELD_NUMBER = 2;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceName_ = "";
  /**
   * string deviceName = 2;
   * @return The deviceName.
   */
  @java.lang.Override
  public java.lang.String getDeviceName() {
    java.lang.Object ref = deviceName_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      deviceName_ = s;
      return s;
    }
  }
  /**
   * string deviceName = 2;
   * @return The bytes for deviceName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceNameBytes() {
    java.lang.Object ref = deviceName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int DEVICETIME_FIELD_NUMBER = 3;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceTime_ = "";
  /**
   * string deviceTime = 3;
   * @return The deviceTime.
   */
  @java.lang.Override
  public java.lang.String getDeviceTime() {
    java.lang.Object ref = deviceTime_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      deviceTime_ = s;
      return s;
    }
  }
  /**
   * string deviceTime = 3;
   * @return The bytes for deviceTime.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceTimeBytes() {
    java.lang.Object ref = deviceTime_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceTime_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int LATITUDE_FIELD_NUMBER = 4;
  private double latitude_ = 0D;
  /**
   * double latitude = 4;
   * @return The latitude.
   */
  @java.lang.Override
  public double getLatitude() {
    return latitude_;
  }

  public static final int LONGITUDE_FIELD_NUMBER = 5;
  private double longitude_ = 0D;
  /**
   * double longitude = 5;
   * @return The longitude.
   */
  @java.lang.Override
  public double getLongitude() {
    return longitude_;
  }

  public static final int ALTITUDE_FIELD_NUMBER = 6;
  private float altitude_ = 0F;
  /**
   * float altitude = 6;
   * @return The altitude.
   */
  @java.lang.Override
  public float getAltitude() {
    return altitude_;
  }

  public static final int MISSIONID_FIELD_NUMBER = 7;
  @SuppressWarnings("serial")
  private volatile java.lang.Object missionId_ = "";
  /**
   * string missionId = 7;
   * @return The missionId.
   */
  @java.lang.Override
  public java.lang.String getMissionId() {
    java.lang.Object ref = missionId_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      missionId_ = s;
      return s;
    }
  }
  /**
   * string missionId = 7;
   * @return The bytes for missionId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getMissionIdBytes() {
    java.lang.Object ref = missionId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      missionId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int RECORDNUMBER_FIELD_NUMBER = 8;
  private int recordNumber_ = 0;
  /**
   * int32 recordNumber = 8;
   * @return The recordNumber.
   */
  @java.lang.Override
  public int getRecordNumber() {
    return recordNumber_;
  }

  public static final int GROUPNUMBER_FIELD_NUMBER = 9;
  private int groupNumber_ = 0;
  /**
   * int32 groupNumber = 9;
   * @return The groupNumber.
   */
  @java.lang.Override
  public int getGroupNumber() {
    return groupNumber_;
  }

  public static final int DEVICEMODEL_FIELD_NUMBER = 10;
  @SuppressWarnings("serial")
  private volatile java.lang.Object deviceModel_ = "";
  /**
   * string deviceModel = 10;
   * @return The deviceModel.
   */
  @java.lang.Override
  public java.lang.String getDeviceModel() {
    java.lang.Object ref = deviceModel_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      deviceModel_ = s;
      return s;
    }
  }
  /**
   * string deviceModel = 10;
   * @return The bytes for deviceModel.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getDeviceModelBytes() {
    java.lang.Object ref = deviceModel_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      deviceModel_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ACCURACY_FIELD_NUMBER = 11;
  private int accuracy_ = 0;
  /**
   * int32 accuracy = 11;
   * @return The accuracy.
   */
  @java.lang.Override
  public int getAccuracy() {
    return accuracy_;
  }

  public static final int HEADING_FIELD_NUMBER = 50;
  private float heading_ = 0F;
  /**
   * float heading = 50;
   * @return The heading.
   */
  @java.lang.Override
  public float getHeading() {
    return heading_;
  }

  public static final int PITCH_FIELD_NUMBER = 51;
  private float pitch_ = 0F;
  /**
   * float pitch = 51;
   * @return The pitch.
   */
  @java.lang.Override
  public float getPitch() {
    return pitch_;
  }

  public static final int ROLL_FIELD_NUMBER = 52;
  private float roll_ = 0F;
  /**
   * float roll = 52;
   * @return The roll.
   */
  @java.lang.Override
  public float getRoll() {
    return roll_;
  }

  public static final int FIELDOFVIEW_FIELD_NUMBER = 53;
  private float fieldOfView_ = 0F;
  /**
   * float fieldOfView = 53;
   * @return The fieldOfView.
   */
  @java.lang.Override
  public float getFieldOfView() {
    return fieldOfView_;
  }

  public static final int RECEIVERSENSITIVITY_FIELD_NUMBER = 54;
  private float receiverSensitivity_ = 0F;
  /**
   * float receiverSensitivity = 54;
   * @return The receiverSensitivity.
   */
  @java.lang.Override
  public float getReceiverSensitivity() {
    return receiverSensitivity_;
  }

  public static final int SPEED_FIELD_NUMBER = 55;
  private float speed_ = 0F;
  /**
   * float speed = 55;
   * @return The speed.
   */
  @java.lang.Override
  public float getSpeed() {
    return speed_;
  }

  public static final int CONSTELLATION_FIELD_NUMBER = 12;
  private int constellation_ = 0;
  /**
   * .com.craxiom.messaging.gnss.constellation.Constellation constellation = 12;
   * @return The enum numeric value on the wire for constellation.
   */
  @java.lang.Override public int getConstellationValue() {
    return constellation_;
  }
  /**
   * .com.craxiom.messaging.gnss.constellation.Constellation constellation = 12;
   * @return The constellation.
   */
  @java.lang.Override public com.craxiom.messaging.gnss.Constellation getConstellation() {
    com.craxiom.messaging.gnss.Constellation result = com.craxiom.messaging.gnss.Constellation.forNumber(constellation_);
    return result == null ? com.craxiom.messaging.gnss.Constellation.UNRECOGNIZED : result;
  }

  public static final int SPACEVEHICLEID_FIELD_NUMBER = 13;
  private com.google.protobuf.UInt32Value spaceVehicleId_;
  /**
   * .google.protobuf.UInt32Value spaceVehicleId = 13;
   * @return Whether the spaceVehicleId field is set.
   */
  @java.lang.Override
  public boolean hasSpaceVehicleId() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * .google.protobuf.UInt32Value spaceVehicleId = 13;
   * @return The spaceVehicleId.
   */
  @java.lang.Override
  public com.google.protobuf.UInt32Value getSpaceVehicleId() {
    return spaceVehicleId_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : spaceVehicleId_;
  }
  /**
   * .google.protobuf.UInt32Value spaceVehicleId = 13;
   */
  @java.lang.Override
  public com.google.protobuf.UInt32ValueOrBuilder getSpaceVehicleIdOrBuilder() {
    return spaceVehicleId_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : spaceVehicleId_;
  }

  public static final int CARRIERFREQHZ_FIELD_NUMBER = 14;
  private com.google.protobuf.UInt64Value carrierFreqHz_;
  /**
   * .google.protobuf.UInt64Value carrierFreqHz = 14;
   * @return Whether the carrierFreqHz field is set.
   */
  @java.lang.Override
  public boolean hasCarrierFreqHz() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * .google.protobuf.UInt64Value carrierFreqHz = 14;
   * @return The carrierFreqHz.
   */
  @java.lang.Override
  public com.google.protobuf.UInt64Value getCarrierFreqHz() {
    return carrierFreqHz_ == null ? com.google.protobuf.UInt64Value.getDefaultInstance() : carrierFreqHz_;
  }
  /**
   * .google.protobuf.UInt64Value carrierFreqHz = 14;
   */
  @java.lang.Override
  public com.google.protobuf.UInt64ValueOrBuilder getCarrierFreqHzOrBuilder() {
    return carrierFreqHz_ == null ? com.google.protobuf.UInt64Value.getDefaultInstance() : carrierFreqHz_;
  }

  public static final int CLOCKOFFSET_FIELD_NUMBER = 15;
  private com.google.protobuf.DoubleValue clockOffset_;
  /**
   * .google.protobuf.DoubleValue clockOffset = 15;
   * @return Whether the clockOffset field is set.
   */
  @java.lang.Override
  public boolean hasClockOffset() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * .google.protobuf.DoubleValue clockOffset = 15;
   * @return The clockOffset.
   */
  @java.lang.Override
  public com.google.protobuf.DoubleValue getClockOffset() {
    return clockOffset_ == null ? com.google.protobuf.DoubleValue.getDefaultInstance() : clockOffset_;
  }
  /**
   * .google.protobuf.DoubleValue clockOffset = 15;
   */
  @java.lang.Override
  public com.google.protobuf.DoubleValueOrBuilder getClockOffsetOrBuilder() {
    return clockOffset_ == null ? com.google.protobuf.DoubleValue.getDefaultInstance() : clockOffset_;
  }

  public static final int USEDINSOLUTION_FIELD_NUMBER = 16;
  private com.google.protobuf.BoolValue usedInSolution_;
  /**
   * .google.protobuf.BoolValue usedInSolution = 16;
   * @return Whether the usedInSolution field is set.
   */
  @java.lang.Override
  public boolean hasUsedInSolution() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   * .google.protobuf.BoolValue usedInSolution = 16;
   * @return The usedInSolution.
   */
  @java.lang.Override
  public com.google.protobuf.BoolValue getUsedInSolution() {
    return usedInSolution_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : usedInSolution_;
  }
  /**
   * .google.protobuf.BoolValue usedInSolution = 16;
   */
  @java.lang.Override
  public com.google.protobuf.BoolValueOrBuilder getUsedInSolutionOrBuilder() {
    return usedInSolution_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : usedInSolution_;
  }

  public static final int UNDULATIONM_FIELD_NUMBER = 17;
  private com.google.protobuf.FloatValue undulationM_;
  /**
   * .google.protobuf.FloatValue undulationM = 17;
   * @return Whether the undulationM field is set.
   */
  @java.lang.Override
  public boolean hasUndulationM() {
    return ((bitField0_ & 0x00000010) != 0);
  }
  /**
   * .google.protobuf.FloatValue undulationM = 17;
   * @return The undulationM.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getUndulationM() {
    return undulationM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : undulationM_;
  }
  /**
   * .google.protobuf.FloatValue undulationM = 17;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getUndulationMOrBuilder() {
    return undulationM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : undulationM_;
  }

  public static final int LATITUDESTDDEVM_FIELD_NUMBER = 18;
  private com.google.protobuf.FloatValue latitudeStdDevM_;
  /**
   * .google.protobuf.FloatValue latitudeStdDevM = 18;
   * @return Whether the latitudeStdDevM field is set.
   */
  @java.lang.Override
  public boolean hasLatitudeStdDevM() {
    return ((bitField0_ & 0x00000020) != 0);
  }
  /**
   * .google.protobuf.FloatValue latitudeStdDevM = 18;
   * @return The latitudeStdDevM.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getLatitudeStdDevM() {
    return latitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : latitudeStdDevM_;
  }
  /**
   * .google.protobuf.FloatValue latitudeStdDevM = 18;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getLatitudeStdDevMOrBuilder() {
    return latitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : latitudeStdDevM_;
  }

  public static final int LONGITUDESTDDEVM_FIELD_NUMBER = 19;
  private com.google.protobuf.FloatValue longitudeStdDevM_;
  /**
   * .google.protobuf.FloatValue longitudeStdDevM = 19;
   * @return Whether the longitudeStdDevM field is set.
   */
  @java.lang.Override
  public boolean hasLongitudeStdDevM() {
    return ((bitField0_ & 0x00000040) != 0);
  }
  /**
   * .google.protobuf.FloatValue longitudeStdDevM = 19;
   * @return The longitudeStdDevM.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getLongitudeStdDevM() {
    return longitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : longitudeStdDevM_;
  }
  /**
   * .google.protobuf.FloatValue longitudeStdDevM = 19;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getLongitudeStdDevMOrBuilder() {
    return longitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : longitudeStdDevM_;
  }

  public static final int ALTITUDESTDDEVM_FIELD_NUMBER = 20;
  private com.google.protobuf.FloatValue altitudeStdDevM_;
  /**
   * .google.protobuf.FloatValue altitudeStdDevM = 20;
   * @return Whether the altitudeStdDevM field is set.
   */
  @java.lang.Override
  public boolean hasAltitudeStdDevM() {
    return ((bitField0_ & 0x00000080) != 0);
  }
  /**
   * .google.protobuf.FloatValue altitudeStdDevM = 20;
   * @return The altitudeStdDevM.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getAltitudeStdDevM() {
    return altitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : altitudeStdDevM_;
  }
  /**
   * .google.protobuf.FloatValue altitudeStdDevM = 20;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getAltitudeStdDevMOrBuilder() {
    return altitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : altitudeStdDevM_;
  }

  public static final int AGCDB_FIELD_NUMBER = 21;
  private com.google.protobuf.FloatValue agcDb_;
  /**
   * .google.protobuf.FloatValue agcDb = 21;
   * @return Whether the agcDb field is set.
   */
  @java.lang.Override
  public boolean hasAgcDb() {
    return ((bitField0_ & 0x00000100) != 0);
  }
  /**
   * .google.protobuf.FloatValue agcDb = 21;
   * @return The agcDb.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getAgcDb() {
    return agcDb_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : agcDb_;
  }
  /**
   * .google.protobuf.FloatValue agcDb = 21;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getAgcDbOrBuilder() {
    return agcDb_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : agcDb_;
  }

  public static final int CN0DBHZ_FIELD_NUMBER = 22;
  private com.google.protobuf.FloatValue cn0DbHz_;
  /**
   * .google.protobuf.FloatValue cn0DbHz = 22;
   * @return Whether the cn0DbHz field is set.
   */
  @java.lang.Override
  public boolean hasCn0DbHz() {
    return ((bitField0_ & 0x00000200) != 0);
  }
  /**
   * .google.protobuf.FloatValue cn0DbHz = 22;
   * @return The cn0DbHz.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getCn0DbHz() {
    return cn0DbHz_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : cn0DbHz_;
  }
  /**
   * .google.protobuf.FloatValue cn0DbHz = 22;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getCn0DbHzOrBuilder() {
    return cn0DbHz_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : cn0DbHz_;
  }

  public static final int HDOP_FIELD_NUMBER = 23;
  private com.google.protobuf.FloatValue hdop_;
  /**
   * .google.protobuf.FloatValue hdop = 23;
   * @return Whether the hdop field is set.
   */
  @java.lang.Override
  public boolean hasHdop() {
    return ((bitField0_ & 0x00000400) != 0);
  }
  /**
   * .google.protobuf.FloatValue hdop = 23;
   * @return The hdop.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getHdop() {
    return hdop_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : hdop_;
  }
  /**
   * .google.protobuf.FloatValue hdop = 23;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getHdopOrBuilder() {
    return hdop_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : hdop_;
  }

  public static final int VDOP_FIELD_NUMBER = 24;
  private com.google.protobuf.FloatValue vdop_;
  /**
   * .google.protobuf.FloatValue vdop = 24;
   * @return Whether the vdop field is set.
   */
  @java.lang.Override
  public boolean hasVdop() {
    return ((bitField0_ & 0x00000800) != 0);
  }
  /**
   * .google.protobuf.FloatValue vdop = 24;
   * @return The vdop.
   */
  @java.lang.Override
  public com.google.protobuf.FloatValue getVdop() {
    return vdop_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : vdop_;
  }
  /**
   * .google.protobuf.FloatValue vdop = 24;
   */
  @java.lang.Override
  public com.google.protobuf.FloatValueOrBuilder getVdopOrBuilder() {
    return vdop_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : vdop_;
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceSerialNumber_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 1, deviceSerialNumber_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceName_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 2, deviceName_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceTime_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 3, deviceTime_);
    }
    if (java.lang.Double.doubleToRawLongBits(latitude_) != 0) {
      output.writeDouble(4, latitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(longitude_) != 0) {
      output.writeDouble(5, longitude_);
    }
    if (java.lang.Float.floatToRawIntBits(altitude_) != 0) {
      output.writeFloat(6, altitude_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(missionId_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 7, missionId_);
    }
    if (recordNumber_ != 0) {
      output.writeInt32(8, recordNumber_);
    }
    if (groupNumber_ != 0) {
      output.writeInt32(9, groupNumber_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceModel_)) {
      com.google.protobuf.GeneratedMessage.writeString(output, 10, deviceModel_);
    }
    if (accuracy_ != 0) {
      output.writeInt32(11, accuracy_);
    }
    if (constellation_ != com.craxiom.messaging.gnss.Constellation.UNKNOWN.getNumber()) {
      output.writeEnum(12, constellation_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(13, getSpaceVehicleId());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeMessage(14, getCarrierFreqHz());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      output.writeMessage(15, getClockOffset());
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      output.writeMessage(16, getUsedInSolution());
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      output.writeMessage(17, getUndulationM());
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      output.writeMessage(18, getLatitudeStdDevM());
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      output.writeMessage(19, getLongitudeStdDevM());
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      output.writeMessage(20, getAltitudeStdDevM());
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      output.writeMessage(21, getAgcDb());
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      output.writeMessage(22, getCn0DbHz());
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      output.writeMessage(23, getHdop());
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      output.writeMessage(24, getVdop());
    }
    if (java.lang.Float.floatToRawIntBits(heading_) != 0) {
      output.writeFloat(50, heading_);
    }
    if (java.lang.Float.floatToRawIntBits(pitch_) != 0) {
      output.writeFloat(51, pitch_);
    }
    if (java.lang.Float.floatToRawIntBits(roll_) != 0) {
      output.writeFloat(52, roll_);
    }
    if (java.lang.Float.floatToRawIntBits(fieldOfView_) != 0) {
      output.writeFloat(53, fieldOfView_);
    }
    if (java.lang.Float.floatToRawIntBits(receiverSensitivity_) != 0) {
      output.writeFloat(54, receiverSensitivity_);
    }
    if (java.lang.Float.floatToRawIntBits(speed_) != 0) {
      output.writeFloat(55, speed_);
    }
    getUnknownFields().writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceSerialNumber_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(1, deviceSerialNumber_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceName_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(2, deviceName_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceTime_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(3, deviceTime_);
    }
    if (java.lang.Double.doubleToRawLongBits(latitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(4, latitude_);
    }
    if (java.lang.Double.doubleToRawLongBits(longitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeDoubleSize(5, longitude_);
    }
    if (java.lang.Float.floatToRawIntBits(altitude_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(6, altitude_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(missionId_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(7, missionId_);
    }
    if (recordNumber_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(8, recordNumber_);
    }
    if (groupNumber_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(9, groupNumber_);
    }
    if (!com.google.protobuf.GeneratedMessage.isStringEmpty(deviceModel_)) {
      size += com.google.protobuf.GeneratedMessage.computeStringSize(10, deviceModel_);
    }
    if (accuracy_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(11, accuracy_);
    }
    if (constellation_ != com.craxiom.messaging.gnss.Constellation.UNKNOWN.getNumber()) {
      size += com.google.protobuf.CodedOutputStream
        .computeEnumSize(12, constellation_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(13, getSpaceVehicleId());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(14, getCarrierFreqHz());
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(15, getClockOffset());
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(16, getUsedInSolution());
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(17, getUndulationM());
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(18, getLatitudeStdDevM());
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(19, getLongitudeStdDevM());
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(20, getAltitudeStdDevM());
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(21, getAgcDb());
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(22, getCn0DbHz());
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(23, getHdop());
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(24, getVdop());
    }
    if (java.lang.Float.floatToRawIntBits(heading_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(50, heading_);
    }
    if (java.lang.Float.floatToRawIntBits(pitch_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(51, pitch_);
    }
    if (java.lang.Float.floatToRawIntBits(roll_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(52, roll_);
    }
    if (java.lang.Float.floatToRawIntBits(fieldOfView_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(53, fieldOfView_);
    }
    if (java.lang.Float.floatToRawIntBits(receiverSensitivity_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(54, receiverSensitivity_);
    }
    if (java.lang.Float.floatToRawIntBits(speed_) != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(55, speed_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof com.craxiom.messaging.GnssRecordData)) {
      return super.equals(obj);
    }
    com.craxiom.messaging.GnssRecordData other = (com.craxiom.messaging.GnssRecordData) obj;

    if (!getDeviceSerialNumber()
        .equals(other.getDeviceSerialNumber())) return false;
    if (!getDeviceName()
        .equals(other.getDeviceName())) return false;
    if (!getDeviceTime()
        .equals(other.getDeviceTime())) return false;
    if (java.lang.Double.doubleToLongBits(getLatitude())
        != java.lang.Double.doubleToLongBits(
            other.getLatitude())) return false;
    if (java.lang.Double.doubleToLongBits(getLongitude())
        != java.lang.Double.doubleToLongBits(
            other.getLongitude())) return false;
    if (java.lang.Float.floatToIntBits(getAltitude())
        != java.lang.Float.floatToIntBits(
            other.getAltitude())) return false;
    if (!getMissionId()
        .equals(other.getMissionId())) return false;
    if (getRecordNumber()
        != other.getRecordNumber()) return false;
    if (getGroupNumber()
        != other.getGroupNumber()) return false;
    if (!getDeviceModel()
        .equals(other.getDeviceModel())) return false;
    if (getAccuracy()
        != other.getAccuracy()) return false;
    if (java.lang.Float.floatToIntBits(getHeading())
        != java.lang.Float.floatToIntBits(
            other.getHeading())) return false;
    if (java.lang.Float.floatToIntBits(getPitch())
        != java.lang.Float.floatToIntBits(
            other.getPitch())) return false;
    if (java.lang.Float.floatToIntBits(getRoll())
        != java.lang.Float.floatToIntBits(
            other.getRoll())) return false;
    if (java.lang.Float.floatToIntBits(getFieldOfView())
        != java.lang.Float.floatToIntBits(
            other.getFieldOfView())) return false;
    if (java.lang.Float.floatToIntBits(getReceiverSensitivity())
        != java.lang.Float.floatToIntBits(
            other.getReceiverSensitivity())) return false;
    if (java.lang.Float.floatToIntBits(getSpeed())
        != java.lang.Float.floatToIntBits(
            other.getSpeed())) return false;
    if (constellation_ != other.constellation_) return false;
    if (hasSpaceVehicleId() != other.hasSpaceVehicleId()) return false;
    if (hasSpaceVehicleId()) {
      if (!getSpaceVehicleId()
          .equals(other.getSpaceVehicleId())) return false;
    }
    if (hasCarrierFreqHz() != other.hasCarrierFreqHz()) return false;
    if (hasCarrierFreqHz()) {
      if (!getCarrierFreqHz()
          .equals(other.getCarrierFreqHz())) return false;
    }
    if (hasClockOffset() != other.hasClockOffset()) return false;
    if (hasClockOffset()) {
      if (!getClockOffset()
          .equals(other.getClockOffset())) return false;
    }
    if (hasUsedInSolution() != other.hasUsedInSolution()) return false;
    if (hasUsedInSolution()) {
      if (!getUsedInSolution()
          .equals(other.getUsedInSolution())) return false;
    }
    if (hasUndulationM() != other.hasUndulationM()) return false;
    if (hasUndulationM()) {
      if (!getUndulationM()
          .equals(other.getUndulationM())) return false;
    }
    if (hasLatitudeStdDevM() != other.hasLatitudeStdDevM()) return false;
    if (hasLatitudeStdDevM()) {
      if (!getLatitudeStdDevM()
          .equals(other.getLatitudeStdDevM())) return false;
    }
    if (hasLongitudeStdDevM() != other.hasLongitudeStdDevM()) return false;
    if (hasLongitudeStdDevM()) {
      if (!getLongitudeStdDevM()
          .equals(other.getLongitudeStdDevM())) return false;
    }
    if (hasAltitudeStdDevM() != other.hasAltitudeStdDevM()) return false;
    if (hasAltitudeStdDevM()) {
      if (!getAltitudeStdDevM()
          .equals(other.getAltitudeStdDevM())) return false;
    }
    if (hasAgcDb() != other.hasAgcDb()) return false;
    if (hasAgcDb()) {
      if (!getAgcDb()
          .equals(other.getAgcDb())) return false;
    }
    if (hasCn0DbHz() != other.hasCn0DbHz()) return false;
    if (hasCn0DbHz()) {
      if (!getCn0DbHz()
          .equals(other.getCn0DbHz())) return false;
    }
    if (hasHdop() != other.hasHdop()) return false;
    if (hasHdop()) {
      if (!getHdop()
          .equals(other.getHdop())) return false;
    }
    if (hasVdop() != other.hasVdop()) return false;
    if (hasVdop()) {
      if (!getVdop()
          .equals(other.getVdop())) return false;
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + DEVICESERIALNUMBER_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceSerialNumber().hashCode();
    hash = (37 * hash) + DEVICENAME_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceName().hashCode();
    hash = (37 * hash) + DEVICETIME_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceTime().hashCode();
    hash = (37 * hash) + LATITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getLatitude()));
    hash = (37 * hash) + LONGITUDE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        java.lang.Double.doubleToLongBits(getLongitude()));
    hash = (37 * hash) + ALTITUDE_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getAltitude());
    hash = (37 * hash) + MISSIONID_FIELD_NUMBER;
    hash = (53 * hash) + getMissionId().hashCode();
    hash = (37 * hash) + RECORDNUMBER_FIELD_NUMBER;
    hash = (53 * hash) + getRecordNumber();
    hash = (37 * hash) + GROUPNUMBER_FIELD_NUMBER;
    hash = (53 * hash) + getGroupNumber();
    hash = (37 * hash) + DEVICEMODEL_FIELD_NUMBER;
    hash = (53 * hash) + getDeviceModel().hashCode();
    hash = (37 * hash) + ACCURACY_FIELD_NUMBER;
    hash = (53 * hash) + getAccuracy();
    hash = (37 * hash) + HEADING_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getHeading());
    hash = (37 * hash) + PITCH_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getPitch());
    hash = (37 * hash) + ROLL_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getRoll());
    hash = (37 * hash) + FIELDOFVIEW_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getFieldOfView());
    hash = (37 * hash) + RECEIVERSENSITIVITY_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getReceiverSensitivity());
    hash = (37 * hash) + SPEED_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getSpeed());
    hash = (37 * hash) + CONSTELLATION_FIELD_NUMBER;
    hash = (53 * hash) + constellation_;
    if (hasSpaceVehicleId()) {
      hash = (37 * hash) + SPACEVEHICLEID_FIELD_NUMBER;
      hash = (53 * hash) + getSpaceVehicleId().hashCode();
    }
    if (hasCarrierFreqHz()) {
      hash = (37 * hash) + CARRIERFREQHZ_FIELD_NUMBER;
      hash = (53 * hash) + getCarrierFreqHz().hashCode();
    }
    if (hasClockOffset()) {
      hash = (37 * hash) + CLOCKOFFSET_FIELD_NUMBER;
      hash = (53 * hash) + getClockOffset().hashCode();
    }
    if (hasUsedInSolution()) {
      hash = (37 * hash) + USEDINSOLUTION_FIELD_NUMBER;
      hash = (53 * hash) + getUsedInSolution().hashCode();
    }
    if (hasUndulationM()) {
      hash = (37 * hash) + UNDULATIONM_FIELD_NUMBER;
      hash = (53 * hash) + getUndulationM().hashCode();
    }
    if (hasLatitudeStdDevM()) {
      hash = (37 * hash) + LATITUDESTDDEVM_FIELD_NUMBER;
      hash = (53 * hash) + getLatitudeStdDevM().hashCode();
    }
    if (hasLongitudeStdDevM()) {
      hash = (37 * hash) + LONGITUDESTDDEVM_FIELD_NUMBER;
      hash = (53 * hash) + getLongitudeStdDevM().hashCode();
    }
    if (hasAltitudeStdDevM()) {
      hash = (37 * hash) + ALTITUDESTDDEVM_FIELD_NUMBER;
      hash = (53 * hash) + getAltitudeStdDevM().hashCode();
    }
    if (hasAgcDb()) {
      hash = (37 * hash) + AGCDB_FIELD_NUMBER;
      hash = (53 * hash) + getAgcDb().hashCode();
    }
    if (hasCn0DbHz()) {
      hash = (37 * hash) + CN0DBHZ_FIELD_NUMBER;
      hash = (53 * hash) + getCn0DbHz().hashCode();
    }
    if (hasHdop()) {
      hash = (37 * hash) + HDOP_FIELD_NUMBER;
      hash = (53 * hash) + getHdop().hashCode();
    }
    if (hasVdop()) {
      hash = (37 * hash) + VDOP_FIELD_NUMBER;
      hash = (53 * hash) + getVdop().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.craxiom.messaging.GnssRecordData parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  public static com.craxiom.messaging.GnssRecordData parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseDelimitedWithIOException(PARSER, input);
  }

  public static com.craxiom.messaging.GnssRecordData parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input);
  }
  public static com.craxiom.messaging.GnssRecordData parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessage
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(com.craxiom.messaging.GnssRecordData prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessage.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code com.craxiom.messaging.GnssRecordData}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessage.Builder implements
      // @@protoc_insertion_point(builder_implements:com.craxiom.messaging.GnssRecordData)
      com.craxiom.messaging.GnssRecordDataOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.craxiom.messaging.GnssRecordOuterClass.internal_static_com_craxiom_messaging_GnssRecordData_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.craxiom.messaging.GnssRecordOuterClass.internal_static_com_craxiom_messaging_GnssRecordData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.craxiom.messaging.GnssRecordData.class, com.craxiom.messaging.GnssRecordData.Builder.class);
    }

    // Construct using com.craxiom.messaging.GnssRecordData.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessage
              .alwaysUseFieldBuilders) {
        getSpaceVehicleIdFieldBuilder();
        getCarrierFreqHzFieldBuilder();
        getClockOffsetFieldBuilder();
        getUsedInSolutionFieldBuilder();
        getUndulationMFieldBuilder();
        getLatitudeStdDevMFieldBuilder();
        getLongitudeStdDevMFieldBuilder();
        getAltitudeStdDevMFieldBuilder();
        getAgcDbFieldBuilder();
        getCn0DbHzFieldBuilder();
        getHdopFieldBuilder();
        getVdopFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      deviceSerialNumber_ = "";
      deviceName_ = "";
      deviceTime_ = "";
      latitude_ = 0D;
      longitude_ = 0D;
      altitude_ = 0F;
      missionId_ = "";
      recordNumber_ = 0;
      groupNumber_ = 0;
      deviceModel_ = "";
      accuracy_ = 0;
      heading_ = 0F;
      pitch_ = 0F;
      roll_ = 0F;
      fieldOfView_ = 0F;
      receiverSensitivity_ = 0F;
      speed_ = 0F;
      constellation_ = 0;
      spaceVehicleId_ = null;
      if (spaceVehicleIdBuilder_ != null) {
        spaceVehicleIdBuilder_.dispose();
        spaceVehicleIdBuilder_ = null;
      }
      carrierFreqHz_ = null;
      if (carrierFreqHzBuilder_ != null) {
        carrierFreqHzBuilder_.dispose();
        carrierFreqHzBuilder_ = null;
      }
      clockOffset_ = null;
      if (clockOffsetBuilder_ != null) {
        clockOffsetBuilder_.dispose();
        clockOffsetBuilder_ = null;
      }
      usedInSolution_ = null;
      if (usedInSolutionBuilder_ != null) {
        usedInSolutionBuilder_.dispose();
        usedInSolutionBuilder_ = null;
      }
      undulationM_ = null;
      if (undulationMBuilder_ != null) {
        undulationMBuilder_.dispose();
        undulationMBuilder_ = null;
      }
      latitudeStdDevM_ = null;
      if (latitudeStdDevMBuilder_ != null) {
        latitudeStdDevMBuilder_.dispose();
        latitudeStdDevMBuilder_ = null;
      }
      longitudeStdDevM_ = null;
      if (longitudeStdDevMBuilder_ != null) {
        longitudeStdDevMBuilder_.dispose();
        longitudeStdDevMBuilder_ = null;
      }
      altitudeStdDevM_ = null;
      if (altitudeStdDevMBuilder_ != null) {
        altitudeStdDevMBuilder_.dispose();
        altitudeStdDevMBuilder_ = null;
      }
      agcDb_ = null;
      if (agcDbBuilder_ != null) {
        agcDbBuilder_.dispose();
        agcDbBuilder_ = null;
      }
      cn0DbHz_ = null;
      if (cn0DbHzBuilder_ != null) {
        cn0DbHzBuilder_.dispose();
        cn0DbHzBuilder_ = null;
      }
      hdop_ = null;
      if (hdopBuilder_ != null) {
        hdopBuilder_.dispose();
        hdopBuilder_ = null;
      }
      vdop_ = null;
      if (vdopBuilder_ != null) {
        vdopBuilder_.dispose();
        vdopBuilder_ = null;
      }
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.craxiom.messaging.GnssRecordOuterClass.internal_static_com_craxiom_messaging_GnssRecordData_descriptor;
    }

    @java.lang.Override
    public com.craxiom.messaging.GnssRecordData getDefaultInstanceForType() {
      return com.craxiom.messaging.GnssRecordData.getDefaultInstance();
    }

    @java.lang.Override
    public com.craxiom.messaging.GnssRecordData build() {
      com.craxiom.messaging.GnssRecordData result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.craxiom.messaging.GnssRecordData buildPartial() {
      com.craxiom.messaging.GnssRecordData result = new com.craxiom.messaging.GnssRecordData(this);
      if (bitField0_ != 0) { buildPartial0(result); }
      onBuilt();
      return result;
    }

    private void buildPartial0(com.craxiom.messaging.GnssRecordData result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.deviceSerialNumber_ = deviceSerialNumber_;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.deviceName_ = deviceName_;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.deviceTime_ = deviceTime_;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.latitude_ = latitude_;
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.longitude_ = longitude_;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.altitude_ = altitude_;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.missionId_ = missionId_;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.recordNumber_ = recordNumber_;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.groupNumber_ = groupNumber_;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.deviceModel_ = deviceModel_;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.accuracy_ = accuracy_;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.heading_ = heading_;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.pitch_ = pitch_;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.roll_ = roll_;
      }
      if (((from_bitField0_ & 0x00004000) != 0)) {
        result.fieldOfView_ = fieldOfView_;
      }
      if (((from_bitField0_ & 0x00008000) != 0)) {
        result.receiverSensitivity_ = receiverSensitivity_;
      }
      if (((from_bitField0_ & 0x00010000) != 0)) {
        result.speed_ = speed_;
      }
      if (((from_bitField0_ & 0x00020000) != 0)) {
        result.constellation_ = constellation_;
      }
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00040000) != 0)) {
        result.spaceVehicleId_ = spaceVehicleIdBuilder_ == null
            ? spaceVehicleId_
            : spaceVehicleIdBuilder_.build();
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00080000) != 0)) {
        result.carrierFreqHz_ = carrierFreqHzBuilder_ == null
            ? carrierFreqHz_
            : carrierFreqHzBuilder_.build();
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00100000) != 0)) {
        result.clockOffset_ = clockOffsetBuilder_ == null
            ? clockOffset_
            : clockOffsetBuilder_.build();
        to_bitField0_ |= 0x00000004;
      }
      if (((from_bitField0_ & 0x00200000) != 0)) {
        result.usedInSolution_ = usedInSolutionBuilder_ == null
            ? usedInSolution_
            : usedInSolutionBuilder_.build();
        to_bitField0_ |= 0x00000008;
      }
      if (((from_bitField0_ & 0x00400000) != 0)) {
        result.undulationM_ = undulationMBuilder_ == null
            ? undulationM_
            : undulationMBuilder_.build();
        to_bitField0_ |= 0x00000010;
      }
      if (((from_bitField0_ & 0x00800000) != 0)) {
        result.latitudeStdDevM_ = latitudeStdDevMBuilder_ == null
            ? latitudeStdDevM_
            : latitudeStdDevMBuilder_.build();
        to_bitField0_ |= 0x00000020;
      }
      if (((from_bitField0_ & 0x01000000) != 0)) {
        result.longitudeStdDevM_ = longitudeStdDevMBuilder_ == null
            ? longitudeStdDevM_
            : longitudeStdDevMBuilder_.build();
        to_bitField0_ |= 0x00000040;
      }
      if (((from_bitField0_ & 0x02000000) != 0)) {
        result.altitudeStdDevM_ = altitudeStdDevMBuilder_ == null
            ? altitudeStdDevM_
            : altitudeStdDevMBuilder_.build();
        to_bitField0_ |= 0x00000080;
      }
      if (((from_bitField0_ & 0x04000000) != 0)) {
        result.agcDb_ = agcDbBuilder_ == null
            ? agcDb_
            : agcDbBuilder_.build();
        to_bitField0_ |= 0x00000100;
      }
      if (((from_bitField0_ & 0x08000000) != 0)) {
        result.cn0DbHz_ = cn0DbHzBuilder_ == null
            ? cn0DbHz_
            : cn0DbHzBuilder_.build();
        to_bitField0_ |= 0x00000200;
      }
      if (((from_bitField0_ & 0x10000000) != 0)) {
        result.hdop_ = hdopBuilder_ == null
            ? hdop_
            : hdopBuilder_.build();
        to_bitField0_ |= 0x00000400;
      }
      if (((from_bitField0_ & 0x20000000) != 0)) {
        result.vdop_ = vdopBuilder_ == null
            ? vdop_
            : vdopBuilder_.build();
        to_bitField0_ |= 0x00000800;
      }
      result.bitField0_ |= to_bitField0_;
    }

    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof com.craxiom.messaging.GnssRecordData) {
        return mergeFrom((com.craxiom.messaging.GnssRecordData)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.craxiom.messaging.GnssRecordData other) {
      if (other == com.craxiom.messaging.GnssRecordData.getDefaultInstance()) return this;
      if (!other.getDeviceSerialNumber().isEmpty()) {
        deviceSerialNumber_ = other.deviceSerialNumber_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (!other.getDeviceName().isEmpty()) {
        deviceName_ = other.deviceName_;
        bitField0_ |= 0x00000002;
        onChanged();
      }
      if (!other.getDeviceTime().isEmpty()) {
        deviceTime_ = other.deviceTime_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (other.getLatitude() != 0D) {
        setLatitude(other.getLatitude());
      }
      if (other.getLongitude() != 0D) {
        setLongitude(other.getLongitude());
      }
      if (other.getAltitude() != 0F) {
        setAltitude(other.getAltitude());
      }
      if (!other.getMissionId().isEmpty()) {
        missionId_ = other.missionId_;
        bitField0_ |= 0x00000040;
        onChanged();
      }
      if (other.getRecordNumber() != 0) {
        setRecordNumber(other.getRecordNumber());
      }
      if (other.getGroupNumber() != 0) {
        setGroupNumber(other.getGroupNumber());
      }
      if (!other.getDeviceModel().isEmpty()) {
        deviceModel_ = other.deviceModel_;
        bitField0_ |= 0x00000200;
        onChanged();
      }
      if (other.getAccuracy() != 0) {
        setAccuracy(other.getAccuracy());
      }
      if (other.getHeading() != 0F) {
        setHeading(other.getHeading());
      }
      if (other.getPitch() != 0F) {
        setPitch(other.getPitch());
      }
      if (other.getRoll() != 0F) {
        setRoll(other.getRoll());
      }
      if (other.getFieldOfView() != 0F) {
        setFieldOfView(other.getFieldOfView());
      }
      if (other.getReceiverSensitivity() != 0F) {
        setReceiverSensitivity(other.getReceiverSensitivity());
      }
      if (other.getSpeed() != 0F) {
        setSpeed(other.getSpeed());
      }
      if (other.constellation_ != 0) {
        setConstellationValue(other.getConstellationValue());
      }
      if (other.hasSpaceVehicleId()) {
        mergeSpaceVehicleId(other.getSpaceVehicleId());
      }
      if (other.hasCarrierFreqHz()) {
        mergeCarrierFreqHz(other.getCarrierFreqHz());
      }
      if (other.hasClockOffset()) {
        mergeClockOffset(other.getClockOffset());
      }
      if (other.hasUsedInSolution()) {
        mergeUsedInSolution(other.getUsedInSolution());
      }
      if (other.hasUndulationM()) {
        mergeUndulationM(other.getUndulationM());
      }
      if (other.hasLatitudeStdDevM()) {
        mergeLatitudeStdDevM(other.getLatitudeStdDevM());
      }
      if (other.hasLongitudeStdDevM()) {
        mergeLongitudeStdDevM(other.getLongitudeStdDevM());
      }
      if (other.hasAltitudeStdDevM()) {
        mergeAltitudeStdDevM(other.getAltitudeStdDevM());
      }
      if (other.hasAgcDb()) {
        mergeAgcDb(other.getAgcDb());
      }
      if (other.hasCn0DbHz()) {
        mergeCn0DbHz(other.getCn0DbHz());
      }
      if (other.hasHdop()) {
        mergeHdop(other.getHdop());
      }
      if (other.hasVdop()) {
        mergeVdop(other.getVdop());
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              deviceSerialNumber_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 10
            case 18: {
              deviceName_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000002;
              break;
            } // case 18
            case 26: {
              deviceTime_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 26
            case 33: {
              latitude_ = input.readDouble();
              bitField0_ |= 0x00000008;
              break;
            } // case 33
            case 41: {
              longitude_ = input.readDouble();
              bitField0_ |= 0x00000010;
              break;
            } // case 41
            case 53: {
              altitude_ = input.readFloat();
              bitField0_ |= 0x00000020;
              break;
            } // case 53
            case 58: {
              missionId_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000040;
              break;
            } // case 58
            case 64: {
              recordNumber_ = input.readInt32();
              bitField0_ |= 0x00000080;
              break;
            } // case 64
            case 72: {
              groupNumber_ = input.readInt32();
              bitField0_ |= 0x00000100;
              break;
            } // case 72
            case 82: {
              deviceModel_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000200;
              break;
            } // case 82
            case 88: {
              accuracy_ = input.readInt32();
              bitField0_ |= 0x00000400;
              break;
            } // case 88
            case 96: {
              constellation_ = input.readEnum();
              bitField0_ |= 0x00020000;
              break;
            } // case 96
            case 106: {
              input.readMessage(
                  getSpaceVehicleIdFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00040000;
              break;
            } // case 106
            case 114: {
              input.readMessage(
                  getCarrierFreqHzFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00080000;
              break;
            } // case 114
            case 122: {
              input.readMessage(
                  getClockOffsetFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00100000;
              break;
            } // case 122
            case 130: {
              input.readMessage(
                  getUsedInSolutionFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00200000;
              break;
            } // case 130
            case 138: {
              input.readMessage(
                  getUndulationMFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00400000;
              break;
            } // case 138
            case 146: {
              input.readMessage(
                  getLatitudeStdDevMFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00800000;
              break;
            } // case 146
            case 154: {
              input.readMessage(
                  getLongitudeStdDevMFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x01000000;
              break;
            } // case 154
            case 162: {
              input.readMessage(
                  getAltitudeStdDevMFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x02000000;
              break;
            } // case 162
            case 170: {
              input.readMessage(
                  getAgcDbFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x04000000;
              break;
            } // case 170
            case 178: {
              input.readMessage(
                  getCn0DbHzFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x08000000;
              break;
            } // case 178
            case 186: {
              input.readMessage(
                  getHdopFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x10000000;
              break;
            } // case 186
            case 194: {
              input.readMessage(
                  getVdopFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x20000000;
              break;
            } // case 194
            case 405: {
              heading_ = input.readFloat();
              bitField0_ |= 0x00000800;
              break;
            } // case 405
            case 413: {
              pitch_ = input.readFloat();
              bitField0_ |= 0x00001000;
              break;
            } // case 413
            case 421: {
              roll_ = input.readFloat();
              bitField0_ |= 0x00002000;
              break;
            } // case 421
            case 429: {
              fieldOfView_ = input.readFloat();
              bitField0_ |= 0x00004000;
              break;
            } // case 429
            case 437: {
              receiverSensitivity_ = input.readFloat();
              bitField0_ |= 0x00008000;
              break;
            } // case 437
            case 445: {
              speed_ = input.readFloat();
              bitField0_ |= 0x00010000;
              break;
            } // case 445
            default: {
              if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                done = true; // was an endgroup tag
              }
              break;
            } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
    private int bitField0_;

    private java.lang.Object deviceSerialNumber_ = "";
    /**
     * string deviceSerialNumber = 1;
     * @return The deviceSerialNumber.
     */
    public java.lang.String getDeviceSerialNumber() {
      java.lang.Object ref = deviceSerialNumber_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceSerialNumber_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceSerialNumber = 1;
     * @return The bytes for deviceSerialNumber.
     */
    public com.google.protobuf.ByteString
        getDeviceSerialNumberBytes() {
      java.lang.Object ref = deviceSerialNumber_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceSerialNumber_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceSerialNumber = 1;
     * @param value The deviceSerialNumber to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceSerialNumber(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceSerialNumber_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * string deviceSerialNumber = 1;
     * @return This builder for chaining.
     */
    public Builder clearDeviceSerialNumber() {
      deviceSerialNumber_ = getDefaultInstance().getDeviceSerialNumber();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * string deviceSerialNumber = 1;
     * @param value The bytes for deviceSerialNumber to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceSerialNumberBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceSerialNumber_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

    private java.lang.Object deviceName_ = "";
    /**
     * string deviceName = 2;
     * @return The deviceName.
     */
    public java.lang.String getDeviceName() {
      java.lang.Object ref = deviceName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceName_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceName = 2;
     * @return The bytes for deviceName.
     */
    public com.google.protobuf.ByteString
        getDeviceNameBytes() {
      java.lang.Object ref = deviceName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceName = 2;
     * @param value The deviceName to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceName(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceName_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * string deviceName = 2;
     * @return This builder for chaining.
     */
    public Builder clearDeviceName() {
      deviceName_ = getDefaultInstance().getDeviceName();
      bitField0_ = (bitField0_ & ~0x00000002);
      onChanged();
      return this;
    }
    /**
     * string deviceName = 2;
     * @param value The bytes for deviceName to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceName_ = value;
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }

    private java.lang.Object deviceTime_ = "";
    /**
     * string deviceTime = 3;
     * @return The deviceTime.
     */
    public java.lang.String getDeviceTime() {
      java.lang.Object ref = deviceTime_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceTime_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceTime = 3;
     * @return The bytes for deviceTime.
     */
    public com.google.protobuf.ByteString
        getDeviceTimeBytes() {
      java.lang.Object ref = deviceTime_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceTime_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceTime = 3;
     * @param value The deviceTime to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceTime(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceTime_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * string deviceTime = 3;
     * @return This builder for chaining.
     */
    public Builder clearDeviceTime() {
      deviceTime_ = getDefaultInstance().getDeviceTime();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }
    /**
     * string deviceTime = 3;
     * @param value The bytes for deviceTime to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceTimeBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceTime_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }

    private double latitude_ ;
    /**
     * double latitude = 4;
     * @return The latitude.
     */
    @java.lang.Override
    public double getLatitude() {
      return latitude_;
    }
    /**
     * double latitude = 4;
     * @param value The latitude to set.
     * @return This builder for chaining.
     */
    public Builder setLatitude(double value) {

      latitude_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * double latitude = 4;
     * @return This builder for chaining.
     */
    public Builder clearLatitude() {
      bitField0_ = (bitField0_ & ~0x00000008);
      latitude_ = 0D;
      onChanged();
      return this;
    }

    private double longitude_ ;
    /**
     * double longitude = 5;
     * @return The longitude.
     */
    @java.lang.Override
    public double getLongitude() {
      return longitude_;
    }
    /**
     * double longitude = 5;
     * @param value The longitude to set.
     * @return This builder for chaining.
     */
    public Builder setLongitude(double value) {

      longitude_ = value;
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * double longitude = 5;
     * @return This builder for chaining.
     */
    public Builder clearLongitude() {
      bitField0_ = (bitField0_ & ~0x00000010);
      longitude_ = 0D;
      onChanged();
      return this;
    }

    private float altitude_ ;
    /**
     * float altitude = 6;
     * @return The altitude.
     */
    @java.lang.Override
    public float getAltitude() {
      return altitude_;
    }
    /**
     * float altitude = 6;
     * @param value The altitude to set.
     * @return This builder for chaining.
     */
    public Builder setAltitude(float value) {

      altitude_ = value;
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     * float altitude = 6;
     * @return This builder for chaining.
     */
    public Builder clearAltitude() {
      bitField0_ = (bitField0_ & ~0x00000020);
      altitude_ = 0F;
      onChanged();
      return this;
    }

    private java.lang.Object missionId_ = "";
    /**
     * string missionId = 7;
     * @return The missionId.
     */
    public java.lang.String getMissionId() {
      java.lang.Object ref = missionId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        missionId_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string missionId = 7;
     * @return The bytes for missionId.
     */
    public com.google.protobuf.ByteString
        getMissionIdBytes() {
      java.lang.Object ref = missionId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        missionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string missionId = 7;
     * @param value The missionId to set.
     * @return This builder for chaining.
     */
    public Builder setMissionId(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      missionId_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * string missionId = 7;
     * @return This builder for chaining.
     */
    public Builder clearMissionId() {
      missionId_ = getDefaultInstance().getMissionId();
      bitField0_ = (bitField0_ & ~0x00000040);
      onChanged();
      return this;
    }
    /**
     * string missionId = 7;
     * @param value The bytes for missionId to set.
     * @return This builder for chaining.
     */
    public Builder setMissionIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      missionId_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }

    private int recordNumber_ ;
    /**
     * int32 recordNumber = 8;
     * @return The recordNumber.
     */
    @java.lang.Override
    public int getRecordNumber() {
      return recordNumber_;
    }
    /**
     * int32 recordNumber = 8;
     * @param value The recordNumber to set.
     * @return This builder for chaining.
     */
    public Builder setRecordNumber(int value) {

      recordNumber_ = value;
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * int32 recordNumber = 8;
     * @return This builder for chaining.
     */
    public Builder clearRecordNumber() {
      bitField0_ = (bitField0_ & ~0x00000080);
      recordNumber_ = 0;
      onChanged();
      return this;
    }

    private int groupNumber_ ;
    /**
     * int32 groupNumber = 9;
     * @return The groupNumber.
     */
    @java.lang.Override
    public int getGroupNumber() {
      return groupNumber_;
    }
    /**
     * int32 groupNumber = 9;
     * @param value The groupNumber to set.
     * @return This builder for chaining.
     */
    public Builder setGroupNumber(int value) {

      groupNumber_ = value;
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * int32 groupNumber = 9;
     * @return This builder for chaining.
     */
    public Builder clearGroupNumber() {
      bitField0_ = (bitField0_ & ~0x00000100);
      groupNumber_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object deviceModel_ = "";
    /**
     * string deviceModel = 10;
     * @return The deviceModel.
     */
    public java.lang.String getDeviceModel() {
      java.lang.Object ref = deviceModel_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        deviceModel_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * string deviceModel = 10;
     * @return The bytes for deviceModel.
     */
    public com.google.protobuf.ByteString
        getDeviceModelBytes() {
      java.lang.Object ref = deviceModel_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        deviceModel_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * string deviceModel = 10;
     * @param value The deviceModel to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceModel(
        java.lang.String value) {
      if (value == null) { throw new NullPointerException(); }
      deviceModel_ = value;
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * string deviceModel = 10;
     * @return This builder for chaining.
     */
    public Builder clearDeviceModel() {
      deviceModel_ = getDefaultInstance().getDeviceModel();
      bitField0_ = (bitField0_ & ~0x00000200);
      onChanged();
      return this;
    }
    /**
     * string deviceModel = 10;
     * @param value The bytes for deviceModel to set.
     * @return This builder for chaining.
     */
    public Builder setDeviceModelBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      deviceModel_ = value;
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }

    private int accuracy_ ;
    /**
     * int32 accuracy = 11;
     * @return The accuracy.
     */
    @java.lang.Override
    public int getAccuracy() {
      return accuracy_;
    }
    /**
     * int32 accuracy = 11;
     * @param value The accuracy to set.
     * @return This builder for chaining.
     */
    public Builder setAccuracy(int value) {

      accuracy_ = value;
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * int32 accuracy = 11;
     * @return This builder for chaining.
     */
    public Builder clearAccuracy() {
      bitField0_ = (bitField0_ & ~0x00000400);
      accuracy_ = 0;
      onChanged();
      return this;
    }

    private float heading_ ;
    /**
     * float heading = 50;
     * @return The heading.
     */
    @java.lang.Override
    public float getHeading() {
      return heading_;
    }
    /**
     * float heading = 50;
     * @param value The heading to set.
     * @return This builder for chaining.
     */
    public Builder setHeading(float value) {

      heading_ = value;
      bitField0_ |= 0x00000800;
      onChanged();
      return this;
    }
    /**
     * float heading = 50;
     * @return This builder for chaining.
     */
    public Builder clearHeading() {
      bitField0_ = (bitField0_ & ~0x00000800);
      heading_ = 0F;
      onChanged();
      return this;
    }

    private float pitch_ ;
    /**
     * float pitch = 51;
     * @return The pitch.
     */
    @java.lang.Override
    public float getPitch() {
      return pitch_;
    }
    /**
     * float pitch = 51;
     * @param value The pitch to set.
     * @return This builder for chaining.
     */
    public Builder setPitch(float value) {

      pitch_ = value;
      bitField0_ |= 0x00001000;
      onChanged();
      return this;
    }
    /**
     * float pitch = 51;
     * @return This builder for chaining.
     */
    public Builder clearPitch() {
      bitField0_ = (bitField0_ & ~0x00001000);
      pitch_ = 0F;
      onChanged();
      return this;
    }

    private float roll_ ;
    /**
     * float roll = 52;
     * @return The roll.
     */
    @java.lang.Override
    public float getRoll() {
      return roll_;
    }
    /**
     * float roll = 52;
     * @param value The roll to set.
     * @return This builder for chaining.
     */
    public Builder setRoll(float value) {

      roll_ = value;
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * float roll = 52;
     * @return This builder for chaining.
     */
    public Builder clearRoll() {
      bitField0_ = (bitField0_ & ~0x00002000);
      roll_ = 0F;
      onChanged();
      return this;
    }

    private float fieldOfView_ ;
    /**
     * float fieldOfView = 53;
     * @return The fieldOfView.
     */
    @java.lang.Override
    public float getFieldOfView() {
      return fieldOfView_;
    }
    /**
     * float fieldOfView = 53;
     * @param value The fieldOfView to set.
     * @return This builder for chaining.
     */
    public Builder setFieldOfView(float value) {

      fieldOfView_ = value;
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     * float fieldOfView = 53;
     * @return This builder for chaining.
     */
    public Builder clearFieldOfView() {
      bitField0_ = (bitField0_ & ~0x00004000);
      fieldOfView_ = 0F;
      onChanged();
      return this;
    }

    private float receiverSensitivity_ ;
    /**
     * float receiverSensitivity = 54;
     * @return The receiverSensitivity.
     */
    @java.lang.Override
    public float getReceiverSensitivity() {
      return receiverSensitivity_;
    }
    /**
     * float receiverSensitivity = 54;
     * @param value The receiverSensitivity to set.
     * @return This builder for chaining.
     */
    public Builder setReceiverSensitivity(float value) {

      receiverSensitivity_ = value;
      bitField0_ |= 0x00008000;
      onChanged();
      return this;
    }
    /**
     * float receiverSensitivity = 54;
     * @return This builder for chaining.
     */
    public Builder clearReceiverSensitivity() {
      bitField0_ = (bitField0_ & ~0x00008000);
      receiverSensitivity_ = 0F;
      onChanged();
      return this;
    }

    private float speed_ ;
    /**
     * float speed = 55;
     * @return The speed.
     */
    @java.lang.Override
    public float getSpeed() {
      return speed_;
    }
    /**
     * float speed = 55;
     * @param value The speed to set.
     * @return This builder for chaining.
     */
    public Builder setSpeed(float value) {

      speed_ = value;
      bitField0_ |= 0x00010000;
      onChanged();
      return this;
    }
    /**
     * float speed = 55;
     * @return This builder for chaining.
     */
    public Builder clearSpeed() {
      bitField0_ = (bitField0_ & ~0x00010000);
      speed_ = 0F;
      onChanged();
      return this;
    }

    private int constellation_ = 0;
    /**
     * .com.craxiom.messaging.gnss.constellation.Constellation constellation = 12;
     * @return The enum numeric value on the wire for constellation.
     */
    @java.lang.Override public int getConstellationValue() {
      return constellation_;
    }
    /**
     * .com.craxiom.messaging.gnss.constellation.Constellation constellation = 12;
     * @param value The enum numeric value on the wire for constellation to set.
     * @return This builder for chaining.
     */
    public Builder setConstellationValue(int value) {
      constellation_ = value;
      bitField0_ |= 0x00020000;
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.gnss.constellation.Constellation constellation = 12;
     * @return The constellation.
     */
    @java.lang.Override
    public com.craxiom.messaging.gnss.Constellation getConstellation() {
      com.craxiom.messaging.gnss.Constellation result = com.craxiom.messaging.gnss.Constellation.forNumber(constellation_);
      return result == null ? com.craxiom.messaging.gnss.Constellation.UNRECOGNIZED : result;
    }
    /**
     * .com.craxiom.messaging.gnss.constellation.Constellation constellation = 12;
     * @param value The constellation to set.
     * @return This builder for chaining.
     */
    public Builder setConstellation(com.craxiom.messaging.gnss.Constellation value) {
      if (value == null) {
        throw new NullPointerException();
      }
      bitField0_ |= 0x00020000;
      constellation_ = value.getNumber();
      onChanged();
      return this;
    }
    /**
     * .com.craxiom.messaging.gnss.constellation.Constellation constellation = 12;
     * @return This builder for chaining.
     */
    public Builder clearConstellation() {
      bitField0_ = (bitField0_ & ~0x00020000);
      constellation_ = 0;
      onChanged();
      return this;
    }

    private com.google.protobuf.UInt32Value spaceVehicleId_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> spaceVehicleIdBuilder_;
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     * @return Whether the spaceVehicleId field is set.
     */
    public boolean hasSpaceVehicleId() {
      return ((bitField0_ & 0x00040000) != 0);
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     * @return The spaceVehicleId.
     */
    public com.google.protobuf.UInt32Value getSpaceVehicleId() {
      if (spaceVehicleIdBuilder_ == null) {
        return spaceVehicleId_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : spaceVehicleId_;
      } else {
        return spaceVehicleIdBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     */
    public Builder setSpaceVehicleId(com.google.protobuf.UInt32Value value) {
      if (spaceVehicleIdBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        spaceVehicleId_ = value;
      } else {
        spaceVehicleIdBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00040000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     */
    public Builder setSpaceVehicleId(
        com.google.protobuf.UInt32Value.Builder builderForValue) {
      if (spaceVehicleIdBuilder_ == null) {
        spaceVehicleId_ = builderForValue.build();
      } else {
        spaceVehicleIdBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00040000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     */
    public Builder mergeSpaceVehicleId(com.google.protobuf.UInt32Value value) {
      if (spaceVehicleIdBuilder_ == null) {
        if (((bitField0_ & 0x00040000) != 0) &&
          spaceVehicleId_ != null &&
          spaceVehicleId_ != com.google.protobuf.UInt32Value.getDefaultInstance()) {
          getSpaceVehicleIdBuilder().mergeFrom(value);
        } else {
          spaceVehicleId_ = value;
        }
      } else {
        spaceVehicleIdBuilder_.mergeFrom(value);
      }
      if (spaceVehicleId_ != null) {
        bitField0_ |= 0x00040000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     */
    public Builder clearSpaceVehicleId() {
      bitField0_ = (bitField0_ & ~0x00040000);
      spaceVehicleId_ = null;
      if (spaceVehicleIdBuilder_ != null) {
        spaceVehicleIdBuilder_.dispose();
        spaceVehicleIdBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     */
    public com.google.protobuf.UInt32Value.Builder getSpaceVehicleIdBuilder() {
      bitField0_ |= 0x00040000;
      onChanged();
      return getSpaceVehicleIdFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     */
    public com.google.protobuf.UInt32ValueOrBuilder getSpaceVehicleIdOrBuilder() {
      if (spaceVehicleIdBuilder_ != null) {
        return spaceVehicleIdBuilder_.getMessageOrBuilder();
      } else {
        return spaceVehicleId_ == null ?
            com.google.protobuf.UInt32Value.getDefaultInstance() : spaceVehicleId_;
      }
    }
    /**
     * .google.protobuf.UInt32Value spaceVehicleId = 13;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> 
        getSpaceVehicleIdFieldBuilder() {
      if (spaceVehicleIdBuilder_ == null) {
        spaceVehicleIdBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
                getSpaceVehicleId(),
                getParentForChildren(),
                isClean());
        spaceVehicleId_ = null;
      }
      return spaceVehicleIdBuilder_;
    }

    private com.google.protobuf.UInt64Value carrierFreqHz_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder> carrierFreqHzBuilder_;
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     * @return Whether the carrierFreqHz field is set.
     */
    public boolean hasCarrierFreqHz() {
      return ((bitField0_ & 0x00080000) != 0);
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     * @return The carrierFreqHz.
     */
    public com.google.protobuf.UInt64Value getCarrierFreqHz() {
      if (carrierFreqHzBuilder_ == null) {
        return carrierFreqHz_ == null ? com.google.protobuf.UInt64Value.getDefaultInstance() : carrierFreqHz_;
      } else {
        return carrierFreqHzBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     */
    public Builder setCarrierFreqHz(com.google.protobuf.UInt64Value value) {
      if (carrierFreqHzBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        carrierFreqHz_ = value;
      } else {
        carrierFreqHzBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00080000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     */
    public Builder setCarrierFreqHz(
        com.google.protobuf.UInt64Value.Builder builderForValue) {
      if (carrierFreqHzBuilder_ == null) {
        carrierFreqHz_ = builderForValue.build();
      } else {
        carrierFreqHzBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00080000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     */
    public Builder mergeCarrierFreqHz(com.google.protobuf.UInt64Value value) {
      if (carrierFreqHzBuilder_ == null) {
        if (((bitField0_ & 0x00080000) != 0) &&
          carrierFreqHz_ != null &&
          carrierFreqHz_ != com.google.protobuf.UInt64Value.getDefaultInstance()) {
          getCarrierFreqHzBuilder().mergeFrom(value);
        } else {
          carrierFreqHz_ = value;
        }
      } else {
        carrierFreqHzBuilder_.mergeFrom(value);
      }
      if (carrierFreqHz_ != null) {
        bitField0_ |= 0x00080000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     */
    public Builder clearCarrierFreqHz() {
      bitField0_ = (bitField0_ & ~0x00080000);
      carrierFreqHz_ = null;
      if (carrierFreqHzBuilder_ != null) {
        carrierFreqHzBuilder_.dispose();
        carrierFreqHzBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     */
    public com.google.protobuf.UInt64Value.Builder getCarrierFreqHzBuilder() {
      bitField0_ |= 0x00080000;
      onChanged();
      return getCarrierFreqHzFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     */
    public com.google.protobuf.UInt64ValueOrBuilder getCarrierFreqHzOrBuilder() {
      if (carrierFreqHzBuilder_ != null) {
        return carrierFreqHzBuilder_.getMessageOrBuilder();
      } else {
        return carrierFreqHz_ == null ?
            com.google.protobuf.UInt64Value.getDefaultInstance() : carrierFreqHz_;
      }
    }
    /**
     * .google.protobuf.UInt64Value carrierFreqHz = 14;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder> 
        getCarrierFreqHzFieldBuilder() {
      if (carrierFreqHzBuilder_ == null) {
        carrierFreqHzBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder>(
                getCarrierFreqHz(),
                getParentForChildren(),
                isClean());
        carrierFreqHz_ = null;
      }
      return carrierFreqHzBuilder_;
    }

    private com.google.protobuf.DoubleValue clockOffset_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.DoubleValue, com.google.protobuf.DoubleValue.Builder, com.google.protobuf.DoubleValueOrBuilder> clockOffsetBuilder_;
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     * @return Whether the clockOffset field is set.
     */
    public boolean hasClockOffset() {
      return ((bitField0_ & 0x00100000) != 0);
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     * @return The clockOffset.
     */
    public com.google.protobuf.DoubleValue getClockOffset() {
      if (clockOffsetBuilder_ == null) {
        return clockOffset_ == null ? com.google.protobuf.DoubleValue.getDefaultInstance() : clockOffset_;
      } else {
        return clockOffsetBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     */
    public Builder setClockOffset(com.google.protobuf.DoubleValue value) {
      if (clockOffsetBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        clockOffset_ = value;
      } else {
        clockOffsetBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00100000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     */
    public Builder setClockOffset(
        com.google.protobuf.DoubleValue.Builder builderForValue) {
      if (clockOffsetBuilder_ == null) {
        clockOffset_ = builderForValue.build();
      } else {
        clockOffsetBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00100000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     */
    public Builder mergeClockOffset(com.google.protobuf.DoubleValue value) {
      if (clockOffsetBuilder_ == null) {
        if (((bitField0_ & 0x00100000) != 0) &&
          clockOffset_ != null &&
          clockOffset_ != com.google.protobuf.DoubleValue.getDefaultInstance()) {
          getClockOffsetBuilder().mergeFrom(value);
        } else {
          clockOffset_ = value;
        }
      } else {
        clockOffsetBuilder_.mergeFrom(value);
      }
      if (clockOffset_ != null) {
        bitField0_ |= 0x00100000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     */
    public Builder clearClockOffset() {
      bitField0_ = (bitField0_ & ~0x00100000);
      clockOffset_ = null;
      if (clockOffsetBuilder_ != null) {
        clockOffsetBuilder_.dispose();
        clockOffsetBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     */
    public com.google.protobuf.DoubleValue.Builder getClockOffsetBuilder() {
      bitField0_ |= 0x00100000;
      onChanged();
      return getClockOffsetFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     */
    public com.google.protobuf.DoubleValueOrBuilder getClockOffsetOrBuilder() {
      if (clockOffsetBuilder_ != null) {
        return clockOffsetBuilder_.getMessageOrBuilder();
      } else {
        return clockOffset_ == null ?
            com.google.protobuf.DoubleValue.getDefaultInstance() : clockOffset_;
      }
    }
    /**
     * .google.protobuf.DoubleValue clockOffset = 15;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.DoubleValue, com.google.protobuf.DoubleValue.Builder, com.google.protobuf.DoubleValueOrBuilder> 
        getClockOffsetFieldBuilder() {
      if (clockOffsetBuilder_ == null) {
        clockOffsetBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.DoubleValue, com.google.protobuf.DoubleValue.Builder, com.google.protobuf.DoubleValueOrBuilder>(
                getClockOffset(),
                getParentForChildren(),
                isClean());
        clockOffset_ = null;
      }
      return clockOffsetBuilder_;
    }

    private com.google.protobuf.BoolValue usedInSolution_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> usedInSolutionBuilder_;
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     * @return Whether the usedInSolution field is set.
     */
    public boolean hasUsedInSolution() {
      return ((bitField0_ & 0x00200000) != 0);
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     * @return The usedInSolution.
     */
    public com.google.protobuf.BoolValue getUsedInSolution() {
      if (usedInSolutionBuilder_ == null) {
        return usedInSolution_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : usedInSolution_;
      } else {
        return usedInSolutionBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     */
    public Builder setUsedInSolution(com.google.protobuf.BoolValue value) {
      if (usedInSolutionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        usedInSolution_ = value;
      } else {
        usedInSolutionBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00200000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     */
    public Builder setUsedInSolution(
        com.google.protobuf.BoolValue.Builder builderForValue) {
      if (usedInSolutionBuilder_ == null) {
        usedInSolution_ = builderForValue.build();
      } else {
        usedInSolutionBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00200000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     */
    public Builder mergeUsedInSolution(com.google.protobuf.BoolValue value) {
      if (usedInSolutionBuilder_ == null) {
        if (((bitField0_ & 0x00200000) != 0) &&
          usedInSolution_ != null &&
          usedInSolution_ != com.google.protobuf.BoolValue.getDefaultInstance()) {
          getUsedInSolutionBuilder().mergeFrom(value);
        } else {
          usedInSolution_ = value;
        }
      } else {
        usedInSolutionBuilder_.mergeFrom(value);
      }
      if (usedInSolution_ != null) {
        bitField0_ |= 0x00200000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     */
    public Builder clearUsedInSolution() {
      bitField0_ = (bitField0_ & ~0x00200000);
      usedInSolution_ = null;
      if (usedInSolutionBuilder_ != null) {
        usedInSolutionBuilder_.dispose();
        usedInSolutionBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     */
    public com.google.protobuf.BoolValue.Builder getUsedInSolutionBuilder() {
      bitField0_ |= 0x00200000;
      onChanged();
      return getUsedInSolutionFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     */
    public com.google.protobuf.BoolValueOrBuilder getUsedInSolutionOrBuilder() {
      if (usedInSolutionBuilder_ != null) {
        return usedInSolutionBuilder_.getMessageOrBuilder();
      } else {
        return usedInSolution_ == null ?
            com.google.protobuf.BoolValue.getDefaultInstance() : usedInSolution_;
      }
    }
    /**
     * .google.protobuf.BoolValue usedInSolution = 16;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> 
        getUsedInSolutionFieldBuilder() {
      if (usedInSolutionBuilder_ == null) {
        usedInSolutionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
                getUsedInSolution(),
                getParentForChildren(),
                isClean());
        usedInSolution_ = null;
      }
      return usedInSolutionBuilder_;
    }

    private com.google.protobuf.FloatValue undulationM_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> undulationMBuilder_;
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     * @return Whether the undulationM field is set.
     */
    public boolean hasUndulationM() {
      return ((bitField0_ & 0x00400000) != 0);
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     * @return The undulationM.
     */
    public com.google.protobuf.FloatValue getUndulationM() {
      if (undulationMBuilder_ == null) {
        return undulationM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : undulationM_;
      } else {
        return undulationMBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     */
    public Builder setUndulationM(com.google.protobuf.FloatValue value) {
      if (undulationMBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        undulationM_ = value;
      } else {
        undulationMBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00400000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     */
    public Builder setUndulationM(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (undulationMBuilder_ == null) {
        undulationM_ = builderForValue.build();
      } else {
        undulationMBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00400000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     */
    public Builder mergeUndulationM(com.google.protobuf.FloatValue value) {
      if (undulationMBuilder_ == null) {
        if (((bitField0_ & 0x00400000) != 0) &&
          undulationM_ != null &&
          undulationM_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getUndulationMBuilder().mergeFrom(value);
        } else {
          undulationM_ = value;
        }
      } else {
        undulationMBuilder_.mergeFrom(value);
      }
      if (undulationM_ != null) {
        bitField0_ |= 0x00400000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     */
    public Builder clearUndulationM() {
      bitField0_ = (bitField0_ & ~0x00400000);
      undulationM_ = null;
      if (undulationMBuilder_ != null) {
        undulationMBuilder_.dispose();
        undulationMBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     */
    public com.google.protobuf.FloatValue.Builder getUndulationMBuilder() {
      bitField0_ |= 0x00400000;
      onChanged();
      return getUndulationMFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     */
    public com.google.protobuf.FloatValueOrBuilder getUndulationMOrBuilder() {
      if (undulationMBuilder_ != null) {
        return undulationMBuilder_.getMessageOrBuilder();
      } else {
        return undulationM_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : undulationM_;
      }
    }
    /**
     * .google.protobuf.FloatValue undulationM = 17;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getUndulationMFieldBuilder() {
      if (undulationMBuilder_ == null) {
        undulationMBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getUndulationM(),
                getParentForChildren(),
                isClean());
        undulationM_ = null;
      }
      return undulationMBuilder_;
    }

    private com.google.protobuf.FloatValue latitudeStdDevM_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> latitudeStdDevMBuilder_;
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     * @return Whether the latitudeStdDevM field is set.
     */
    public boolean hasLatitudeStdDevM() {
      return ((bitField0_ & 0x00800000) != 0);
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     * @return The latitudeStdDevM.
     */
    public com.google.protobuf.FloatValue getLatitudeStdDevM() {
      if (latitudeStdDevMBuilder_ == null) {
        return latitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : latitudeStdDevM_;
      } else {
        return latitudeStdDevMBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     */
    public Builder setLatitudeStdDevM(com.google.protobuf.FloatValue value) {
      if (latitudeStdDevMBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        latitudeStdDevM_ = value;
      } else {
        latitudeStdDevMBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00800000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     */
    public Builder setLatitudeStdDevM(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (latitudeStdDevMBuilder_ == null) {
        latitudeStdDevM_ = builderForValue.build();
      } else {
        latitudeStdDevMBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00800000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     */
    public Builder mergeLatitudeStdDevM(com.google.protobuf.FloatValue value) {
      if (latitudeStdDevMBuilder_ == null) {
        if (((bitField0_ & 0x00800000) != 0) &&
          latitudeStdDevM_ != null &&
          latitudeStdDevM_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getLatitudeStdDevMBuilder().mergeFrom(value);
        } else {
          latitudeStdDevM_ = value;
        }
      } else {
        latitudeStdDevMBuilder_.mergeFrom(value);
      }
      if (latitudeStdDevM_ != null) {
        bitField0_ |= 0x00800000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     */
    public Builder clearLatitudeStdDevM() {
      bitField0_ = (bitField0_ & ~0x00800000);
      latitudeStdDevM_ = null;
      if (latitudeStdDevMBuilder_ != null) {
        latitudeStdDevMBuilder_.dispose();
        latitudeStdDevMBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     */
    public com.google.protobuf.FloatValue.Builder getLatitudeStdDevMBuilder() {
      bitField0_ |= 0x00800000;
      onChanged();
      return getLatitudeStdDevMFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     */
    public com.google.protobuf.FloatValueOrBuilder getLatitudeStdDevMOrBuilder() {
      if (latitudeStdDevMBuilder_ != null) {
        return latitudeStdDevMBuilder_.getMessageOrBuilder();
      } else {
        return latitudeStdDevM_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : latitudeStdDevM_;
      }
    }
    /**
     * .google.protobuf.FloatValue latitudeStdDevM = 18;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getLatitudeStdDevMFieldBuilder() {
      if (latitudeStdDevMBuilder_ == null) {
        latitudeStdDevMBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getLatitudeStdDevM(),
                getParentForChildren(),
                isClean());
        latitudeStdDevM_ = null;
      }
      return latitudeStdDevMBuilder_;
    }

    private com.google.protobuf.FloatValue longitudeStdDevM_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> longitudeStdDevMBuilder_;
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     * @return Whether the longitudeStdDevM field is set.
     */
    public boolean hasLongitudeStdDevM() {
      return ((bitField0_ & 0x01000000) != 0);
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     * @return The longitudeStdDevM.
     */
    public com.google.protobuf.FloatValue getLongitudeStdDevM() {
      if (longitudeStdDevMBuilder_ == null) {
        return longitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : longitudeStdDevM_;
      } else {
        return longitudeStdDevMBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     */
    public Builder setLongitudeStdDevM(com.google.protobuf.FloatValue value) {
      if (longitudeStdDevMBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        longitudeStdDevM_ = value;
      } else {
        longitudeStdDevMBuilder_.setMessage(value);
      }
      bitField0_ |= 0x01000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     */
    public Builder setLongitudeStdDevM(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (longitudeStdDevMBuilder_ == null) {
        longitudeStdDevM_ = builderForValue.build();
      } else {
        longitudeStdDevMBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x01000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     */
    public Builder mergeLongitudeStdDevM(com.google.protobuf.FloatValue value) {
      if (longitudeStdDevMBuilder_ == null) {
        if (((bitField0_ & 0x01000000) != 0) &&
          longitudeStdDevM_ != null &&
          longitudeStdDevM_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getLongitudeStdDevMBuilder().mergeFrom(value);
        } else {
          longitudeStdDevM_ = value;
        }
      } else {
        longitudeStdDevMBuilder_.mergeFrom(value);
      }
      if (longitudeStdDevM_ != null) {
        bitField0_ |= 0x01000000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     */
    public Builder clearLongitudeStdDevM() {
      bitField0_ = (bitField0_ & ~0x01000000);
      longitudeStdDevM_ = null;
      if (longitudeStdDevMBuilder_ != null) {
        longitudeStdDevMBuilder_.dispose();
        longitudeStdDevMBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     */
    public com.google.protobuf.FloatValue.Builder getLongitudeStdDevMBuilder() {
      bitField0_ |= 0x01000000;
      onChanged();
      return getLongitudeStdDevMFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     */
    public com.google.protobuf.FloatValueOrBuilder getLongitudeStdDevMOrBuilder() {
      if (longitudeStdDevMBuilder_ != null) {
        return longitudeStdDevMBuilder_.getMessageOrBuilder();
      } else {
        return longitudeStdDevM_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : longitudeStdDevM_;
      }
    }
    /**
     * .google.protobuf.FloatValue longitudeStdDevM = 19;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getLongitudeStdDevMFieldBuilder() {
      if (longitudeStdDevMBuilder_ == null) {
        longitudeStdDevMBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getLongitudeStdDevM(),
                getParentForChildren(),
                isClean());
        longitudeStdDevM_ = null;
      }
      return longitudeStdDevMBuilder_;
    }

    private com.google.protobuf.FloatValue altitudeStdDevM_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> altitudeStdDevMBuilder_;
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     * @return Whether the altitudeStdDevM field is set.
     */
    public boolean hasAltitudeStdDevM() {
      return ((bitField0_ & 0x02000000) != 0);
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     * @return The altitudeStdDevM.
     */
    public com.google.protobuf.FloatValue getAltitudeStdDevM() {
      if (altitudeStdDevMBuilder_ == null) {
        return altitudeStdDevM_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : altitudeStdDevM_;
      } else {
        return altitudeStdDevMBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     */
    public Builder setAltitudeStdDevM(com.google.protobuf.FloatValue value) {
      if (altitudeStdDevMBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        altitudeStdDevM_ = value;
      } else {
        altitudeStdDevMBuilder_.setMessage(value);
      }
      bitField0_ |= 0x02000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     */
    public Builder setAltitudeStdDevM(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (altitudeStdDevMBuilder_ == null) {
        altitudeStdDevM_ = builderForValue.build();
      } else {
        altitudeStdDevMBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x02000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     */
    public Builder mergeAltitudeStdDevM(com.google.protobuf.FloatValue value) {
      if (altitudeStdDevMBuilder_ == null) {
        if (((bitField0_ & 0x02000000) != 0) &&
          altitudeStdDevM_ != null &&
          altitudeStdDevM_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getAltitudeStdDevMBuilder().mergeFrom(value);
        } else {
          altitudeStdDevM_ = value;
        }
      } else {
        altitudeStdDevMBuilder_.mergeFrom(value);
      }
      if (altitudeStdDevM_ != null) {
        bitField0_ |= 0x02000000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     */
    public Builder clearAltitudeStdDevM() {
      bitField0_ = (bitField0_ & ~0x02000000);
      altitudeStdDevM_ = null;
      if (altitudeStdDevMBuilder_ != null) {
        altitudeStdDevMBuilder_.dispose();
        altitudeStdDevMBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     */
    public com.google.protobuf.FloatValue.Builder getAltitudeStdDevMBuilder() {
      bitField0_ |= 0x02000000;
      onChanged();
      return getAltitudeStdDevMFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     */
    public com.google.protobuf.FloatValueOrBuilder getAltitudeStdDevMOrBuilder() {
      if (altitudeStdDevMBuilder_ != null) {
        return altitudeStdDevMBuilder_.getMessageOrBuilder();
      } else {
        return altitudeStdDevM_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : altitudeStdDevM_;
      }
    }
    /**
     * .google.protobuf.FloatValue altitudeStdDevM = 20;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getAltitudeStdDevMFieldBuilder() {
      if (altitudeStdDevMBuilder_ == null) {
        altitudeStdDevMBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getAltitudeStdDevM(),
                getParentForChildren(),
                isClean());
        altitudeStdDevM_ = null;
      }
      return altitudeStdDevMBuilder_;
    }

    private com.google.protobuf.FloatValue agcDb_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> agcDbBuilder_;
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     * @return Whether the agcDb field is set.
     */
    public boolean hasAgcDb() {
      return ((bitField0_ & 0x04000000) != 0);
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     * @return The agcDb.
     */
    public com.google.protobuf.FloatValue getAgcDb() {
      if (agcDbBuilder_ == null) {
        return agcDb_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : agcDb_;
      } else {
        return agcDbBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     */
    public Builder setAgcDb(com.google.protobuf.FloatValue value) {
      if (agcDbBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        agcDb_ = value;
      } else {
        agcDbBuilder_.setMessage(value);
      }
      bitField0_ |= 0x04000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     */
    public Builder setAgcDb(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (agcDbBuilder_ == null) {
        agcDb_ = builderForValue.build();
      } else {
        agcDbBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x04000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     */
    public Builder mergeAgcDb(com.google.protobuf.FloatValue value) {
      if (agcDbBuilder_ == null) {
        if (((bitField0_ & 0x04000000) != 0) &&
          agcDb_ != null &&
          agcDb_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getAgcDbBuilder().mergeFrom(value);
        } else {
          agcDb_ = value;
        }
      } else {
        agcDbBuilder_.mergeFrom(value);
      }
      if (agcDb_ != null) {
        bitField0_ |= 0x04000000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     */
    public Builder clearAgcDb() {
      bitField0_ = (bitField0_ & ~0x04000000);
      agcDb_ = null;
      if (agcDbBuilder_ != null) {
        agcDbBuilder_.dispose();
        agcDbBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     */
    public com.google.protobuf.FloatValue.Builder getAgcDbBuilder() {
      bitField0_ |= 0x04000000;
      onChanged();
      return getAgcDbFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     */
    public com.google.protobuf.FloatValueOrBuilder getAgcDbOrBuilder() {
      if (agcDbBuilder_ != null) {
        return agcDbBuilder_.getMessageOrBuilder();
      } else {
        return agcDb_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : agcDb_;
      }
    }
    /**
     * .google.protobuf.FloatValue agcDb = 21;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getAgcDbFieldBuilder() {
      if (agcDbBuilder_ == null) {
        agcDbBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getAgcDb(),
                getParentForChildren(),
                isClean());
        agcDb_ = null;
      }
      return agcDbBuilder_;
    }

    private com.google.protobuf.FloatValue cn0DbHz_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> cn0DbHzBuilder_;
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     * @return Whether the cn0DbHz field is set.
     */
    public boolean hasCn0DbHz() {
      return ((bitField0_ & 0x08000000) != 0);
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     * @return The cn0DbHz.
     */
    public com.google.protobuf.FloatValue getCn0DbHz() {
      if (cn0DbHzBuilder_ == null) {
        return cn0DbHz_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : cn0DbHz_;
      } else {
        return cn0DbHzBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     */
    public Builder setCn0DbHz(com.google.protobuf.FloatValue value) {
      if (cn0DbHzBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        cn0DbHz_ = value;
      } else {
        cn0DbHzBuilder_.setMessage(value);
      }
      bitField0_ |= 0x08000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     */
    public Builder setCn0DbHz(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (cn0DbHzBuilder_ == null) {
        cn0DbHz_ = builderForValue.build();
      } else {
        cn0DbHzBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x08000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     */
    public Builder mergeCn0DbHz(com.google.protobuf.FloatValue value) {
      if (cn0DbHzBuilder_ == null) {
        if (((bitField0_ & 0x08000000) != 0) &&
          cn0DbHz_ != null &&
          cn0DbHz_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getCn0DbHzBuilder().mergeFrom(value);
        } else {
          cn0DbHz_ = value;
        }
      } else {
        cn0DbHzBuilder_.mergeFrom(value);
      }
      if (cn0DbHz_ != null) {
        bitField0_ |= 0x08000000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     */
    public Builder clearCn0DbHz() {
      bitField0_ = (bitField0_ & ~0x08000000);
      cn0DbHz_ = null;
      if (cn0DbHzBuilder_ != null) {
        cn0DbHzBuilder_.dispose();
        cn0DbHzBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     */
    public com.google.protobuf.FloatValue.Builder getCn0DbHzBuilder() {
      bitField0_ |= 0x08000000;
      onChanged();
      return getCn0DbHzFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     */
    public com.google.protobuf.FloatValueOrBuilder getCn0DbHzOrBuilder() {
      if (cn0DbHzBuilder_ != null) {
        return cn0DbHzBuilder_.getMessageOrBuilder();
      } else {
        return cn0DbHz_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : cn0DbHz_;
      }
    }
    /**
     * .google.protobuf.FloatValue cn0DbHz = 22;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getCn0DbHzFieldBuilder() {
      if (cn0DbHzBuilder_ == null) {
        cn0DbHzBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getCn0DbHz(),
                getParentForChildren(),
                isClean());
        cn0DbHz_ = null;
      }
      return cn0DbHzBuilder_;
    }

    private com.google.protobuf.FloatValue hdop_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> hdopBuilder_;
    /**
     * .google.protobuf.FloatValue hdop = 23;
     * @return Whether the hdop field is set.
     */
    public boolean hasHdop() {
      return ((bitField0_ & 0x10000000) != 0);
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     * @return The hdop.
     */
    public com.google.protobuf.FloatValue getHdop() {
      if (hdopBuilder_ == null) {
        return hdop_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : hdop_;
      } else {
        return hdopBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     */
    public Builder setHdop(com.google.protobuf.FloatValue value) {
      if (hdopBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        hdop_ = value;
      } else {
        hdopBuilder_.setMessage(value);
      }
      bitField0_ |= 0x10000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     */
    public Builder setHdop(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (hdopBuilder_ == null) {
        hdop_ = builderForValue.build();
      } else {
        hdopBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x10000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     */
    public Builder mergeHdop(com.google.protobuf.FloatValue value) {
      if (hdopBuilder_ == null) {
        if (((bitField0_ & 0x10000000) != 0) &&
          hdop_ != null &&
          hdop_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getHdopBuilder().mergeFrom(value);
        } else {
          hdop_ = value;
        }
      } else {
        hdopBuilder_.mergeFrom(value);
      }
      if (hdop_ != null) {
        bitField0_ |= 0x10000000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     */
    public Builder clearHdop() {
      bitField0_ = (bitField0_ & ~0x10000000);
      hdop_ = null;
      if (hdopBuilder_ != null) {
        hdopBuilder_.dispose();
        hdopBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     */
    public com.google.protobuf.FloatValue.Builder getHdopBuilder() {
      bitField0_ |= 0x10000000;
      onChanged();
      return getHdopFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     */
    public com.google.protobuf.FloatValueOrBuilder getHdopOrBuilder() {
      if (hdopBuilder_ != null) {
        return hdopBuilder_.getMessageOrBuilder();
      } else {
        return hdop_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : hdop_;
      }
    }
    /**
     * .google.protobuf.FloatValue hdop = 23;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getHdopFieldBuilder() {
      if (hdopBuilder_ == null) {
        hdopBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getHdop(),
                getParentForChildren(),
                isClean());
        hdop_ = null;
      }
      return hdopBuilder_;
    }

    private com.google.protobuf.FloatValue vdop_;
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> vdopBuilder_;
    /**
     * .google.protobuf.FloatValue vdop = 24;
     * @return Whether the vdop field is set.
     */
    public boolean hasVdop() {
      return ((bitField0_ & 0x20000000) != 0);
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     * @return The vdop.
     */
    public com.google.protobuf.FloatValue getVdop() {
      if (vdopBuilder_ == null) {
        return vdop_ == null ? com.google.protobuf.FloatValue.getDefaultInstance() : vdop_;
      } else {
        return vdopBuilder_.getMessage();
      }
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     */
    public Builder setVdop(com.google.protobuf.FloatValue value) {
      if (vdopBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        vdop_ = value;
      } else {
        vdopBuilder_.setMessage(value);
      }
      bitField0_ |= 0x20000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     */
    public Builder setVdop(
        com.google.protobuf.FloatValue.Builder builderForValue) {
      if (vdopBuilder_ == null) {
        vdop_ = builderForValue.build();
      } else {
        vdopBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x20000000;
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     */
    public Builder mergeVdop(com.google.protobuf.FloatValue value) {
      if (vdopBuilder_ == null) {
        if (((bitField0_ & 0x20000000) != 0) &&
          vdop_ != null &&
          vdop_ != com.google.protobuf.FloatValue.getDefaultInstance()) {
          getVdopBuilder().mergeFrom(value);
        } else {
          vdop_ = value;
        }
      } else {
        vdopBuilder_.mergeFrom(value);
      }
      if (vdop_ != null) {
        bitField0_ |= 0x20000000;
        onChanged();
      }
      return this;
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     */
    public Builder clearVdop() {
      bitField0_ = (bitField0_ & ~0x20000000);
      vdop_ = null;
      if (vdopBuilder_ != null) {
        vdopBuilder_.dispose();
        vdopBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     */
    public com.google.protobuf.FloatValue.Builder getVdopBuilder() {
      bitField0_ |= 0x20000000;
      onChanged();
      return getVdopFieldBuilder().getBuilder();
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     */
    public com.google.protobuf.FloatValueOrBuilder getVdopOrBuilder() {
      if (vdopBuilder_ != null) {
        return vdopBuilder_.getMessageOrBuilder();
      } else {
        return vdop_ == null ?
            com.google.protobuf.FloatValue.getDefaultInstance() : vdop_;
      }
    }
    /**
     * .google.protobuf.FloatValue vdop = 24;
     */
    private com.google.protobuf.SingleFieldBuilder<
        com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder> 
        getVdopFieldBuilder() {
      if (vdopBuilder_ == null) {
        vdopBuilder_ = new com.google.protobuf.SingleFieldBuilder<
            com.google.protobuf.FloatValue, com.google.protobuf.FloatValue.Builder, com.google.protobuf.FloatValueOrBuilder>(
                getVdop(),
                getParentForChildren(),
                isClean());
        vdop_ = null;
      }
      return vdopBuilder_;
    }

    // @@protoc_insertion_point(builder_scope:com.craxiom.messaging.GnssRecordData)
  }

  // @@protoc_insertion_point(class_scope:com.craxiom.messaging.GnssRecordData)
  private static final com.craxiom.messaging.GnssRecordData DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.craxiom.messaging.GnssRecordData();
  }

  public static com.craxiom.messaging.GnssRecordData getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public GnssRecordData parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      Builder builder = newBuilder();
      try {
        builder.mergeFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(builder.buildPartial());
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(e)
            .setUnfinishedMessage(builder.buildPartial());
      }
      return builder.buildPartial();
    }
  };

  public static com.google.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public com.craxiom.messaging.GnssRecordData getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy