// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: igpsport/sensor.proto

package nodomain.freeyourgadget.gadgetbridge.proto.igpsport;

public final class Sensor {
  private Sensor() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }
  /**
   * Protobuf enum {@code SENSOR_OPERATE_TYPE}
   */
  public enum SENSOR_OPERATE_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_NONE = 0;</code>
     */
    enum_SENSOR_OPERATE_TYPE_NONE(0),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_GET = 1;</code>
     */
    enum_SENSOR_OPERATE_TYPE_GET(1),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_SET = 2;</code>
     */
    enum_SENSOR_OPERATE_TYPE_SET(2),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_DEL = 3;</code>
     */
    enum_SENSOR_OPERATE_TYPE_DEL(3),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_CONNECT = 4;</code>
     */
    enum_SENSOR_OPERATE_TYPE_CONNECT(4),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_SEND = 5;</code>
     */
    enum_SENSOR_OPERATE_TYPE_SEND(5),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_EXIT = 6;</code>
     */
    enum_SENSOR_OPERATE_TYPE_EXIT(6),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_POW_CALIB = 7;</code>
     */
    enum_SENSOR_OPERATE_TYPE_POW_CALIB(7),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_SYNC = 8;</code>
     */
    enum_SENSOR_OPERATE_TYPE_SYNC(8),
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_QUERY = 9;</code>
     */
    enum_SENSOR_OPERATE_TYPE_QUERY(9),
    ;

    /**
     * <code>enum_SENSOR_OPERATE_TYPE_NONE = 0;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_NONE_VALUE = 0;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_GET = 1;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_GET_VALUE = 1;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_SET = 2;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_SET_VALUE = 2;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_DEL = 3;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_DEL_VALUE = 3;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_CONNECT = 4;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_CONNECT_VALUE = 4;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_SEND = 5;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_SEND_VALUE = 5;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_EXIT = 6;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_EXIT_VALUE = 6;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_POW_CALIB = 7;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_POW_CALIB_VALUE = 7;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_SYNC = 8;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_SYNC_VALUE = 8;
    /**
     * <code>enum_SENSOR_OPERATE_TYPE_QUERY = 9;</code>
     */
    public static final int enum_SENSOR_OPERATE_TYPE_QUERY_VALUE = 9;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static SENSOR_OPERATE_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static SENSOR_OPERATE_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_SENSOR_OPERATE_TYPE_NONE;
        case 1: return enum_SENSOR_OPERATE_TYPE_GET;
        case 2: return enum_SENSOR_OPERATE_TYPE_SET;
        case 3: return enum_SENSOR_OPERATE_TYPE_DEL;
        case 4: return enum_SENSOR_OPERATE_TYPE_CONNECT;
        case 5: return enum_SENSOR_OPERATE_TYPE_SEND;
        case 6: return enum_SENSOR_OPERATE_TYPE_EXIT;
        case 7: return enum_SENSOR_OPERATE_TYPE_POW_CALIB;
        case 8: return enum_SENSOR_OPERATE_TYPE_SYNC;
        case 9: return enum_SENSOR_OPERATE_TYPE_QUERY;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<SENSOR_OPERATE_TYPE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        SENSOR_OPERATE_TYPE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<SENSOR_OPERATE_TYPE>() {
            @java.lang.Override
            public SENSOR_OPERATE_TYPE findValueByNumber(int number) {
              return SENSOR_OPERATE_TYPE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return SENSOR_OPERATE_TYPEVerifier.INSTANCE;
    }

    private static final class SENSOR_OPERATE_TYPEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new SENSOR_OPERATE_TYPEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return SENSOR_OPERATE_TYPE.forNumber(number) != null;
            }
          };

    private final int value;

    private SENSOR_OPERATE_TYPE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:SENSOR_OPERATE_TYPE)
  }

  /**
   * Protobuf enum {@code SENSOR_TYPE}
   */
  public enum SENSOR_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_SENSOR_TYPE_INVALID = 0;</code>
     */
    enum_SENSOR_TYPE_INVALID(0),
    /**
     * <code>enum_SENSOR_TYPE_HRM = 1;</code>
     */
    enum_SENSOR_TYPE_HRM(1),
    /**
     * <code>enum_SENSOR_TYPE_CBSC = 2;</code>
     */
    enum_SENSOR_TYPE_CBSC(2),
    /**
     * <code>enum_SENSOR_TYPE_PEDAL_BPWR = 3;</code>
     */
    enum_SENSOR_TYPE_PEDAL_BPWR(3),
    /**
     * <code>enum_SENSOR_TYPE_OTHER_BPWR = 4;</code>
     */
    enum_SENSOR_TYPE_OTHER_BPWR(4),
    /**
     * <code>enum_SENSOR_TYPE_CAD = 5;</code>
     */
    enum_SENSOR_TYPE_CAD(5),
    /**
     * <code>enum_SENSOR_TYPE_SPD = 6;</code>
     */
    enum_SENSOR_TYPE_SPD(6),
    /**
     * <code>enum_SENSOR_TYPE_SHFT = 7;</code>
     */
    enum_SENSOR_TYPE_SHFT(7),
    /**
     * <code>enum_SENSOR_TYPE_DI2 = 8;</code>
     */
    enum_SENSOR_TYPE_DI2(8),
    /**
     * <code>enum_SENSOR_TYPE_FEC = 9;</code>
     */
    enum_SENSOR_TYPE_FEC(9),
    /**
     * <code>enum_SENSOR_TYPE_LEV = 10;</code>
     */
    enum_SENSOR_TYPE_LEV(10),
    /**
     * <code>enum_SENSOR_TYPE_RD = 11;</code>
     */
    enum_SENSOR_TYPE_RD(11),
    /**
     * <code>enum_SENSOR_TYPE_RADAR = 12;</code>
     */
    enum_SENSOR_TYPE_RADAR(12),
    /**
     * <code>enum_SENSOR_TYPE_LIGHT = 13;</code>
     */
    enum_SENSOR_TYPE_LIGHT(13),
    ;

    /**
     * <code>enum_SENSOR_TYPE_INVALID = 0;</code>
     */
    public static final int enum_SENSOR_TYPE_INVALID_VALUE = 0;
    /**
     * <code>enum_SENSOR_TYPE_HRM = 1;</code>
     */
    public static final int enum_SENSOR_TYPE_HRM_VALUE = 1;
    /**
     * <code>enum_SENSOR_TYPE_CBSC = 2;</code>
     */
    public static final int enum_SENSOR_TYPE_CBSC_VALUE = 2;
    /**
     * <code>enum_SENSOR_TYPE_PEDAL_BPWR = 3;</code>
     */
    public static final int enum_SENSOR_TYPE_PEDAL_BPWR_VALUE = 3;
    /**
     * <code>enum_SENSOR_TYPE_OTHER_BPWR = 4;</code>
     */
    public static final int enum_SENSOR_TYPE_OTHER_BPWR_VALUE = 4;
    /**
     * <code>enum_SENSOR_TYPE_CAD = 5;</code>
     */
    public static final int enum_SENSOR_TYPE_CAD_VALUE = 5;
    /**
     * <code>enum_SENSOR_TYPE_SPD = 6;</code>
     */
    public static final int enum_SENSOR_TYPE_SPD_VALUE = 6;
    /**
     * <code>enum_SENSOR_TYPE_SHFT = 7;</code>
     */
    public static final int enum_SENSOR_TYPE_SHFT_VALUE = 7;
    /**
     * <code>enum_SENSOR_TYPE_DI2 = 8;</code>
     */
    public static final int enum_SENSOR_TYPE_DI2_VALUE = 8;
    /**
     * <code>enum_SENSOR_TYPE_FEC = 9;</code>
     */
    public static final int enum_SENSOR_TYPE_FEC_VALUE = 9;
    /**
     * <code>enum_SENSOR_TYPE_LEV = 10;</code>
     */
    public static final int enum_SENSOR_TYPE_LEV_VALUE = 10;
    /**
     * <code>enum_SENSOR_TYPE_RD = 11;</code>
     */
    public static final int enum_SENSOR_TYPE_RD_VALUE = 11;
    /**
     * <code>enum_SENSOR_TYPE_RADAR = 12;</code>
     */
    public static final int enum_SENSOR_TYPE_RADAR_VALUE = 12;
    /**
     * <code>enum_SENSOR_TYPE_LIGHT = 13;</code>
     */
    public static final int enum_SENSOR_TYPE_LIGHT_VALUE = 13;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static SENSOR_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static SENSOR_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_SENSOR_TYPE_INVALID;
        case 1: return enum_SENSOR_TYPE_HRM;
        case 2: return enum_SENSOR_TYPE_CBSC;
        case 3: return enum_SENSOR_TYPE_PEDAL_BPWR;
        case 4: return enum_SENSOR_TYPE_OTHER_BPWR;
        case 5: return enum_SENSOR_TYPE_CAD;
        case 6: return enum_SENSOR_TYPE_SPD;
        case 7: return enum_SENSOR_TYPE_SHFT;
        case 8: return enum_SENSOR_TYPE_DI2;
        case 9: return enum_SENSOR_TYPE_FEC;
        case 10: return enum_SENSOR_TYPE_LEV;
        case 11: return enum_SENSOR_TYPE_RD;
        case 12: return enum_SENSOR_TYPE_RADAR;
        case 13: return enum_SENSOR_TYPE_LIGHT;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<SENSOR_TYPE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        SENSOR_TYPE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<SENSOR_TYPE>() {
            @java.lang.Override
            public SENSOR_TYPE findValueByNumber(int number) {
              return SENSOR_TYPE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return SENSOR_TYPEVerifier.INSTANCE;
    }

    private static final class SENSOR_TYPEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new SENSOR_TYPEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return SENSOR_TYPE.forNumber(number) != null;
            }
          };

    private final int value;

    private SENSOR_TYPE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:SENSOR_TYPE)
  }

  /**
   * Protobuf enum {@code SENSOR_RADIO_TYPE}
   */
  public enum SENSOR_RADIO_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_SENSOR_RADIO_TYPE_INVALID = 0;</code>
     */
    enum_SENSOR_RADIO_TYPE_INVALID(0),
    /**
     * <code>enum_SENSOR_RADIO_TYPE_BLE = 1;</code>
     */
    enum_SENSOR_RADIO_TYPE_BLE(1),
    /**
     * <code>enum_SENSOR_RADIO_TYPE_ANT = 2;</code>
     */
    enum_SENSOR_RADIO_TYPE_ANT(2),
    ;

    /**
     * <code>enum_SENSOR_RADIO_TYPE_INVALID = 0;</code>
     */
    public static final int enum_SENSOR_RADIO_TYPE_INVALID_VALUE = 0;
    /**
     * <code>enum_SENSOR_RADIO_TYPE_BLE = 1;</code>
     */
    public static final int enum_SENSOR_RADIO_TYPE_BLE_VALUE = 1;
    /**
     * <code>enum_SENSOR_RADIO_TYPE_ANT = 2;</code>
     */
    public static final int enum_SENSOR_RADIO_TYPE_ANT_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static SENSOR_RADIO_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static SENSOR_RADIO_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_SENSOR_RADIO_TYPE_INVALID;
        case 1: return enum_SENSOR_RADIO_TYPE_BLE;
        case 2: return enum_SENSOR_RADIO_TYPE_ANT;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<SENSOR_RADIO_TYPE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        SENSOR_RADIO_TYPE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<SENSOR_RADIO_TYPE>() {
            @java.lang.Override
            public SENSOR_RADIO_TYPE findValueByNumber(int number) {
              return SENSOR_RADIO_TYPE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return SENSOR_RADIO_TYPEVerifier.INSTANCE;
    }

    private static final class SENSOR_RADIO_TYPEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new SENSOR_RADIO_TYPEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return SENSOR_RADIO_TYPE.forNumber(number) != null;
            }
          };

    private final int value;

    private SENSOR_RADIO_TYPE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:SENSOR_RADIO_TYPE)
  }

  /**
   * Protobuf enum {@code SENSOR_STATUS_TYPE}
   */
  public enum SENSOR_STATUS_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_SENSOR_STATUS_TYPE_SAVED = 0;</code>
     */
    enum_SENSOR_STATUS_TYPE_SAVED(0),
    /**
     * <code>enum_SENSOR_STATUS_TYPE_CONNECTED = 1;</code>
     */
    enum_SENSOR_STATUS_TYPE_CONNECTED(1),
    /**
     * <code>enum_SENSOR_STATUS_TYPE_NO_SAVED = 2;</code>
     */
    enum_SENSOR_STATUS_TYPE_NO_SAVED(2),
    ;

    /**
     * <code>enum_SENSOR_STATUS_TYPE_SAVED = 0;</code>
     */
    public static final int enum_SENSOR_STATUS_TYPE_SAVED_VALUE = 0;
    /**
     * <code>enum_SENSOR_STATUS_TYPE_CONNECTED = 1;</code>
     */
    public static final int enum_SENSOR_STATUS_TYPE_CONNECTED_VALUE = 1;
    /**
     * <code>enum_SENSOR_STATUS_TYPE_NO_SAVED = 2;</code>
     */
    public static final int enum_SENSOR_STATUS_TYPE_NO_SAVED_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static SENSOR_STATUS_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static SENSOR_STATUS_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_SENSOR_STATUS_TYPE_SAVED;
        case 1: return enum_SENSOR_STATUS_TYPE_CONNECTED;
        case 2: return enum_SENSOR_STATUS_TYPE_NO_SAVED;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<SENSOR_STATUS_TYPE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        SENSOR_STATUS_TYPE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<SENSOR_STATUS_TYPE>() {
            @java.lang.Override
            public SENSOR_STATUS_TYPE findValueByNumber(int number) {
              return SENSOR_STATUS_TYPE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return SENSOR_STATUS_TYPEVerifier.INSTANCE;
    }

    private static final class SENSOR_STATUS_TYPEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new SENSOR_STATUS_TYPEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return SENSOR_STATUS_TYPE.forNumber(number) != null;
            }
          };

    private final int value;

    private SENSOR_STATUS_TYPE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:SENSOR_STATUS_TYPE)
  }

  /**
   * Protobuf enum {@code DI2_CHN_NUM}
   */
  public enum DI2_CHN_NUM
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_DI2_CHN_NUM_0 = 0;</code>
     */
    enum_DI2_CHN_NUM_0(0),
    /**
     * <code>enum_DI2_CHN_NUM_1 = 1;</code>
     */
    enum_DI2_CHN_NUM_1(1),
    /**
     * <code>enum_DI2_CHN_NUM_2 = 2;</code>
     */
    enum_DI2_CHN_NUM_2(2),
    /**
     * <code>enum_DI2_CHN_NUM_3 = 3;</code>
     */
    enum_DI2_CHN_NUM_3(3),
    ;

    /**
     * <code>enum_DI2_CHN_NUM_0 = 0;</code>
     */
    public static final int enum_DI2_CHN_NUM_0_VALUE = 0;
    /**
     * <code>enum_DI2_CHN_NUM_1 = 1;</code>
     */
    public static final int enum_DI2_CHN_NUM_1_VALUE = 1;
    /**
     * <code>enum_DI2_CHN_NUM_2 = 2;</code>
     */
    public static final int enum_DI2_CHN_NUM_2_VALUE = 2;
    /**
     * <code>enum_DI2_CHN_NUM_3 = 3;</code>
     */
    public static final int enum_DI2_CHN_NUM_3_VALUE = 3;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static DI2_CHN_NUM valueOf(int value) {
      return forNumber(value);
    }

    public static DI2_CHN_NUM forNumber(int value) {
      switch (value) {
        case 0: return enum_DI2_CHN_NUM_0;
        case 1: return enum_DI2_CHN_NUM_1;
        case 2: return enum_DI2_CHN_NUM_2;
        case 3: return enum_DI2_CHN_NUM_3;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<DI2_CHN_NUM>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        DI2_CHN_NUM> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<DI2_CHN_NUM>() {
            @java.lang.Override
            public DI2_CHN_NUM findValueByNumber(int number) {
              return DI2_CHN_NUM.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return DI2_CHN_NUMVerifier.INSTANCE;
    }

    private static final class DI2_CHN_NUMVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new DI2_CHN_NUMVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return DI2_CHN_NUM.forNumber(number) != null;
            }
          };

    private final int value;

    private DI2_CHN_NUM(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:DI2_CHN_NUM)
  }

  /**
   * Protobuf enum {@code DI2_BUTTON_OP_TYPE}
   */
  public enum DI2_BUTTON_OP_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_DI2_BUTTON_OP_TYPE_LONG = 0;</code>
     */
    enum_DI2_BUTTON_OP_TYPE_LONG(0),
    /**
     * <code>enum_DI2_BUTTON_OP_TYPE_SINGLE = 1;</code>
     */
    enum_DI2_BUTTON_OP_TYPE_SINGLE(1),
    /**
     * <code>enum_DI2_BUTTON_OP_TYPE_DOUBLE = 2;</code>
     */
    enum_DI2_BUTTON_OP_TYPE_DOUBLE(2),
    ;

    /**
     * <code>enum_DI2_BUTTON_OP_TYPE_LONG = 0;</code>
     */
    public static final int enum_DI2_BUTTON_OP_TYPE_LONG_VALUE = 0;
    /**
     * <code>enum_DI2_BUTTON_OP_TYPE_SINGLE = 1;</code>
     */
    public static final int enum_DI2_BUTTON_OP_TYPE_SINGLE_VALUE = 1;
    /**
     * <code>enum_DI2_BUTTON_OP_TYPE_DOUBLE = 2;</code>
     */
    public static final int enum_DI2_BUTTON_OP_TYPE_DOUBLE_VALUE = 2;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static DI2_BUTTON_OP_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static DI2_BUTTON_OP_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_DI2_BUTTON_OP_TYPE_LONG;
        case 1: return enum_DI2_BUTTON_OP_TYPE_SINGLE;
        case 2: return enum_DI2_BUTTON_OP_TYPE_DOUBLE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<DI2_BUTTON_OP_TYPE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        DI2_BUTTON_OP_TYPE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<DI2_BUTTON_OP_TYPE>() {
            @java.lang.Override
            public DI2_BUTTON_OP_TYPE findValueByNumber(int number) {
              return DI2_BUTTON_OP_TYPE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return DI2_BUTTON_OP_TYPEVerifier.INSTANCE;
    }

    private static final class DI2_BUTTON_OP_TYPEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new DI2_BUTTON_OP_TYPEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return DI2_BUTTON_OP_TYPE.forNumber(number) != null;
            }
          };

    private final int value;

    private DI2_BUTTON_OP_TYPE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:DI2_BUTTON_OP_TYPE)
  }

  /**
   * Protobuf enum {@code DI2_FUNC_TYPE}
   */
  public enum DI2_FUNC_TYPE
      implements com.google.protobuf.Internal.EnumLite {
    /**
     * <code>enum_DI2_FUNC_INVALID = 0;</code>
     */
    enum_DI2_FUNC_INVALID(0),
    /**
     * <code>enum_DI2_FUNC_PAGE_UP = 1;</code>
     */
    enum_DI2_FUNC_PAGE_UP(1),
    /**
     * <code>enum_DI2_FUNC_PAGE_DOWN = 2;</code>
     */
    enum_DI2_FUNC_PAGE_DOWN(2),
    /**
     * <code>enum_DI2_FUNC_LAP = 3;</code>
     */
    enum_DI2_FUNC_LAP(3),
    /**
     * <code>enum_DI2_FUNC_START_PAUSE = 4;</code>
     */
    enum_DI2_FUNC_START_PAUSE(4),
    /**
     * <code>enum_DI2_FUNC_UNDEFINE = 15;</code>
     */
    enum_DI2_FUNC_UNDEFINE(15),
    ;

    /**
     * <code>enum_DI2_FUNC_INVALID = 0;</code>
     */
    public static final int enum_DI2_FUNC_INVALID_VALUE = 0;
    /**
     * <code>enum_DI2_FUNC_PAGE_UP = 1;</code>
     */
    public static final int enum_DI2_FUNC_PAGE_UP_VALUE = 1;
    /**
     * <code>enum_DI2_FUNC_PAGE_DOWN = 2;</code>
     */
    public static final int enum_DI2_FUNC_PAGE_DOWN_VALUE = 2;
    /**
     * <code>enum_DI2_FUNC_LAP = 3;</code>
     */
    public static final int enum_DI2_FUNC_LAP_VALUE = 3;
    /**
     * <code>enum_DI2_FUNC_START_PAUSE = 4;</code>
     */
    public static final int enum_DI2_FUNC_START_PAUSE_VALUE = 4;
    /**
     * <code>enum_DI2_FUNC_UNDEFINE = 15;</code>
     */
    public static final int enum_DI2_FUNC_UNDEFINE_VALUE = 15;


    @java.lang.Override
    public final int getNumber() {
      return value;
    }

    /**
     * @param value The number of the enum to look for.
     * @return The enum associated with the given number.
     * @deprecated Use {@link #forNumber(int)} instead.
     */
    @java.lang.Deprecated
    public static DI2_FUNC_TYPE valueOf(int value) {
      return forNumber(value);
    }

    public static DI2_FUNC_TYPE forNumber(int value) {
      switch (value) {
        case 0: return enum_DI2_FUNC_INVALID;
        case 1: return enum_DI2_FUNC_PAGE_UP;
        case 2: return enum_DI2_FUNC_PAGE_DOWN;
        case 3: return enum_DI2_FUNC_LAP;
        case 4: return enum_DI2_FUNC_START_PAUSE;
        case 15: return enum_DI2_FUNC_UNDEFINE;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<DI2_FUNC_TYPE>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static final com.google.protobuf.Internal.EnumLiteMap<
        DI2_FUNC_TYPE> internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<DI2_FUNC_TYPE>() {
            @java.lang.Override
            public DI2_FUNC_TYPE findValueByNumber(int number) {
              return DI2_FUNC_TYPE.forNumber(number);
            }
          };

    public static com.google.protobuf.Internal.EnumVerifier 
        internalGetVerifier() {
      return DI2_FUNC_TYPEVerifier.INSTANCE;
    }

    private static final class DI2_FUNC_TYPEVerifier implements 
         com.google.protobuf.Internal.EnumVerifier { 
            static final com.google.protobuf.Internal.EnumVerifier           INSTANCE = new DI2_FUNC_TYPEVerifier();
            @java.lang.Override
            public boolean isInRange(int number) {
              return DI2_FUNC_TYPE.forNumber(number) != null;
            }
          };

    private final int value;

    private DI2_FUNC_TYPE(int value) {
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:DI2_FUNC_TYPE)
  }

  public interface radar_sensor_set_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:radar_sensor_set_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional uint32 alert_bar_side = 1;</code>
     * @return Whether the alertBarSide field is set.
     */
    boolean hasAlertBarSide();
    /**
     * <code>optional uint32 alert_bar_side = 1;</code>
     * @return The alertBarSide.
     */
    int getAlertBarSide();

    /**
     * <code>optional uint32 alert_sound_open = 2;</code>
     * @return Whether the alertSoundOpen field is set.
     */
    boolean hasAlertSoundOpen();
    /**
     * <code>optional uint32 alert_sound_open = 2;</code>
     * @return The alertSoundOpen.
     */
    int getAlertSoundOpen();
  }
  /**
   * Protobuf type {@code radar_sensor_set_message}
   */
  public  static final class radar_sensor_set_message extends
      com.google.protobuf.GeneratedMessageLite<
          radar_sensor_set_message, radar_sensor_set_message.Builder> implements
      // @@protoc_insertion_point(message_implements:radar_sensor_set_message)
      radar_sensor_set_messageOrBuilder {
    private radar_sensor_set_message() {
    }
    private int bitField0_;
    public static final int ALERT_BAR_SIDE_FIELD_NUMBER = 1;
    private int alertBarSide_;
    /**
     * <code>optional uint32 alert_bar_side = 1;</code>
     * @return Whether the alertBarSide field is set.
     */
    @java.lang.Override
    public boolean hasAlertBarSide() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional uint32 alert_bar_side = 1;</code>
     * @return The alertBarSide.
     */
    @java.lang.Override
    public int getAlertBarSide() {
      return alertBarSide_;
    }
    /**
     * <code>optional uint32 alert_bar_side = 1;</code>
     * @param value The alertBarSide to set.
     */
    private void setAlertBarSide(int value) {
      bitField0_ |= 0x00000001;
      alertBarSide_ = value;
    }
    /**
     * <code>optional uint32 alert_bar_side = 1;</code>
     */
    private void clearAlertBarSide() {
      bitField0_ = (bitField0_ & ~0x00000001);
      alertBarSide_ = 0;
    }

    public static final int ALERT_SOUND_OPEN_FIELD_NUMBER = 2;
    private int alertSoundOpen_;
    /**
     * <code>optional uint32 alert_sound_open = 2;</code>
     * @return Whether the alertSoundOpen field is set.
     */
    @java.lang.Override
    public boolean hasAlertSoundOpen() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional uint32 alert_sound_open = 2;</code>
     * @return The alertSoundOpen.
     */
    @java.lang.Override
    public int getAlertSoundOpen() {
      return alertSoundOpen_;
    }
    /**
     * <code>optional uint32 alert_sound_open = 2;</code>
     * @param value The alertSoundOpen to set.
     */
    private void setAlertSoundOpen(int value) {
      bitField0_ |= 0x00000002;
      alertSoundOpen_ = value;
    }
    /**
     * <code>optional uint32 alert_sound_open = 2;</code>
     */
    private void clearAlertSoundOpen() {
      bitField0_ = (bitField0_ & ~0x00000002);
      alertSoundOpen_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code radar_sensor_set_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:radar_sensor_set_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional uint32 alert_bar_side = 1;</code>
       * @return Whether the alertBarSide field is set.
       */
      @java.lang.Override
      public boolean hasAlertBarSide() {
        return instance.hasAlertBarSide();
      }
      /**
       * <code>optional uint32 alert_bar_side = 1;</code>
       * @return The alertBarSide.
       */
      @java.lang.Override
      public int getAlertBarSide() {
        return instance.getAlertBarSide();
      }
      /**
       * <code>optional uint32 alert_bar_side = 1;</code>
       * @param value The alertBarSide to set.
       * @return This builder for chaining.
       */
      public Builder setAlertBarSide(int value) {
        copyOnWrite();
        instance.setAlertBarSide(value);
        return this;
      }
      /**
       * <code>optional uint32 alert_bar_side = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearAlertBarSide() {
        copyOnWrite();
        instance.clearAlertBarSide();
        return this;
      }

      /**
       * <code>optional uint32 alert_sound_open = 2;</code>
       * @return Whether the alertSoundOpen field is set.
       */
      @java.lang.Override
      public boolean hasAlertSoundOpen() {
        return instance.hasAlertSoundOpen();
      }
      /**
       * <code>optional uint32 alert_sound_open = 2;</code>
       * @return The alertSoundOpen.
       */
      @java.lang.Override
      public int getAlertSoundOpen() {
        return instance.getAlertSoundOpen();
      }
      /**
       * <code>optional uint32 alert_sound_open = 2;</code>
       * @param value The alertSoundOpen to set.
       * @return This builder for chaining.
       */
      public Builder setAlertSoundOpen(int value) {
        copyOnWrite();
        instance.setAlertSoundOpen(value);
        return this;
      }
      /**
       * <code>optional uint32 alert_sound_open = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAlertSoundOpen() {
        copyOnWrite();
        instance.clearAlertSoundOpen();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:radar_sensor_set_message)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "alertBarSide_",
              "alertSoundOpen_",
            };
            java.lang.String info =
                "\u0001\u0002\u0000\u0001\u0001\u0002\u0002\u0000\u0000\u0000\u0001\u100b\u0000\u0002" +
                "\u100b\u0001";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:radar_sensor_set_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message DEFAULT_INSTANCE;
    static {
      radar_sensor_set_message defaultInstance = new radar_sensor_set_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        radar_sensor_set_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<radar_sensor_set_message> PARSER;

    public static com.google.protobuf.Parser<radar_sensor_set_message> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface di2_sensor_set_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:di2_sensor_set_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .DI2_CHN_NUM num = 1;</code>
     * @return Whether the num field is set.
     */
    boolean hasNum();
    /**
     * <code>optional .DI2_CHN_NUM num = 1;</code>
     * @return The num.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM getNum();

    /**
     * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
     * @return Whether the buttonOpType field is set.
     */
    boolean hasButtonOpType();
    /**
     * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
     * @return The buttonOpType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE getButtonOpType();

    /**
     * <code>optional .DI2_FUNC_TYPE func = 3;</code>
     * @return Whether the func field is set.
     */
    boolean hasFunc();
    /**
     * <code>optional .DI2_FUNC_TYPE func = 3;</code>
     * @return The func.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE getFunc();
  }
  /**
   * Protobuf type {@code di2_sensor_set_message}
   */
  public  static final class di2_sensor_set_message extends
      com.google.protobuf.GeneratedMessageLite<
          di2_sensor_set_message, di2_sensor_set_message.Builder> implements
      // @@protoc_insertion_point(message_implements:di2_sensor_set_message)
      di2_sensor_set_messageOrBuilder {
    private di2_sensor_set_message() {
    }
    private int bitField0_;
    public static final int NUM_FIELD_NUMBER = 1;
    private int num_;
    /**
     * <code>optional .DI2_CHN_NUM num = 1;</code>
     * @return Whether the num field is set.
     */
    @java.lang.Override
    public boolean hasNum() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .DI2_CHN_NUM num = 1;</code>
     * @return The num.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM getNum() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM.forNumber(num_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM.enum_DI2_CHN_NUM_0 : result;
    }
    /**
     * <code>optional .DI2_CHN_NUM num = 1;</code>
     * @param value The num to set.
     */
    private void setNum(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM value) {
      num_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .DI2_CHN_NUM num = 1;</code>
     */
    private void clearNum() {
      bitField0_ = (bitField0_ & ~0x00000001);
      num_ = 0;
    }

    public static final int BUTTON_OP_TYPE_FIELD_NUMBER = 2;
    private int buttonOpType_;
    /**
     * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
     * @return Whether the buttonOpType field is set.
     */
    @java.lang.Override
    public boolean hasButtonOpType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
     * @return The buttonOpType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE getButtonOpType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE.forNumber(buttonOpType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE.enum_DI2_BUTTON_OP_TYPE_LONG : result;
    }
    /**
     * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
     * @param value The buttonOpType to set.
     */
    private void setButtonOpType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE value) {
      buttonOpType_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
     */
    private void clearButtonOpType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      buttonOpType_ = 0;
    }

    public static final int FUNC_FIELD_NUMBER = 3;
    private int func_;
    /**
     * <code>optional .DI2_FUNC_TYPE func = 3;</code>
     * @return Whether the func field is set.
     */
    @java.lang.Override
    public boolean hasFunc() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .DI2_FUNC_TYPE func = 3;</code>
     * @return The func.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE getFunc() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE.forNumber(func_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE.enum_DI2_FUNC_INVALID : result;
    }
    /**
     * <code>optional .DI2_FUNC_TYPE func = 3;</code>
     * @param value The func to set.
     */
    private void setFunc(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE value) {
      func_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .DI2_FUNC_TYPE func = 3;</code>
     */
    private void clearFunc() {
      bitField0_ = (bitField0_ & ~0x00000004);
      func_ = 0;
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code di2_sensor_set_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:di2_sensor_set_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .DI2_CHN_NUM num = 1;</code>
       * @return Whether the num field is set.
       */
      @java.lang.Override
      public boolean hasNum() {
        return instance.hasNum();
      }
      /**
       * <code>optional .DI2_CHN_NUM num = 1;</code>
       * @return The num.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM getNum() {
        return instance.getNum();
      }
      /**
       * <code>optional .DI2_CHN_NUM num = 1;</code>
       * @param value The enum numeric value on the wire for num to set.
       * @return This builder for chaining.
       */
      public Builder setNum(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM value) {
        copyOnWrite();
        instance.setNum(value);
        return this;
      }
      /**
       * <code>optional .DI2_CHN_NUM num = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearNum() {
        copyOnWrite();
        instance.clearNum();
        return this;
      }

      /**
       * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
       * @return Whether the buttonOpType field is set.
       */
      @java.lang.Override
      public boolean hasButtonOpType() {
        return instance.hasButtonOpType();
      }
      /**
       * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
       * @return The buttonOpType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE getButtonOpType() {
        return instance.getButtonOpType();
      }
      /**
       * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
       * @param value The enum numeric value on the wire for buttonOpType to set.
       * @return This builder for chaining.
       */
      public Builder setButtonOpType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE value) {
        copyOnWrite();
        instance.setButtonOpType(value);
        return this;
      }
      /**
       * <code>optional .DI2_BUTTON_OP_TYPE button_op_type = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearButtonOpType() {
        copyOnWrite();
        instance.clearButtonOpType();
        return this;
      }

      /**
       * <code>optional .DI2_FUNC_TYPE func = 3;</code>
       * @return Whether the func field is set.
       */
      @java.lang.Override
      public boolean hasFunc() {
        return instance.hasFunc();
      }
      /**
       * <code>optional .DI2_FUNC_TYPE func = 3;</code>
       * @return The func.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE getFunc() {
        return instance.getFunc();
      }
      /**
       * <code>optional .DI2_FUNC_TYPE func = 3;</code>
       * @param value The enum numeric value on the wire for func to set.
       * @return This builder for chaining.
       */
      public Builder setFunc(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE value) {
        copyOnWrite();
        instance.setFunc(value);
        return this;
      }
      /**
       * <code>optional .DI2_FUNC_TYPE func = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearFunc() {
        copyOnWrite();
        instance.clearFunc();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:di2_sensor_set_message)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "num_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_CHN_NUM.internalGetVerifier(),
              "buttonOpType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_BUTTON_OP_TYPE.internalGetVerifier(),
              "func_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.DI2_FUNC_TYPE.internalGetVerifier(),
            };
            java.lang.String info =
                "\u0001\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0000\u0000\u0001\u100c\u0000\u0002" +
                "\u100c\u0001\u0003\u100c\u0002";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:di2_sensor_set_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message DEFAULT_INSTANCE;
    static {
      di2_sensor_set_message defaultInstance = new di2_sensor_set_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        di2_sensor_set_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<di2_sensor_set_message> PARSER;

    public static com.google.protobuf.Parser<di2_sensor_set_message> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface sensor_data_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sensor_data_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
     * @return Whether the sensorType field is set.
     */
    boolean hasSensorType();
    /**
     * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
     * @return The sensorType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE getSensorType();

    /**
     * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
     * @return Whether the sensorRadioType field is set.
     */
    boolean hasSensorRadioType();
    /**
     * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
     * @return The sensorRadioType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE getSensorRadioType();

    /**
     * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
     * @return Whether the sensorStatusType field is set.
     */
    boolean hasSensorStatusType();
    /**
     * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
     * @return The sensorStatusType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE getSensorStatusType();

    /**
     * <code>optional string sensor_key = 4;</code>
     * @return Whether the sensorKey field is set.
     */
    boolean hasSensorKey();
    /**
     * <code>optional string sensor_key = 4;</code>
     * @return The sensorKey.
     */
    java.lang.String getSensorKey();
    /**
     * <code>optional string sensor_key = 4;</code>
     * @return The bytes for sensorKey.
     */
    com.google.protobuf.ByteString
        getSensorKeyBytes();

    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @return Whether the sensorBleName field is set.
     */
    boolean hasSensorBleName();
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @return The sensorBleName.
     */
    java.lang.String getSensorBleName();
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @return The bytes for sensorBleName.
     */
    com.google.protobuf.ByteString
        getSensorBleNameBytes();

    /**
     * <code>optional int32 sensor_rssi = 6;</code>
     * @return Whether the sensorRssi field is set.
     */
    boolean hasSensorRssi();
    /**
     * <code>optional int32 sensor_rssi = 6;</code>
     * @return The sensorRssi.
     */
    int getSensorRssi();

    /**
     * <code>optional uint32 sensor_pwr = 7;</code>
     * @return Whether the sensorPwr field is set.
     */
    boolean hasSensorPwr();
    /**
     * <code>optional uint32 sensor_pwr = 7;</code>
     * @return The sensorPwr.
     */
    int getSensorPwr();

    /**
     * <code>optional uint32 wheel_size = 8;</code>
     * @return Whether the wheelSize field is set.
     */
    boolean hasWheelSize();
    /**
     * <code>optional uint32 wheel_size = 8;</code>
     * @return The wheelSize.
     */
    int getWheelSize();

    /**
     * <code>optional uint32 crank_length = 9;</code>
     * @return Whether the crankLength field is set.
     */
    boolean hasCrankLength();
    /**
     * <code>optional uint32 crank_length = 9;</code>
     * @return The crankLength.
     */
    int getCrankLength();

    /**
     * <code>optional uint32 sensor_forbidden = 10;</code>
     * @return Whether the sensorForbidden field is set.
     */
    boolean hasSensorForbidden();
    /**
     * <code>optional uint32 sensor_forbidden = 10;</code>
     * @return The sensorForbidden.
     */
    int getSensorForbidden();

    /**
     * <code>optional uint32 auto_wheel_size = 11;</code>
     * @return Whether the autoWheelSize field is set.
     */
    boolean hasAutoWheelSize();
    /**
     * <code>optional uint32 auto_wheel_size = 11;</code>
     * @return The autoWheelSize.
     */
    int getAutoWheelSize();

    /**
     * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
     * @return Whether the radarSensorSetMsg field is set.
     */
    boolean hasRadarSensorSetMsg();
    /**
     * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
     * @return The radarSensorSetMsg.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message getRadarSensorSetMsg();

    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> 
        getDi2SensorSetMsgList();
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message getDi2SensorSetMsg(int index);
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    int getDi2SensorSetMsgCount();
  }
  /**
   * Protobuf type {@code sensor_data_message}
   */
  public  static final class sensor_data_message extends
      com.google.protobuf.GeneratedMessageLite<
          sensor_data_message, sensor_data_message.Builder> implements
      // @@protoc_insertion_point(message_implements:sensor_data_message)
      sensor_data_messageOrBuilder {
    private sensor_data_message() {
      sensorRadioType_ = 2;
      sensorKey_ = "";
      sensorBleName_ = "";
      di2SensorSetMsg_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int SENSOR_TYPE_FIELD_NUMBER = 1;
    private int sensorType_;
    /**
     * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
     * @return Whether the sensorType field is set.
     */
    @java.lang.Override
    public boolean hasSensorType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
     * @return The sensorType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE getSensorType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE.forNumber(sensorType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE.enum_SENSOR_TYPE_INVALID : result;
    }
    /**
     * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
     * @param value The sensorType to set.
     */
    private void setSensorType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE value) {
      sensorType_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
     */
    private void clearSensorType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      sensorType_ = 0;
    }

    public static final int SENSOR_RADIO_TYPE_FIELD_NUMBER = 2;
    private int sensorRadioType_;
    /**
     * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
     * @return Whether the sensorRadioType field is set.
     */
    @java.lang.Override
    public boolean hasSensorRadioType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
     * @return The sensorRadioType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE getSensorRadioType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE.forNumber(sensorRadioType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE.enum_SENSOR_RADIO_TYPE_ANT : result;
    }
    /**
     * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
     * @param value The sensorRadioType to set.
     */
    private void setSensorRadioType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE value) {
      sensorRadioType_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
     */
    private void clearSensorRadioType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      sensorRadioType_ = 2;
    }

    public static final int SENSOR_STATUS_TYPE_FIELD_NUMBER = 3;
    private int sensorStatusType_;
    /**
     * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
     * @return Whether the sensorStatusType field is set.
     */
    @java.lang.Override
    public boolean hasSensorStatusType() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
     * @return The sensorStatusType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE getSensorStatusType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE.forNumber(sensorStatusType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE.enum_SENSOR_STATUS_TYPE_SAVED : result;
    }
    /**
     * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
     * @param value The sensorStatusType to set.
     */
    private void setSensorStatusType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE value) {
      sensorStatusType_ = value.getNumber();
      bitField0_ |= 0x00000004;
    }
    /**
     * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
     */
    private void clearSensorStatusType() {
      bitField0_ = (bitField0_ & ~0x00000004);
      sensorStatusType_ = 0;
    }

    public static final int SENSOR_KEY_FIELD_NUMBER = 4;
    private java.lang.String sensorKey_;
    /**
     * <code>optional string sensor_key = 4;</code>
     * @return Whether the sensorKey field is set.
     */
    @java.lang.Override
    public boolean hasSensorKey() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * <code>optional string sensor_key = 4;</code>
     * @return The sensorKey.
     */
    @java.lang.Override
    public java.lang.String getSensorKey() {
      return sensorKey_;
    }
    /**
     * <code>optional string sensor_key = 4;</code>
     * @return The bytes for sensorKey.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSensorKeyBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sensorKey_);
    }
    /**
     * <code>optional string sensor_key = 4;</code>
     * @param value The sensorKey to set.
     */
    private void setSensorKey(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000008;
      sensorKey_ = value;
    }
    /**
     * <code>optional string sensor_key = 4;</code>
     */
    private void clearSensorKey() {
      bitField0_ = (bitField0_ & ~0x00000008);
      sensorKey_ = getDefaultInstance().getSensorKey();
    }
    /**
     * <code>optional string sensor_key = 4;</code>
     * @param value The bytes for sensorKey to set.
     */
    private void setSensorKeyBytes(
        com.google.protobuf.ByteString value) {
      sensorKey_ = value.toStringUtf8();
      bitField0_ |= 0x00000008;
    }

    public static final int SENSOR_BLE_NAME_FIELD_NUMBER = 5;
    private java.lang.String sensorBleName_;
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @return Whether the sensorBleName field is set.
     */
    @java.lang.Override
    public boolean hasSensorBleName() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @return The sensorBleName.
     */
    @java.lang.Override
    public java.lang.String getSensorBleName() {
      return sensorBleName_;
    }
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @return The bytes for sensorBleName.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSensorBleNameBytes() {
      return com.google.protobuf.ByteString.copyFromUtf8(sensorBleName_);
    }
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @param value The sensorBleName to set.
     */
    private void setSensorBleName(
        java.lang.String value) {
      java.lang.Class<?> valueClass = value.getClass();
  bitField0_ |= 0x00000010;
      sensorBleName_ = value;
    }
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     */
    private void clearSensorBleName() {
      bitField0_ = (bitField0_ & ~0x00000010);
      sensorBleName_ = getDefaultInstance().getSensorBleName();
    }
    /**
     * <code>optional string sensor_ble_name = 5;</code>
     * @param value The bytes for sensorBleName to set.
     */
    private void setSensorBleNameBytes(
        com.google.protobuf.ByteString value) {
      sensorBleName_ = value.toStringUtf8();
      bitField0_ |= 0x00000010;
    }

    public static final int SENSOR_RSSI_FIELD_NUMBER = 6;
    private int sensorRssi_;
    /**
     * <code>optional int32 sensor_rssi = 6;</code>
     * @return Whether the sensorRssi field is set.
     */
    @java.lang.Override
    public boolean hasSensorRssi() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * <code>optional int32 sensor_rssi = 6;</code>
     * @return The sensorRssi.
     */
    @java.lang.Override
    public int getSensorRssi() {
      return sensorRssi_;
    }
    /**
     * <code>optional int32 sensor_rssi = 6;</code>
     * @param value The sensorRssi to set.
     */
    private void setSensorRssi(int value) {
      bitField0_ |= 0x00000020;
      sensorRssi_ = value;
    }
    /**
     * <code>optional int32 sensor_rssi = 6;</code>
     */
    private void clearSensorRssi() {
      bitField0_ = (bitField0_ & ~0x00000020);
      sensorRssi_ = 0;
    }

    public static final int SENSOR_PWR_FIELD_NUMBER = 7;
    private int sensorPwr_;
    /**
     * <code>optional uint32 sensor_pwr = 7;</code>
     * @return Whether the sensorPwr field is set.
     */
    @java.lang.Override
    public boolean hasSensorPwr() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * <code>optional uint32 sensor_pwr = 7;</code>
     * @return The sensorPwr.
     */
    @java.lang.Override
    public int getSensorPwr() {
      return sensorPwr_;
    }
    /**
     * <code>optional uint32 sensor_pwr = 7;</code>
     * @param value The sensorPwr to set.
     */
    private void setSensorPwr(int value) {
      bitField0_ |= 0x00000040;
      sensorPwr_ = value;
    }
    /**
     * <code>optional uint32 sensor_pwr = 7;</code>
     */
    private void clearSensorPwr() {
      bitField0_ = (bitField0_ & ~0x00000040);
      sensorPwr_ = 0;
    }

    public static final int WHEEL_SIZE_FIELD_NUMBER = 8;
    private int wheelSize_;
    /**
     * <code>optional uint32 wheel_size = 8;</code>
     * @return Whether the wheelSize field is set.
     */
    @java.lang.Override
    public boolean hasWheelSize() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * <code>optional uint32 wheel_size = 8;</code>
     * @return The wheelSize.
     */
    @java.lang.Override
    public int getWheelSize() {
      return wheelSize_;
    }
    /**
     * <code>optional uint32 wheel_size = 8;</code>
     * @param value The wheelSize to set.
     */
    private void setWheelSize(int value) {
      bitField0_ |= 0x00000080;
      wheelSize_ = value;
    }
    /**
     * <code>optional uint32 wheel_size = 8;</code>
     */
    private void clearWheelSize() {
      bitField0_ = (bitField0_ & ~0x00000080);
      wheelSize_ = 0;
    }

    public static final int CRANK_LENGTH_FIELD_NUMBER = 9;
    private int crankLength_;
    /**
     * <code>optional uint32 crank_length = 9;</code>
     * @return Whether the crankLength field is set.
     */
    @java.lang.Override
    public boolean hasCrankLength() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * <code>optional uint32 crank_length = 9;</code>
     * @return The crankLength.
     */
    @java.lang.Override
    public int getCrankLength() {
      return crankLength_;
    }
    /**
     * <code>optional uint32 crank_length = 9;</code>
     * @param value The crankLength to set.
     */
    private void setCrankLength(int value) {
      bitField0_ |= 0x00000100;
      crankLength_ = value;
    }
    /**
     * <code>optional uint32 crank_length = 9;</code>
     */
    private void clearCrankLength() {
      bitField0_ = (bitField0_ & ~0x00000100);
      crankLength_ = 0;
    }

    public static final int SENSOR_FORBIDDEN_FIELD_NUMBER = 10;
    private int sensorForbidden_;
    /**
     * <code>optional uint32 sensor_forbidden = 10;</code>
     * @return Whether the sensorForbidden field is set.
     */
    @java.lang.Override
    public boolean hasSensorForbidden() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * <code>optional uint32 sensor_forbidden = 10;</code>
     * @return The sensorForbidden.
     */
    @java.lang.Override
    public int getSensorForbidden() {
      return sensorForbidden_;
    }
    /**
     * <code>optional uint32 sensor_forbidden = 10;</code>
     * @param value The sensorForbidden to set.
     */
    private void setSensorForbidden(int value) {
      bitField0_ |= 0x00000200;
      sensorForbidden_ = value;
    }
    /**
     * <code>optional uint32 sensor_forbidden = 10;</code>
     */
    private void clearSensorForbidden() {
      bitField0_ = (bitField0_ & ~0x00000200);
      sensorForbidden_ = 0;
    }

    public static final int AUTO_WHEEL_SIZE_FIELD_NUMBER = 11;
    private int autoWheelSize_;
    /**
     * <code>optional uint32 auto_wheel_size = 11;</code>
     * @return Whether the autoWheelSize field is set.
     */
    @java.lang.Override
    public boolean hasAutoWheelSize() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * <code>optional uint32 auto_wheel_size = 11;</code>
     * @return The autoWheelSize.
     */
    @java.lang.Override
    public int getAutoWheelSize() {
      return autoWheelSize_;
    }
    /**
     * <code>optional uint32 auto_wheel_size = 11;</code>
     * @param value The autoWheelSize to set.
     */
    private void setAutoWheelSize(int value) {
      bitField0_ |= 0x00000400;
      autoWheelSize_ = value;
    }
    /**
     * <code>optional uint32 auto_wheel_size = 11;</code>
     */
    private void clearAutoWheelSize() {
      bitField0_ = (bitField0_ & ~0x00000400);
      autoWheelSize_ = 0;
    }

    public static final int RADAR_SENSOR_SET_MSG_FIELD_NUMBER = 12;
    private nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message radarSensorSetMsg_;
    /**
     * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
     */
    @java.lang.Override
    public boolean hasRadarSensorSetMsg() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message getRadarSensorSetMsg() {
      return radarSensorSetMsg_ == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message.getDefaultInstance() : radarSensorSetMsg_;
    }
    /**
     * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
     */
    private void setRadarSensorSetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message value) {
      value.getClass();
  radarSensorSetMsg_ = value;
      bitField0_ |= 0x00000800;
      }
    /**
     * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
     */
    @java.lang.SuppressWarnings({"ReferenceEquality"})
    private void mergeRadarSensorSetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message value) {
      value.getClass();
  if (radarSensorSetMsg_ != null &&
          radarSensorSetMsg_ != nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message.getDefaultInstance()) {
        radarSensorSetMsg_ =
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message.newBuilder(radarSensorSetMsg_).mergeFrom(value).buildPartial();
      } else {
        radarSensorSetMsg_ = value;
      }
      bitField0_ |= 0x00000800;
    }
    /**
     * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
     */
    private void clearRadarSensorSetMsg() {  radarSensorSetMsg_ = null;
      bitField0_ = (bitField0_ & ~0x00000800);
    }

    public static final int DI2_SENSOR_SET_MSG_FIELD_NUMBER = 13;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> di2SensorSetMsg_;
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> getDi2SensorSetMsgList() {
      return di2SensorSetMsg_;
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_messageOrBuilder> 
        getDi2SensorSetMsgOrBuilderList() {
      return di2SensorSetMsg_;
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    @java.lang.Override
    public int getDi2SensorSetMsgCount() {
      return di2SensorSetMsg_.size();
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message getDi2SensorSetMsg(int index) {
      return di2SensorSetMsg_.get(index);
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_messageOrBuilder getDi2SensorSetMsgOrBuilder(
        int index) {
      return di2SensorSetMsg_.get(index);
    }
    private void ensureDi2SensorSetMsgIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> tmp = di2SensorSetMsg_;
      if (!tmp.isModifiable()) {
        di2SensorSetMsg_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    private void setDi2SensorSetMsg(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message value) {
      value.getClass();
  ensureDi2SensorSetMsgIsMutable();
      di2SensorSetMsg_.set(index, value);
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    private void addDi2SensorSetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message value) {
      value.getClass();
  ensureDi2SensorSetMsgIsMutable();
      di2SensorSetMsg_.add(value);
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    private void addDi2SensorSetMsg(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message value) {
      value.getClass();
  ensureDi2SensorSetMsgIsMutable();
      di2SensorSetMsg_.add(index, value);
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    private void addAllDi2SensorSetMsg(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> values) {
      ensureDi2SensorSetMsgIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, di2SensorSetMsg_);
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    private void clearDi2SensorSetMsg() {
      di2SensorSetMsg_ = emptyProtobufList();
    }
    /**
     * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
     */
    private void removeDi2SensorSetMsg(int index) {
      ensureDi2SensorSetMsgIsMutable();
      di2SensorSetMsg_.remove(index);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code sensor_data_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:sensor_data_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
       * @return Whether the sensorType field is set.
       */
      @java.lang.Override
      public boolean hasSensorType() {
        return instance.hasSensorType();
      }
      /**
       * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
       * @return The sensorType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE getSensorType() {
        return instance.getSensorType();
      }
      /**
       * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
       * @param value The enum numeric value on the wire for sensorType to set.
       * @return This builder for chaining.
       */
      public Builder setSensorType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE value) {
        copyOnWrite();
        instance.setSensorType(value);
        return this;
      }
      /**
       * <code>optional .SENSOR_TYPE sensor_type = 1 [default = enum_SENSOR_TYPE_INVALID];</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorType() {
        copyOnWrite();
        instance.clearSensorType();
        return this;
      }

      /**
       * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
       * @return Whether the sensorRadioType field is set.
       */
      @java.lang.Override
      public boolean hasSensorRadioType() {
        return instance.hasSensorRadioType();
      }
      /**
       * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
       * @return The sensorRadioType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE getSensorRadioType() {
        return instance.getSensorRadioType();
      }
      /**
       * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
       * @param value The enum numeric value on the wire for sensorRadioType to set.
       * @return This builder for chaining.
       */
      public Builder setSensorRadioType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE value) {
        copyOnWrite();
        instance.setSensorRadioType(value);
        return this;
      }
      /**
       * <code>optional .SENSOR_RADIO_TYPE sensor_radio_type = 2 [default = enum_SENSOR_RADIO_TYPE_ANT];</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorRadioType() {
        copyOnWrite();
        instance.clearSensorRadioType();
        return this;
      }

      /**
       * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
       * @return Whether the sensorStatusType field is set.
       */
      @java.lang.Override
      public boolean hasSensorStatusType() {
        return instance.hasSensorStatusType();
      }
      /**
       * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
       * @return The sensorStatusType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE getSensorStatusType() {
        return instance.getSensorStatusType();
      }
      /**
       * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
       * @param value The enum numeric value on the wire for sensorStatusType to set.
       * @return This builder for chaining.
       */
      public Builder setSensorStatusType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE value) {
        copyOnWrite();
        instance.setSensorStatusType(value);
        return this;
      }
      /**
       * <code>optional .SENSOR_STATUS_TYPE sensor_status_type = 3 [default = enum_SENSOR_STATUS_TYPE_SAVED];</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorStatusType() {
        copyOnWrite();
        instance.clearSensorStatusType();
        return this;
      }

      /**
       * <code>optional string sensor_key = 4;</code>
       * @return Whether the sensorKey field is set.
       */
      @java.lang.Override
      public boolean hasSensorKey() {
        return instance.hasSensorKey();
      }
      /**
       * <code>optional string sensor_key = 4;</code>
       * @return The sensorKey.
       */
      @java.lang.Override
      public java.lang.String getSensorKey() {
        return instance.getSensorKey();
      }
      /**
       * <code>optional string sensor_key = 4;</code>
       * @return The bytes for sensorKey.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSensorKeyBytes() {
        return instance.getSensorKeyBytes();
      }
      /**
       * <code>optional string sensor_key = 4;</code>
       * @param value The sensorKey to set.
       * @return This builder for chaining.
       */
      public Builder setSensorKey(
          java.lang.String value) {
        copyOnWrite();
        instance.setSensorKey(value);
        return this;
      }
      /**
       * <code>optional string sensor_key = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorKey() {
        copyOnWrite();
        instance.clearSensorKey();
        return this;
      }
      /**
       * <code>optional string sensor_key = 4;</code>
       * @param value The bytes for sensorKey to set.
       * @return This builder for chaining.
       */
      public Builder setSensorKeyBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSensorKeyBytes(value);
        return this;
      }

      /**
       * <code>optional string sensor_ble_name = 5;</code>
       * @return Whether the sensorBleName field is set.
       */
      @java.lang.Override
      public boolean hasSensorBleName() {
        return instance.hasSensorBleName();
      }
      /**
       * <code>optional string sensor_ble_name = 5;</code>
       * @return The sensorBleName.
       */
      @java.lang.Override
      public java.lang.String getSensorBleName() {
        return instance.getSensorBleName();
      }
      /**
       * <code>optional string sensor_ble_name = 5;</code>
       * @return The bytes for sensorBleName.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getSensorBleNameBytes() {
        return instance.getSensorBleNameBytes();
      }
      /**
       * <code>optional string sensor_ble_name = 5;</code>
       * @param value The sensorBleName to set.
       * @return This builder for chaining.
       */
      public Builder setSensorBleName(
          java.lang.String value) {
        copyOnWrite();
        instance.setSensorBleName(value);
        return this;
      }
      /**
       * <code>optional string sensor_ble_name = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorBleName() {
        copyOnWrite();
        instance.clearSensorBleName();
        return this;
      }
      /**
       * <code>optional string sensor_ble_name = 5;</code>
       * @param value The bytes for sensorBleName to set.
       * @return This builder for chaining.
       */
      public Builder setSensorBleNameBytes(
          com.google.protobuf.ByteString value) {
        copyOnWrite();
        instance.setSensorBleNameBytes(value);
        return this;
      }

      /**
       * <code>optional int32 sensor_rssi = 6;</code>
       * @return Whether the sensorRssi field is set.
       */
      @java.lang.Override
      public boolean hasSensorRssi() {
        return instance.hasSensorRssi();
      }
      /**
       * <code>optional int32 sensor_rssi = 6;</code>
       * @return The sensorRssi.
       */
      @java.lang.Override
      public int getSensorRssi() {
        return instance.getSensorRssi();
      }
      /**
       * <code>optional int32 sensor_rssi = 6;</code>
       * @param value The sensorRssi to set.
       * @return This builder for chaining.
       */
      public Builder setSensorRssi(int value) {
        copyOnWrite();
        instance.setSensorRssi(value);
        return this;
      }
      /**
       * <code>optional int32 sensor_rssi = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorRssi() {
        copyOnWrite();
        instance.clearSensorRssi();
        return this;
      }

      /**
       * <code>optional uint32 sensor_pwr = 7;</code>
       * @return Whether the sensorPwr field is set.
       */
      @java.lang.Override
      public boolean hasSensorPwr() {
        return instance.hasSensorPwr();
      }
      /**
       * <code>optional uint32 sensor_pwr = 7;</code>
       * @return The sensorPwr.
       */
      @java.lang.Override
      public int getSensorPwr() {
        return instance.getSensorPwr();
      }
      /**
       * <code>optional uint32 sensor_pwr = 7;</code>
       * @param value The sensorPwr to set.
       * @return This builder for chaining.
       */
      public Builder setSensorPwr(int value) {
        copyOnWrite();
        instance.setSensorPwr(value);
        return this;
      }
      /**
       * <code>optional uint32 sensor_pwr = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorPwr() {
        copyOnWrite();
        instance.clearSensorPwr();
        return this;
      }

      /**
       * <code>optional uint32 wheel_size = 8;</code>
       * @return Whether the wheelSize field is set.
       */
      @java.lang.Override
      public boolean hasWheelSize() {
        return instance.hasWheelSize();
      }
      /**
       * <code>optional uint32 wheel_size = 8;</code>
       * @return The wheelSize.
       */
      @java.lang.Override
      public int getWheelSize() {
        return instance.getWheelSize();
      }
      /**
       * <code>optional uint32 wheel_size = 8;</code>
       * @param value The wheelSize to set.
       * @return This builder for chaining.
       */
      public Builder setWheelSize(int value) {
        copyOnWrite();
        instance.setWheelSize(value);
        return this;
      }
      /**
       * <code>optional uint32 wheel_size = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearWheelSize() {
        copyOnWrite();
        instance.clearWheelSize();
        return this;
      }

      /**
       * <code>optional uint32 crank_length = 9;</code>
       * @return Whether the crankLength field is set.
       */
      @java.lang.Override
      public boolean hasCrankLength() {
        return instance.hasCrankLength();
      }
      /**
       * <code>optional uint32 crank_length = 9;</code>
       * @return The crankLength.
       */
      @java.lang.Override
      public int getCrankLength() {
        return instance.getCrankLength();
      }
      /**
       * <code>optional uint32 crank_length = 9;</code>
       * @param value The crankLength to set.
       * @return This builder for chaining.
       */
      public Builder setCrankLength(int value) {
        copyOnWrite();
        instance.setCrankLength(value);
        return this;
      }
      /**
       * <code>optional uint32 crank_length = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearCrankLength() {
        copyOnWrite();
        instance.clearCrankLength();
        return this;
      }

      /**
       * <code>optional uint32 sensor_forbidden = 10;</code>
       * @return Whether the sensorForbidden field is set.
       */
      @java.lang.Override
      public boolean hasSensorForbidden() {
        return instance.hasSensorForbidden();
      }
      /**
       * <code>optional uint32 sensor_forbidden = 10;</code>
       * @return The sensorForbidden.
       */
      @java.lang.Override
      public int getSensorForbidden() {
        return instance.getSensorForbidden();
      }
      /**
       * <code>optional uint32 sensor_forbidden = 10;</code>
       * @param value The sensorForbidden to set.
       * @return This builder for chaining.
       */
      public Builder setSensorForbidden(int value) {
        copyOnWrite();
        instance.setSensorForbidden(value);
        return this;
      }
      /**
       * <code>optional uint32 sensor_forbidden = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorForbidden() {
        copyOnWrite();
        instance.clearSensorForbidden();
        return this;
      }

      /**
       * <code>optional uint32 auto_wheel_size = 11;</code>
       * @return Whether the autoWheelSize field is set.
       */
      @java.lang.Override
      public boolean hasAutoWheelSize() {
        return instance.hasAutoWheelSize();
      }
      /**
       * <code>optional uint32 auto_wheel_size = 11;</code>
       * @return The autoWheelSize.
       */
      @java.lang.Override
      public int getAutoWheelSize() {
        return instance.getAutoWheelSize();
      }
      /**
       * <code>optional uint32 auto_wheel_size = 11;</code>
       * @param value The autoWheelSize to set.
       * @return This builder for chaining.
       */
      public Builder setAutoWheelSize(int value) {
        copyOnWrite();
        instance.setAutoWheelSize(value);
        return this;
      }
      /**
       * <code>optional uint32 auto_wheel_size = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearAutoWheelSize() {
        copyOnWrite();
        instance.clearAutoWheelSize();
        return this;
      }

      /**
       * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
       */
      @java.lang.Override
      public boolean hasRadarSensorSetMsg() {
        return instance.hasRadarSensorSetMsg();
      }
      /**
       * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message getRadarSensorSetMsg() {
        return instance.getRadarSensorSetMsg();
      }
      /**
       * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
       */
      public Builder setRadarSensorSetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message value) {
        copyOnWrite();
        instance.setRadarSensorSetMsg(value);
        return this;
        }
      /**
       * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
       */
      public Builder setRadarSensorSetMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message.Builder builderForValue) {
        copyOnWrite();
        instance.setRadarSensorSetMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
       */
      public Builder mergeRadarSensorSetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.radar_sensor_set_message value) {
        copyOnWrite();
        instance.mergeRadarSensorSetMsg(value);
        return this;
      }
      /**
       * <code>optional .radar_sensor_set_message radar_sensor_set_msg = 12;</code>
       */
      public Builder clearRadarSensorSetMsg() {  copyOnWrite();
        instance.clearRadarSensorSetMsg();
        return this;
      }

      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> getDi2SensorSetMsgList() {
        return java.util.Collections.unmodifiableList(
            instance.getDi2SensorSetMsgList());
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      @java.lang.Override
      public int getDi2SensorSetMsgCount() {
        return instance.getDi2SensorSetMsgCount();
      }/**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message getDi2SensorSetMsg(int index) {
        return instance.getDi2SensorSetMsg(index);
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder setDi2SensorSetMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message value) {
        copyOnWrite();
        instance.setDi2SensorSetMsg(index, value);
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder setDi2SensorSetMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message.Builder builderForValue) {
        copyOnWrite();
        instance.setDi2SensorSetMsg(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder addDi2SensorSetMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message value) {
        copyOnWrite();
        instance.addDi2SensorSetMsg(value);
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder addDi2SensorSetMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message value) {
        copyOnWrite();
        instance.addDi2SensorSetMsg(index, value);
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder addDi2SensorSetMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message.Builder builderForValue) {
        copyOnWrite();
        instance.addDi2SensorSetMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder addDi2SensorSetMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message.Builder builderForValue) {
        copyOnWrite();
        instance.addDi2SensorSetMsg(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder addAllDi2SensorSetMsg(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message> values) {
        copyOnWrite();
        instance.addAllDi2SensorSetMsg(values);
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder clearDi2SensorSetMsg() {
        copyOnWrite();
        instance.clearDi2SensorSetMsg();
        return this;
      }
      /**
       * <code>repeated .di2_sensor_set_message di2_sensor_set_msg = 13;</code>
       */
      public Builder removeDi2SensorSetMsg(int index) {
        copyOnWrite();
        instance.removeDi2SensorSetMsg(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:sensor_data_message)
    }
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "sensorType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_TYPE.internalGetVerifier(),
              "sensorRadioType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_RADIO_TYPE.internalGetVerifier(),
              "sensorStatusType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_STATUS_TYPE.internalGetVerifier(),
              "sensorKey_",
              "sensorBleName_",
              "sensorRssi_",
              "sensorPwr_",
              "wheelSize_",
              "crankLength_",
              "sensorForbidden_",
              "autoWheelSize_",
              "radarSensorSetMsg_",
              "di2SensorSetMsg_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.di2_sensor_set_message.class,
            };
            java.lang.String info =
                "\u0001\r\u0000\u0001\u0001\r\r\u0000\u0001\u0000\u0001\u100c\u0000\u0002\u100c\u0001" +
                "\u0003\u100c\u0002\u0004\u1008\u0003\u0005\u1008\u0004\u0006\u1004\u0005\u0007\u100b" +
                "\u0006\b\u100b\u0007\t\u100b\b\n\u100b\t\u000b\u100b\n\f\u1009\u000b\r\u001b";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return (byte) 1;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:sensor_data_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message DEFAULT_INSTANCE;
    static {
      sensor_data_message defaultInstance = new sensor_data_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        sensor_data_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<sensor_data_message> PARSER;

    public static com.google.protobuf.Parser<sensor_data_message> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }

  public interface sensor_messageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:sensor_message)
      com.google.protobuf.MessageLiteOrBuilder {

    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
     * @return Whether the serviceType field is set.
     */
    boolean hasServiceType();
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
     * @return The serviceType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType();

    /**
     * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
     * @return Whether the sensorOperateType field is set.
     */
    boolean hasSensorOperateType();
    /**
     * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
     * @return The sensorOperateType.
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE getSensorOperateType();

    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> 
        getSensorDataMsgList();
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message getSensorDataMsg(int index);
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    int getSensorDataMsgCount();
  }
  /**
   * Protobuf type {@code sensor_message}
   */
  public  static final class sensor_message extends
      com.google.protobuf.GeneratedMessageLite<
          sensor_message, sensor_message.Builder> implements
      // @@protoc_insertion_point(message_implements:sensor_message)
      sensor_messageOrBuilder {
    private sensor_message() {
      serviceType_ = 14;
      sensorDataMsg_ = emptyProtobufList();
    }
    private int bitField0_;
    public static final int SERVICE_TYPE_FIELD_NUMBER = 1;
    private int serviceType_;
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
     * @return Whether the serviceType field is set.
     */
    @java.lang.Override
    public boolean hasServiceType() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
     * @return The serviceType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.forNumber(serviceType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.enum_SERVICE_TYPE_INDEX_SENSOR : result;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
     * @param value The serviceType to set.
     */
    private void setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
      serviceType_ = value.getNumber();
      bitField0_ |= 0x00000001;
    }
    /**
     * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
     */
    private void clearServiceType() {
      bitField0_ = (bitField0_ & ~0x00000001);
      serviceType_ = 14;
    }

    public static final int SENSOR_OPERATE_TYPE_FIELD_NUMBER = 2;
    private int sensorOperateType_;
    /**
     * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
     * @return Whether the sensorOperateType field is set.
     */
    @java.lang.Override
    public boolean hasSensorOperateType() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
     * @return The sensorOperateType.
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE getSensorOperateType() {
      nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE result = nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE.forNumber(sensorOperateType_);
      return result == null ? nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE.enum_SENSOR_OPERATE_TYPE_NONE : result;
    }
    /**
     * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
     * @param value The sensorOperateType to set.
     */
    private void setSensorOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE value) {
      sensorOperateType_ = value.getNumber();
      bitField0_ |= 0x00000002;
    }
    /**
     * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
     */
    private void clearSensorOperateType() {
      bitField0_ = (bitField0_ & ~0x00000002);
      sensorOperateType_ = 0;
    }

    public static final int SENSOR_DATA_MSG_FIELD_NUMBER = 3;
    private com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> sensorDataMsg_;
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    @java.lang.Override
    public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> getSensorDataMsgList() {
      return sensorDataMsg_;
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    public java.util.List<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_messageOrBuilder> 
        getSensorDataMsgOrBuilderList() {
      return sensorDataMsg_;
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    @java.lang.Override
    public int getSensorDataMsgCount() {
      return sensorDataMsg_.size();
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    @java.lang.Override
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message getSensorDataMsg(int index) {
      return sensorDataMsg_.get(index);
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_messageOrBuilder getSensorDataMsgOrBuilder(
        int index) {
      return sensorDataMsg_.get(index);
    }
    private void ensureSensorDataMsgIsMutable() {
      com.google.protobuf.Internal.ProtobufList<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> tmp = sensorDataMsg_;
      if (!tmp.isModifiable()) {
        sensorDataMsg_ =
            com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp);
       }
    }

    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    private void setSensorDataMsg(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message value) {
      value.getClass();
  ensureSensorDataMsgIsMutable();
      sensorDataMsg_.set(index, value);
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    private void addSensorDataMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message value) {
      value.getClass();
  ensureSensorDataMsgIsMutable();
      sensorDataMsg_.add(value);
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    private void addSensorDataMsg(
        int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message value) {
      value.getClass();
  ensureSensorDataMsgIsMutable();
      sensorDataMsg_.add(index, value);
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    private void addAllSensorDataMsg(
        java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> values) {
      ensureSensorDataMsgIsMutable();
      com.google.protobuf.AbstractMessageLite.addAll(
          values, sensorDataMsg_);
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    private void clearSensorDataMsg() {
      sensorDataMsg_ = emptyProtobufList();
    }
    /**
     * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
     */
    private void removeSensorDataMsg(int index) {
      ensureSensorDataMsgIsMutable();
      sensorDataMsg_.remove(index);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, data, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input);
    }
    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageLite.parseFrom(
          DEFAULT_INSTANCE, input, extensionRegistry);
    }

    public static Builder newBuilder() {
      return (Builder) DEFAULT_INSTANCE.createBuilder();
    }
    public static Builder newBuilder(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message prototype) {
      return (Builder) DEFAULT_INSTANCE.createBuilder(prototype);
    }

    /**
     * Protobuf type {@code sensor_message}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageLite.Builder<
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message, Builder> implements
        // @@protoc_insertion_point(builder_implements:sensor_message)
        nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_messageOrBuilder {
      // Construct using nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message.newBuilder()
      private Builder() {
        super(DEFAULT_INSTANCE);
      }


      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
       * @return Whether the serviceType field is set.
       */
      @java.lang.Override
      public boolean hasServiceType() {
        return instance.hasServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
       * @return The serviceType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index getServiceType() {
        return instance.getServiceType();
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
       * @param value The enum numeric value on the wire for serviceType to set.
       * @return This builder for chaining.
       */
      public Builder setServiceType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index value) {
        copyOnWrite();
        instance.setServiceType(value);
        return this;
      }
      /**
       * <code>required .service_type_index service_type = 1 [default = enum_SERVICE_TYPE_INDEX_SENSOR];</code>
       * @return This builder for chaining.
       */
      public Builder clearServiceType() {
        copyOnWrite();
        instance.clearServiceType();
        return this;
      }

      /**
       * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
       * @return Whether the sensorOperateType field is set.
       */
      @java.lang.Override
      public boolean hasSensorOperateType() {
        return instance.hasSensorOperateType();
      }
      /**
       * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
       * @return The sensorOperateType.
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE getSensorOperateType() {
        return instance.getSensorOperateType();
      }
      /**
       * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
       * @param value The enum numeric value on the wire for sensorOperateType to set.
       * @return This builder for chaining.
       */
      public Builder setSensorOperateType(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE value) {
        copyOnWrite();
        instance.setSensorOperateType(value);
        return this;
      }
      /**
       * <code>required .SENSOR_OPERATE_TYPE sensor_operate_type = 2 [default = enum_SENSOR_OPERATE_TYPE_NONE];</code>
       * @return This builder for chaining.
       */
      public Builder clearSensorOperateType() {
        copyOnWrite();
        instance.clearSensorOperateType();
        return this;
      }

      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      @java.lang.Override
      public java.util.List<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> getSensorDataMsgList() {
        return java.util.Collections.unmodifiableList(
            instance.getSensorDataMsgList());
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      @java.lang.Override
      public int getSensorDataMsgCount() {
        return instance.getSensorDataMsgCount();
      }/**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      @java.lang.Override
      public nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message getSensorDataMsg(int index) {
        return instance.getSensorDataMsg(index);
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder setSensorDataMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message value) {
        copyOnWrite();
        instance.setSensorDataMsg(index, value);
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder setSensorDataMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message.Builder builderForValue) {
        copyOnWrite();
        instance.setSensorDataMsg(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder addSensorDataMsg(nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message value) {
        copyOnWrite();
        instance.addSensorDataMsg(value);
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder addSensorDataMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message value) {
        copyOnWrite();
        instance.addSensorDataMsg(index, value);
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder addSensorDataMsg(
          nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message.Builder builderForValue) {
        copyOnWrite();
        instance.addSensorDataMsg(builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder addSensorDataMsg(
          int index, nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message.Builder builderForValue) {
        copyOnWrite();
        instance.addSensorDataMsg(index,
            builderForValue.build());
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder addAllSensorDataMsg(
          java.lang.Iterable<? extends nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message> values) {
        copyOnWrite();
        instance.addAllSensorDataMsg(values);
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder clearSensorDataMsg() {
        copyOnWrite();
        instance.clearSensorDataMsg();
        return this;
      }
      /**
       * <code>repeated .sensor_data_message sensor_data_msg = 3;</code>
       */
      public Builder removeSensorDataMsg(int index) {
        copyOnWrite();
        instance.removeSensorDataMsg(index);
        return this;
      }

      // @@protoc_insertion_point(builder_scope:sensor_message)
    }
    private byte memoizedIsInitialized = 2;
    @java.lang.Override
    @java.lang.SuppressWarnings({"unchecked", "fallthrough"})
    protected final java.lang.Object dynamicMethod(
        com.google.protobuf.GeneratedMessageLite.MethodToInvoke method,
        java.lang.Object arg0, java.lang.Object arg1) {
      switch (method) {
        case NEW_MUTABLE_INSTANCE: {
          return new nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message();
        }
        case NEW_BUILDER: {
          return new Builder();
        }
        case BUILD_MESSAGE_INFO: {
            java.lang.Object[] objects = new java.lang.Object[] {
              "bitField0_",
              "serviceType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Common.service_type_index.internalGetVerifier(),
              "sensorOperateType_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.SENSOR_OPERATE_TYPE.internalGetVerifier(),
              "sensorDataMsg_",
              nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_data_message.class,
            };
            java.lang.String info =
                "\u0001\u0003\u0000\u0001\u0001\u0003\u0003\u0000\u0001\u0002\u0001\u150c\u0000\u0002" +
                "\u150c\u0001\u0003\u001b";
            return newMessageInfo(DEFAULT_INSTANCE, info, objects);
        }
        // fall through
        case GET_DEFAULT_INSTANCE: {
          return DEFAULT_INSTANCE;
        }
        case GET_PARSER: {
          com.google.protobuf.Parser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message> parser = PARSER;
          if (parser == null) {
            synchronized (nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message.class) {
              parser = PARSER;
              if (parser == null) {
                parser =
                    new DefaultInstanceBasedParser<nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message>(
                        DEFAULT_INSTANCE);
                PARSER = parser;
              }
            }
          }
          return parser;
      }
      case GET_MEMOIZED_IS_INITIALIZED: {
        return memoizedIsInitialized;
      }
      case SET_MEMOIZED_IS_INITIALIZED: {
        memoizedIsInitialized = (byte) (arg0 == null ? 0 : 1);
        return null;
      }
      }
      throw new UnsupportedOperationException();
    }


    // @@protoc_insertion_point(class_scope:sensor_message)
    private static final nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message DEFAULT_INSTANCE;
    static {
      sensor_message defaultInstance = new sensor_message();
      // New instances are implicitly immutable so no need to make
      // immutable.
      DEFAULT_INSTANCE = defaultInstance;
      com.google.protobuf.GeneratedMessageLite.registerDefaultInstance(
        sensor_message.class, defaultInstance);
    }

    public static nodomain.freeyourgadget.gadgetbridge.proto.igpsport.Sensor.sensor_message getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static volatile com.google.protobuf.Parser<sensor_message> PARSER;

    public static com.google.protobuf.Parser<sensor_message> parser() {
      return DEFAULT_INSTANCE.getParserForType();
    }
  }


  static {
  }

  // @@protoc_insertion_point(outer_class_scope)
}
