From 37d7cb54624eaf3e674b700f706b53782489e764 Mon Sep 17 00:00:00 2001 From: Christopher Peplin Date: Mon, 3 Mar 2014 15:36:35 -0500 Subject: [PATCH] Add a draft protobuf format for diagnostic requests. --- gen/cpp/openxc.pb | 31 +- gen/cpp/openxc.pb.c | 45 +- gen/cpp/openxc.pb.h | 90 +- gen/java/com/openxc/BinaryMessages.java | 2133 ++++++++++++++++++++++++++++--- gen/python/openxc_pb2.py | 220 +++- openxc.options | 3 +- openxc.proto | 25 +- 7 files changed, 2314 insertions(+), 233 deletions(-) diff --git a/gen/cpp/openxc.pb b/gen/cpp/openxc.pb index ead68af6..d4bd0a80 100644 --- a/gen/cpp/openxc.pb +++ b/gen/cpp/openxc.pb @@ -1,11 +1,11 @@ -Ò - openxc.protoopenxc"ƒ +« + openxc.protoopenxc"… VehicleMessage) type (2.openxc.VehicleMessage.Type' raw_message ( 2.openxc.RawMessage5 -translated_message ( 2.openxc.TranslatedMessage5 -diagnostic_message ( 2.openxc.DiagnosticMessage"/ +translated_message ( 2.openxc.TranslatedMessage7 +diagnostic_response ( 2.openxc.DiagnosticResponse"/ Type RAW @@ -17,8 +17,27 @@ RawMessage bus ( message_id (  -data ( "  -DiagnosticMessage +data ( "¦ +ControlCommand) +type (2.openxc.ControlCommand.Type5 +diagnostic_request ( 2.openxc.DiagnosticRequest"2 +Type +VERSION + DEVICE_ID + +DIAGNOSTIC"ª +DiagnosticRequest +bus ( + +message_id (  +mode (  +pid (  +payload (  + parse_payload ( +factor ( +offset ( + frequency ("¡ +DiagnosticResponse bus ( message_id (  diff --git a/gen/cpp/openxc.pb.c b/gen/cpp/openxc.pb.c index d473fd3b..8c663ef1 100644 --- a/gen/cpp/openxc.pb.c +++ b/gen/cpp/openxc.pb.c @@ -1,5 +1,5 @@ /* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.2.5 at Wed Feb 19 14:35:41 2014. */ +/* Generated by nanopb-0.2.5 at Mon Mar 3 15:48:39 2014. */ #include "openxc.pb.h" @@ -9,7 +9,7 @@ const pb_field_t openxc_VehicleMessage_fields[5] = { PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_VehicleMessage, type, type, 0), PB_FIELD2( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, raw_message, type, &openxc_RawMessage_fields), PB_FIELD2( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, translated_message, raw_message, &openxc_TranslatedMessage_fields), - PB_FIELD2( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, diagnostic_message, translated_message, &openxc_DiagnosticMessage_fields), + PB_FIELD2( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, diagnostic_response, translated_message, &openxc_DiagnosticResponse_fields), PB_LAST_FIELD }; @@ -20,15 +20,34 @@ const pb_field_t openxc_RawMessage_fields[4] = { PB_LAST_FIELD }; -const pb_field_t openxc_DiagnosticMessage_fields[9] = { - PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticMessage, bus, bus, 0), - PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticMessage, message_id, bus, 0), - PB_FIELD2( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticMessage, mode, message_id, 0), - PB_FIELD2( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticMessage, pid, mode, 0), - PB_FIELD2( 5, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticMessage, success, pid, 0), - PB_FIELD2( 6, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticMessage, negative_response_code, success, 0), - PB_FIELD2( 7, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticMessage, payload, negative_response_code, 0), - PB_FIELD2( 8, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticMessage, value, payload, 0), +const pb_field_t openxc_ControlCommand_fields[3] = { + PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_ControlCommand, type, type, 0), + PB_FIELD2( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, diagnostic_request, type, &openxc_DiagnosticRequest_fields), + PB_LAST_FIELD +}; + +const pb_field_t openxc_DiagnosticRequest_fields[10] = { + PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticRequest, bus, bus, 0), + PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, message_id, bus, 0), + PB_FIELD2( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, mode, message_id, 0), + PB_FIELD2( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, pid, mode, 0), + PB_FIELD2( 5, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, payload, pid, 0), + PB_FIELD2( 6, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, parse_payload, payload, 0), + PB_FIELD2( 7, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, factor, parse_payload, 0), + PB_FIELD2( 8, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, offset, factor, 0), + PB_FIELD2( 9, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, frequency, offset, 0), + PB_LAST_FIELD +}; + +const pb_field_t openxc_DiagnosticResponse_fields[9] = { + PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticResponse, bus, bus, 0), + PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, message_id, bus, 0), + PB_FIELD2( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, mode, message_id, 0), + PB_FIELD2( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, pid, mode, 0), + PB_FIELD2( 5, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, success, pid, 0), + PB_FIELD2( 6, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, negative_response_code, success, 0), + PB_FIELD2( 7, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, payload, negative_response_code, 0), + PB_FIELD2( 8, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, value, payload, 0), PB_LAST_FIELD }; @@ -47,11 +66,11 @@ const pb_field_t openxc_TranslatedMessage_fields[9] = { /* Check that field information fits in pb_field_t */ #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) -STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 256 && pb_membersize(openxc_VehicleMessage, translated_message) < 256 && pb_membersize(openxc_VehicleMessage, diagnostic_message) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_DiagnosticMessage_openxc_TranslatedMessage) +STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 256 && pb_membersize(openxc_VehicleMessage, translated_message) < 256 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 256 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_TranslatedMessage) #endif #if !defined(PB_FIELD_32BIT) -STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, translated_message) < 65536 && pb_membersize(openxc_VehicleMessage, diagnostic_message) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_DiagnosticMessage_openxc_TranslatedMessage) +STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, translated_message) < 65536 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 65536 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_TranslatedMessage) #endif /* On some platforms (such as AVR), double is really float. diff --git a/gen/cpp/openxc.pb.h b/gen/cpp/openxc.pb.h index 9e4c3a27..cfb0ef74 100644 --- a/gen/cpp/openxc.pb.h +++ b/gen/cpp/openxc.pb.h @@ -1,5 +1,5 @@ /* Automatically generated nanopb header */ -/* Generated by nanopb-0.2.5 at Wed Feb 19 14:35:41 2014. */ +/* Generated by nanopb-0.2.5 at Mon Mar 3 15:48:39 2014. */ #ifndef _PB_OPENXC_PB_H_ #define _PB_OPENXC_PB_H_ @@ -16,6 +16,12 @@ typedef enum _openxc_VehicleMessage_Type { openxc_VehicleMessage_Type_DIAGNOSTIC = 3 } openxc_VehicleMessage_Type; +typedef enum _openxc_ControlCommand_Type { + openxc_ControlCommand_Type_VERSION = 1, + openxc_ControlCommand_Type_DEVICE_ID = 2, + openxc_ControlCommand_Type_DIAGNOSTIC = 3 +} openxc_ControlCommand_Type; + typedef enum _openxc_TranslatedMessage_Type { openxc_TranslatedMessage_Type_STRING = 1, openxc_TranslatedMessage_Type_NUM = 2, @@ -29,9 +35,35 @@ typedef enum _openxc_TranslatedMessage_Type { typedef struct { size_t size; uint8_t bytes[8]; -} openxc_DiagnosticMessage_payload_t; +} openxc_DiagnosticRequest_payload_t; -typedef struct _openxc_DiagnosticMessage { +typedef struct _openxc_DiagnosticRequest { + bool has_bus; + int32_t bus; + bool has_message_id; + uint32_t message_id; + bool has_mode; + uint32_t mode; + bool has_pid; + uint32_t pid; + bool has_payload; + openxc_DiagnosticRequest_payload_t payload; + bool has_parse_payload; + bool parse_payload; + bool has_factor; + double factor; + bool has_offset; + double offset; + bool has_frequency; + double frequency; +} openxc_DiagnosticRequest; + +typedef struct { + size_t size; + uint8_t bytes[8]; +} openxc_DiagnosticResponse_payload_t; + +typedef struct _openxc_DiagnosticResponse { bool has_bus; int32_t bus; bool has_message_id; @@ -45,10 +77,10 @@ typedef struct _openxc_DiagnosticMessage { bool has_negative_response_code; uint32_t negative_response_code; bool has_payload; - openxc_DiagnosticMessage_payload_t payload; + openxc_DiagnosticResponse_payload_t payload; bool has_value; double value; -} openxc_DiagnosticMessage; +} openxc_DiagnosticResponse; typedef struct { size_t size; @@ -83,6 +115,13 @@ typedef struct _openxc_TranslatedMessage { bool boolean_event; } openxc_TranslatedMessage; +typedef struct _openxc_ControlCommand { + bool has_type; + openxc_ControlCommand_Type type; + bool has_diagnostic_request; + openxc_DiagnosticRequest diagnostic_request; +} openxc_ControlCommand; + typedef struct _openxc_VehicleMessage { bool has_type; openxc_VehicleMessage_Type type; @@ -90,21 +129,30 @@ typedef struct _openxc_VehicleMessage { openxc_RawMessage raw_message; bool has_translated_message; openxc_TranslatedMessage translated_message; - bool has_diagnostic_message; - openxc_DiagnosticMessage diagnostic_message; + bool has_diagnostic_response; + openxc_DiagnosticResponse diagnostic_response; } openxc_VehicleMessage; /* Default values for struct fields */ /* Field tags (for use in manual encoding/decoding) */ -#define openxc_DiagnosticMessage_bus_tag 1 -#define openxc_DiagnosticMessage_message_id_tag 2 -#define openxc_DiagnosticMessage_mode_tag 3 -#define openxc_DiagnosticMessage_pid_tag 4 -#define openxc_DiagnosticMessage_success_tag 5 -#define openxc_DiagnosticMessage_negative_response_code_tag 6 -#define openxc_DiagnosticMessage_payload_tag 7 -#define openxc_DiagnosticMessage_value_tag 8 +#define openxc_DiagnosticRequest_bus_tag 1 +#define openxc_DiagnosticRequest_message_id_tag 2 +#define openxc_DiagnosticRequest_mode_tag 3 +#define openxc_DiagnosticRequest_pid_tag 4 +#define openxc_DiagnosticRequest_payload_tag 5 +#define openxc_DiagnosticRequest_parse_payload_tag 6 +#define openxc_DiagnosticRequest_factor_tag 7 +#define openxc_DiagnosticRequest_offset_tag 8 +#define openxc_DiagnosticRequest_frequency_tag 9 +#define openxc_DiagnosticResponse_bus_tag 1 +#define openxc_DiagnosticResponse_message_id_tag 2 +#define openxc_DiagnosticResponse_mode_tag 3 +#define openxc_DiagnosticResponse_pid_tag 4 +#define openxc_DiagnosticResponse_success_tag 5 +#define openxc_DiagnosticResponse_negative_response_code_tag 6 +#define openxc_DiagnosticResponse_payload_tag 7 +#define openxc_DiagnosticResponse_value_tag 8 #define openxc_RawMessage_bus_tag 1 #define openxc_RawMessage_message_id_tag 2 #define openxc_RawMessage_data_tag 3 @@ -116,21 +164,27 @@ typedef struct _openxc_VehicleMessage { #define openxc_TranslatedMessage_string_event_tag 6 #define openxc_TranslatedMessage_numeric_event_tag 7 #define openxc_TranslatedMessage_boolean_event_tag 8 +#define openxc_ControlCommand_type_tag 1 +#define openxc_ControlCommand_diagnostic_request_tag 2 #define openxc_VehicleMessage_type_tag 1 #define openxc_VehicleMessage_raw_message_tag 2 #define openxc_VehicleMessage_translated_message_tag 3 -#define openxc_VehicleMessage_diagnostic_message_tag 4 +#define openxc_VehicleMessage_diagnostic_response_tag 4 /* Struct field encoding specification for nanopb */ extern const pb_field_t openxc_VehicleMessage_fields[5]; extern const pb_field_t openxc_RawMessage_fields[4]; -extern const pb_field_t openxc_DiagnosticMessage_fields[9]; +extern const pb_field_t openxc_ControlCommand_fields[3]; +extern const pb_field_t openxc_DiagnosticRequest_fields[10]; +extern const pb_field_t openxc_DiagnosticResponse_fields[9]; extern const pb_field_t openxc_TranslatedMessage_fields[9]; /* Maximum encoded size of messages (where known) */ #define openxc_VehicleMessage_size 430 #define openxc_RawMessage_size 27 -#define openxc_DiagnosticMessage_size 56 +#define openxc_ControlCommand_size 76 +#define openxc_DiagnosticRequest_size 68 +#define openxc_DiagnosticResponse_size 56 #define openxc_TranslatedMessage_size 334 #ifdef __cplusplus diff --git a/gen/java/com/openxc/BinaryMessages.java b/gen/java/com/openxc/BinaryMessages.java index 33936050..f1f47537 100644 --- a/gen/java/com/openxc/BinaryMessages.java +++ b/gen/java/com/openxc/BinaryMessages.java @@ -49,19 +49,19 @@ public final class BinaryMessages { */ com.openxc.BinaryMessages.TranslatedMessageOrBuilder getTranslatedMessageOrBuilder(); - // optional .openxc.DiagnosticMessage diagnostic_message = 4; + // optional .openxc.DiagnosticResponse diagnostic_response = 4; /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - boolean hasDiagnosticMessage(); + boolean hasDiagnosticResponse(); /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - com.openxc.BinaryMessages.DiagnosticMessage getDiagnosticMessage(); + com.openxc.BinaryMessages.DiagnosticResponse getDiagnosticResponse(); /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - com.openxc.BinaryMessages.DiagnosticMessageOrBuilder getDiagnosticMessageOrBuilder(); + com.openxc.BinaryMessages.DiagnosticResponseOrBuilder getDiagnosticResponseOrBuilder(); } /** * Protobuf type {@code openxc.VehicleMessage} @@ -152,14 +152,14 @@ public final class BinaryMessages { break; } case 34: { - com.openxc.BinaryMessages.DiagnosticMessage.Builder subBuilder = null; + com.openxc.BinaryMessages.DiagnosticResponse.Builder subBuilder = null; if (((bitField0_ & 0x00000008) == 0x00000008)) { - subBuilder = diagnosticMessage_.toBuilder(); + subBuilder = diagnosticResponse_.toBuilder(); } - diagnosticMessage_ = input.readMessage(com.openxc.BinaryMessages.DiagnosticMessage.PARSER, extensionRegistry); + diagnosticResponse_ = input.readMessage(com.openxc.BinaryMessages.DiagnosticResponse.PARSER, extensionRegistry); if (subBuilder != null) { - subBuilder.mergeFrom(diagnosticMessage_); - diagnosticMessage_ = subBuilder.buildPartial(); + subBuilder.mergeFrom(diagnosticResponse_); + diagnosticResponse_ = subBuilder.buildPartial(); } bitField0_ |= 0x00000008; break; @@ -355,33 +355,33 @@ public final class BinaryMessages { return translatedMessage_; } - // optional .openxc.DiagnosticMessage diagnostic_message = 4; - public static final int DIAGNOSTIC_MESSAGE_FIELD_NUMBER = 4; - private com.openxc.BinaryMessages.DiagnosticMessage diagnosticMessage_; + // optional .openxc.DiagnosticResponse diagnostic_response = 4; + public static final int DIAGNOSTIC_RESPONSE_FIELD_NUMBER = 4; + private com.openxc.BinaryMessages.DiagnosticResponse diagnosticResponse_; /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public boolean hasDiagnosticMessage() { + public boolean hasDiagnosticResponse() { return ((bitField0_ & 0x00000008) == 0x00000008); } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public com.openxc.BinaryMessages.DiagnosticMessage getDiagnosticMessage() { - return diagnosticMessage_; + public com.openxc.BinaryMessages.DiagnosticResponse getDiagnosticResponse() { + return diagnosticResponse_; } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public com.openxc.BinaryMessages.DiagnosticMessageOrBuilder getDiagnosticMessageOrBuilder() { - return diagnosticMessage_; + public com.openxc.BinaryMessages.DiagnosticResponseOrBuilder getDiagnosticResponseOrBuilder() { + return diagnosticResponse_; } private void initFields() { type_ = com.openxc.BinaryMessages.VehicleMessage.Type.RAW; rawMessage_ = com.openxc.BinaryMessages.RawMessage.getDefaultInstance(); translatedMessage_ = com.openxc.BinaryMessages.TranslatedMessage.getDefaultInstance(); - diagnosticMessage_ = com.openxc.BinaryMessages.DiagnosticMessage.getDefaultInstance(); + diagnosticResponse_ = com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -405,7 +405,7 @@ public final class BinaryMessages { output.writeMessage(3, translatedMessage_); } if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeMessage(4, diagnosticMessage_); + output.writeMessage(4, diagnosticResponse_); } getUnknownFields().writeTo(output); } @@ -430,7 +430,7 @@ public final class BinaryMessages { } if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream - .computeMessageSize(4, diagnosticMessage_); + .computeMessageSize(4, diagnosticResponse_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -542,7 +542,7 @@ public final class BinaryMessages { if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { getRawMessageFieldBuilder(); getTranslatedMessageFieldBuilder(); - getDiagnosticMessageFieldBuilder(); + getDiagnosticResponseFieldBuilder(); } } private static Builder create() { @@ -565,10 +565,10 @@ public final class BinaryMessages { translatedMessageBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000004); - if (diagnosticMessageBuilder_ == null) { - diagnosticMessage_ = com.openxc.BinaryMessages.DiagnosticMessage.getDefaultInstance(); + if (diagnosticResponseBuilder_ == null) { + diagnosticResponse_ = com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); } else { - diagnosticMessageBuilder_.clear(); + diagnosticResponseBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); return this; @@ -622,10 +622,10 @@ public final class BinaryMessages { if (((from_bitField0_ & 0x00000008) == 0x00000008)) { to_bitField0_ |= 0x00000008; } - if (diagnosticMessageBuilder_ == null) { - result.diagnosticMessage_ = diagnosticMessage_; + if (diagnosticResponseBuilder_ == null) { + result.diagnosticResponse_ = diagnosticResponse_; } else { - result.diagnosticMessage_ = diagnosticMessageBuilder_.build(); + result.diagnosticResponse_ = diagnosticResponseBuilder_.build(); } result.bitField0_ = to_bitField0_; onBuilt(); @@ -652,8 +652,8 @@ public final class BinaryMessages { if (other.hasTranslatedMessage()) { mergeTranslatedMessage(other.getTranslatedMessage()); } - if (other.hasDiagnosticMessage()) { - mergeDiagnosticMessage(other.getDiagnosticMessage()); + if (other.hasDiagnosticResponse()) { + mergeDiagnosticResponse(other.getDiagnosticResponse()); } this.mergeUnknownFields(other.getUnknownFields()); return this; @@ -952,121 +952,121 @@ public final class BinaryMessages { return translatedMessageBuilder_; } - // optional .openxc.DiagnosticMessage diagnostic_message = 4; - private com.openxc.BinaryMessages.DiagnosticMessage diagnosticMessage_ = com.openxc.BinaryMessages.DiagnosticMessage.getDefaultInstance(); + // optional .openxc.DiagnosticResponse diagnostic_response = 4; + private com.openxc.BinaryMessages.DiagnosticResponse diagnosticResponse_ = com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); private com.google.protobuf.SingleFieldBuilder< - com.openxc.BinaryMessages.DiagnosticMessage, com.openxc.BinaryMessages.DiagnosticMessage.Builder, com.openxc.BinaryMessages.DiagnosticMessageOrBuilder> diagnosticMessageBuilder_; + com.openxc.BinaryMessages.DiagnosticResponse, com.openxc.BinaryMessages.DiagnosticResponse.Builder, com.openxc.BinaryMessages.DiagnosticResponseOrBuilder> diagnosticResponseBuilder_; /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public boolean hasDiagnosticMessage() { + public boolean hasDiagnosticResponse() { return ((bitField0_ & 0x00000008) == 0x00000008); } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public com.openxc.BinaryMessages.DiagnosticMessage getDiagnosticMessage() { - if (diagnosticMessageBuilder_ == null) { - return diagnosticMessage_; + public com.openxc.BinaryMessages.DiagnosticResponse getDiagnosticResponse() { + if (diagnosticResponseBuilder_ == null) { + return diagnosticResponse_; } else { - return diagnosticMessageBuilder_.getMessage(); + return diagnosticResponseBuilder_.getMessage(); } } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public Builder setDiagnosticMessage(com.openxc.BinaryMessages.DiagnosticMessage value) { - if (diagnosticMessageBuilder_ == null) { + public Builder setDiagnosticResponse(com.openxc.BinaryMessages.DiagnosticResponse value) { + if (diagnosticResponseBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - diagnosticMessage_ = value; + diagnosticResponse_ = value; onChanged(); } else { - diagnosticMessageBuilder_.setMessage(value); + diagnosticResponseBuilder_.setMessage(value); } bitField0_ |= 0x00000008; return this; } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public Builder setDiagnosticMessage( - com.openxc.BinaryMessages.DiagnosticMessage.Builder builderForValue) { - if (diagnosticMessageBuilder_ == null) { - diagnosticMessage_ = builderForValue.build(); + public Builder setDiagnosticResponse( + com.openxc.BinaryMessages.DiagnosticResponse.Builder builderForValue) { + if (diagnosticResponseBuilder_ == null) { + diagnosticResponse_ = builderForValue.build(); onChanged(); } else { - diagnosticMessageBuilder_.setMessage(builderForValue.build()); + diagnosticResponseBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000008; return this; } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public Builder mergeDiagnosticMessage(com.openxc.BinaryMessages.DiagnosticMessage value) { - if (diagnosticMessageBuilder_ == null) { + public Builder mergeDiagnosticResponse(com.openxc.BinaryMessages.DiagnosticResponse value) { + if (diagnosticResponseBuilder_ == null) { if (((bitField0_ & 0x00000008) == 0x00000008) && - diagnosticMessage_ != com.openxc.BinaryMessages.DiagnosticMessage.getDefaultInstance()) { - diagnosticMessage_ = - com.openxc.BinaryMessages.DiagnosticMessage.newBuilder(diagnosticMessage_).mergeFrom(value).buildPartial(); + diagnosticResponse_ != com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance()) { + diagnosticResponse_ = + com.openxc.BinaryMessages.DiagnosticResponse.newBuilder(diagnosticResponse_).mergeFrom(value).buildPartial(); } else { - diagnosticMessage_ = value; + diagnosticResponse_ = value; } onChanged(); } else { - diagnosticMessageBuilder_.mergeFrom(value); + diagnosticResponseBuilder_.mergeFrom(value); } bitField0_ |= 0x00000008; return this; } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public Builder clearDiagnosticMessage() { - if (diagnosticMessageBuilder_ == null) { - diagnosticMessage_ = com.openxc.BinaryMessages.DiagnosticMessage.getDefaultInstance(); + public Builder clearDiagnosticResponse() { + if (diagnosticResponseBuilder_ == null) { + diagnosticResponse_ = com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); onChanged(); } else { - diagnosticMessageBuilder_.clear(); + diagnosticResponseBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); return this; } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public com.openxc.BinaryMessages.DiagnosticMessage.Builder getDiagnosticMessageBuilder() { + public com.openxc.BinaryMessages.DiagnosticResponse.Builder getDiagnosticResponseBuilder() { bitField0_ |= 0x00000008; onChanged(); - return getDiagnosticMessageFieldBuilder().getBuilder(); + return getDiagnosticResponseFieldBuilder().getBuilder(); } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ - public com.openxc.BinaryMessages.DiagnosticMessageOrBuilder getDiagnosticMessageOrBuilder() { - if (diagnosticMessageBuilder_ != null) { - return diagnosticMessageBuilder_.getMessageOrBuilder(); + public com.openxc.BinaryMessages.DiagnosticResponseOrBuilder getDiagnosticResponseOrBuilder() { + if (diagnosticResponseBuilder_ != null) { + return diagnosticResponseBuilder_.getMessageOrBuilder(); } else { - return diagnosticMessage_; + return diagnosticResponse_; } } /** - * optional .openxc.DiagnosticMessage diagnostic_message = 4; + * optional .openxc.DiagnosticResponse diagnostic_response = 4; */ private com.google.protobuf.SingleFieldBuilder< - com.openxc.BinaryMessages.DiagnosticMessage, com.openxc.BinaryMessages.DiagnosticMessage.Builder, com.openxc.BinaryMessages.DiagnosticMessageOrBuilder> - getDiagnosticMessageFieldBuilder() { - if (diagnosticMessageBuilder_ == null) { - diagnosticMessageBuilder_ = new com.google.protobuf.SingleFieldBuilder< - com.openxc.BinaryMessages.DiagnosticMessage, com.openxc.BinaryMessages.DiagnosticMessage.Builder, com.openxc.BinaryMessages.DiagnosticMessageOrBuilder>( - diagnosticMessage_, + com.openxc.BinaryMessages.DiagnosticResponse, com.openxc.BinaryMessages.DiagnosticResponse.Builder, com.openxc.BinaryMessages.DiagnosticResponseOrBuilder> + getDiagnosticResponseFieldBuilder() { + if (diagnosticResponseBuilder_ == null) { + diagnosticResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DiagnosticResponse, com.openxc.BinaryMessages.DiagnosticResponse.Builder, com.openxc.BinaryMessages.DiagnosticResponseOrBuilder>( + diagnosticResponse_, getParentForChildren(), isClean()); - diagnosticMessage_ = null; + diagnosticResponse_ = null; } - return diagnosticMessageBuilder_; + return diagnosticResponseBuilder_; } // @@protoc_insertion_point(builder_scope:openxc.VehicleMessage) @@ -1641,7 +1641,1782 @@ public final class BinaryMessages { // @@protoc_insertion_point(class_scope:openxc.RawMessage) } - public interface DiagnosticMessageOrBuilder + public interface ControlCommandOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .openxc.ControlCommand.Type type = 1; + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + boolean hasType(); + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + com.openxc.BinaryMessages.ControlCommand.Type getType(); + + // optional .openxc.DiagnosticRequest diagnostic_request = 2; + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + boolean hasDiagnosticRequest(); + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + com.openxc.BinaryMessages.DiagnosticRequest getDiagnosticRequest(); + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getDiagnosticRequestOrBuilder(); + } + /** + * Protobuf type {@code openxc.ControlCommand} + */ + public static final class ControlCommand extends + com.google.protobuf.GeneratedMessage + implements ControlCommandOrBuilder { + // Use ControlCommand.newBuilder() to construct. + private ControlCommand(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private ControlCommand(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final ControlCommand defaultInstance; + public static ControlCommand getDefaultInstance() { + return defaultInstance; + } + + public ControlCommand getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ControlCommand( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + int rawValue = input.readEnum(); + com.openxc.BinaryMessages.ControlCommand.Type value = com.openxc.BinaryMessages.ControlCommand.Type.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(1, rawValue); + } else { + bitField0_ |= 0x00000001; + type_ = value; + } + break; + } + case 18: { + com.openxc.BinaryMessages.DiagnosticRequest.Builder subBuilder = null; + if (((bitField0_ & 0x00000002) == 0x00000002)) { + subBuilder = diagnosticRequest_.toBuilder(); + } + diagnosticRequest_ = input.readMessage(com.openxc.BinaryMessages.DiagnosticRequest.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(diagnosticRequest_); + diagnosticRequest_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000002; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_ControlCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_ControlCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.ControlCommand.class, com.openxc.BinaryMessages.ControlCommand.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public ControlCommand parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ControlCommand(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + /** + * Protobuf enum {@code openxc.ControlCommand.Type} + */ + public enum Type + implements com.google.protobuf.ProtocolMessageEnum { + /** + * VERSION = 1; + */ + VERSION(0, 1), + /** + * DEVICE_ID = 2; + */ + DEVICE_ID(1, 2), + /** + * DIAGNOSTIC = 3; + */ + DIAGNOSTIC(2, 3), + ; + + /** + * VERSION = 1; + */ + public static final int VERSION_VALUE = 1; + /** + * DEVICE_ID = 2; + */ + public static final int DEVICE_ID_VALUE = 2; + /** + * DIAGNOSTIC = 3; + */ + public static final int DIAGNOSTIC_VALUE = 3; + + + public final int getNumber() { return value; } + + public static Type valueOf(int value) { + switch (value) { + case 1: return VERSION; + case 2: return DEVICE_ID; + case 3: return DIAGNOSTIC; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.valueOf(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + return getDescriptor().getValues().get(index); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return com.openxc.BinaryMessages.ControlCommand.getDescriptor().getEnumTypes().get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + return VALUES[desc.getIndex()]; + } + + private final int index; + private final int value; + + private Type(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:openxc.ControlCommand.Type) + } + + private int bitField0_; + // optional .openxc.ControlCommand.Type type = 1; + public static final int TYPE_FIELD_NUMBER = 1; + private com.openxc.BinaryMessages.ControlCommand.Type type_; + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + public com.openxc.BinaryMessages.ControlCommand.Type getType() { + return type_; + } + + // optional .openxc.DiagnosticRequest diagnostic_request = 2; + public static final int DIAGNOSTIC_REQUEST_FIELD_NUMBER = 2; + private com.openxc.BinaryMessages.DiagnosticRequest diagnosticRequest_; + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public boolean hasDiagnosticRequest() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public com.openxc.BinaryMessages.DiagnosticRequest getDiagnosticRequest() { + return diagnosticRequest_; + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getDiagnosticRequestOrBuilder() { + return diagnosticRequest_; + } + + private void initFields() { + type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; + diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeEnum(1, type_.getNumber()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeMessage(2, diagnosticRequest_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, type_.getNumber()); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, diagnosticRequest_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static com.openxc.BinaryMessages.ControlCommand parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.ControlCommand parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.ControlCommand parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.ControlCommand parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.ControlCommand parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.ControlCommand parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.ControlCommand parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.ControlCommand parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.ControlCommand parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.ControlCommand parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(com.openxc.BinaryMessages.ControlCommand prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code openxc.ControlCommand} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements com.openxc.BinaryMessages.ControlCommandOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_ControlCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_ControlCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.ControlCommand.class, com.openxc.BinaryMessages.ControlCommand.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.ControlCommand.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getDiagnosticRequestFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; + bitField0_ = (bitField0_ & ~0x00000001); + if (diagnosticRequestBuilder_ == null) { + diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + } else { + diagnosticRequestBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.openxc.BinaryMessages.internal_static_openxc_ControlCommand_descriptor; + } + + public com.openxc.BinaryMessages.ControlCommand getDefaultInstanceForType() { + return com.openxc.BinaryMessages.ControlCommand.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.ControlCommand build() { + com.openxc.BinaryMessages.ControlCommand result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.ControlCommand buildPartial() { + com.openxc.BinaryMessages.ControlCommand result = new com.openxc.BinaryMessages.ControlCommand(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.type_ = type_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + if (diagnosticRequestBuilder_ == null) { + result.diagnosticRequest_ = diagnosticRequest_; + } else { + result.diagnosticRequest_ = diagnosticRequestBuilder_.build(); + } + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.ControlCommand) { + return mergeFrom((com.openxc.BinaryMessages.ControlCommand)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.ControlCommand other) { + if (other == com.openxc.BinaryMessages.ControlCommand.getDefaultInstance()) return this; + if (other.hasType()) { + setType(other.getType()); + } + if (other.hasDiagnosticRequest()) { + mergeDiagnosticRequest(other.getDiagnosticRequest()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.openxc.BinaryMessages.ControlCommand parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.ControlCommand) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .openxc.ControlCommand.Type type = 1; + private com.openxc.BinaryMessages.ControlCommand.Type type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + public com.openxc.BinaryMessages.ControlCommand.Type getType() { + return type_; + } + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + public Builder setType(com.openxc.BinaryMessages.ControlCommand.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value; + onChanged(); + return this; + } + /** + * optional .openxc.ControlCommand.Type type = 1; + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; + onChanged(); + return this; + } + + // optional .openxc.DiagnosticRequest diagnostic_request = 2; + private com.openxc.BinaryMessages.DiagnosticRequest diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder> diagnosticRequestBuilder_; + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public boolean hasDiagnosticRequest() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public com.openxc.BinaryMessages.DiagnosticRequest getDiagnosticRequest() { + if (diagnosticRequestBuilder_ == null) { + return diagnosticRequest_; + } else { + return diagnosticRequestBuilder_.getMessage(); + } + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public Builder setDiagnosticRequest(com.openxc.BinaryMessages.DiagnosticRequest value) { + if (diagnosticRequestBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + diagnosticRequest_ = value; + onChanged(); + } else { + diagnosticRequestBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public Builder setDiagnosticRequest( + com.openxc.BinaryMessages.DiagnosticRequest.Builder builderForValue) { + if (diagnosticRequestBuilder_ == null) { + diagnosticRequest_ = builderForValue.build(); + onChanged(); + } else { + diagnosticRequestBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public Builder mergeDiagnosticRequest(com.openxc.BinaryMessages.DiagnosticRequest value) { + if (diagnosticRequestBuilder_ == null) { + if (((bitField0_ & 0x00000002) == 0x00000002) && + diagnosticRequest_ != com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance()) { + diagnosticRequest_ = + com.openxc.BinaryMessages.DiagnosticRequest.newBuilder(diagnosticRequest_).mergeFrom(value).buildPartial(); + } else { + diagnosticRequest_ = value; + } + onChanged(); + } else { + diagnosticRequestBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + return this; + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public Builder clearDiagnosticRequest() { + if (diagnosticRequestBuilder_ == null) { + diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + onChanged(); + } else { + diagnosticRequestBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000002); + return this; + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public com.openxc.BinaryMessages.DiagnosticRequest.Builder getDiagnosticRequestBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getDiagnosticRequestFieldBuilder().getBuilder(); + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + public com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getDiagnosticRequestOrBuilder() { + if (diagnosticRequestBuilder_ != null) { + return diagnosticRequestBuilder_.getMessageOrBuilder(); + } else { + return diagnosticRequest_; + } + } + /** + * optional .openxc.DiagnosticRequest diagnostic_request = 2; + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder> + getDiagnosticRequestFieldBuilder() { + if (diagnosticRequestBuilder_ == null) { + diagnosticRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder>( + diagnosticRequest_, + getParentForChildren(), + isClean()); + diagnosticRequest_ = null; + } + return diagnosticRequestBuilder_; + } + + // @@protoc_insertion_point(builder_scope:openxc.ControlCommand) + } + + static { + defaultInstance = new ControlCommand(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.ControlCommand) + } + + public interface DiagnosticRequestOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional int32 bus = 1; + /** + * optional int32 bus = 1; + */ + boolean hasBus(); + /** + * optional int32 bus = 1; + */ + int getBus(); + + // optional uint32 message_id = 2; + /** + * optional uint32 message_id = 2; + */ + boolean hasMessageId(); + /** + * optional uint32 message_id = 2; + */ + int getMessageId(); + + // optional uint32 mode = 3; + /** + * optional uint32 mode = 3; + */ + boolean hasMode(); + /** + * optional uint32 mode = 3; + */ + int getMode(); + + // optional uint32 pid = 4; + /** + * optional uint32 pid = 4; + */ + boolean hasPid(); + /** + * optional uint32 pid = 4; + */ + int getPid(); + + // optional bytes payload = 5; + /** + * optional bytes payload = 5; + * + *
+     * TODO we are capping this at 8 bytes for now - need to change when we
+     * support multi-frame responses
+     * 
+ */ + boolean hasPayload(); + /** + * optional bytes payload = 5; + * + *
+     * TODO we are capping this at 8 bytes for now - need to change when we
+     * support multi-frame responses
+     * 
+ */ + com.google.protobuf.ByteString getPayload(); + + // optional bool parse_payload = 6; + /** + * optional bool parse_payload = 6; + */ + boolean hasParsePayload(); + /** + * optional bool parse_payload = 6; + */ + boolean getParsePayload(); + + // optional double factor = 7; + /** + * optional double factor = 7; + */ + boolean hasFactor(); + /** + * optional double factor = 7; + */ + double getFactor(); + + // optional double offset = 8; + /** + * optional double offset = 8; + */ + boolean hasOffset(); + /** + * optional double offset = 8; + */ + double getOffset(); + + // optional double frequency = 9; + /** + * optional double frequency = 9; + */ + boolean hasFrequency(); + /** + * optional double frequency = 9; + */ + double getFrequency(); + } + /** + * Protobuf type {@code openxc.DiagnosticRequest} + */ + public static final class DiagnosticRequest extends + com.google.protobuf.GeneratedMessage + implements DiagnosticRequestOrBuilder { + // Use DiagnosticRequest.newBuilder() to construct. + private DiagnosticRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DiagnosticRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DiagnosticRequest defaultInstance; + public static DiagnosticRequest getDefaultInstance() { + return defaultInstance; + } + + public DiagnosticRequest getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DiagnosticRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + initFields(); + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(input, unknownFields, + extensionRegistry, tag)) { + done = true; + } + break; + } + case 8: { + bitField0_ |= 0x00000001; + bus_ = input.readInt32(); + break; + } + case 16: { + bitField0_ |= 0x00000002; + messageId_ = input.readUInt32(); + break; + } + case 24: { + bitField0_ |= 0x00000004; + mode_ = input.readUInt32(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + pid_ = input.readUInt32(); + break; + } + case 42: { + bitField0_ |= 0x00000010; + payload_ = input.readBytes(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + parsePayload_ = input.readBool(); + break; + } + case 57: { + bitField0_ |= 0x00000040; + factor_ = input.readDouble(); + break; + } + case 65: { + bitField0_ |= 0x00000080; + offset_ = input.readDouble(); + break; + } + case 73: { + bitField0_ |= 0x00000100; + frequency_ = input.readDouble(); + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticRequest_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.DiagnosticRequest.class, com.openxc.BinaryMessages.DiagnosticRequest.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public DiagnosticRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DiagnosticRequest(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional int32 bus = 1; + public static final int BUS_FIELD_NUMBER = 1; + private int bus_; + /** + * optional int32 bus = 1; + */ + public boolean hasBus() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional int32 bus = 1; + */ + public int getBus() { + return bus_; + } + + // optional uint32 message_id = 2; + public static final int MESSAGE_ID_FIELD_NUMBER = 2; + private int messageId_; + /** + * optional uint32 message_id = 2; + */ + public boolean hasMessageId() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional uint32 message_id = 2; + */ + public int getMessageId() { + return messageId_; + } + + // optional uint32 mode = 3; + public static final int MODE_FIELD_NUMBER = 3; + private int mode_; + /** + * optional uint32 mode = 3; + */ + public boolean hasMode() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional uint32 mode = 3; + */ + public int getMode() { + return mode_; + } + + // optional uint32 pid = 4; + public static final int PID_FIELD_NUMBER = 4; + private int pid_; + /** + * optional uint32 pid = 4; + */ + public boolean hasPid() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional uint32 pid = 4; + */ + public int getPid() { + return pid_; + } + + // optional bytes payload = 5; + public static final int PAYLOAD_FIELD_NUMBER = 5; + private com.google.protobuf.ByteString payload_; + /** + * optional bytes payload = 5; + * + *
+     * TODO we are capping this at 8 bytes for now - need to change when we
+     * support multi-frame responses
+     * 
+ */ + public boolean hasPayload() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes payload = 5; + * + *
+     * TODO we are capping this at 8 bytes for now - need to change when we
+     * support multi-frame responses
+     * 
+ */ + public com.google.protobuf.ByteString getPayload() { + return payload_; + } + + // optional bool parse_payload = 6; + public static final int PARSE_PAYLOAD_FIELD_NUMBER = 6; + private boolean parsePayload_; + /** + * optional bool parse_payload = 6; + */ + public boolean hasParsePayload() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional bool parse_payload = 6; + */ + public boolean getParsePayload() { + return parsePayload_; + } + + // optional double factor = 7; + public static final int FACTOR_FIELD_NUMBER = 7; + private double factor_; + /** + * optional double factor = 7; + */ + public boolean hasFactor() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional double factor = 7; + */ + public double getFactor() { + return factor_; + } + + // optional double offset = 8; + public static final int OFFSET_FIELD_NUMBER = 8; + private double offset_; + /** + * optional double offset = 8; + */ + public boolean hasOffset() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional double offset = 8; + */ + public double getOffset() { + return offset_; + } + + // optional double frequency = 9; + public static final int FREQUENCY_FIELD_NUMBER = 9; + private double frequency_; + /** + * optional double frequency = 9; + */ + public boolean hasFrequency() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * optional double frequency = 9; + */ + public double getFrequency() { + return frequency_; + } + + private void initFields() { + bus_ = 0; + messageId_ = 0; + mode_ = 0; + pid_ = 0; + payload_ = com.google.protobuf.ByteString.EMPTY; + parsePayload_ = false; + factor_ = 0D; + offset_ = 0D; + frequency_ = 0D; + } + private byte memoizedIsInitialized = -1; + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; + return true; + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + getSerializedSize(); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, bus_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeUInt32(2, messageId_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeUInt32(3, mode_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeUInt32(4, pid_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBytes(5, payload_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeBool(6, parsePayload_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeDouble(7, factor_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + output.writeDouble(8, offset_); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + output.writeDouble(9, frequency_); + } + getUnknownFields().writeTo(output); + } + + private int memoizedSerializedSize = -1; + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(1, bus_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, messageId_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(3, mode_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(4, pid_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(5, payload_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(6, parsePayload_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(7, factor_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(8, offset_); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(9, frequency_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.DiagnosticRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + + public static Builder newBuilder() { return Builder.create(); } + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder(com.openxc.BinaryMessages.DiagnosticRequest prototype) { + return newBuilder().mergeFrom(prototype); + } + public Builder toBuilder() { return newBuilder(this); } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * Protobuf type {@code openxc.DiagnosticRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements com.openxc.BinaryMessages.DiagnosticRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticRequest_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.DiagnosticRequest.class, com.openxc.BinaryMessages.DiagnosticRequest.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.DiagnosticRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + bus_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + messageId_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + mode_ = 0; + bitField0_ = (bitField0_ & ~0x00000004); + pid_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); + payload_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000010); + parsePayload_ = false; + bitField0_ = (bitField0_ & ~0x00000020); + factor_ = 0D; + bitField0_ = (bitField0_ & ~0x00000040); + offset_ = 0D; + bitField0_ = (bitField0_ & ~0x00000080); + frequency_ = 0D; + bitField0_ = (bitField0_ & ~0x00000100); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticRequest_descriptor; + } + + public com.openxc.BinaryMessages.DiagnosticRequest getDefaultInstanceForType() { + return com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.DiagnosticRequest build() { + com.openxc.BinaryMessages.DiagnosticRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.DiagnosticRequest buildPartial() { + com.openxc.BinaryMessages.DiagnosticRequest result = new com.openxc.BinaryMessages.DiagnosticRequest(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.bus_ = bus_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.messageId_ = messageId_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.mode_ = mode_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.pid_ = pid_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.payload_ = payload_; + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + result.parsePayload_ = parsePayload_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; + } + result.factor_ = factor_; + if (((from_bitField0_ & 0x00000080) == 0x00000080)) { + to_bitField0_ |= 0x00000080; + } + result.offset_ = offset_; + if (((from_bitField0_ & 0x00000100) == 0x00000100)) { + to_bitField0_ |= 0x00000100; + } + result.frequency_ = frequency_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.DiagnosticRequest) { + return mergeFrom((com.openxc.BinaryMessages.DiagnosticRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.DiagnosticRequest other) { + if (other == com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance()) return this; + if (other.hasBus()) { + setBus(other.getBus()); + } + if (other.hasMessageId()) { + setMessageId(other.getMessageId()); + } + if (other.hasMode()) { + setMode(other.getMode()); + } + if (other.hasPid()) { + setPid(other.getPid()); + } + if (other.hasPayload()) { + setPayload(other.getPayload()); + } + if (other.hasParsePayload()) { + setParsePayload(other.getParsePayload()); + } + if (other.hasFactor()) { + setFactor(other.getFactor()); + } + if (other.hasOffset()) { + setOffset(other.getOffset()); + } + if (other.hasFrequency()) { + setFrequency(other.getFrequency()); + } + this.mergeUnknownFields(other.getUnknownFields()); + return this; + } + + public final boolean isInitialized() { + return true; + } + + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.openxc.BinaryMessages.DiagnosticRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.DiagnosticRequest) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional int32 bus = 1; + private int bus_ ; + /** + * optional int32 bus = 1; + */ + public boolean hasBus() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional int32 bus = 1; + */ + public int getBus() { + return bus_; + } + /** + * optional int32 bus = 1; + */ + public Builder setBus(int value) { + bitField0_ |= 0x00000001; + bus_ = value; + onChanged(); + return this; + } + /** + * optional int32 bus = 1; + */ + public Builder clearBus() { + bitField0_ = (bitField0_ & ~0x00000001); + bus_ = 0; + onChanged(); + return this; + } + + // optional uint32 message_id = 2; + private int messageId_ ; + /** + * optional uint32 message_id = 2; + */ + public boolean hasMessageId() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional uint32 message_id = 2; + */ + public int getMessageId() { + return messageId_; + } + /** + * optional uint32 message_id = 2; + */ + public Builder setMessageId(int value) { + bitField0_ |= 0x00000002; + messageId_ = value; + onChanged(); + return this; + } + /** + * optional uint32 message_id = 2; + */ + public Builder clearMessageId() { + bitField0_ = (bitField0_ & ~0x00000002); + messageId_ = 0; + onChanged(); + return this; + } + + // optional uint32 mode = 3; + private int mode_ ; + /** + * optional uint32 mode = 3; + */ + public boolean hasMode() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional uint32 mode = 3; + */ + public int getMode() { + return mode_; + } + /** + * optional uint32 mode = 3; + */ + public Builder setMode(int value) { + bitField0_ |= 0x00000004; + mode_ = value; + onChanged(); + return this; + } + /** + * optional uint32 mode = 3; + */ + public Builder clearMode() { + bitField0_ = (bitField0_ & ~0x00000004); + mode_ = 0; + onChanged(); + return this; + } + + // optional uint32 pid = 4; + private int pid_ ; + /** + * optional uint32 pid = 4; + */ + public boolean hasPid() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional uint32 pid = 4; + */ + public int getPid() { + return pid_; + } + /** + * optional uint32 pid = 4; + */ + public Builder setPid(int value) { + bitField0_ |= 0x00000008; + pid_ = value; + onChanged(); + return this; + } + /** + * optional uint32 pid = 4; + */ + public Builder clearPid() { + bitField0_ = (bitField0_ & ~0x00000008); + pid_ = 0; + onChanged(); + return this; + } + + // optional bytes payload = 5; + private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes payload = 5; + * + *
+       * TODO we are capping this at 8 bytes for now - need to change when we
+       * support multi-frame responses
+       * 
+ */ + public boolean hasPayload() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bytes payload = 5; + * + *
+       * TODO we are capping this at 8 bytes for now - need to change when we
+       * support multi-frame responses
+       * 
+ */ + public com.google.protobuf.ByteString getPayload() { + return payload_; + } + /** + * optional bytes payload = 5; + * + *
+       * TODO we are capping this at 8 bytes for now - need to change when we
+       * support multi-frame responses
+       * 
+ */ + public Builder setPayload(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000010; + payload_ = value; + onChanged(); + return this; + } + /** + * optional bytes payload = 5; + * + *
+       * TODO we are capping this at 8 bytes for now - need to change when we
+       * support multi-frame responses
+       * 
+ */ + public Builder clearPayload() { + bitField0_ = (bitField0_ & ~0x00000010); + payload_ = getDefaultInstance().getPayload(); + onChanged(); + return this; + } + + // optional bool parse_payload = 6; + private boolean parsePayload_ ; + /** + * optional bool parse_payload = 6; + */ + public boolean hasParsePayload() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional bool parse_payload = 6; + */ + public boolean getParsePayload() { + return parsePayload_; + } + /** + * optional bool parse_payload = 6; + */ + public Builder setParsePayload(boolean value) { + bitField0_ |= 0x00000020; + parsePayload_ = value; + onChanged(); + return this; + } + /** + * optional bool parse_payload = 6; + */ + public Builder clearParsePayload() { + bitField0_ = (bitField0_ & ~0x00000020); + parsePayload_ = false; + onChanged(); + return this; + } + + // optional double factor = 7; + private double factor_ ; + /** + * optional double factor = 7; + */ + public boolean hasFactor() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional double factor = 7; + */ + public double getFactor() { + return factor_; + } + /** + * optional double factor = 7; + */ + public Builder setFactor(double value) { + bitField0_ |= 0x00000040; + factor_ = value; + onChanged(); + return this; + } + /** + * optional double factor = 7; + */ + public Builder clearFactor() { + bitField0_ = (bitField0_ & ~0x00000040); + factor_ = 0D; + onChanged(); + return this; + } + + // optional double offset = 8; + private double offset_ ; + /** + * optional double offset = 8; + */ + public boolean hasOffset() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional double offset = 8; + */ + public double getOffset() { + return offset_; + } + /** + * optional double offset = 8; + */ + public Builder setOffset(double value) { + bitField0_ |= 0x00000080; + offset_ = value; + onChanged(); + return this; + } + /** + * optional double offset = 8; + */ + public Builder clearOffset() { + bitField0_ = (bitField0_ & ~0x00000080); + offset_ = 0D; + onChanged(); + return this; + } + + // optional double frequency = 9; + private double frequency_ ; + /** + * optional double frequency = 9; + */ + public boolean hasFrequency() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * optional double frequency = 9; + */ + public double getFrequency() { + return frequency_; + } + /** + * optional double frequency = 9; + */ + public Builder setFrequency(double value) { + bitField0_ |= 0x00000100; + frequency_ = value; + onChanged(); + return this; + } + /** + * optional double frequency = 9; + */ + public Builder clearFrequency() { + bitField0_ = (bitField0_ & ~0x00000100); + frequency_ = 0D; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.DiagnosticRequest) + } + + static { + defaultInstance = new DiagnosticRequest(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.DiagnosticRequest) + } + + public interface DiagnosticResponseOrBuilder extends com.google.protobuf.MessageOrBuilder { // optional int32 bus = 1; @@ -1735,24 +3510,24 @@ public final class BinaryMessages { double getValue(); } /** - * Protobuf type {@code openxc.DiagnosticMessage} + * Protobuf type {@code openxc.DiagnosticResponse} */ - public static final class DiagnosticMessage extends + public static final class DiagnosticResponse extends com.google.protobuf.GeneratedMessage - implements DiagnosticMessageOrBuilder { - // Use DiagnosticMessage.newBuilder() to construct. - private DiagnosticMessage(com.google.protobuf.GeneratedMessage.Builder builder) { + implements DiagnosticResponseOrBuilder { + // Use DiagnosticResponse.newBuilder() to construct. + private DiagnosticResponse(com.google.protobuf.GeneratedMessage.Builder builder) { super(builder); this.unknownFields = builder.getUnknownFields(); } - private DiagnosticMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + private DiagnosticResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - private static final DiagnosticMessage defaultInstance; - public static DiagnosticMessage getDefaultInstance() { + private static final DiagnosticResponse defaultInstance; + public static DiagnosticResponse getDefaultInstance() { return defaultInstance; } - public DiagnosticMessage getDefaultInstanceForType() { + public DiagnosticResponse getDefaultInstanceForType() { return defaultInstance; } @@ -1762,7 +3537,7 @@ public final class BinaryMessages { getUnknownFields() { return this.unknownFields; } - private DiagnosticMessage( + private DiagnosticResponse( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -1839,28 +3614,28 @@ public final class BinaryMessages { } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticMessage_descriptor; + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_descriptor; } protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticMessage_fieldAccessorTable + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.openxc.BinaryMessages.DiagnosticMessage.class, com.openxc.BinaryMessages.DiagnosticMessage.Builder.class); + com.openxc.BinaryMessages.DiagnosticResponse.class, com.openxc.BinaryMessages.DiagnosticResponse.Builder.class); } - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public DiagnosticMessage parsePartialFrom( + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public DiagnosticResponse parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new DiagnosticMessage(input, extensionRegistry); + return new DiagnosticResponse(input, extensionRegistry); } }; @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @@ -2102,53 +3877,53 @@ public final class BinaryMessages { return super.writeReplace(); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom( + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom( + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom(byte[] data) + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom( + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom(java.io.InputStream input) + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom( + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return PARSER.parseFrom(input, extensionRegistry); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseDelimitedFrom(java.io.InputStream input) + public static com.openxc.BinaryMessages.DiagnosticResponse parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseDelimitedFrom(input); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseDelimitedFrom( + public static com.openxc.BinaryMessages.DiagnosticResponse parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return PARSER.parseDelimitedFrom(input, extensionRegistry); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom( + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static com.openxc.BinaryMessages.DiagnosticMessage parseFrom( + public static com.openxc.BinaryMessages.DiagnosticResponse parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2157,7 +3932,7 @@ public final class BinaryMessages { public static Builder newBuilder() { return Builder.create(); } public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(com.openxc.BinaryMessages.DiagnosticMessage prototype) { + public static Builder newBuilder(com.openxc.BinaryMessages.DiagnosticResponse prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); } @@ -2169,24 +3944,24 @@ public final class BinaryMessages { return builder; } /** - * Protobuf type {@code openxc.DiagnosticMessage} + * Protobuf type {@code openxc.DiagnosticResponse} */ public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder - implements com.openxc.BinaryMessages.DiagnosticMessageOrBuilder { + implements com.openxc.BinaryMessages.DiagnosticResponseOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticMessage_descriptor; + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_descriptor; } protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticMessage_fieldAccessorTable + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.openxc.BinaryMessages.DiagnosticMessage.class, com.openxc.BinaryMessages.DiagnosticMessage.Builder.class); + com.openxc.BinaryMessages.DiagnosticResponse.class, com.openxc.BinaryMessages.DiagnosticResponse.Builder.class); } - // Construct using com.openxc.BinaryMessages.DiagnosticMessage.newBuilder() + // Construct using com.openxc.BinaryMessages.DiagnosticResponse.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -2231,23 +4006,23 @@ public final class BinaryMessages { public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticMessage_descriptor; + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_descriptor; } - public com.openxc.BinaryMessages.DiagnosticMessage getDefaultInstanceForType() { - return com.openxc.BinaryMessages.DiagnosticMessage.getDefaultInstance(); + public com.openxc.BinaryMessages.DiagnosticResponse getDefaultInstanceForType() { + return com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); } - public com.openxc.BinaryMessages.DiagnosticMessage build() { - com.openxc.BinaryMessages.DiagnosticMessage result = buildPartial(); + public com.openxc.BinaryMessages.DiagnosticResponse build() { + com.openxc.BinaryMessages.DiagnosticResponse result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - public com.openxc.BinaryMessages.DiagnosticMessage buildPartial() { - com.openxc.BinaryMessages.DiagnosticMessage result = new com.openxc.BinaryMessages.DiagnosticMessage(this); + public com.openxc.BinaryMessages.DiagnosticResponse buildPartial() { + com.openxc.BinaryMessages.DiagnosticResponse result = new com.openxc.BinaryMessages.DiagnosticResponse(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { @@ -2288,16 +4063,16 @@ public final class BinaryMessages { } public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.openxc.BinaryMessages.DiagnosticMessage) { - return mergeFrom((com.openxc.BinaryMessages.DiagnosticMessage)other); + if (other instanceof com.openxc.BinaryMessages.DiagnosticResponse) { + return mergeFrom((com.openxc.BinaryMessages.DiagnosticResponse)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(com.openxc.BinaryMessages.DiagnosticMessage other) { - if (other == com.openxc.BinaryMessages.DiagnosticMessage.getDefaultInstance()) return this; + public Builder mergeFrom(com.openxc.BinaryMessages.DiagnosticResponse other) { + if (other == com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance()) return this; if (other.hasBus()) { setBus(other.getBus()); } @@ -2334,11 +4109,11 @@ public final class BinaryMessages { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - com.openxc.BinaryMessages.DiagnosticMessage parsedMessage = null; + com.openxc.BinaryMessages.DiagnosticResponse parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.openxc.BinaryMessages.DiagnosticMessage) e.getUnfinishedMessage(); + parsedMessage = (com.openxc.BinaryMessages.DiagnosticResponse) e.getUnfinishedMessage(); throw e; } finally { if (parsedMessage != null) { @@ -2636,15 +4411,15 @@ public final class BinaryMessages { return this; } - // @@protoc_insertion_point(builder_scope:openxc.DiagnosticMessage) + // @@protoc_insertion_point(builder_scope:openxc.DiagnosticResponse) } static { - defaultInstance = new DiagnosticMessage(true); + defaultInstance = new DiagnosticResponse(true); defaultInstance.initFields(); } - // @@protoc_insertion_point(class_scope:openxc.DiagnosticMessage) + // @@protoc_insertion_point(class_scope:openxc.DiagnosticResponse) } public interface TranslatedMessageOrBuilder @@ -3973,10 +5748,20 @@ public final class BinaryMessages { com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_openxc_RawMessage_fieldAccessorTable; private static com.google.protobuf.Descriptors.Descriptor - internal_static_openxc_DiagnosticMessage_descriptor; + internal_static_openxc_ControlCommand_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_ControlCommand_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_DiagnosticRequest_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_DiagnosticRequest_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_DiagnosticResponse_descriptor; private static com.google.protobuf.GeneratedMessage.FieldAccessorTable - internal_static_openxc_DiagnosticMessage_fieldAccessorTable; + internal_static_openxc_DiagnosticResponse_fieldAccessorTable; private static com.google.protobuf.Descriptors.Descriptor internal_static_openxc_TranslatedMessage_descriptor; private static @@ -3991,28 +5776,36 @@ public final class BinaryMessages { descriptor; static { java.lang.String[] descriptorData = { - "\n\014openxc.proto\022\006openxc\"\203\002\n\016VehicleMessag" + + "\n\014openxc.proto\022\006openxc\"\205\002\n\016VehicleMessag" + "e\022)\n\004type\030\001 \001(\0162\033.openxc.VehicleMessage." + "Type\022\'\n\013raw_message\030\002 \001(\0132\022.openxc.RawMe" + "ssage\0225\n\022translated_message\030\003 \001(\0132\031.open" + - "xc.TranslatedMessage\0225\n\022diagnostic_messa" + - "ge\030\004 \001(\0132\031.openxc.DiagnosticMessage\"/\n\004T" + - "ype\022\007\n\003RAW\020\001\022\016\n\nTRANSLATED\020\002\022\016\n\nDIAGNOST" + - "IC\020\003\";\n\nRawMessage\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessa" + - "ge_id\030\002 \001(\r\022\014\n\004data\030\003 \001(\014\"\240\001\n\021Diagnostic" + - "Message\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessage_id\030\002 \001(\r", - "\022\014\n\004mode\030\003 \001(\r\022\013\n\003pid\030\004 \001(\r\022\017\n\007success\030\005" + - " \001(\010\022\036\n\026negative_response_code\030\006 \001(\r\022\017\n\007" + - "payload\030\007 \001(\014\022\r\n\005value\030\010 \001(\001\"\265\002\n\021Transla" + - "tedMessage\022,\n\004type\030\001 \001(\0162\036.openxc.Transl" + - "atedMessage.Type\022\014\n\004name\030\002 \001(\t\022\024\n\014string" + - "_value\030\003 \001(\t\022\025\n\rnumeric_value\030\004 \001(\001\022\025\n\rb" + - "oolean_value\030\005 \001(\010\022\024\n\014string_event\030\006 \001(\t" + - "\022\025\n\rnumeric_event\030\007 \001(\001\022\025\n\rboolean_event" + - "\030\010 \001(\010\"\\\n\004Type\022\n\n\006STRING\020\001\022\007\n\003NUM\020\002\022\010\n\004B" + - "OOL\020\003\022\022\n\016EVENTED_STRING\020\004\022\017\n\013EVENTED_NUM", - "\020\005\022\020\n\014EVENTED_BOOL\020\006B\034\n\ncom.openxcB\016Bina" + - "ryMessages" + "xc.TranslatedMessage\0227\n\023diagnostic_respo" + + "nse\030\004 \001(\0132\032.openxc.DiagnosticResponse\"/\n" + + "\004Type\022\007\n\003RAW\020\001\022\016\n\nTRANSLATED\020\002\022\016\n\nDIAGNO" + + "STIC\020\003\";\n\nRawMessage\022\013\n\003bus\030\001 \001(\005\022\022\n\nmes" + + "sage_id\030\002 \001(\r\022\014\n\004data\030\003 \001(\014\"\246\001\n\016ControlC" + + "ommand\022)\n\004type\030\001 \001(\0162\033.openxc.ControlCom", + "mand.Type\0225\n\022diagnostic_request\030\002 \001(\0132\031." + + "openxc.DiagnosticRequest\"2\n\004Type\022\013\n\007VERS" + + "ION\020\001\022\r\n\tDEVICE_ID\020\002\022\016\n\nDIAGNOSTIC\020\003\"\252\001\n" + + "\021DiagnosticRequest\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessa" + + "ge_id\030\002 \001(\r\022\014\n\004mode\030\003 \001(\r\022\013\n\003pid\030\004 \001(\r\022\017" + + "\n\007payload\030\005 \001(\014\022\025\n\rparse_payload\030\006 \001(\010\022\016" + + "\n\006factor\030\007 \001(\001\022\016\n\006offset\030\010 \001(\001\022\021\n\tfreque" + + "ncy\030\t \001(\001\"\241\001\n\022DiagnosticResponse\022\013\n\003bus\030" + + "\001 \001(\005\022\022\n\nmessage_id\030\002 \001(\r\022\014\n\004mode\030\003 \001(\r\022" + + "\013\n\003pid\030\004 \001(\r\022\017\n\007success\030\005 \001(\010\022\036\n\026negativ", + "e_response_code\030\006 \001(\r\022\017\n\007payload\030\007 \001(\014\022\r" + + "\n\005value\030\010 \001(\001\"\265\002\n\021TranslatedMessage\022,\n\004t" + + "ype\030\001 \001(\0162\036.openxc.TranslatedMessage.Typ" + + "e\022\014\n\004name\030\002 \001(\t\022\024\n\014string_value\030\003 \001(\t\022\025\n" + + "\rnumeric_value\030\004 \001(\001\022\025\n\rboolean_value\030\005 " + + "\001(\010\022\024\n\014string_event\030\006 \001(\t\022\025\n\rnumeric_eve" + + "nt\030\007 \001(\001\022\025\n\rboolean_event\030\010 \001(\010\"\\\n\004Type\022" + + "\n\n\006STRING\020\001\022\007\n\003NUM\020\002\022\010\n\004BOOL\020\003\022\022\n\016EVENTE" + + "D_STRING\020\004\022\017\n\013EVENTED_NUM\020\005\022\020\n\014EVENTED_B" + + "OOL\020\006B\034\n\ncom.openxcB\016BinaryMessages" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -4024,21 +5817,33 @@ public final class BinaryMessages { internal_static_openxc_VehicleMessage_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_openxc_VehicleMessage_descriptor, - new java.lang.String[] { "Type", "RawMessage", "TranslatedMessage", "DiagnosticMessage", }); + new java.lang.String[] { "Type", "RawMessage", "TranslatedMessage", "DiagnosticResponse", }); internal_static_openxc_RawMessage_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_openxc_RawMessage_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_openxc_RawMessage_descriptor, new java.lang.String[] { "Bus", "MessageId", "Data", }); - internal_static_openxc_DiagnosticMessage_descriptor = + internal_static_openxc_ControlCommand_descriptor = getDescriptor().getMessageTypes().get(2); - internal_static_openxc_DiagnosticMessage_fieldAccessorTable = new + internal_static_openxc_ControlCommand_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( - internal_static_openxc_DiagnosticMessage_descriptor, + internal_static_openxc_ControlCommand_descriptor, + new java.lang.String[] { "Type", "DiagnosticRequest", }); + internal_static_openxc_DiagnosticRequest_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_openxc_DiagnosticRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_DiagnosticRequest_descriptor, + new java.lang.String[] { "Bus", "MessageId", "Mode", "Pid", "Payload", "ParsePayload", "Factor", "Offset", "Frequency", }); + internal_static_openxc_DiagnosticResponse_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_openxc_DiagnosticResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_DiagnosticResponse_descriptor, new java.lang.String[] { "Bus", "MessageId", "Mode", "Pid", "Success", "NegativeResponseCode", "Payload", "Value", }); internal_static_openxc_TranslatedMessage_descriptor = - getDescriptor().getMessageTypes().get(3); + getDescriptor().getMessageTypes().get(5); internal_static_openxc_TranslatedMessage_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_openxc_TranslatedMessage_descriptor, diff --git a/gen/python/openxc_pb2.py b/gen/python/openxc_pb2.py index 7600beef..017b0067 100644 --- a/gen/python/openxc_pb2.py +++ b/gen/python/openxc_pb2.py @@ -13,7 +13,7 @@ from google.protobuf import descriptor_pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='openxc.proto', package='openxc', - serialized_pb='\n\x0copenxc.proto\x12\x06openxc\"\x83\x02\n\x0eVehicleMessage\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.VehicleMessage.Type\x12\'\n\x0braw_message\x18\x02 \x01(\x0b\x32\x12.openxc.RawMessage\x12\x35\n\x12translated_message\x18\x03 \x01(\x0b\x32\x19.openxc.TranslatedMessage\x12\x35\n\x12\x64iagnostic_message\x18\x04 \x01(\x0b\x32\x19.openxc.DiagnosticMessage\"/\n\x04Type\x12\x07\n\x03RAW\x10\x01\x12\x0e\n\nTRANSLATED\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\";\n\nRawMessage\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xa0\x01\n\x11\x44iagnosticMessage\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x0f\n\x07success\x18\x05 \x01(\x08\x12\x1e\n\x16negative_response_code\x18\x06 \x01(\r\x12\x0f\n\x07payload\x18\x07 \x01(\x0c\x12\r\n\x05value\x18\x08 \x01(\x01\"\xb5\x02\n\x11TranslatedMessage\x12,\n\x04type\x18\x01 \x01(\x0e\x32\x1e.openxc.TranslatedMessage.Type\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0cstring_value\x18\x03 \x01(\t\x12\x15\n\rnumeric_value\x18\x04 \x01(\x01\x12\x15\n\rboolean_value\x18\x05 \x01(\x08\x12\x14\n\x0cstring_event\x18\x06 \x01(\t\x12\x15\n\rnumeric_event\x18\x07 \x01(\x01\x12\x15\n\rboolean_event\x18\x08 \x01(\x08\"\\\n\x04Type\x12\n\n\x06STRING\x10\x01\x12\x07\n\x03NUM\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x12\x12\n\x0e\x45VENTED_STRING\x10\x04\x12\x0f\n\x0b\x45VENTED_NUM\x10\x05\x12\x10\n\x0c\x45VENTED_BOOL\x10\x06\x42\x1c\n\ncom.openxcB\x0e\x42inaryMessages') + serialized_pb='\n\x0copenxc.proto\x12\x06openxc\"\x85\x02\n\x0eVehicleMessage\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.VehicleMessage.Type\x12\'\n\x0braw_message\x18\x02 \x01(\x0b\x32\x12.openxc.RawMessage\x12\x35\n\x12translated_message\x18\x03 \x01(\x0b\x32\x19.openxc.TranslatedMessage\x12\x37\n\x13\x64iagnostic_response\x18\x04 \x01(\x0b\x32\x1a.openxc.DiagnosticResponse\"/\n\x04Type\x12\x07\n\x03RAW\x10\x01\x12\x0e\n\nTRANSLATED\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\";\n\nRawMessage\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\"\xa6\x01\n\x0e\x43ontrolCommand\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.ControlCommand.Type\x12\x35\n\x12\x64iagnostic_request\x18\x02 \x01(\x0b\x32\x19.openxc.DiagnosticRequest\"2\n\x04Type\x12\x0b\n\x07VERSION\x10\x01\x12\r\n\tDEVICE_ID\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\"\xaa\x01\n\x11\x44iagnosticRequest\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x0f\n\x07payload\x18\x05 \x01(\x0c\x12\x15\n\rparse_payload\x18\x06 \x01(\x08\x12\x0e\n\x06\x66\x61\x63tor\x18\x07 \x01(\x01\x12\x0e\n\x06offset\x18\x08 \x01(\x01\x12\x11\n\tfrequency\x18\t \x01(\x01\"\xa1\x01\n\x12\x44iagnosticResponse\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\x12\n\nmessage_id\x18\x02 \x01(\r\x12\x0c\n\x04mode\x18\x03 \x01(\r\x12\x0b\n\x03pid\x18\x04 \x01(\r\x12\x0f\n\x07success\x18\x05 \x01(\x08\x12\x1e\n\x16negative_response_code\x18\x06 \x01(\r\x12\x0f\n\x07payload\x18\x07 \x01(\x0c\x12\r\n\x05value\x18\x08 \x01(\x01\"\xb5\x02\n\x11TranslatedMessage\x12,\n\x04type\x18\x01 \x01(\x0e\x32\x1e.openxc.TranslatedMessage.Type\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x14\n\x0cstring_value\x18\x03 \x01(\t\x12\x15\n\rnumeric_value\x18\x04 \x01(\x01\x12\x15\n\rboolean_value\x18\x05 \x01(\x08\x12\x14\n\x0cstring_event\x18\x06 \x01(\t\x12\x15\n\rnumeric_event\x18\x07 \x01(\x01\x12\x15\n\rboolean_event\x18\x08 \x01(\x08\"\\\n\x04Type\x12\n\n\x06STRING\x10\x01\x12\x07\n\x03NUM\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\x12\x12\n\x0e\x45VENTED_STRING\x10\x04\x12\x0f\n\x0b\x45VENTED_NUM\x10\x05\x12\x10\n\x0c\x45VENTED_BOOL\x10\x06\x42\x1c\n\ncom.openxcB\x0e\x42inaryMessages') @@ -38,8 +38,33 @@ _VEHICLEMESSAGE_TYPE = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=237, - serialized_end=284, + serialized_start=239, + serialized_end=286, +) + +_CONTROLCOMMAND_TYPE = _descriptor.EnumDescriptor( + name='Type', + full_name='openxc.ControlCommand.Type', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='VERSION', index=0, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DEVICE_ID', index=1, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DIAGNOSTIC', index=2, number=3, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=466, + serialized_end=516, ) _TRANSLATEDMESSAGE_TYPE = _descriptor.EnumDescriptor( @@ -75,8 +100,8 @@ _TRANSLATEDMESSAGE_TYPE = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=728, - serialized_end=820, + serialized_start=1073, + serialized_end=1165, ) @@ -109,7 +134,7 @@ _VEHICLEMESSAGE = _descriptor.Descriptor( is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='diagnostic_message', full_name='openxc.VehicleMessage.diagnostic_message', index=3, + name='diagnostic_response', full_name='openxc.VehicleMessage.diagnostic_response', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -126,7 +151,7 @@ _VEHICLEMESSAGE = _descriptor.Descriptor( is_extendable=False, extension_ranges=[], serialized_start=25, - serialized_end=284, + serialized_end=286, ) @@ -167,69 +192,189 @@ _RAWMESSAGE = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=286, - serialized_end=345, + serialized_start=288, + serialized_end=347, +) + + +_CONTROLCOMMAND = _descriptor.Descriptor( + name='ControlCommand', + full_name='openxc.ControlCommand', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='openxc.ControlCommand.type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='diagnostic_request', full_name='openxc.ControlCommand.diagnostic_request', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CONTROLCOMMAND_TYPE, + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=350, + serialized_end=516, +) + + +_DIAGNOSTICREQUEST = _descriptor.Descriptor( + name='DiagnosticRequest', + full_name='openxc.DiagnosticRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='bus', full_name='openxc.DiagnosticRequest.bus', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='message_id', full_name='openxc.DiagnosticRequest.message_id', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='mode', full_name='openxc.DiagnosticRequest.mode', index=2, + number=3, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='pid', full_name='openxc.DiagnosticRequest.pid', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='payload', full_name='openxc.DiagnosticRequest.payload', index=4, + number=5, type=12, cpp_type=9, label=1, + has_default_value=False, default_value="", + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='parse_payload', full_name='openxc.DiagnosticRequest.parse_payload', index=5, + number=6, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='factor', full_name='openxc.DiagnosticRequest.factor', index=6, + number=7, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='offset', full_name='openxc.DiagnosticRequest.offset', index=7, + number=8, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='frequency', full_name='openxc.DiagnosticRequest.frequency', index=8, + number=9, type=1, cpp_type=5, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=519, + serialized_end=689, ) -_DIAGNOSTICMESSAGE = _descriptor.Descriptor( - name='DiagnosticMessage', - full_name='openxc.DiagnosticMessage', +_DIAGNOSTICRESPONSE = _descriptor.Descriptor( + name='DiagnosticResponse', + full_name='openxc.DiagnosticResponse', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='bus', full_name='openxc.DiagnosticMessage.bus', index=0, + name='bus', full_name='openxc.DiagnosticResponse.bus', index=0, number=1, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='message_id', full_name='openxc.DiagnosticMessage.message_id', index=1, + name='message_id', full_name='openxc.DiagnosticResponse.message_id', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='mode', full_name='openxc.DiagnosticMessage.mode', index=2, + name='mode', full_name='openxc.DiagnosticResponse.mode', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='pid', full_name='openxc.DiagnosticMessage.pid', index=3, + name='pid', full_name='openxc.DiagnosticResponse.pid', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='success', full_name='openxc.DiagnosticMessage.success', index=4, + name='success', full_name='openxc.DiagnosticResponse.success', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='negative_response_code', full_name='openxc.DiagnosticMessage.negative_response_code', index=5, + name='negative_response_code', full_name='openxc.DiagnosticResponse.negative_response_code', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='payload', full_name='openxc.DiagnosticMessage.payload', index=6, + name='payload', full_name='openxc.DiagnosticResponse.payload', index=6, number=7, type=12, cpp_type=9, label=1, has_default_value=False, default_value="", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='value', full_name='openxc.DiagnosticMessage.value', index=7, + name='value', full_name='openxc.DiagnosticResponse.value', index=7, number=8, type=1, cpp_type=5, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -244,8 +389,8 @@ _DIAGNOSTICMESSAGE = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=348, - serialized_end=508, + serialized_start=692, + serialized_end=853, ) @@ -322,20 +467,25 @@ _TRANSLATEDMESSAGE = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=511, - serialized_end=820, + serialized_start=856, + serialized_end=1165, ) _VEHICLEMESSAGE.fields_by_name['type'].enum_type = _VEHICLEMESSAGE_TYPE _VEHICLEMESSAGE.fields_by_name['raw_message'].message_type = _RAWMESSAGE _VEHICLEMESSAGE.fields_by_name['translated_message'].message_type = _TRANSLATEDMESSAGE -_VEHICLEMESSAGE.fields_by_name['diagnostic_message'].message_type = _DIAGNOSTICMESSAGE +_VEHICLEMESSAGE.fields_by_name['diagnostic_response'].message_type = _DIAGNOSTICRESPONSE _VEHICLEMESSAGE_TYPE.containing_type = _VEHICLEMESSAGE; +_CONTROLCOMMAND.fields_by_name['type'].enum_type = _CONTROLCOMMAND_TYPE +_CONTROLCOMMAND.fields_by_name['diagnostic_request'].message_type = _DIAGNOSTICREQUEST +_CONTROLCOMMAND_TYPE.containing_type = _CONTROLCOMMAND; _TRANSLATEDMESSAGE.fields_by_name['type'].enum_type = _TRANSLATEDMESSAGE_TYPE _TRANSLATEDMESSAGE_TYPE.containing_type = _TRANSLATEDMESSAGE; DESCRIPTOR.message_types_by_name['VehicleMessage'] = _VEHICLEMESSAGE DESCRIPTOR.message_types_by_name['RawMessage'] = _RAWMESSAGE -DESCRIPTOR.message_types_by_name['DiagnosticMessage'] = _DIAGNOSTICMESSAGE +DESCRIPTOR.message_types_by_name['ControlCommand'] = _CONTROLCOMMAND +DESCRIPTOR.message_types_by_name['DiagnosticRequest'] = _DIAGNOSTICREQUEST +DESCRIPTOR.message_types_by_name['DiagnosticResponse'] = _DIAGNOSTICRESPONSE DESCRIPTOR.message_types_by_name['TranslatedMessage'] = _TRANSLATEDMESSAGE class VehicleMessage(_message.Message): @@ -350,11 +500,23 @@ class RawMessage(_message.Message): # @@protoc_insertion_point(class_scope:openxc.RawMessage) -class DiagnosticMessage(_message.Message): +class ControlCommand(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _CONTROLCOMMAND + + # @@protoc_insertion_point(class_scope:openxc.ControlCommand) + +class DiagnosticRequest(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _DIAGNOSTICREQUEST + + # @@protoc_insertion_point(class_scope:openxc.DiagnosticRequest) + +class DiagnosticResponse(_message.Message): __metaclass__ = _reflection.GeneratedProtocolMessageType - DESCRIPTOR = _DIAGNOSTICMESSAGE + DESCRIPTOR = _DIAGNOSTICRESPONSE - # @@protoc_insertion_point(class_scope:openxc.DiagnosticMessage) + # @@protoc_insertion_point(class_scope:openxc.DiagnosticResponse) class TranslatedMessage(_message.Message): __metaclass__ = _reflection.GeneratedProtocolMessageType diff --git a/openxc.options b/openxc.options index c1e4e01b..1f45bff7 100644 --- a/openxc.options +++ b/openxc.options @@ -1,5 +1,6 @@ openxc.TranslatedMessage.name max_size:100 openxc.TranslatedMessage.string_value max_size:100 openxc.TranslatedMessage.string_event max_size:100 -openxc.DiagnosticMessage.payload max_size:8 +openxc.DiagnosticResponse.payload max_size:8 +openxc.DiagnosticRequest.payload max_size:8 openxc.RawMessage.data max_size:8 diff --git a/openxc.proto b/openxc.proto index a562b49d..259bdfb4 100644 --- a/openxc.proto +++ b/openxc.proto @@ -9,7 +9,7 @@ message VehicleMessage { optional Type type = 1; optional RawMessage raw_message = 2; optional TranslatedMessage translated_message = 3; - optional DiagnosticMessage diagnostic_message = 4; + optional DiagnosticResponse diagnostic_response = 4; } message RawMessage { @@ -18,7 +18,28 @@ message RawMessage { optional bytes data = 3; } -message DiagnosticMessage { +message ControlCommand { + enum Type { VERSION = 1; DEVICE_ID = 2; DIAGNOSTIC = 3; } + + optional Type type = 1; + optional DiagnosticRequest diagnostic_request = 2; +} + +message DiagnosticRequest { + optional int32 bus = 1; + optional uint32 message_id = 2; + optional uint32 mode = 3; + optional uint32 pid = 4; + // TODO we are capping this at 8 bytes for now - need to change when we + // support multi-frame responses + optional bytes payload = 5; + optional bool parse_payload = 6; + optional double factor = 7; + optional double offset = 8; + optional double frequency = 9; +} + +message DiagnosticResponse { optional int32 bus = 1; optional uint32 message_id = 2; optional uint32 mode = 3; -- 2.16.6