From: Christopher Peplin Date: Tue, 29 Apr 2014 03:03:44 +0000 (-0400) Subject: Merge remote-tracking branch 'origin/master' into diagnostic X-Git-Tag: 3.99.1~103^2~14 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=f3bb2899868673c117ee6f36950c5870446ce5f6;hp=c186996f995e24fef2763d2368f5a17aa249df5c;p=apps%2Flow-level-can-service.git Merge remote-tracking branch 'origin/master' into diagnostic --- diff --git a/Makefile b/Makefile index 4b1b687..7b968e6 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ nanopb: proto - python libs/nanopb/generator/nanopb_generator.py -s max_size:100 -f openxc.options gen/cpp/openxc.pb + make -C libs/nanopb/generator/proto + python libs/nanopb/generator/nanopb_generator.py gen/cpp/openxc.pb -f openxc.options proto: openxc.proto @mkdir -p gen/java diff --git a/README.md b/README.md index 5b43032..1202c50 100644 --- a/README.md +++ b/README.md @@ -3,16 +3,22 @@ This specification is a part of the [OpenXC platform][OpenXC]. An OpenXC vehicle interface sends generic vehicle data over one or more output -interfaces (e.g. USB or Bluetooth) as JSON objects, separated by newlines. +interfaces (e.g. USB or Bluetooth) as JSON or Protocol Buffers (protobuf). -There are two valid message types - single valued and evented. +This document describes the JSON format and includes a high level description of +each type and field. Each JSON message published by a VI is delimited with a +`\0` character. + +The Protocol Buffer format is specified in the file `openxc.proto`. Those are +published using the standard length-delimited method (any protobuf library +should support this). + +## Single Valued There may not be a 1:1 relationship between input and output signals - i.e. raw engine timing CAN signals may be summarized in an "engine performance" metric on the abstract side of the interface. -## Single Valued - The expected format of a single valued message is: {"name": "steering_wheel_angle", "value": 45} @@ -28,8 +34,7 @@ discrete pieces of information in the measurement. ## Raw CAN Message format -An OpenXC vehicle interface may also output raw CAN messages. Each CAN message -is sent as a JSON object, separated by newlines. The format of each object is: +The format for a raw CAN message: {"bus": 1, "id": 1234, "value": "0x12345678"} @@ -40,12 +45,179 @@ is sent as a JSON object, separated by newlines. The format of each object is: **data** - up to 8 bytes of data from the CAN message's payload, represented as a hexidecimal number in a string. Many JSON parser cannot handle 64-bit - integers, which is why we are not using a numerical data type. + integers, which is why we are not using a numerical data type. Each byte in + the string *must* be represented with 2 characters, e.g. `0x1` is `0x01` - the + complete string must have an even number of characters. + +## Diagnostic Messages + +### Requests + +A request to add or update a diagnostic request is sent to a vehicle interface +with this command format: + + { "command": "diagnostic_request", + "request": { + "bus": 1, + "id": 1234, + "mode": 1, + "pid": 5, + "payload": "0x1234", + "multiple_responses": false, + "factor": 1.0, + "offset": 0, + "frequency": 1, + "name": "my_pid" + } + } + } + +**bus** - the numerical identifier of the CAN bus where this request should be + sent, most likely 1 or 2 (for a vehicle interface with 2 CAN controllers). + +**id** - the CAN arbitration ID for the request. + +**mode** - the OBD-II mode of the request - 1 through 15 (1 through 9 are the + standardized modes). + +**pid** - (optional) the PID for the request, if applicable. + +**payload** - (optional) up to 7 bytes of data for the request's payload + represented as a hexidecimal number in a string. Many JSON parser cannot + handle 64-bit integers, which is why we are not using a numerical data type. + Each byte in the string *must* be represented with 2 characters, e.g. `0x1` + is `0x01` - the complete string must have an even number of characters. + +**name** - (optional, defaults to nothing) A human readable, string name for + this request. If provided, the response will have a `name` field (much like a + normal translated message) with this value in place of `bus`, `id`, `mode` and + `pid`. + +**multiple_responses** - (optional, false by default) if true, request will stay + active for a full 100ms, even after receiving a diagnostic response message. + This is useful for requests to the functional broadcast arbitration ID + (`0x7df`) when you need to get responses from multiple modules. It's possible + to set this to `true` for non-broadcast requests, but in practice you won't + see any additional responses after the first and it will just take up memory + in the VI for longer. + +**frequency** - (optional, defaults to 0) The frequency in Hz to send this + request. To send a single non-recurring request, set this to 0 or leave it + out. + +**decoded_type** - (optional, defaults to "obd2" if the request is a recognized +OBD-II mode 1 request, otherwise "none") If specified, the valid values are +`"none"` and `"obd2"`. If `obd2`, the payload will be decoded according to the +OBD-II specification and returned in the `value` field. Set this to `none` to +manually override the OBD-II decoding feature for a known PID. + +A diagnostic request's `bus`, `id`, `mode` and `pid` (or lack of a `pid`) +combine to create a unique key to identify a recurring request. This means that +you cannot simultaneosly have recurring requests at 2Hz and 5Hz for the same PID +from the same ID. + +If you send a new `diagnostic_request` command with a `bus + id + mode + pid` +key matching an existing recurring request, it will update it with whatever +other parameters you've provided (e.g. it will change the frequency if you +specify one). + +To cancel a recurring request, send a `diagnostic_request` command with the +matching request information (i.e. the `bus`, `id`, `mode` and `pid`) but a +frequency of 0. + +Non-recurring requests may have the same `bus+id+mode(+pid)` key as a recurring +request, and they will co-exist without issue. As soon as a non-recurring +request is either completed or times out, it is removed from the active list. + +If you're just requesting a PID, you can use this minimal field set for the +`request` object: + + {"bus": 1, "id": 1234, "mode": 1, "pid": 5} + +### Responses + +The response to a successful request: + + {"bus": 1, + "id": 1234, + "mode": 1, + "pid": 5, + "success": true, + "payload": "0x1234", + "value": 4660} + +and to an unsuccessful request, with the `negative_response_code` and no `pid` +echo: + + {"bus": 1, + "id": 1234, + "mode": 1, + "success": false, + "negative_response_code": 17} + +**bus** - the numerical identifier of the CAN bus where this response was + received. + +**id** - the CAN arbitration ID for this response. + +**mode** - the OBD-II mode of the original diagnostic request. + +**pid** - (optional) the PID for the request, if applicable. + +**success** - true if the response received was a positive response. If this + field is false, the remote node returned an error and the + `negative_response_code` field should be populated. + +**negative_response_code** - (optional) If requested node returned an error, + `success` will be `false` and this field will contain the negative response + code (NRC). + +Finally, the `payload` and `value` fields are mutually exclusive: + +**payload** - (optional) up to 7 bytes of data returned in the response, + represented as a hexadecimal number in a string. Many JSON parser cannot + handle 64-bit integers, which is why we are not using a numerical data type. + +**value** - (optional) if the response had a payload, this may be the + payload interpreted as an integer. + +The response to a simple PID request would look like this: + + {"success": true, "bus": 1, "id": 1234, "mode": 1, "pid": 5, "payload": "0x2"} + +## Commands + +### Version Query + +The `version` command triggers the VI to inject a firmware version identifier +response into the outgoing data stream. + +**Request** + + { "command": "version"} + +**Response** + + { "command_response": "version", "message": "v6.0-dev (default)"} + +### Device ID Query + +The `device_id` command triggers the VI to inject a unique device ID (e.g. the +MAC address of an included Bluetooth module) into into the outgoing data stream. + +**Request** + + { "command": "device_id"} + +**Response** + + { "command_response": "device_id", "message": "0012345678"} ## Trace File Format An OpenXC vehicle trace file is a plaintext file that contains JSON objects, -separated by newlines. +separated by newlines (which may be either `\r\n` or `\n`, depending on the +platform the trace file was recorded). The first line may be a metadata object, although this is optional: @@ -142,10 +314,31 @@ manufacturers may support custom message names. * numerical, -179.0 to 179.0 degrees with standard GPS accuracy * 1Hz +### Signals from Diagnostics Messages + +This set of signals is often retreived from OBD-II requests. The units can be +found in the [OBD-II standard](http://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_01). + +* engine_load +* engine_coolant_temperature +* barometric_pressure +* commanded_throttle_position +* throttle_position +* fuel_level +* intake_air_temperature +* intake_manifold_pressure +* running_time +* fuel_pressure +* mass_airflow +* accelerator_pedal_position +* ethanol_fuel_percentage +* engine_oil_temperature +* engine_torque + License ======= -Copyright (c) 2012-2013 Ford Motor Company +Copyright (c) 2012-2014 Ford Motor Company Licensed under the BSD license. diff --git a/gen/cpp/openxc.pb b/gen/cpp/openxc.pb index 88cf91a..da31233 100644 --- a/gen/cpp/openxc.pb +++ b/gen/cpp/openxc.pb @@ -1,29 +1,77 @@ -è - openxc.protoopenxc"¼ +à + openxc.protoopenxc"” VehicleMessage) type (2.openxc.VehicleMessage.Type' raw_message ( 2.openxc.RawMessage5 -translated_message ( 2.openxc.TranslatedMessage" +translated_message ( 2.openxc.TranslatedMessage7 +diagnostic_response ( 2.openxc.DiagnosticResponse/ +control_command ( 2.openxc.ControlCommand1 +command_response ( 2.openxc.CommandResponse"Z Type RAW -TRANSLATED"; +TRANSLATED + +DIAGNOSTIC +CONTROL_COMMAND +COMMAND_RESPONSE"; RawMessage bus ( message_id (  -data ("µ +data ( "¦ +ControlCommand) +type (2.openxc.ControlCommand.Type5 +diagnostic_request ( 2.openxc.DiagnosticRequest"2 +Type +VERSION + DEVICE_ID + +DIAGNOSTIC"M +CommandResponse) +type (2.openxc.ControlCommand.Type +message ( "ý +DiagnosticRequest +bus ( + +message_id (  +mode (  +pid (  +payload (  +multiple_responses ( + frequency ( +name ( ; + decoded_type (2%.openxc.DiagnosticRequest.DecodedType"! + DecodedType +NONE +OBD2"¡ +DiagnosticResponse +bus ( + +message_id (  +mode (  +pid (  +success ( +negative_response_code (  +payload (  +value ("¢ + DynamicField' +type (2.openxc.DynamicField.Type + string_value (  + numeric_value ( + boolean_value ("% +Type + +STRING +NUM +BOOL"÷ TranslatedMessage, type (2.openxc.TranslatedMessage.Type -name (  - string_value (  - numeric_value ( - boolean_value ( - string_event (  - numeric_event ( - boolean_event ("\ +name ( # +value ( 2.openxc.DynamicField# +event ( 2.openxc.DynamicField"\ Type STRING diff --git a/gen/cpp/openxc.pb.c b/gen/cpp/openxc.pb.c index 1625254..e3be257 100644 --- a/gen/cpp/openxc.pb.c +++ b/gen/cpp/openxc.pb.c @@ -1,44 +1,88 @@ /* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.2.4-dev at Thu Oct 24 10:06:38 2013. */ +/* Generated by nanopb-0.2.5 at Wed Mar 26 09:29:06 2014. */ #include "openxc.pb.h" -const pb_field_t openxc_VehicleMessage_fields[4] = { - 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), +const pb_field_t openxc_VehicleMessage_fields[7] = { + 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_response, translated_message, &openxc_DiagnosticResponse_fields), + PB_FIELD2( 5, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, control_command, diagnostic_response, &openxc_ControlCommand_fields), + PB_FIELD2( 6, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, command_response, control_command, &openxc_CommandResponse_fields), PB_LAST_FIELD }; const pb_field_t openxc_RawMessage_fields[4] = { - PB_FIELD2( 1, INT32 , OPTIONAL, STATIC, FIRST, openxc_RawMessage, bus, bus, 0), - PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC, OTHER, openxc_RawMessage, message_id, bus, 0), - PB_FIELD2( 3, UINT64 , OPTIONAL, STATIC, OTHER, openxc_RawMessage, data, message_id, 0), + PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_RawMessage, bus, bus, 0), + PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_RawMessage, message_id, bus, 0), + PB_FIELD2( 3, BYTES , OPTIONAL, STATIC , OTHER, openxc_RawMessage, data, message_id, 0), PB_LAST_FIELD }; -const pb_field_t openxc_TranslatedMessage_fields[9] = { - PB_FIELD2( 1, ENUM , OPTIONAL, STATIC, FIRST, openxc_TranslatedMessage, type, type, 0), - PB_FIELD2( 2, STRING , OPTIONAL, STATIC, OTHER, openxc_TranslatedMessage, name, type, 0), - PB_FIELD2( 3, STRING , OPTIONAL, STATIC, OTHER, openxc_TranslatedMessage, string_value, name, 0), - PB_FIELD2( 4, DOUBLE , OPTIONAL, STATIC, OTHER, openxc_TranslatedMessage, numeric_value, string_value, 0), - PB_FIELD2( 5, BOOL , OPTIONAL, STATIC, OTHER, openxc_TranslatedMessage, boolean_value, numeric_value, 0), - PB_FIELD2( 6, STRING , OPTIONAL, STATIC, OTHER, openxc_TranslatedMessage, string_event, boolean_value, 0), - PB_FIELD2( 7, DOUBLE , OPTIONAL, STATIC, OTHER, openxc_TranslatedMessage, numeric_event, string_event, 0), - PB_FIELD2( 8, BOOL , OPTIONAL, STATIC, OTHER, openxc_TranslatedMessage, boolean_event, numeric_event, 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_CommandResponse_fields[3] = { + PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_CommandResponse, type, type, 0), + PB_FIELD2( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, message, type, 0), + 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, multiple_responses, payload, 0), + PB_FIELD2( 7, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, frequency, multiple_responses, 0), + PB_FIELD2( 8, STRING , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, name, frequency, 0), + PB_FIELD2( 9, ENUM , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, decoded_type, name, 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 +}; + +const pb_field_t openxc_DynamicField_fields[5] = { + PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_DynamicField, type, type, 0), + PB_FIELD2( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_DynamicField, string_value, type, 0), + PB_FIELD2( 3, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DynamicField, numeric_value, string_value, 0), + PB_FIELD2( 4, BOOL , OPTIONAL, STATIC , OTHER, openxc_DynamicField, boolean_value, numeric_value, 0), + PB_LAST_FIELD +}; + +const pb_field_t openxc_TranslatedMessage_fields[5] = { + PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_TranslatedMessage, type, type, 0), + PB_FIELD2( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, name, type, 0), + PB_FIELD2( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, value, name, &openxc_DynamicField_fields), + PB_FIELD2( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, event, value, &openxc_DynamicField_fields), PB_LAST_FIELD }; /* 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), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_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_VehicleMessage, control_command) < 256 && pb_membersize(openxc_VehicleMessage, command_response) < 256 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 256 && pb_membersize(openxc_TranslatedMessage, value) < 256 && pb_membersize(openxc_TranslatedMessage, event) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage) #endif #if !defined(PB_FIELD_32BIT) -STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, translated_message) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_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_VehicleMessage, control_command) < 65536 && pb_membersize(openxc_VehicleMessage, command_response) < 65536 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 65536 && pb_membersize(openxc_TranslatedMessage, value) < 65536 && pb_membersize(openxc_TranslatedMessage, event) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_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 81a0779..e70324f 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.4-dev at Thu Oct 24 10:06:38 2013. */ +/* Generated by nanopb-0.2.5 at Wed Mar 26 09:29:06 2014. */ #ifndef _PB_OPENXC_PB_H_ #define _PB_OPENXC_PB_H_ @@ -12,9 +12,29 @@ extern "C" { /* Enum definitions */ typedef enum _openxc_VehicleMessage_Type { openxc_VehicleMessage_Type_RAW = 1, - openxc_VehicleMessage_Type_TRANSLATED = 2 + openxc_VehicleMessage_Type_TRANSLATED = 2, + openxc_VehicleMessage_Type_DIAGNOSTIC = 3, + openxc_VehicleMessage_Type_CONTROL_COMMAND = 4, + openxc_VehicleMessage_Type_COMMAND_RESPONSE = 5 } 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_DiagnosticRequest_DecodedType { + openxc_DiagnosticRequest_DecodedType_NONE = 1, + openxc_DiagnosticRequest_DecodedType_OBD2 = 2 +} openxc_DiagnosticRequest_DecodedType; + +typedef enum _openxc_DynamicField_Type { + openxc_DynamicField_Type_STRING = 1, + openxc_DynamicField_Type_NUM = 2, + openxc_DynamicField_Type_BOOL = 3 +} openxc_DynamicField_Type; + typedef enum _openxc_TranslatedMessage_Type { openxc_TranslatedMessage_Type_STRING = 1, openxc_TranslatedMessage_Type_NUM = 2, @@ -25,32 +45,104 @@ typedef enum _openxc_TranslatedMessage_Type { } openxc_TranslatedMessage_Type; /* Struct definitions */ +typedef struct _openxc_CommandResponse { + bool has_type; + openxc_ControlCommand_Type type; + bool has_message; + char message[128]; +} openxc_CommandResponse; + +typedef struct { + size_t size; + uint8_t bytes[8]; +} openxc_DiagnosticRequest_payload_t; + +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_multiple_responses; + bool multiple_responses; + bool has_frequency; + double frequency; + bool has_name; + char name[10]; + bool has_decoded_type; + openxc_DiagnosticRequest_DecodedType decoded_type; +} 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; + uint32_t message_id; + bool has_mode; + uint32_t mode; + bool has_pid; + uint32_t pid; + bool has_success; + bool success; + bool has_negative_response_code; + uint32_t negative_response_code; + bool has_payload; + openxc_DiagnosticResponse_payload_t payload; + bool has_value; + double value; +} openxc_DiagnosticResponse; + +typedef struct _openxc_DynamicField { + bool has_type; + openxc_DynamicField_Type type; + bool has_string_value; + char string_value[100]; + bool has_numeric_value; + double numeric_value; + bool has_boolean_value; + bool boolean_value; +} openxc_DynamicField; + +typedef struct { + size_t size; + uint8_t bytes[8]; +} openxc_RawMessage_data_t; + typedef struct _openxc_RawMessage { bool has_bus; int32_t bus; bool has_message_id; uint32_t message_id; bool has_data; - uint64_t data; + openxc_RawMessage_data_t data; } openxc_RawMessage; +typedef struct _openxc_ControlCommand { + bool has_type; + openxc_ControlCommand_Type type; + bool has_diagnostic_request; + openxc_DiagnosticRequest diagnostic_request; +} openxc_ControlCommand; + typedef struct _openxc_TranslatedMessage { bool has_type; openxc_TranslatedMessage_Type type; bool has_name; char name[100]; - bool has_string_value; - char string_value[100]; - bool has_numeric_value; - double numeric_value; - bool has_boolean_value; - bool boolean_value; - bool has_string_event; - char string_event[100]; - bool has_numeric_event; - double numeric_event; - bool has_boolean_event; - bool boolean_event; + bool has_value; + openxc_DynamicField value; + bool has_event; + openxc_DynamicField event; } openxc_TranslatedMessage; typedef struct _openxc_VehicleMessage { @@ -60,35 +152,75 @@ typedef struct _openxc_VehicleMessage { openxc_RawMessage raw_message; bool has_translated_message; openxc_TranslatedMessage translated_message; + bool has_diagnostic_response; + openxc_DiagnosticResponse diagnostic_response; + bool has_control_command; + openxc_ControlCommand control_command; + bool has_command_response; + openxc_CommandResponse command_response; } openxc_VehicleMessage; /* Default values for struct fields */ /* Field tags (for use in manual encoding/decoding) */ +#define openxc_CommandResponse_type_tag 1 +#define openxc_CommandResponse_message_tag 2 +#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_multiple_responses_tag 6 +#define openxc_DiagnosticRequest_frequency_tag 7 +#define openxc_DiagnosticRequest_name_tag 8 +#define openxc_DiagnosticRequest_decoded_type_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_DynamicField_type_tag 1 +#define openxc_DynamicField_string_value_tag 2 +#define openxc_DynamicField_numeric_value_tag 3 +#define openxc_DynamicField_boolean_value_tag 4 #define openxc_RawMessage_bus_tag 1 #define openxc_RawMessage_message_id_tag 2 #define openxc_RawMessage_data_tag 3 +#define openxc_ControlCommand_type_tag 1 +#define openxc_ControlCommand_diagnostic_request_tag 2 #define openxc_TranslatedMessage_type_tag 1 #define openxc_TranslatedMessage_name_tag 2 -#define openxc_TranslatedMessage_string_value_tag 3 -#define openxc_TranslatedMessage_numeric_value_tag 4 -#define openxc_TranslatedMessage_boolean_value_tag 5 -#define openxc_TranslatedMessage_string_event_tag 6 -#define openxc_TranslatedMessage_numeric_event_tag 7 -#define openxc_TranslatedMessage_boolean_event_tag 8 +#define openxc_TranslatedMessage_value_tag 3 +#define openxc_TranslatedMessage_event_tag 4 #define openxc_VehicleMessage_type_tag 1 #define openxc_VehicleMessage_raw_message_tag 2 #define openxc_VehicleMessage_translated_message_tag 3 +#define openxc_VehicleMessage_diagnostic_response_tag 4 +#define openxc_VehicleMessage_control_command_tag 5 +#define openxc_VehicleMessage_command_response_tag 6 /* Struct field encoding specification for nanopb */ -extern const pb_field_t openxc_VehicleMessage_fields[4]; +extern const pb_field_t openxc_VehicleMessage_fields[7]; extern const pb_field_t openxc_RawMessage_fields[4]; -extern const pb_field_t openxc_TranslatedMessage_fields[9]; +extern const pb_field_t openxc_ControlCommand_fields[3]; +extern const pb_field_t openxc_CommandResponse_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_DynamicField_fields[5]; +extern const pb_field_t openxc_TranslatedMessage_fields[5]; /* Maximum encoded size of messages (where known) */ -#define openxc_VehicleMessage_size 368 -#define openxc_RawMessage_size 23 -#define openxc_TranslatedMessage_size 334 +#define openxc_VehicleMessage_size 664 +#define openxc_RawMessage_size 27 +#define openxc_ControlCommand_size 76 +#define openxc_CommandResponse_size 137 +#define openxc_DiagnosticRequest_size 68 +#define openxc_DiagnosticResponse_size 56 +#define openxc_DynamicField_size 119 +#define openxc_TranslatedMessage_size 350 #ifdef __cplusplus } /* extern "C" */ diff --git a/gen/java/com/openxc/BinaryMessages.java b/gen/java/com/openxc/BinaryMessages.java index 02f2579..777acd0 100644 --- a/gen/java/com/openxc/BinaryMessages.java +++ b/gen/java/com/openxc/BinaryMessages.java @@ -48,6 +48,48 @@ public final class BinaryMessages { * optional .openxc.TranslatedMessage translated_message = 3; */ com.openxc.BinaryMessages.TranslatedMessageOrBuilder getTranslatedMessageOrBuilder(); + + // optional .openxc.DiagnosticResponse diagnostic_response = 4; + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + boolean hasDiagnosticResponse(); + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + com.openxc.BinaryMessages.DiagnosticResponse getDiagnosticResponse(); + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + com.openxc.BinaryMessages.DiagnosticResponseOrBuilder getDiagnosticResponseOrBuilder(); + + // optional .openxc.ControlCommand control_command = 5; + /** + * optional .openxc.ControlCommand control_command = 5; + */ + boolean hasControlCommand(); + /** + * optional .openxc.ControlCommand control_command = 5; + */ + com.openxc.BinaryMessages.ControlCommand getControlCommand(); + /** + * optional .openxc.ControlCommand control_command = 5; + */ + com.openxc.BinaryMessages.ControlCommandOrBuilder getControlCommandOrBuilder(); + + // optional .openxc.CommandResponse command_response = 6; + /** + * optional .openxc.CommandResponse command_response = 6; + */ + boolean hasCommandResponse(); + /** + * optional .openxc.CommandResponse command_response = 6; + */ + com.openxc.BinaryMessages.CommandResponse getCommandResponse(); + /** + * optional .openxc.CommandResponse command_response = 6; + */ + com.openxc.BinaryMessages.CommandResponseOrBuilder getCommandResponseOrBuilder(); } /** * Protobuf type {@code openxc.VehicleMessage} @@ -137,6 +179,45 @@ public final class BinaryMessages { bitField0_ |= 0x00000004; break; } + case 34: { + com.openxc.BinaryMessages.DiagnosticResponse.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + subBuilder = diagnosticResponse_.toBuilder(); + } + diagnosticResponse_ = input.readMessage(com.openxc.BinaryMessages.DiagnosticResponse.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(diagnosticResponse_); + diagnosticResponse_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; + break; + } + case 42: { + com.openxc.BinaryMessages.ControlCommand.Builder subBuilder = null; + if (((bitField0_ & 0x00000010) == 0x00000010)) { + subBuilder = controlCommand_.toBuilder(); + } + controlCommand_ = input.readMessage(com.openxc.BinaryMessages.ControlCommand.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(controlCommand_); + controlCommand_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000010; + break; + } + case 50: { + com.openxc.BinaryMessages.CommandResponse.Builder subBuilder = null; + if (((bitField0_ & 0x00000020) == 0x00000020)) { + subBuilder = commandResponse_.toBuilder(); + } + commandResponse_ = input.readMessage(com.openxc.BinaryMessages.CommandResponse.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(commandResponse_); + commandResponse_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000020; + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -189,6 +270,18 @@ public final class BinaryMessages { * TRANSLATED = 2; */ TRANSLATED(1, 2), + /** + * DIAGNOSTIC = 3; + */ + DIAGNOSTIC(2, 3), + /** + * CONTROL_COMMAND = 4; + */ + CONTROL_COMMAND(3, 4), + /** + * COMMAND_RESPONSE = 5; + */ + COMMAND_RESPONSE(4, 5), ; /** @@ -199,6 +292,18 @@ public final class BinaryMessages { * TRANSLATED = 2; */ public static final int TRANSLATED_VALUE = 2; + /** + * DIAGNOSTIC = 3; + */ + public static final int DIAGNOSTIC_VALUE = 3; + /** + * CONTROL_COMMAND = 4; + */ + public static final int CONTROL_COMMAND_VALUE = 4; + /** + * COMMAND_RESPONSE = 5; + */ + public static final int COMMAND_RESPONSE_VALUE = 5; public final int getNumber() { return value; } @@ -207,6 +312,9 @@ public final class BinaryMessages { switch (value) { case 1: return RAW; case 2: return TRANSLATED; + case 3: return DIAGNOSTIC; + case 4: return CONTROL_COMMAND; + case 5: return COMMAND_RESPONSE; default: return null; } } @@ -319,10 +427,79 @@ public final class BinaryMessages { return translatedMessage_; } + // optional .openxc.DiagnosticResponse diagnostic_response = 4; + public static final int DIAGNOSTIC_RESPONSE_FIELD_NUMBER = 4; + private com.openxc.BinaryMessages.DiagnosticResponse diagnosticResponse_; + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public boolean hasDiagnosticResponse() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public com.openxc.BinaryMessages.DiagnosticResponse getDiagnosticResponse() { + return diagnosticResponse_; + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public com.openxc.BinaryMessages.DiagnosticResponseOrBuilder getDiagnosticResponseOrBuilder() { + return diagnosticResponse_; + } + + // optional .openxc.ControlCommand control_command = 5; + public static final int CONTROL_COMMAND_FIELD_NUMBER = 5; + private com.openxc.BinaryMessages.ControlCommand controlCommand_; + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public boolean hasControlCommand() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public com.openxc.BinaryMessages.ControlCommand getControlCommand() { + return controlCommand_; + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public com.openxc.BinaryMessages.ControlCommandOrBuilder getControlCommandOrBuilder() { + return controlCommand_; + } + + // optional .openxc.CommandResponse command_response = 6; + public static final int COMMAND_RESPONSE_FIELD_NUMBER = 6; + private com.openxc.BinaryMessages.CommandResponse commandResponse_; + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public boolean hasCommandResponse() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public com.openxc.BinaryMessages.CommandResponse getCommandResponse() { + return commandResponse_; + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public com.openxc.BinaryMessages.CommandResponseOrBuilder getCommandResponseOrBuilder() { + return commandResponse_; + } + private void initFields() { type_ = com.openxc.BinaryMessages.VehicleMessage.Type.RAW; rawMessage_ = com.openxc.BinaryMessages.RawMessage.getDefaultInstance(); translatedMessage_ = com.openxc.BinaryMessages.TranslatedMessage.getDefaultInstance(); + diagnosticResponse_ = com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); + controlCommand_ = com.openxc.BinaryMessages.ControlCommand.getDefaultInstance(); + commandResponse_ = com.openxc.BinaryMessages.CommandResponse.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -345,6 +522,15 @@ public final class BinaryMessages { if (((bitField0_ & 0x00000004) == 0x00000004)) { output.writeMessage(3, translatedMessage_); } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeMessage(4, diagnosticResponse_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeMessage(5, controlCommand_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeMessage(6, commandResponse_); + } getUnknownFields().writeTo(output); } @@ -366,6 +552,18 @@ public final class BinaryMessages { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, translatedMessage_); } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, diagnosticResponse_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, controlCommand_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, commandResponse_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -476,6 +674,9 @@ public final class BinaryMessages { if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { getRawMessageFieldBuilder(); getTranslatedMessageFieldBuilder(); + getDiagnosticResponseFieldBuilder(); + getControlCommandFieldBuilder(); + getCommandResponseFieldBuilder(); } } private static Builder create() { @@ -498,6 +699,24 @@ public final class BinaryMessages { translatedMessageBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000004); + if (diagnosticResponseBuilder_ == null) { + diagnosticResponse_ = com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); + } else { + diagnosticResponseBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + if (controlCommandBuilder_ == null) { + controlCommand_ = com.openxc.BinaryMessages.ControlCommand.getDefaultInstance(); + } else { + controlCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + if (commandResponseBuilder_ == null) { + commandResponse_ = com.openxc.BinaryMessages.CommandResponse.getDefaultInstance(); + } else { + commandResponseBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); return this; } @@ -546,6 +765,30 @@ public final class BinaryMessages { } else { result.translatedMessage_ = translatedMessageBuilder_.build(); } + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + if (diagnosticResponseBuilder_ == null) { + result.diagnosticResponse_ = diagnosticResponse_; + } else { + result.diagnosticResponse_ = diagnosticResponseBuilder_.build(); + } + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + if (controlCommandBuilder_ == null) { + result.controlCommand_ = controlCommand_; + } else { + result.controlCommand_ = controlCommandBuilder_.build(); + } + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + if (commandResponseBuilder_ == null) { + result.commandResponse_ = commandResponse_; + } else { + result.commandResponse_ = commandResponseBuilder_.build(); + } result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -571,6 +814,15 @@ public final class BinaryMessages { if (other.hasTranslatedMessage()) { mergeTranslatedMessage(other.getTranslatedMessage()); } + if (other.hasDiagnosticResponse()) { + mergeDiagnosticResponse(other.getDiagnosticResponse()); + } + if (other.hasControlCommand()) { + mergeControlCommand(other.getControlCommand()); + } + if (other.hasCommandResponse()) { + mergeCommandResponse(other.getCommandResponse()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -868,208 +1120,4789 @@ public final class BinaryMessages { return translatedMessageBuilder_; } - // @@protoc_insertion_point(builder_scope:openxc.VehicleMessage) - } - - static { - defaultInstance = new VehicleMessage(true); - defaultInstance.initFields(); - } - - // @@protoc_insertion_point(class_scope:openxc.VehicleMessage) - } - - public interface RawMessageOrBuilder - 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 uint64 data = 3; - /** - * optional uint64 data = 3; - */ - boolean hasData(); - /** - * optional uint64 data = 3; - */ - long getData(); - } - /** - * Protobuf type {@code openxc.RawMessage} - */ - public static final class RawMessage extends - com.google.protobuf.GeneratedMessage - implements RawMessageOrBuilder { - // Use RawMessage.newBuilder() to construct. - private RawMessage(com.google.protobuf.GeneratedMessage.Builder builder) { - super(builder); - this.unknownFields = builder.getUnknownFields(); - } - private RawMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } - - private static final RawMessage defaultInstance; - public static RawMessage getDefaultInstance() { - return defaultInstance; - } - - public RawMessage getDefaultInstanceForType() { - return defaultInstance; - } - - private final com.google.protobuf.UnknownFieldSet unknownFields; - @java.lang.Override - public final com.google.protobuf.UnknownFieldSet - getUnknownFields() { - return this.unknownFields; - } - private RawMessage( - 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; - data_ = input.readUInt64(); - break; - } - } + // 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.DiagnosticResponse, com.openxc.BinaryMessages.DiagnosticResponse.Builder, com.openxc.BinaryMessages.DiagnosticResponseOrBuilder> diagnosticResponseBuilder_; + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public boolean hasDiagnosticResponse() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public com.openxc.BinaryMessages.DiagnosticResponse getDiagnosticResponse() { + if (diagnosticResponseBuilder_ == null) { + return diagnosticResponse_; + } else { + return diagnosticResponseBuilder_.getMessage(); } - } 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_RawMessage_descriptor; - } - - protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public Builder setDiagnosticResponse(com.openxc.BinaryMessages.DiagnosticResponse value) { + if (diagnosticResponseBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + diagnosticResponse_ = value; + onChanged(); + } else { + diagnosticResponseBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public Builder setDiagnosticResponse( + com.openxc.BinaryMessages.DiagnosticResponse.Builder builderForValue) { + if (diagnosticResponseBuilder_ == null) { + diagnosticResponse_ = builderForValue.build(); + onChanged(); + } else { + diagnosticResponseBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public Builder mergeDiagnosticResponse(com.openxc.BinaryMessages.DiagnosticResponse value) { + if (diagnosticResponseBuilder_ == null) { + if (((bitField0_ & 0x00000008) == 0x00000008) && + diagnosticResponse_ != com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance()) { + diagnosticResponse_ = + com.openxc.BinaryMessages.DiagnosticResponse.newBuilder(diagnosticResponse_).mergeFrom(value).buildPartial(); + } else { + diagnosticResponse_ = value; + } + onChanged(); + } else { + diagnosticResponseBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public Builder clearDiagnosticResponse() { + if (diagnosticResponseBuilder_ == null) { + diagnosticResponse_ = com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); + onChanged(); + } else { + diagnosticResponseBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public com.openxc.BinaryMessages.DiagnosticResponse.Builder getDiagnosticResponseBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getDiagnosticResponseFieldBuilder().getBuilder(); + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + public com.openxc.BinaryMessages.DiagnosticResponseOrBuilder getDiagnosticResponseOrBuilder() { + if (diagnosticResponseBuilder_ != null) { + return diagnosticResponseBuilder_.getMessageOrBuilder(); + } else { + return diagnosticResponse_; + } + } + /** + * optional .openxc.DiagnosticResponse diagnostic_response = 4; + */ + private com.google.protobuf.SingleFieldBuilder< + 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()); + diagnosticResponse_ = null; + } + return diagnosticResponseBuilder_; + } + + // optional .openxc.ControlCommand control_command = 5; + private com.openxc.BinaryMessages.ControlCommand controlCommand_ = com.openxc.BinaryMessages.ControlCommand.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.ControlCommand, com.openxc.BinaryMessages.ControlCommand.Builder, com.openxc.BinaryMessages.ControlCommandOrBuilder> controlCommandBuilder_; + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public boolean hasControlCommand() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public com.openxc.BinaryMessages.ControlCommand getControlCommand() { + if (controlCommandBuilder_ == null) { + return controlCommand_; + } else { + return controlCommandBuilder_.getMessage(); + } + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public Builder setControlCommand(com.openxc.BinaryMessages.ControlCommand value) { + if (controlCommandBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + controlCommand_ = value; + onChanged(); + } else { + controlCommandBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public Builder setControlCommand( + com.openxc.BinaryMessages.ControlCommand.Builder builderForValue) { + if (controlCommandBuilder_ == null) { + controlCommand_ = builderForValue.build(); + onChanged(); + } else { + controlCommandBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public Builder mergeControlCommand(com.openxc.BinaryMessages.ControlCommand value) { + if (controlCommandBuilder_ == null) { + if (((bitField0_ & 0x00000010) == 0x00000010) && + controlCommand_ != com.openxc.BinaryMessages.ControlCommand.getDefaultInstance()) { + controlCommand_ = + com.openxc.BinaryMessages.ControlCommand.newBuilder(controlCommand_).mergeFrom(value).buildPartial(); + } else { + controlCommand_ = value; + } + onChanged(); + } else { + controlCommandBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public Builder clearControlCommand() { + if (controlCommandBuilder_ == null) { + controlCommand_ = com.openxc.BinaryMessages.ControlCommand.getDefaultInstance(); + onChanged(); + } else { + controlCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public com.openxc.BinaryMessages.ControlCommand.Builder getControlCommandBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getControlCommandFieldBuilder().getBuilder(); + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + public com.openxc.BinaryMessages.ControlCommandOrBuilder getControlCommandOrBuilder() { + if (controlCommandBuilder_ != null) { + return controlCommandBuilder_.getMessageOrBuilder(); + } else { + return controlCommand_; + } + } + /** + * optional .openxc.ControlCommand control_command = 5; + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.ControlCommand, com.openxc.BinaryMessages.ControlCommand.Builder, com.openxc.BinaryMessages.ControlCommandOrBuilder> + getControlCommandFieldBuilder() { + if (controlCommandBuilder_ == null) { + controlCommandBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.ControlCommand, com.openxc.BinaryMessages.ControlCommand.Builder, com.openxc.BinaryMessages.ControlCommandOrBuilder>( + controlCommand_, + getParentForChildren(), + isClean()); + controlCommand_ = null; + } + return controlCommandBuilder_; + } + + // optional .openxc.CommandResponse command_response = 6; + private com.openxc.BinaryMessages.CommandResponse commandResponse_ = com.openxc.BinaryMessages.CommandResponse.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.CommandResponse, com.openxc.BinaryMessages.CommandResponse.Builder, com.openxc.BinaryMessages.CommandResponseOrBuilder> commandResponseBuilder_; + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public boolean hasCommandResponse() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public com.openxc.BinaryMessages.CommandResponse getCommandResponse() { + if (commandResponseBuilder_ == null) { + return commandResponse_; + } else { + return commandResponseBuilder_.getMessage(); + } + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public Builder setCommandResponse(com.openxc.BinaryMessages.CommandResponse value) { + if (commandResponseBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + commandResponse_ = value; + onChanged(); + } else { + commandResponseBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public Builder setCommandResponse( + com.openxc.BinaryMessages.CommandResponse.Builder builderForValue) { + if (commandResponseBuilder_ == null) { + commandResponse_ = builderForValue.build(); + onChanged(); + } else { + commandResponseBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public Builder mergeCommandResponse(com.openxc.BinaryMessages.CommandResponse value) { + if (commandResponseBuilder_ == null) { + if (((bitField0_ & 0x00000020) == 0x00000020) && + commandResponse_ != com.openxc.BinaryMessages.CommandResponse.getDefaultInstance()) { + commandResponse_ = + com.openxc.BinaryMessages.CommandResponse.newBuilder(commandResponse_).mergeFrom(value).buildPartial(); + } else { + commandResponse_ = value; + } + onChanged(); + } else { + commandResponseBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public Builder clearCommandResponse() { + if (commandResponseBuilder_ == null) { + commandResponse_ = com.openxc.BinaryMessages.CommandResponse.getDefaultInstance(); + onChanged(); + } else { + commandResponseBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public com.openxc.BinaryMessages.CommandResponse.Builder getCommandResponseBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return getCommandResponseFieldBuilder().getBuilder(); + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + public com.openxc.BinaryMessages.CommandResponseOrBuilder getCommandResponseOrBuilder() { + if (commandResponseBuilder_ != null) { + return commandResponseBuilder_.getMessageOrBuilder(); + } else { + return commandResponse_; + } + } + /** + * optional .openxc.CommandResponse command_response = 6; + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.CommandResponse, com.openxc.BinaryMessages.CommandResponse.Builder, com.openxc.BinaryMessages.CommandResponseOrBuilder> + getCommandResponseFieldBuilder() { + if (commandResponseBuilder_ == null) { + commandResponseBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.CommandResponse, com.openxc.BinaryMessages.CommandResponse.Builder, com.openxc.BinaryMessages.CommandResponseOrBuilder>( + commandResponse_, + getParentForChildren(), + isClean()); + commandResponse_ = null; + } + return commandResponseBuilder_; + } + + // @@protoc_insertion_point(builder_scope:openxc.VehicleMessage) + } + + static { + defaultInstance = new VehicleMessage(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.VehicleMessage) + } + + public interface RawMessageOrBuilder + 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 bytes data = 3; + /** + * optional bytes data = 3; + */ + boolean hasData(); + /** + * optional bytes data = 3; + */ + com.google.protobuf.ByteString getData(); + } + /** + * Protobuf type {@code openxc.RawMessage} + */ + public static final class RawMessage extends + com.google.protobuf.GeneratedMessage + implements RawMessageOrBuilder { + // Use RawMessage.newBuilder() to construct. + private RawMessage(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private RawMessage(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final RawMessage defaultInstance; + public static RawMessage getDefaultInstance() { + return defaultInstance; + } + + public RawMessage getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private RawMessage( + 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 26: { + bitField0_ |= 0x00000004; + data_ = input.readBytes(); + 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_RawMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.RawMessage.class, com.openxc.BinaryMessages.RawMessage.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public RawMessage parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new RawMessage(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 bytes data = 3; + public static final int DATA_FIELD_NUMBER = 3; + private com.google.protobuf.ByteString data_; + /** + * optional bytes data = 3; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional bytes data = 3; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + + private void initFields() { + bus_ = 0; + messageId_ = 0; + data_ = com.google.protobuf.ByteString.EMPTY; + } + 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.writeBytes(3, data_); + } + 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 + .computeBytesSize(3, data_); + } + 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.RawMessage parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.RawMessage 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.RawMessage parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.RawMessage parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.RawMessage parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.RawMessage parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.RawMessage parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.RawMessage parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.RawMessage parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.RawMessage 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.RawMessage 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.RawMessage} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements com.openxc.BinaryMessages.RawMessageOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.RawMessage.class, com.openxc.BinaryMessages.RawMessage.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.RawMessage.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); + data_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_descriptor; + } + + public com.openxc.BinaryMessages.RawMessage getDefaultInstanceForType() { + return com.openxc.BinaryMessages.RawMessage.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.RawMessage build() { + com.openxc.BinaryMessages.RawMessage result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.RawMessage buildPartial() { + com.openxc.BinaryMessages.RawMessage result = new com.openxc.BinaryMessages.RawMessage(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.data_ = data_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.RawMessage) { + return mergeFrom((com.openxc.BinaryMessages.RawMessage)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.RawMessage other) { + if (other == com.openxc.BinaryMessages.RawMessage.getDefaultInstance()) return this; + if (other.hasBus()) { + setBus(other.getBus()); + } + if (other.hasMessageId()) { + setMessageId(other.getMessageId()); + } + if (other.hasData()) { + setData(other.getData()); + } + 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.RawMessage parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.RawMessage) 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 bytes data = 3; + private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes data = 3; + */ + public boolean hasData() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * optional bytes data = 3; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * optional bytes data = 3; + */ + public Builder setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000004; + data_ = value; + onChanged(); + return this; + } + /** + * optional bytes data = 3; + */ + public Builder clearData() { + bitField0_ = (bitField0_ & ~0x00000004); + data_ = getDefaultInstance().getData(); + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.RawMessage) + } + + static { + defaultInstance = new RawMessage(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.RawMessage) + } + + 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 CommandResponseOrBuilder + 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 string message = 2; + /** + * optional string message = 2; + */ + boolean hasMessage(); + /** + * optional string message = 2; + */ + java.lang.String getMessage(); + /** + * optional string message = 2; + */ + com.google.protobuf.ByteString + getMessageBytes(); + } + /** + * Protobuf type {@code openxc.CommandResponse} + */ + public static final class CommandResponse extends + com.google.protobuf.GeneratedMessage + implements CommandResponseOrBuilder { + // Use CommandResponse.newBuilder() to construct. + private CommandResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private CommandResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final CommandResponse defaultInstance; + public static CommandResponse getDefaultInstance() { + return defaultInstance; + } + + public CommandResponse getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private CommandResponse( + 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: { + bitField0_ |= 0x00000002; + message_ = input.readBytes(); + 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_CommandResponse_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_CommandResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.CommandResponse.class, com.openxc.BinaryMessages.CommandResponse.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public CommandResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CommandResponse(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + 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 string message = 2; + public static final int MESSAGE_FIELD_NUMBER = 2; + private java.lang.Object message_; + /** + * optional string message = 2; + */ + public boolean hasMessage() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string message = 2; + */ + public java.lang.String getMessage() { + java.lang.Object ref = message_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + message_ = s; + } + return s; + } + } + /** + * optional string message = 2; + */ + public com.google.protobuf.ByteString + getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private void initFields() { + type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; + message_ = ""; + } + 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.writeBytes(2, getMessageBytes()); + } + 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 + .computeBytesSize(2, getMessageBytes()); + } + 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.CommandResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.CommandResponse 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.CommandResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.CommandResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.CommandResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.CommandResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.CommandResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.CommandResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.CommandResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.CommandResponse 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.CommandResponse 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.CommandResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements com.openxc.BinaryMessages.CommandResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_CommandResponse_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_CommandResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.CommandResponse.class, com.openxc.BinaryMessages.CommandResponse.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.CommandResponse.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(); + type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; + bitField0_ = (bitField0_ & ~0x00000001); + message_ = ""; + 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_CommandResponse_descriptor; + } + + public com.openxc.BinaryMessages.CommandResponse getDefaultInstanceForType() { + return com.openxc.BinaryMessages.CommandResponse.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.CommandResponse build() { + com.openxc.BinaryMessages.CommandResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.CommandResponse buildPartial() { + com.openxc.BinaryMessages.CommandResponse result = new com.openxc.BinaryMessages.CommandResponse(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; + } + result.message_ = message_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.CommandResponse) { + return mergeFrom((com.openxc.BinaryMessages.CommandResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.CommandResponse other) { + if (other == com.openxc.BinaryMessages.CommandResponse.getDefaultInstance()) return this; + if (other.hasType()) { + setType(other.getType()); + } + if (other.hasMessage()) { + bitField0_ |= 0x00000002; + message_ = other.message_; + onChanged(); + } + 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.CommandResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.CommandResponse) 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 string message = 2; + private java.lang.Object message_ = ""; + /** + * optional string message = 2; + */ + public boolean hasMessage() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string message = 2; + */ + public java.lang.String getMessage() { + java.lang.Object ref = message_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + message_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string message = 2; + */ + public com.google.protobuf.ByteString + getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string message = 2; + */ + public Builder setMessage( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + message_ = value; + onChanged(); + return this; + } + /** + * optional string message = 2; + */ + public Builder clearMessage() { + bitField0_ = (bitField0_ & ~0x00000002); + message_ = getDefaultInstance().getMessage(); + onChanged(); + return this; + } + /** + * optional string message = 2; + */ + public Builder setMessageBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + message_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.CommandResponse) + } + + static { + defaultInstance = new CommandResponse(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.CommandResponse) + } + + 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 multiple_responses = 6; + /** + * optional bool multiple_responses = 6; + */ + boolean hasMultipleResponses(); + /** + * optional bool multiple_responses = 6; + */ + boolean getMultipleResponses(); + + // optional double frequency = 7; + /** + * optional double frequency = 7; + */ + boolean hasFrequency(); + /** + * optional double frequency = 7; + */ + double getFrequency(); + + // optional string name = 8; + /** + * optional string name = 8; + */ + boolean hasName(); + /** + * optional string name = 8; + */ + java.lang.String getName(); + /** + * optional string name = 8; + */ + com.google.protobuf.ByteString + getNameBytes(); + + // optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + boolean hasDecodedType(); + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + com.openxc.BinaryMessages.DiagnosticRequest.DecodedType getDecodedType(); + } + /** + * 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; + multipleResponses_ = input.readBool(); + break; + } + case 57: { + bitField0_ |= 0x00000040; + frequency_ = input.readDouble(); + break; + } + case 66: { + bitField0_ |= 0x00000080; + name_ = input.readBytes(); + break; + } + case 72: { + int rawValue = input.readEnum(); + com.openxc.BinaryMessages.DiagnosticRequest.DecodedType value = com.openxc.BinaryMessages.DiagnosticRequest.DecodedType.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(9, rawValue); + } else { + bitField0_ |= 0x00000100; + decodedType_ = value; + } + 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; + } + + /** + * Protobuf enum {@code openxc.DiagnosticRequest.DecodedType} + */ + public enum DecodedType + implements com.google.protobuf.ProtocolMessageEnum { + /** + * NONE = 1; + */ + NONE(0, 1), + /** + * OBD2 = 2; + */ + OBD2(1, 2), + ; + + /** + * NONE = 1; + */ + public static final int NONE_VALUE = 1; + /** + * OBD2 = 2; + */ + public static final int OBD2_VALUE = 2; + + + public final int getNumber() { return value; } + + public static DecodedType valueOf(int value) { + switch (value) { + case 1: return NONE; + case 2: return OBD2; + 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 DecodedType findValueByNumber(int number) { + return DecodedType.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.DiagnosticRequest.getDescriptor().getEnumTypes().get(0); + } + + private static final DecodedType[] VALUES = values(); + + public static DecodedType 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 DecodedType(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:openxc.DiagnosticRequest.DecodedType) + } + + 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 multiple_responses = 6; + public static final int MULTIPLE_RESPONSES_FIELD_NUMBER = 6; + private boolean multipleResponses_; + /** + * optional bool multiple_responses = 6; + */ + public boolean hasMultipleResponses() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional bool multiple_responses = 6; + */ + public boolean getMultipleResponses() { + return multipleResponses_; + } + + // optional double frequency = 7; + public static final int FREQUENCY_FIELD_NUMBER = 7; + private double frequency_; + /** + * optional double frequency = 7; + */ + public boolean hasFrequency() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional double frequency = 7; + */ + public double getFrequency() { + return frequency_; + } + + // optional string name = 8; + public static final int NAME_FIELD_NUMBER = 8; + private java.lang.Object name_; + /** + * optional string name = 8; + */ + public boolean hasName() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional string name = 8; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + name_ = s; + } + return s; + } + } + /** + * optional string name = 8; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + // optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + public static final int DECODED_TYPE_FIELD_NUMBER = 9; + private com.openxc.BinaryMessages.DiagnosticRequest.DecodedType decodedType_; + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + public boolean hasDecodedType() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + public com.openxc.BinaryMessages.DiagnosticRequest.DecodedType getDecodedType() { + return decodedType_; + } + + private void initFields() { + bus_ = 0; + messageId_ = 0; + mode_ = 0; + pid_ = 0; + payload_ = com.google.protobuf.ByteString.EMPTY; + multipleResponses_ = false; + frequency_ = 0D; + name_ = ""; + decodedType_ = com.openxc.BinaryMessages.DiagnosticRequest.DecodedType.NONE; + } + 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, multipleResponses_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeDouble(7, frequency_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + output.writeBytes(8, getNameBytes()); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + output.writeEnum(9, decodedType_.getNumber()); + } + 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, multipleResponses_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(7, frequency_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(8, getNameBytes()); + } + if (((bitField0_ & 0x00000100) == 0x00000100)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(9, decodedType_.getNumber()); + } + 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); + multipleResponses_ = false; + bitField0_ = (bitField0_ & ~0x00000020); + frequency_ = 0D; + bitField0_ = (bitField0_ & ~0x00000040); + name_ = ""; + bitField0_ = (bitField0_ & ~0x00000080); + decodedType_ = com.openxc.BinaryMessages.DiagnosticRequest.DecodedType.NONE; + 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.multipleResponses_ = multipleResponses_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; + } + result.frequency_ = frequency_; + if (((from_bitField0_ & 0x00000080) == 0x00000080)) { + to_bitField0_ |= 0x00000080; + } + result.name_ = name_; + if (((from_bitField0_ & 0x00000100) == 0x00000100)) { + to_bitField0_ |= 0x00000100; + } + result.decodedType_ = decodedType_; + 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.hasMultipleResponses()) { + setMultipleResponses(other.getMultipleResponses()); + } + if (other.hasFrequency()) { + setFrequency(other.getFrequency()); + } + if (other.hasName()) { + bitField0_ |= 0x00000080; + name_ = other.name_; + onChanged(); + } + if (other.hasDecodedType()) { + setDecodedType(other.getDecodedType()); + } + 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 multiple_responses = 6; + private boolean multipleResponses_ ; + /** + * optional bool multiple_responses = 6; + */ + public boolean hasMultipleResponses() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional bool multiple_responses = 6; + */ + public boolean getMultipleResponses() { + return multipleResponses_; + } + /** + * optional bool multiple_responses = 6; + */ + public Builder setMultipleResponses(boolean value) { + bitField0_ |= 0x00000020; + multipleResponses_ = value; + onChanged(); + return this; + } + /** + * optional bool multiple_responses = 6; + */ + public Builder clearMultipleResponses() { + bitField0_ = (bitField0_ & ~0x00000020); + multipleResponses_ = false; + onChanged(); + return this; + } + + // optional double frequency = 7; + private double frequency_ ; + /** + * optional double frequency = 7; + */ + public boolean hasFrequency() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional double frequency = 7; + */ + public double getFrequency() { + return frequency_; + } + /** + * optional double frequency = 7; + */ + public Builder setFrequency(double value) { + bitField0_ |= 0x00000040; + frequency_ = value; + onChanged(); + return this; + } + /** + * optional double frequency = 7; + */ + public Builder clearFrequency() { + bitField0_ = (bitField0_ & ~0x00000040); + frequency_ = 0D; + onChanged(); + return this; + } + + // optional string name = 8; + private java.lang.Object name_ = ""; + /** + * optional string name = 8; + */ + public boolean hasName() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional string name = 8; + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string name = 8; + */ + public com.google.protobuf.ByteString + getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * optional string name = 8; + */ + public Builder setName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000080; + name_ = value; + onChanged(); + return this; + } + /** + * optional string name = 8; + */ + public Builder clearName() { + bitField0_ = (bitField0_ & ~0x00000080); + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * optional string name = 8; + */ + public Builder setNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000080; + name_ = value; + onChanged(); + return this; + } + + // optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + private com.openxc.BinaryMessages.DiagnosticRequest.DecodedType decodedType_ = com.openxc.BinaryMessages.DiagnosticRequest.DecodedType.NONE; + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + public boolean hasDecodedType() { + return ((bitField0_ & 0x00000100) == 0x00000100); + } + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + public com.openxc.BinaryMessages.DiagnosticRequest.DecodedType getDecodedType() { + return decodedType_; + } + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + public Builder setDecodedType(com.openxc.BinaryMessages.DiagnosticRequest.DecodedType value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000100; + decodedType_ = value; + onChanged(); + return this; + } + /** + * optional .openxc.DiagnosticRequest.DecodedType decoded_type = 9; + */ + public Builder clearDecodedType() { + bitField0_ = (bitField0_ & ~0x00000100); + decodedType_ = com.openxc.BinaryMessages.DiagnosticRequest.DecodedType.NONE; + 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; + /** + * 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 bool success = 5; + /** + * optional bool success = 5; + */ + boolean hasSuccess(); + /** + * optional bool success = 5; + */ + boolean getSuccess(); + + // optional uint32 negative_response_code = 6; + /** + * optional uint32 negative_response_code = 6; + */ + boolean hasNegativeResponseCode(); + /** + * optional uint32 negative_response_code = 6; + */ + int getNegativeResponseCode(); + + // optional bytes payload = 7; + /** + * optional bytes payload = 7; + * + *
+     * TODO we are capping this at 8 bytes for now - need to change when we
+     * support multi-frame responses
+     * 
+ */ + boolean hasPayload(); + /** + * optional bytes payload = 7; + * + *
+     * 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 double value = 8; + /** + * optional double value = 8; + */ + boolean hasValue(); + /** + * optional double value = 8; + */ + double getValue(); + } + /** + * Protobuf type {@code openxc.DiagnosticResponse} + */ + public static final class DiagnosticResponse extends + com.google.protobuf.GeneratedMessage + implements DiagnosticResponseOrBuilder { + // Use DiagnosticResponse.newBuilder() to construct. + private DiagnosticResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DiagnosticResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DiagnosticResponse defaultInstance; + public static DiagnosticResponse getDefaultInstance() { + return defaultInstance; + } + + public DiagnosticResponse getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DiagnosticResponse( + 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 40: { + bitField0_ |= 0x00000010; + success_ = input.readBool(); + break; + } + case 48: { + bitField0_ |= 0x00000020; + negativeResponseCode_ = input.readUInt32(); + break; + } + case 58: { + bitField0_ |= 0x00000040; + payload_ = input.readBytes(); + break; + } + case 65: { + bitField0_ |= 0x00000080; + value_ = 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_DiagnosticResponse_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.DiagnosticResponse.class, com.openxc.BinaryMessages.DiagnosticResponse.Builder.class); + } + + 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 DiagnosticResponse(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 bool success = 5; + public static final int SUCCESS_FIELD_NUMBER = 5; + private boolean success_; + /** + * optional bool success = 5; + */ + public boolean hasSuccess() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bool success = 5; + */ + public boolean getSuccess() { + return success_; + } + + // optional uint32 negative_response_code = 6; + public static final int NEGATIVE_RESPONSE_CODE_FIELD_NUMBER = 6; + private int negativeResponseCode_; + /** + * optional uint32 negative_response_code = 6; + */ + public boolean hasNegativeResponseCode() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional uint32 negative_response_code = 6; + */ + public int getNegativeResponseCode() { + return negativeResponseCode_; + } + + // optional bytes payload = 7; + public static final int PAYLOAD_FIELD_NUMBER = 7; + private com.google.protobuf.ByteString payload_; + /** + * optional bytes payload = 7; + * + *
+     * TODO we are capping this at 8 bytes for now - need to change when we
+     * support multi-frame responses
+     * 
+ */ + public boolean hasPayload() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional bytes payload = 7; + * + *
+     * 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 double value = 8; + public static final int VALUE_FIELD_NUMBER = 8; + private double value_; + /** + * optional double value = 8; + */ + public boolean hasValue() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional double value = 8; + */ + public double getValue() { + return value_; + } + + private void initFields() { + bus_ = 0; + messageId_ = 0; + mode_ = 0; + pid_ = 0; + success_ = false; + negativeResponseCode_ = 0; + payload_ = com.google.protobuf.ByteString.EMPTY; + value_ = 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.writeBool(5, success_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeUInt32(6, negativeResponseCode_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeBytes(7, payload_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + output.writeDouble(8, value_); + } + 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 + .computeBoolSize(5, success_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, negativeResponseCode_); + } + if (((bitField0_ & 0x00000040) == 0x00000040)) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(7, payload_); + } + if (((bitField0_ & 0x00000080) == 0x00000080)) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(8, value_); + } + 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.DiagnosticResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + 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.DiagnosticResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + 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.DiagnosticResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + 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.DiagnosticResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + 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.DiagnosticResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.DiagnosticResponse 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.DiagnosticResponse 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.DiagnosticResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder + implements com.openxc.BinaryMessages.DiagnosticResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.DiagnosticResponse.class, com.openxc.BinaryMessages.DiagnosticResponse.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.DiagnosticResponse.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); + success_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + negativeResponseCode_ = 0; + bitField0_ = (bitField0_ & ~0x00000020); + payload_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + value_ = 0D; + bitField0_ = (bitField0_ & ~0x00000080); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticResponse_descriptor; + } + + public com.openxc.BinaryMessages.DiagnosticResponse getDefaultInstanceForType() { + return com.openxc.BinaryMessages.DiagnosticResponse.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.DiagnosticResponse build() { + com.openxc.BinaryMessages.DiagnosticResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + 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)) { + 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.success_ = success_; + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + result.negativeResponseCode_ = negativeResponseCode_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; + } + result.payload_ = payload_; + if (((from_bitField0_ & 0x00000080) == 0x00000080)) { + to_bitField0_ |= 0x00000080; + } + result.value_ = value_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message 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.DiagnosticResponse other) { + if (other == com.openxc.BinaryMessages.DiagnosticResponse.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.hasSuccess()) { + setSuccess(other.getSuccess()); + } + if (other.hasNegativeResponseCode()) { + setNegativeResponseCode(other.getNegativeResponseCode()); + } + if (other.hasPayload()) { + setPayload(other.getPayload()); + } + if (other.hasValue()) { + setValue(other.getValue()); + } + 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.DiagnosticResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.DiagnosticResponse) 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 bool success = 5; + private boolean success_ ; + /** + * optional bool success = 5; + */ + public boolean hasSuccess() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * optional bool success = 5; + */ + public boolean getSuccess() { + return success_; + } + /** + * optional bool success = 5; + */ + public Builder setSuccess(boolean value) { + bitField0_ |= 0x00000010; + success_ = value; + onChanged(); + return this; + } + /** + * optional bool success = 5; + */ + public Builder clearSuccess() { + bitField0_ = (bitField0_ & ~0x00000010); + success_ = false; + onChanged(); + return this; + } + + // optional uint32 negative_response_code = 6; + private int negativeResponseCode_ ; + /** + * optional uint32 negative_response_code = 6; + */ + public boolean hasNegativeResponseCode() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * optional uint32 negative_response_code = 6; + */ + public int getNegativeResponseCode() { + return negativeResponseCode_; + } + /** + * optional uint32 negative_response_code = 6; + */ + public Builder setNegativeResponseCode(int value) { + bitField0_ |= 0x00000020; + negativeResponseCode_ = value; + onChanged(); + return this; + } + /** + * optional uint32 negative_response_code = 6; + */ + public Builder clearNegativeResponseCode() { + bitField0_ = (bitField0_ & ~0x00000020); + negativeResponseCode_ = 0; + onChanged(); + return this; + } + + // optional bytes payload = 7; + private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY; + /** + * optional bytes payload = 7; + * + *
+       * TODO we are capping this at 8 bytes for now - need to change when we
+       * support multi-frame responses
+       * 
+ */ + public boolean hasPayload() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + /** + * optional bytes payload = 7; + * + *
+       * 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 = 7; + * + *
+       * 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_ |= 0x00000040; + payload_ = value; + onChanged(); + return this; + } + /** + * optional bytes payload = 7; + * + *
+       * TODO we are capping this at 8 bytes for now - need to change when we
+       * support multi-frame responses
+       * 
+ */ + public Builder clearPayload() { + bitField0_ = (bitField0_ & ~0x00000040); + payload_ = getDefaultInstance().getPayload(); + onChanged(); + return this; + } + + // optional double value = 8; + private double value_ ; + /** + * optional double value = 8; + */ + public boolean hasValue() { + return ((bitField0_ & 0x00000080) == 0x00000080); + } + /** + * optional double value = 8; + */ + public double getValue() { + return value_; + } + /** + * optional double value = 8; + */ + public Builder setValue(double value) { + bitField0_ |= 0x00000080; + value_ = value; + onChanged(); + return this; + } + /** + * optional double value = 8; + */ + public Builder clearValue() { + bitField0_ = (bitField0_ & ~0x00000080); + value_ = 0D; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.DiagnosticResponse) + } + + static { + defaultInstance = new DiagnosticResponse(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.DiagnosticResponse) + } + + public interface DynamicFieldOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .openxc.DynamicField.Type type = 1; + /** + * optional .openxc.DynamicField.Type type = 1; + */ + boolean hasType(); + /** + * optional .openxc.DynamicField.Type type = 1; + */ + com.openxc.BinaryMessages.DynamicField.Type getType(); + + // optional string string_value = 2; + /** + * optional string string_value = 2; + */ + boolean hasStringValue(); + /** + * optional string string_value = 2; + */ + java.lang.String getStringValue(); + /** + * optional string string_value = 2; + */ + com.google.protobuf.ByteString + getStringValueBytes(); + + // optional double numeric_value = 3; + /** + * optional double numeric_value = 3; + */ + boolean hasNumericValue(); + /** + * optional double numeric_value = 3; + */ + double getNumericValue(); + + // optional bool boolean_value = 4; + /** + * optional bool boolean_value = 4; + */ + boolean hasBooleanValue(); + /** + * optional bool boolean_value = 4; + */ + boolean getBooleanValue(); + } + /** + * Protobuf type {@code openxc.DynamicField} + */ + public static final class DynamicField extends + com.google.protobuf.GeneratedMessage + implements DynamicFieldOrBuilder { + // Use DynamicField.newBuilder() to construct. + private DynamicField(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DynamicField(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DynamicField defaultInstance; + public static DynamicField getDefaultInstance() { + return defaultInstance; + } + + public DynamicField getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DynamicField( + 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.DynamicField.Type value = com.openxc.BinaryMessages.DynamicField.Type.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(1, rawValue); + } else { + bitField0_ |= 0x00000001; + type_ = value; + } + break; + } + case 18: { + bitField0_ |= 0x00000002; + stringValue_ = input.readBytes(); + break; + } + case 25: { + bitField0_ |= 0x00000004; + numericValue_ = input.readDouble(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + booleanValue_ = input.readBool(); + 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_DynamicField_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_fieldAccessorTable + return com.openxc.BinaryMessages.internal_static_openxc_DynamicField_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.openxc.BinaryMessages.RawMessage.class, com.openxc.BinaryMessages.RawMessage.Builder.class); + com.openxc.BinaryMessages.DynamicField.class, com.openxc.BinaryMessages.DynamicField.Builder.class); + } + + public static com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + public DynamicField parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DynamicField(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; } - public static com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { - public RawMessage parsePartialFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws com.google.protobuf.InvalidProtocolBufferException { - return new RawMessage(input, extensionRegistry); + /** + * Protobuf enum {@code openxc.DynamicField.Type} + */ + public enum Type + implements com.google.protobuf.ProtocolMessageEnum { + /** + * STRING = 1; + */ + STRING(0, 1), + /** + * NUM = 2; + */ + NUM(1, 2), + /** + * BOOL = 3; + */ + BOOL(2, 3), + ; + + /** + * STRING = 1; + */ + public static final int STRING_VALUE = 1; + /** + * NUM = 2; + */ + public static final int NUM_VALUE = 2; + /** + * BOOL = 3; + */ + public static final int BOOL_VALUE = 3; + + + public final int getNumber() { return value; } + + public static Type valueOf(int value) { + switch (value) { + case 1: return STRING; + case 2: return NUM; + case 3: return BOOL; + 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); + } + }; - @java.lang.Override - public com.google.protobuf.Parser getParserForType() { - return PARSER; + 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.DynamicField.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.DynamicField.Type) } private int bitField0_; - // optional int32 bus = 1; - public static final int BUS_FIELD_NUMBER = 1; - private int bus_; + // optional .openxc.DynamicField.Type type = 1; + public static final int TYPE_FIELD_NUMBER = 1; + private com.openxc.BinaryMessages.DynamicField.Type type_; /** - * optional int32 bus = 1; + * optional .openxc.DynamicField.Type type = 1; */ - public boolean hasBus() { + public boolean hasType() { return ((bitField0_ & 0x00000001) == 0x00000001); } /** - * optional int32 bus = 1; + * optional .openxc.DynamicField.Type type = 1; */ - public int getBus() { - return bus_; + public com.openxc.BinaryMessages.DynamicField.Type getType() { + return type_; } - // optional uint32 message_id = 2; - public static final int MESSAGE_ID_FIELD_NUMBER = 2; - private int messageId_; + // optional string string_value = 2; + public static final int STRING_VALUE_FIELD_NUMBER = 2; + private java.lang.Object stringValue_; /** - * optional uint32 message_id = 2; + * optional string string_value = 2; */ - public boolean hasMessageId() { + public boolean hasStringValue() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * optional uint32 message_id = 2; + * optional string string_value = 2; */ - public int getMessageId() { - return messageId_; + public java.lang.String getStringValue() { + java.lang.Object ref = stringValue_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (bs.isValidUtf8()) { + stringValue_ = s; + } + return s; + } + } + /** + * optional string string_value = 2; + */ + public com.google.protobuf.ByteString + getStringValueBytes() { + java.lang.Object ref = stringValue_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + stringValue_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } - // optional uint64 data = 3; - public static final int DATA_FIELD_NUMBER = 3; - private long data_; + // optional double numeric_value = 3; + public static final int NUMERIC_VALUE_FIELD_NUMBER = 3; + private double numericValue_; /** - * optional uint64 data = 3; + * optional double numeric_value = 3; */ - public boolean hasData() { + public boolean hasNumericValue() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * optional uint64 data = 3; + * optional double numeric_value = 3; */ - public long getData() { - return data_; + public double getNumericValue() { + return numericValue_; + } + + // optional bool boolean_value = 4; + public static final int BOOLEAN_VALUE_FIELD_NUMBER = 4; + private boolean booleanValue_; + /** + * optional bool boolean_value = 4; + */ + public boolean hasBooleanValue() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * optional bool boolean_value = 4; + */ + public boolean getBooleanValue() { + return booleanValue_; } private void initFields() { - bus_ = 0; - messageId_ = 0; - data_ = 0L; + type_ = com.openxc.BinaryMessages.DynamicField.Type.STRING; + stringValue_ = ""; + numericValue_ = 0D; + booleanValue_ = false; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -1084,13 +5917,16 @@ public final class BinaryMessages { throws java.io.IOException { getSerializedSize(); if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeInt32(1, bus_); + output.writeEnum(1, type_.getNumber()); } if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeUInt32(2, messageId_); + output.writeBytes(2, getStringValueBytes()); } if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeUInt64(3, data_); + output.writeDouble(3, numericValue_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeBool(4, booleanValue_); } getUnknownFields().writeTo(output); } @@ -1103,15 +5939,19 @@ public final class BinaryMessages { size = 0; if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, bus_); + .computeEnumSize(1, type_.getNumber()); } if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeUInt32Size(2, messageId_); + .computeBytesSize(2, getStringValueBytes()); } if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeUInt64Size(3, data_); + .computeDoubleSize(3, numericValue_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(4, booleanValue_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -1125,53 +5965,53 @@ public final class BinaryMessages { return super.writeReplace(); } - public static com.openxc.BinaryMessages.RawMessage parseFrom( + public static com.openxc.BinaryMessages.DynamicField parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.openxc.BinaryMessages.RawMessage parseFrom( + public static com.openxc.BinaryMessages.DynamicField 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.RawMessage parseFrom(byte[] data) + public static com.openxc.BinaryMessages.DynamicField parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.openxc.BinaryMessages.RawMessage parseFrom( + public static com.openxc.BinaryMessages.DynamicField parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.openxc.BinaryMessages.RawMessage parseFrom(java.io.InputStream input) + public static com.openxc.BinaryMessages.DynamicField parseFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static com.openxc.BinaryMessages.RawMessage parseFrom( + public static com.openxc.BinaryMessages.DynamicField parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return PARSER.parseFrom(input, extensionRegistry); } - public static com.openxc.BinaryMessages.RawMessage parseDelimitedFrom(java.io.InputStream input) + public static com.openxc.BinaryMessages.DynamicField parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return PARSER.parseDelimitedFrom(input); } - public static com.openxc.BinaryMessages.RawMessage parseDelimitedFrom( + public static com.openxc.BinaryMessages.DynamicField parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return PARSER.parseDelimitedFrom(input, extensionRegistry); } - public static com.openxc.BinaryMessages.RawMessage parseFrom( + public static com.openxc.BinaryMessages.DynamicField parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return PARSER.parseFrom(input); } - public static com.openxc.BinaryMessages.RawMessage parseFrom( + public static com.openxc.BinaryMessages.DynamicField parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1180,7 +6020,7 @@ public final class BinaryMessages { public static Builder newBuilder() { return Builder.create(); } public Builder newBuilderForType() { return newBuilder(); } - public static Builder newBuilder(com.openxc.BinaryMessages.RawMessage prototype) { + public static Builder newBuilder(com.openxc.BinaryMessages.DynamicField prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); } @@ -1192,24 +6032,24 @@ public final class BinaryMessages { return builder; } /** - * Protobuf type {@code openxc.RawMessage} + * Protobuf type {@code openxc.DynamicField} */ public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder - implements com.openxc.BinaryMessages.RawMessageOrBuilder { + implements com.openxc.BinaryMessages.DynamicFieldOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_descriptor; + return com.openxc.BinaryMessages.internal_static_openxc_DynamicField_descriptor; } protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() { - return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_fieldAccessorTable + return com.openxc.BinaryMessages.internal_static_openxc_DynamicField_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.openxc.BinaryMessages.RawMessage.class, com.openxc.BinaryMessages.RawMessage.Builder.class); + com.openxc.BinaryMessages.DynamicField.class, com.openxc.BinaryMessages.DynamicField.Builder.class); } - // Construct using com.openxc.BinaryMessages.RawMessage.newBuilder() + // Construct using com.openxc.BinaryMessages.DynamicField.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -1229,12 +6069,14 @@ public final class BinaryMessages { public Builder clear() { super.clear(); - bus_ = 0; + type_ = com.openxc.BinaryMessages.DynamicField.Type.STRING; bitField0_ = (bitField0_ & ~0x00000001); - messageId_ = 0; + stringValue_ = ""; bitField0_ = (bitField0_ & ~0x00000002); - data_ = 0L; + numericValue_ = 0D; bitField0_ = (bitField0_ & ~0x00000004); + booleanValue_ = false; + bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -1244,61 +6086,70 @@ public final class BinaryMessages { public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return com.openxc.BinaryMessages.internal_static_openxc_RawMessage_descriptor; + return com.openxc.BinaryMessages.internal_static_openxc_DynamicField_descriptor; } - public com.openxc.BinaryMessages.RawMessage getDefaultInstanceForType() { - return com.openxc.BinaryMessages.RawMessage.getDefaultInstance(); + public com.openxc.BinaryMessages.DynamicField getDefaultInstanceForType() { + return com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); } - public com.openxc.BinaryMessages.RawMessage build() { - com.openxc.BinaryMessages.RawMessage result = buildPartial(); + public com.openxc.BinaryMessages.DynamicField build() { + com.openxc.BinaryMessages.DynamicField result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - public com.openxc.BinaryMessages.RawMessage buildPartial() { - com.openxc.BinaryMessages.RawMessage result = new com.openxc.BinaryMessages.RawMessage(this); + public com.openxc.BinaryMessages.DynamicField buildPartial() { + com.openxc.BinaryMessages.DynamicField result = new com.openxc.BinaryMessages.DynamicField(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } - result.bus_ = bus_; + result.type_ = type_; if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000002; } - result.messageId_ = messageId_; + result.stringValue_ = stringValue_; if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } - result.data_ = data_; + result.numericValue_ = numericValue_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.booleanValue_ = booleanValue_; result.bitField0_ = to_bitField0_; onBuilt(); return result; } public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.openxc.BinaryMessages.RawMessage) { - return mergeFrom((com.openxc.BinaryMessages.RawMessage)other); + if (other instanceof com.openxc.BinaryMessages.DynamicField) { + return mergeFrom((com.openxc.BinaryMessages.DynamicField)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(com.openxc.BinaryMessages.RawMessage other) { - if (other == com.openxc.BinaryMessages.RawMessage.getDefaultInstance()) return this; - if (other.hasBus()) { - setBus(other.getBus()); + public Builder mergeFrom(com.openxc.BinaryMessages.DynamicField other) { + if (other == com.openxc.BinaryMessages.DynamicField.getDefaultInstance()) return this; + if (other.hasType()) { + setType(other.getType()); } - if (other.hasMessageId()) { - setMessageId(other.getMessageId()); + if (other.hasStringValue()) { + bitField0_ |= 0x00000002; + stringValue_ = other.stringValue_; + onChanged(); } - if (other.hasData()) { - setData(other.getData()); + if (other.hasNumericValue()) { + setNumericValue(other.getNumericValue()); + } + if (other.hasBooleanValue()) { + setBooleanValue(other.getBooleanValue()); } this.mergeUnknownFields(other.getUnknownFields()); return this; @@ -1312,11 +6163,11 @@ public final class BinaryMessages { com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - com.openxc.BinaryMessages.RawMessage parsedMessage = null; + com.openxc.BinaryMessages.DynamicField parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.openxc.BinaryMessages.RawMessage) e.getUnfinishedMessage(); + parsedMessage = (com.openxc.BinaryMessages.DynamicField) e.getUnfinishedMessage(); throw e; } finally { if (parsedMessage != null) { @@ -1327,114 +6178,191 @@ public final class BinaryMessages { } private int bitField0_; - // optional int32 bus = 1; - private int bus_ ; + // optional .openxc.DynamicField.Type type = 1; + private com.openxc.BinaryMessages.DynamicField.Type type_ = com.openxc.BinaryMessages.DynamicField.Type.STRING; /** - * optional int32 bus = 1; + * optional .openxc.DynamicField.Type type = 1; + */ + public boolean hasType() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * optional .openxc.DynamicField.Type type = 1; + */ + public com.openxc.BinaryMessages.DynamicField.Type getType() { + return type_; + } + /** + * optional .openxc.DynamicField.Type type = 1; + */ + public Builder setType(com.openxc.BinaryMessages.DynamicField.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value; + onChanged(); + return this; + } + /** + * optional .openxc.DynamicField.Type type = 1; + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = com.openxc.BinaryMessages.DynamicField.Type.STRING; + onChanged(); + return this; + } + + // optional string string_value = 2; + private java.lang.Object stringValue_ = ""; + /** + * optional string string_value = 2; + */ + public boolean hasStringValue() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * optional string string_value = 2; + */ + public java.lang.String getStringValue() { + java.lang.Object ref = stringValue_; + if (!(ref instanceof java.lang.String)) { + java.lang.String s = ((com.google.protobuf.ByteString) ref) + .toStringUtf8(); + stringValue_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * optional string string_value = 2; */ - public boolean hasBus() { - return ((bitField0_ & 0x00000001) == 0x00000001); + public com.google.protobuf.ByteString + getStringValueBytes() { + java.lang.Object ref = stringValue_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + stringValue_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } /** - * optional int32 bus = 1; + * optional string string_value = 2; */ - public int getBus() { - return bus_; + public Builder setStringValue( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + stringValue_ = value; + onChanged(); + return this; } /** - * optional int32 bus = 1; + * optional string string_value = 2; */ - public Builder setBus(int value) { - bitField0_ |= 0x00000001; - bus_ = value; + public Builder clearStringValue() { + bitField0_ = (bitField0_ & ~0x00000002); + stringValue_ = getDefaultInstance().getStringValue(); onChanged(); return this; } /** - * optional int32 bus = 1; + * optional string string_value = 2; */ - public Builder clearBus() { - bitField0_ = (bitField0_ & ~0x00000001); - bus_ = 0; + public Builder setStringValueBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + stringValue_ = value; onChanged(); return this; } - // optional uint32 message_id = 2; - private int messageId_ ; + // optional double numeric_value = 3; + private double numericValue_ ; /** - * optional uint32 message_id = 2; + * optional double numeric_value = 3; */ - public boolean hasMessageId() { - return ((bitField0_ & 0x00000002) == 0x00000002); + public boolean hasNumericValue() { + return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * optional uint32 message_id = 2; + * optional double numeric_value = 3; */ - public int getMessageId() { - return messageId_; + public double getNumericValue() { + return numericValue_; } /** - * optional uint32 message_id = 2; + * optional double numeric_value = 3; */ - public Builder setMessageId(int value) { - bitField0_ |= 0x00000002; - messageId_ = value; + public Builder setNumericValue(double value) { + bitField0_ |= 0x00000004; + numericValue_ = value; onChanged(); return this; } /** - * optional uint32 message_id = 2; + * optional double numeric_value = 3; */ - public Builder clearMessageId() { - bitField0_ = (bitField0_ & ~0x00000002); - messageId_ = 0; + public Builder clearNumericValue() { + bitField0_ = (bitField0_ & ~0x00000004); + numericValue_ = 0D; onChanged(); return this; } - // optional uint64 data = 3; - private long data_ ; + // optional bool boolean_value = 4; + private boolean booleanValue_ ; /** - * optional uint64 data = 3; + * optional bool boolean_value = 4; */ - public boolean hasData() { - return ((bitField0_ & 0x00000004) == 0x00000004); + public boolean hasBooleanValue() { + return ((bitField0_ & 0x00000008) == 0x00000008); } /** - * optional uint64 data = 3; + * optional bool boolean_value = 4; */ - public long getData() { - return data_; + public boolean getBooleanValue() { + return booleanValue_; } /** - * optional uint64 data = 3; + * optional bool boolean_value = 4; */ - public Builder setData(long value) { - bitField0_ |= 0x00000004; - data_ = value; + public Builder setBooleanValue(boolean value) { + bitField0_ |= 0x00000008; + booleanValue_ = value; onChanged(); return this; } /** - * optional uint64 data = 3; + * optional bool boolean_value = 4; */ - public Builder clearData() { - bitField0_ = (bitField0_ & ~0x00000004); - data_ = 0L; + public Builder clearBooleanValue() { + bitField0_ = (bitField0_ & ~0x00000008); + booleanValue_ = false; onChanged(); return this; } - // @@protoc_insertion_point(builder_scope:openxc.RawMessage) + // @@protoc_insertion_point(builder_scope:openxc.DynamicField) } static { - defaultInstance = new RawMessage(true); + defaultInstance = new DynamicField(true); defaultInstance.initFields(); } - // @@protoc_insertion_point(class_scope:openxc.RawMessage) + // @@protoc_insertion_point(class_scope:openxc.DynamicField) } public interface TranslatedMessageOrBuilder @@ -1465,75 +6393,33 @@ public final class BinaryMessages { com.google.protobuf.ByteString getNameBytes(); - // optional string string_value = 3; - /** - * optional string string_value = 3; - */ - boolean hasStringValue(); - /** - * optional string string_value = 3; - */ - java.lang.String getStringValue(); - /** - * optional string string_value = 3; - */ - com.google.protobuf.ByteString - getStringValueBytes(); - - // optional double numeric_value = 4; - /** - * optional double numeric_value = 4; - */ - boolean hasNumericValue(); - /** - * optional double numeric_value = 4; - */ - double getNumericValue(); - - // optional bool boolean_value = 5; - /** - * optional bool boolean_value = 5; - */ - boolean hasBooleanValue(); - /** - * optional bool boolean_value = 5; - */ - boolean getBooleanValue(); - - // optional string string_event = 6; + // optional .openxc.DynamicField value = 3; /** - * optional string string_event = 6; + * optional .openxc.DynamicField value = 3; */ - boolean hasStringEvent(); + boolean hasValue(); /** - * optional string string_event = 6; + * optional .openxc.DynamicField value = 3; */ - java.lang.String getStringEvent(); + com.openxc.BinaryMessages.DynamicField getValue(); /** - * optional string string_event = 6; + * optional .openxc.DynamicField value = 3; */ - com.google.protobuf.ByteString - getStringEventBytes(); + com.openxc.BinaryMessages.DynamicFieldOrBuilder getValueOrBuilder(); - // optional double numeric_event = 7; - /** - * optional double numeric_event = 7; - */ - boolean hasNumericEvent(); + // optional .openxc.DynamicField event = 4; /** - * optional double numeric_event = 7; + * optional .openxc.DynamicField event = 4; */ - double getNumericEvent(); - - // optional bool boolean_event = 8; + boolean hasEvent(); /** - * optional bool boolean_event = 8; + * optional .openxc.DynamicField event = 4; */ - boolean hasBooleanEvent(); + com.openxc.BinaryMessages.DynamicField getEvent(); /** - * optional bool boolean_event = 8; + * optional .openxc.DynamicField event = 4; */ - boolean getBooleanEvent(); + com.openxc.BinaryMessages.DynamicFieldOrBuilder getEventOrBuilder(); } /** * Protobuf type {@code openxc.TranslatedMessage} @@ -1603,33 +6489,29 @@ public final class BinaryMessages { break; } case 26: { + com.openxc.BinaryMessages.DynamicField.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = value_.toBuilder(); + } + value_ = input.readMessage(com.openxc.BinaryMessages.DynamicField.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(value_); + value_ = subBuilder.buildPartial(); + } bitField0_ |= 0x00000004; - stringValue_ = input.readBytes(); break; } - case 33: { + case 34: { + com.openxc.BinaryMessages.DynamicField.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + subBuilder = event_.toBuilder(); + } + event_ = input.readMessage(com.openxc.BinaryMessages.DynamicField.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); + } bitField0_ |= 0x00000008; - numericValue_ = input.readDouble(); - break; - } - case 40: { - bitField0_ |= 0x00000010; - booleanValue_ = input.readBool(); - break; - } - case 50: { - bitField0_ |= 0x00000020; - stringEvent_ = input.readBytes(); - break; - } - case 57: { - bitField0_ |= 0x00000040; - numericEvent_ = input.readDouble(); - break; - } - case 64: { - bitField0_ |= 0x00000080; - booleanEvent_ = input.readBool(); break; } } @@ -1849,165 +6731,55 @@ public final class BinaryMessages { } } - // optional string string_value = 3; - public static final int STRING_VALUE_FIELD_NUMBER = 3; - private java.lang.Object stringValue_; + // optional .openxc.DynamicField value = 3; + public static final int VALUE_FIELD_NUMBER = 3; + private com.openxc.BinaryMessages.DynamicField value_; /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public boolean hasStringValue() { + public boolean hasValue() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public java.lang.String getStringValue() { - java.lang.Object ref = stringValue_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - stringValue_ = s; - } - return s; - } + public com.openxc.BinaryMessages.DynamicField getValue() { + return value_; } /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public com.google.protobuf.ByteString - getStringValueBytes() { - java.lang.Object ref = stringValue_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - stringValue_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public com.openxc.BinaryMessages.DynamicFieldOrBuilder getValueOrBuilder() { + return value_; } - // optional double numeric_value = 4; - public static final int NUMERIC_VALUE_FIELD_NUMBER = 4; - private double numericValue_; + // optional .openxc.DynamicField event = 4; + public static final int EVENT_FIELD_NUMBER = 4; + private com.openxc.BinaryMessages.DynamicField event_; /** - * optional double numeric_value = 4; + * optional .openxc.DynamicField event = 4; */ - public boolean hasNumericValue() { + public boolean hasEvent() { return ((bitField0_ & 0x00000008) == 0x00000008); } /** - * optional double numeric_value = 4; - */ - public double getNumericValue() { - return numericValue_; - } - - // optional bool boolean_value = 5; - public static final int BOOLEAN_VALUE_FIELD_NUMBER = 5; - private boolean booleanValue_; - /** - * optional bool boolean_value = 5; - */ - public boolean hasBooleanValue() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional bool boolean_value = 5; - */ - public boolean getBooleanValue() { - return booleanValue_; - } - - // optional string string_event = 6; - public static final int STRING_EVENT_FIELD_NUMBER = 6; - private java.lang.Object stringEvent_; - /** - * optional string string_event = 6; - */ - public boolean hasStringEvent() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - * optional string string_event = 6; - */ - public java.lang.String getStringEvent() { - java.lang.Object ref = stringEvent_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = - (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - stringEvent_ = s; - } - return s; - } - } - /** - * optional string string_event = 6; - */ - public com.google.protobuf.ByteString - getStringEventBytes() { - java.lang.Object ref = stringEvent_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - stringEvent_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } - } - - // optional double numeric_event = 7; - public static final int NUMERIC_EVENT_FIELD_NUMBER = 7; - private double numericEvent_; - /** - * optional double numeric_event = 7; - */ - public boolean hasNumericEvent() { - return ((bitField0_ & 0x00000040) == 0x00000040); - } - /** - * optional double numeric_event = 7; - */ - public double getNumericEvent() { - return numericEvent_; - } - - // optional bool boolean_event = 8; - public static final int BOOLEAN_EVENT_FIELD_NUMBER = 8; - private boolean booleanEvent_; - /** - * optional bool boolean_event = 8; + * optional .openxc.DynamicField event = 4; */ - public boolean hasBooleanEvent() { - return ((bitField0_ & 0x00000080) == 0x00000080); + public com.openxc.BinaryMessages.DynamicField getEvent() { + return event_; } /** - * optional bool boolean_event = 8; + * optional .openxc.DynamicField event = 4; */ - public boolean getBooleanEvent() { - return booleanEvent_; + public com.openxc.BinaryMessages.DynamicFieldOrBuilder getEventOrBuilder() { + return event_; } private void initFields() { type_ = com.openxc.BinaryMessages.TranslatedMessage.Type.STRING; name_ = ""; - stringValue_ = ""; - numericValue_ = 0D; - booleanValue_ = false; - stringEvent_ = ""; - numericEvent_ = 0D; - booleanEvent_ = false; + value_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); + event_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -2028,22 +6800,10 @@ public final class BinaryMessages { output.writeBytes(2, getNameBytes()); } if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeBytes(3, getStringValueBytes()); + output.writeMessage(3, value_); } if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeDouble(4, numericValue_); - } - if (((bitField0_ & 0x00000010) == 0x00000010)) { - output.writeBool(5, booleanValue_); - } - if (((bitField0_ & 0x00000020) == 0x00000020)) { - output.writeBytes(6, getStringEventBytes()); - } - if (((bitField0_ & 0x00000040) == 0x00000040)) { - output.writeDouble(7, numericEvent_); - } - if (((bitField0_ & 0x00000080) == 0x00000080)) { - output.writeBool(8, booleanEvent_); + output.writeMessage(4, event_); } getUnknownFields().writeTo(output); } @@ -2064,27 +6824,11 @@ public final class BinaryMessages { } if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, getStringValueBytes()); + .computeMessageSize(3, value_); } if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream - .computeDoubleSize(4, numericValue_); - } - if (((bitField0_ & 0x00000010) == 0x00000010)) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(5, booleanValue_); - } - if (((bitField0_ & 0x00000020) == 0x00000020)) { - size += com.google.protobuf.CodedOutputStream - .computeBytesSize(6, getStringEventBytes()); - } - if (((bitField0_ & 0x00000040) == 0x00000040)) { - size += com.google.protobuf.CodedOutputStream - .computeDoubleSize(7, numericEvent_); - } - if (((bitField0_ & 0x00000080) == 0x00000080)) { - size += com.google.protobuf.CodedOutputStream - .computeBoolSize(8, booleanEvent_); + .computeMessageSize(4, event_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -2194,6 +6938,8 @@ public final class BinaryMessages { } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getValueFieldBuilder(); + getEventFieldBuilder(); } } private static Builder create() { @@ -2206,18 +6952,18 @@ public final class BinaryMessages { bitField0_ = (bitField0_ & ~0x00000001); name_ = ""; bitField0_ = (bitField0_ & ~0x00000002); - stringValue_ = ""; + if (valueBuilder_ == null) { + value_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); + } else { + valueBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000004); - numericValue_ = 0D; + if (eventBuilder_ == null) { + event_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); + } else { + eventBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000008); - booleanValue_ = false; - bitField0_ = (bitField0_ & ~0x00000010); - stringEvent_ = ""; - bitField0_ = (bitField0_ & ~0x00000020); - numericEvent_ = 0D; - bitField0_ = (bitField0_ & ~0x00000040); - booleanEvent_ = false; - bitField0_ = (bitField0_ & ~0x00000080); return this; } @@ -2257,27 +7003,19 @@ public final class BinaryMessages { if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } - result.stringValue_ = stringValue_; + if (valueBuilder_ == null) { + result.value_ = value_; + } else { + result.value_ = valueBuilder_.build(); + } if (((from_bitField0_ & 0x00000008) == 0x00000008)) { to_bitField0_ |= 0x00000008; } - result.numericValue_ = numericValue_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; - } - result.booleanValue_ = booleanValue_; - if (((from_bitField0_ & 0x00000020) == 0x00000020)) { - to_bitField0_ |= 0x00000020; - } - result.stringEvent_ = stringEvent_; - if (((from_bitField0_ & 0x00000040) == 0x00000040)) { - to_bitField0_ |= 0x00000040; - } - result.numericEvent_ = numericEvent_; - if (((from_bitField0_ & 0x00000080) == 0x00000080)) { - to_bitField0_ |= 0x00000080; + if (eventBuilder_ == null) { + result.event_ = event_; + } else { + result.event_ = eventBuilder_.build(); } - result.booleanEvent_ = booleanEvent_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -2302,27 +7040,11 @@ public final class BinaryMessages { name_ = other.name_; onChanged(); } - if (other.hasStringValue()) { - bitField0_ |= 0x00000004; - stringValue_ = other.stringValue_; - onChanged(); - } - if (other.hasNumericValue()) { - setNumericValue(other.getNumericValue()); - } - if (other.hasBooleanValue()) { - setBooleanValue(other.getBooleanValue()); - } - if (other.hasStringEvent()) { - bitField0_ |= 0x00000020; - stringEvent_ = other.stringEvent_; - onChanged(); - } - if (other.hasNumericEvent()) { - setNumericEvent(other.getNumericEvent()); + if (other.hasValue()) { + mergeValue(other.getValue()); } - if (other.hasBooleanEvent()) { - setBooleanEvent(other.getBooleanEvent()); + if (other.hasEvent()) { + mergeEvent(other.getEvent()); } this.mergeUnknownFields(other.getUnknownFields()); return this; @@ -2461,284 +7183,238 @@ public final class BinaryMessages { return this; } - // optional string string_value = 3; - private java.lang.Object stringValue_ = ""; + // optional .openxc.DynamicField value = 3; + private com.openxc.BinaryMessages.DynamicField value_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DynamicField, com.openxc.BinaryMessages.DynamicField.Builder, com.openxc.BinaryMessages.DynamicFieldOrBuilder> valueBuilder_; /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public boolean hasStringValue() { + public boolean hasValue() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public java.lang.String getStringValue() { - java.lang.Object ref = stringValue_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - stringValue_ = s; - return s; + public com.openxc.BinaryMessages.DynamicField getValue() { + if (valueBuilder_ == null) { + return value_; } else { - return (java.lang.String) ref; + return valueBuilder_.getMessage(); } } /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public com.google.protobuf.ByteString - getStringValueBytes() { - java.lang.Object ref = stringValue_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - stringValue_ = b; - return b; + public Builder setValue(com.openxc.BinaryMessages.DynamicField value) { + if (valueBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + value_ = value; + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + valueBuilder_.setMessage(value); } - } - /** - * optional string string_value = 3; - */ - public Builder setStringValue( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000004; - stringValue_ = value; - onChanged(); + bitField0_ |= 0x00000004; return this; } /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public Builder clearStringValue() { - bitField0_ = (bitField0_ & ~0x00000004); - stringValue_ = getDefaultInstance().getStringValue(); - onChanged(); + public Builder setValue( + com.openxc.BinaryMessages.DynamicField.Builder builderForValue) { + if (valueBuilder_ == null) { + value_ = builderForValue.build(); + onChanged(); + } else { + valueBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; return this; } /** - * optional string string_value = 3; + * optional .openxc.DynamicField value = 3; */ - public Builder setStringValueBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000004; - stringValue_ = value; - onChanged(); + public Builder mergeValue(com.openxc.BinaryMessages.DynamicField value) { + if (valueBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + value_ != com.openxc.BinaryMessages.DynamicField.getDefaultInstance()) { + value_ = + com.openxc.BinaryMessages.DynamicField.newBuilder(value_).mergeFrom(value).buildPartial(); + } else { + value_ = value; + } + onChanged(); + } else { + valueBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; return this; } - - // optional double numeric_value = 4; - private double numericValue_ ; - /** - * optional double numeric_value = 4; - */ - public boolean hasNumericValue() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - * optional double numeric_value = 4; - */ - public double getNumericValue() { - return numericValue_; - } /** - * optional double numeric_value = 4; + * optional .openxc.DynamicField value = 3; */ - public Builder setNumericValue(double value) { - bitField0_ |= 0x00000008; - numericValue_ = value; - onChanged(); + public Builder clearValue() { + if (valueBuilder_ == null) { + value_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); + onChanged(); + } else { + valueBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); return this; } /** - * optional double numeric_value = 4; + * optional .openxc.DynamicField value = 3; */ - public Builder clearNumericValue() { - bitField0_ = (bitField0_ & ~0x00000008); - numericValue_ = 0D; + public com.openxc.BinaryMessages.DynamicField.Builder getValueBuilder() { + bitField0_ |= 0x00000004; onChanged(); - return this; - } - - // optional bool boolean_value = 5; - private boolean booleanValue_ ; - /** - * optional bool boolean_value = 5; - */ - public boolean hasBooleanValue() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional bool boolean_value = 5; - */ - public boolean getBooleanValue() { - return booleanValue_; + return getValueFieldBuilder().getBuilder(); } /** - * optional bool boolean_value = 5; + * optional .openxc.DynamicField value = 3; */ - public Builder setBooleanValue(boolean value) { - bitField0_ |= 0x00000010; - booleanValue_ = value; - onChanged(); - return this; + public com.openxc.BinaryMessages.DynamicFieldOrBuilder getValueOrBuilder() { + if (valueBuilder_ != null) { + return valueBuilder_.getMessageOrBuilder(); + } else { + return value_; + } } /** - * optional bool boolean_value = 5; + * optional .openxc.DynamicField value = 3; */ - public Builder clearBooleanValue() { - bitField0_ = (bitField0_ & ~0x00000010); - booleanValue_ = false; - onChanged(); - return this; + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DynamicField, com.openxc.BinaryMessages.DynamicField.Builder, com.openxc.BinaryMessages.DynamicFieldOrBuilder> + getValueFieldBuilder() { + if (valueBuilder_ == null) { + valueBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DynamicField, com.openxc.BinaryMessages.DynamicField.Builder, com.openxc.BinaryMessages.DynamicFieldOrBuilder>( + value_, + getParentForChildren(), + isClean()); + value_ = null; + } + return valueBuilder_; } - // optional string string_event = 6; - private java.lang.Object stringEvent_ = ""; + // optional .openxc.DynamicField event = 4; + private com.openxc.BinaryMessages.DynamicField event_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DynamicField, com.openxc.BinaryMessages.DynamicField.Builder, com.openxc.BinaryMessages.DynamicFieldOrBuilder> eventBuilder_; /** - * optional string string_event = 6; + * optional .openxc.DynamicField event = 4; */ - public boolean hasStringEvent() { - return ((bitField0_ & 0x00000020) == 0x00000020); + public boolean hasEvent() { + return ((bitField0_ & 0x00000008) == 0x00000008); } /** - * optional string string_event = 6; + * optional .openxc.DynamicField event = 4; */ - public java.lang.String getStringEvent() { - java.lang.Object ref = stringEvent_; - if (!(ref instanceof java.lang.String)) { - java.lang.String s = ((com.google.protobuf.ByteString) ref) - .toStringUtf8(); - stringEvent_ = s; - return s; + public com.openxc.BinaryMessages.DynamicField getEvent() { + if (eventBuilder_ == null) { + return event_; } else { - return (java.lang.String) ref; + return eventBuilder_.getMessage(); } } /** - * optional string string_event = 6; + * optional .openxc.DynamicField event = 4; */ - public com.google.protobuf.ByteString - getStringEventBytes() { - java.lang.Object ref = stringEvent_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8( - (java.lang.String) ref); - stringEvent_ = b; - return b; + public Builder setEvent(com.openxc.BinaryMessages.DynamicField value) { + if (eventBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + event_ = value; + onChanged(); } else { - return (com.google.protobuf.ByteString) ref; + eventBuilder_.setMessage(value); } - } - /** - * optional string string_event = 6; - */ - public Builder setStringEvent( - java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000020; - stringEvent_ = value; - onChanged(); + bitField0_ |= 0x00000008; return this; } /** - * optional string string_event = 6; + * optional .openxc.DynamicField event = 4; */ - public Builder clearStringEvent() { - bitField0_ = (bitField0_ & ~0x00000020); - stringEvent_ = getDefaultInstance().getStringEvent(); - onChanged(); + public Builder setEvent( + com.openxc.BinaryMessages.DynamicField.Builder builderForValue) { + if (eventBuilder_ == null) { + event_ = builderForValue.build(); + onChanged(); + } else { + eventBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; return this; } /** - * optional string string_event = 6; + * optional .openxc.DynamicField event = 4; */ - public Builder setStringEventBytes( - com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000020; - stringEvent_ = value; - onChanged(); + public Builder mergeEvent(com.openxc.BinaryMessages.DynamicField value) { + if (eventBuilder_ == null) { + if (((bitField0_ & 0x00000008) == 0x00000008) && + event_ != com.openxc.BinaryMessages.DynamicField.getDefaultInstance()) { + event_ = + com.openxc.BinaryMessages.DynamicField.newBuilder(event_).mergeFrom(value).buildPartial(); + } else { + event_ = value; + } + onChanged(); + } else { + eventBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; return this; } - - // optional double numeric_event = 7; - private double numericEvent_ ; - /** - * optional double numeric_event = 7; - */ - public boolean hasNumericEvent() { - return ((bitField0_ & 0x00000040) == 0x00000040); - } - /** - * optional double numeric_event = 7; - */ - public double getNumericEvent() { - return numericEvent_; - } /** - * optional double numeric_event = 7; + * optional .openxc.DynamicField event = 4; */ - public Builder setNumericEvent(double value) { - bitField0_ |= 0x00000040; - numericEvent_ = value; - onChanged(); + public Builder clearEvent() { + if (eventBuilder_ == null) { + event_ = com.openxc.BinaryMessages.DynamicField.getDefaultInstance(); + onChanged(); + } else { + eventBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); return this; } /** - * optional double numeric_event = 7; + * optional .openxc.DynamicField event = 4; */ - public Builder clearNumericEvent() { - bitField0_ = (bitField0_ & ~0x00000040); - numericEvent_ = 0D; + public com.openxc.BinaryMessages.DynamicField.Builder getEventBuilder() { + bitField0_ |= 0x00000008; onChanged(); - return this; - } - - // optional bool boolean_event = 8; - private boolean booleanEvent_ ; - /** - * optional bool boolean_event = 8; - */ - public boolean hasBooleanEvent() { - return ((bitField0_ & 0x00000080) == 0x00000080); - } - /** - * optional bool boolean_event = 8; - */ - public boolean getBooleanEvent() { - return booleanEvent_; + return getEventFieldBuilder().getBuilder(); } /** - * optional bool boolean_event = 8; + * optional .openxc.DynamicField event = 4; */ - public Builder setBooleanEvent(boolean value) { - bitField0_ |= 0x00000080; - booleanEvent_ = value; - onChanged(); - return this; + public com.openxc.BinaryMessages.DynamicFieldOrBuilder getEventOrBuilder() { + if (eventBuilder_ != null) { + return eventBuilder_.getMessageOrBuilder(); + } else { + return event_; + } } /** - * optional bool boolean_event = 8; + * optional .openxc.DynamicField event = 4; */ - public Builder clearBooleanEvent() { - bitField0_ = (bitField0_ & ~0x00000080); - booleanEvent_ = false; - onChanged(); - return this; + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DynamicField, com.openxc.BinaryMessages.DynamicField.Builder, com.openxc.BinaryMessages.DynamicFieldOrBuilder> + getEventFieldBuilder() { + if (eventBuilder_ == null) { + eventBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DynamicField, com.openxc.BinaryMessages.DynamicField.Builder, com.openxc.BinaryMessages.DynamicFieldOrBuilder>( + event_, + getParentForChildren(), + isClean()); + event_ = null; + } + return eventBuilder_; } // @@protoc_insertion_point(builder_scope:openxc.TranslatedMessage) @@ -2762,6 +7438,31 @@ public final class BinaryMessages { private static com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_openxc_RawMessage_fieldAccessorTable; + private static com.google.protobuf.Descriptors.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_CommandResponse_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_CommandResponse_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_DiagnosticResponse_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_DynamicField_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_DynamicField_fieldAccessorTable; private static com.google.protobuf.Descriptors.Descriptor internal_static_openxc_TranslatedMessage_descriptor; private static @@ -2776,22 +7477,47 @@ public final class BinaryMessages { descriptor; static { java.lang.String[] descriptorData = { - "\n\014openxc.proto\022\006openxc\"\274\001\n\016VehicleMessag" + + "\n\014openxc.proto\022\006openxc\"\224\003\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\"\037\n\004Type\022\007\n\003RAW\020\001\022\016\n" + - "\nTRANSLATED\020\002\";\n\nRawMessage\022\013\n\003bus\030\001 \001(\005" + - "\022\022\n\nmessage_id\030\002 \001(\r\022\014\n\004data\030\003 \001(\004\"\265\002\n\021T" + - "ranslatedMessage\022,\n\004type\030\001 \001(\0162\036.openxc." + - "TranslatedMessage.Type\022\014\n\004name\030\002 \001(\t\022\024\n\014" + - "string_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_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\004BOOL\020\003\022\022\n\016EVENTED_STRING\020\004\022\017\n\013EVENT" + - "ED_NUM\020\005\022\020\n\014EVENTED_BOOL\020\006B\034\n\ncom.openxc" + - "B\016BinaryMessages" + "xc.TranslatedMessage\0227\n\023diagnostic_respo" + + "nse\030\004 \001(\0132\032.openxc.DiagnosticResponse\022/\n" + + "\017control_command\030\005 \001(\0132\026.openxc.ControlC" + + "ommand\0221\n\020command_response\030\006 \001(\0132\027.openx" + + "c.CommandResponse\"Z\n\004Type\022\007\n\003RAW\020\001\022\016\n\nTR" + + "ANSLATED\020\002\022\016\n\nDIAGNOSTIC\020\003\022\023\n\017CONTROL_CO", + "MMAND\020\004\022\024\n\020COMMAND_RESPONSE\020\005\";\n\nRawMess" + + "age\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessage_id\030\002 \001(\r\022\014\n\004" + + "data\030\003 \001(\014\"\246\001\n\016ControlCommand\022)\n\004type\030\001 " + + "\001(\0162\033.openxc.ControlCommand.Type\0225\n\022diag" + + "nostic_request\030\002 \001(\0132\031.openxc.Diagnostic" + + "Request\"2\n\004Type\022\013\n\007VERSION\020\001\022\r\n\tDEVICE_I" + + "D\020\002\022\016\n\nDIAGNOSTIC\020\003\"M\n\017CommandResponse\022)" + + "\n\004type\030\001 \001(\0162\033.openxc.ControlCommand.Typ" + + "e\022\017\n\007message\030\002 \001(\t\"\375\001\n\021DiagnosticRequest" + + "\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessage_id\030\002 \001(\r\022\014\n\004mod", + "e\030\003 \001(\r\022\013\n\003pid\030\004 \001(\r\022\017\n\007payload\030\005 \001(\014\022\032\n" + + "\022multiple_responses\030\006 \001(\010\022\021\n\tfrequency\030\007" + + " \001(\001\022\014\n\004name\030\010 \001(\t\022;\n\014decoded_type\030\t \001(\016" + + "2%.openxc.DiagnosticRequest.DecodedType\"" + + "!\n\013DecodedType\022\010\n\004NONE\020\001\022\010\n\004OBD2\020\002\"\241\001\n\022D" + + "iagnosticResponse\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessag" + + "e_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\007payload\030\007 \001(\014\022\r\n\005value\030\010 \001(\001\"\242" + + "\001\n\014DynamicField\022\'\n\004type\030\001 \001(\0162\031.openxc.D", + "ynamicField.Type\022\024\n\014string_value\030\002 \001(\t\022\025" + + "\n\rnumeric_value\030\003 \001(\001\022\025\n\rboolean_value\030\004" + + " \001(\010\"%\n\004Type\022\n\n\006STRING\020\001\022\007\n\003NUM\020\002\022\010\n\004BOO" + + "L\020\003\"\367\001\n\021TranslatedMessage\022,\n\004type\030\001 \001(\0162" + + "\036.openxc.TranslatedMessage.Type\022\014\n\004name\030" + + "\002 \001(\t\022#\n\005value\030\003 \001(\0132\024.openxc.DynamicFie" + + "ld\022#\n\005event\030\004 \001(\0132\024.openxc.DynamicField\"" + + "\\\n\004Type\022\n\n\006STRING\020\001\022\007\n\003NUM\020\002\022\010\n\004BOOL\020\003\022\022" + + "\n\016EVENTED_STRING\020\004\022\017\n\013EVENTED_NUM\020\005\022\020\n\014E" + + "VENTED_BOOL\020\006B\034\n\ncom.openxcB\016BinaryMessa", + "ges" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -2803,19 +7529,49 @@ 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", }); + new java.lang.String[] { "Type", "RawMessage", "TranslatedMessage", "DiagnosticResponse", "ControlCommand", "CommandResponse", }); 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_TranslatedMessage_descriptor = + internal_static_openxc_ControlCommand_descriptor = getDescriptor().getMessageTypes().get(2); + internal_static_openxc_ControlCommand_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_ControlCommand_descriptor, + new java.lang.String[] { "Type", "DiagnosticRequest", }); + internal_static_openxc_CommandResponse_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_openxc_CommandResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_CommandResponse_descriptor, + new java.lang.String[] { "Type", "Message", }); + internal_static_openxc_DiagnosticRequest_descriptor = + getDescriptor().getMessageTypes().get(4); + 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", "MultipleResponses", "Frequency", "Name", "DecodedType", }); + internal_static_openxc_DiagnosticResponse_descriptor = + getDescriptor().getMessageTypes().get(5); + 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_DynamicField_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_openxc_DynamicField_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_DynamicField_descriptor, + new java.lang.String[] { "Type", "StringValue", "NumericValue", "BooleanValue", }); + internal_static_openxc_TranslatedMessage_descriptor = + getDescriptor().getMessageTypes().get(7); internal_static_openxc_TranslatedMessage_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_openxc_TranslatedMessage_descriptor, - new java.lang.String[] { "Type", "Name", "StringValue", "NumericValue", "BooleanValue", "StringEvent", "NumericEvent", "BooleanEvent", }); + new java.lang.String[] { "Type", "Name", "Value", "Event", }); return null; } }; diff --git a/gen/openxc.pb b/gen/openxc.pb deleted file mode 100644 index e343eeb..0000000 --- a/gen/openxc.pb +++ /dev/null @@ -1,30 +0,0 @@ - -Å - openxc.protoopenxc"Å -VehicleMessage) -type (2.openxc.VehicleMessage.Type' - raw_message ( 2.openxc.RawMessage7 -string_message ( 2.openxc.TranslatedStringMessage; -numerical_message ( 2 .openxc.TranslatedNumericMessage9 -boolean_message ( 2 .openxc.TranslatedBooleanMessage". -Type -RAW - -STRING -NUM -BOOL"; - -RawMessage -bus ( - -message_id (  -data ("6 -TranslatedStringMessage -name (  -value ( "7 -TranslatedNumericMessage -name (  -value ("7 -TranslatedBooleanMessage -name (  -value ( \ No newline at end of file diff --git a/gen/openxc.pb.c b/gen/openxc.pb.c deleted file mode 100644 index 19473b4..0000000 --- a/gen/openxc.pb.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.2.4-dev at Tue Oct 1 16:50:34 2013. */ - -#include "openxc.pb.h" - - - -const pb_field_t openxc_VehicleMessage_fields[6] = { - 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, string_message, raw_message, &openxc_TranslatedStringMessage_fields), - PB_FIELD2( 4, MESSAGE , OPTIONAL, STATIC, OTHER, openxc_VehicleMessage, numerical_message, string_message, &openxc_TranslatedNumericMessage_fields), - PB_FIELD2( 5, MESSAGE , OPTIONAL, STATIC, OTHER, openxc_VehicleMessage, boolean_message, numerical_message, &openxc_TranslatedBooleanMessage_fields), - PB_LAST_FIELD -}; - -const pb_field_t openxc_RawMessage_fields[4] = { - PB_FIELD2( 1, INT32 , OPTIONAL, STATIC, FIRST, openxc_RawMessage, bus, bus, 0), - PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC, OTHER, openxc_RawMessage, message_id, bus, 0), - PB_FIELD2( 3, SINT64 , OPTIONAL, STATIC, OTHER, openxc_RawMessage, data, message_id, 0), - PB_LAST_FIELD -}; - -const pb_field_t openxc_TranslatedStringMessage_fields[3] = { - PB_FIELD2( 1, STRING , OPTIONAL, STATIC, FIRST, openxc_TranslatedStringMessage, name, name, 0), - PB_FIELD2( 2, STRING , OPTIONAL, STATIC, OTHER, openxc_TranslatedStringMessage, value, name, 0), - PB_LAST_FIELD -}; - -const pb_field_t openxc_TranslatedNumericMessage_fields[3] = { - PB_FIELD2( 1, STRING , OPTIONAL, STATIC, FIRST, openxc_TranslatedNumericMessage, name, name, 0), - PB_FIELD2( 2, DOUBLE , OPTIONAL, STATIC, OTHER, openxc_TranslatedNumericMessage, value, name, 0), - PB_LAST_FIELD -}; - -const pb_field_t openxc_TranslatedBooleanMessage_fields[3] = { - PB_FIELD2( 1, STRING , OPTIONAL, STATIC, FIRST, openxc_TranslatedBooleanMessage, name, name, 0), - PB_FIELD2( 2, BOOL , OPTIONAL, STATIC, OTHER, openxc_TranslatedBooleanMessage, value, name, 0), - PB_LAST_FIELD -}; - - -/* 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, string_message) < 256 && pb_membersize(openxc_VehicleMessage, numerical_message) < 256 && pb_membersize(openxc_VehicleMessage, boolean_message) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_TranslatedStringMessage_openxc_TranslatedNumericMessage_openxc_TranslatedBooleanMessage) -#endif - -#if !defined(PB_FIELD_32BIT) -STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, string_message) < 65536 && pb_membersize(openxc_VehicleMessage, numerical_message) < 65536 && pb_membersize(openxc_VehicleMessage, boolean_message) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_TranslatedStringMessage_openxc_TranslatedNumericMessage_openxc_TranslatedBooleanMessage) -#endif - -/* On some platforms (such as AVR), double is really float. - * These are not directly supported by nanopb, but see example_avr_double. - * To get rid of this error, remove any double fields from your .proto. - */ -STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES) - diff --git a/gen/openxc.pb.h b/gen/openxc.pb.h deleted file mode 100644 index 4923dcc..0000000 --- a/gen/openxc.pb.h +++ /dev/null @@ -1,100 +0,0 @@ -/* Automatically generated nanopb header */ -/* Generated by nanopb-0.2.4-dev at Tue Oct 1 16:50:34 2013. */ - -#ifndef _PB_OPENXC_PB_H_ -#define _PB_OPENXC_PB_H_ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Enum definitions */ -typedef enum _openxc_VehicleMessage_Type { - openxc_VehicleMessage_Type_RAW = 1, - openxc_VehicleMessage_Type_STRING = 2, - openxc_VehicleMessage_Type_NUM = 3, - openxc_VehicleMessage_Type_BOOL = 4 -} openxc_VehicleMessage_Type; - -/* Struct definitions */ -typedef struct _openxc_RawMessage { - bool has_bus; - int32_t bus; - bool has_message_id; - uint32_t message_id; - bool has_data; - int64_t data; -} openxc_RawMessage; - -typedef struct _openxc_TranslatedBooleanMessage { - bool has_name; - char name[100]; - bool has_value; - bool value; -} openxc_TranslatedBooleanMessage; - -typedef struct _openxc_TranslatedNumericMessage { - bool has_name; - char name[100]; - bool has_value; - double value; -} openxc_TranslatedNumericMessage; - -typedef struct _openxc_TranslatedStringMessage { - bool has_name; - char name[100]; - bool has_value; - char value[100]; -} openxc_TranslatedStringMessage; - -typedef struct _openxc_VehicleMessage { - bool has_type; - openxc_VehicleMessage_Type type; - bool has_raw_message; - openxc_RawMessage raw_message; - bool has_string_message; - openxc_TranslatedStringMessage string_message; - bool has_numerical_message; - openxc_TranslatedNumericMessage numerical_message; - bool has_boolean_message; - openxc_TranslatedBooleanMessage boolean_message; -} openxc_VehicleMessage; - -/* Default values for struct fields */ - -/* Field tags (for use in manual encoding/decoding) */ -#define openxc_RawMessage_bus_tag 1 -#define openxc_RawMessage_message_id_tag 2 -#define openxc_RawMessage_data_tag 3 -#define openxc_TranslatedBooleanMessage_name_tag 1 -#define openxc_TranslatedBooleanMessage_value_tag 2 -#define openxc_TranslatedNumericMessage_name_tag 1 -#define openxc_TranslatedNumericMessage_value_tag 2 -#define openxc_TranslatedStringMessage_name_tag 1 -#define openxc_TranslatedStringMessage_value_tag 2 -#define openxc_VehicleMessage_type_tag 1 -#define openxc_VehicleMessage_raw_message_tag 2 -#define openxc_VehicleMessage_string_message_tag 3 -#define openxc_VehicleMessage_numerical_message_tag 4 -#define openxc_VehicleMessage_boolean_message_tag 5 - -/* Struct field encoding specification for nanopb */ -extern const pb_field_t openxc_VehicleMessage_fields[6]; -extern const pb_field_t openxc_RawMessage_fields[4]; -extern const pb_field_t openxc_TranslatedStringMessage_fields[3]; -extern const pb_field_t openxc_TranslatedNumericMessage_fields[3]; -extern const pb_field_t openxc_TranslatedBooleanMessage_fields[3]; - -/* Maximum encoded size of messages (where known) */ -#define openxc_VehicleMessage_size 457 -#define openxc_RawMessage_size 23 -#define openxc_TranslatedStringMessage_size 204 -#define openxc_TranslatedNumericMessage_size 111 -#define openxc_TranslatedBooleanMessage_size 104 - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif diff --git a/gen/openxc_pb2.py b/gen/openxc_pb2.py deleted file mode 100644 index ad379eb..0000000 --- a/gen/openxc_pb2.py +++ /dev/null @@ -1,296 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: openxc.proto - -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import descriptor_pb2 -# @@protoc_insertion_point(imports) - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='openxc.proto', - package='openxc', - serialized_pb='\n\x0copenxc.proto\x12\x06openxc\"\xc5\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\x37\n\x0estring_message\x18\x03 \x01(\x0b\x32\x1f.openxc.TranslatedStringMessage\x12;\n\x11numerical_message\x18\x04 \x01(\x0b\x32 .openxc.TranslatedNumericMessage\x12\x39\n\x0f\x62oolean_message\x18\x05 \x01(\x0b\x32 .openxc.TranslatedBooleanMessage\".\n\x04Type\x12\x07\n\x03RAW\x10\x01\x12\n\n\x06STRING\x10\x02\x12\x07\n\x03NUM\x10\x03\x12\x08\n\x04\x42OOL\x10\x04\";\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(\x12\"6\n\x17TranslatedStringMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"7\n\x18TranslatedNumericMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01\"7\n\x18TranslatedBooleanMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x08') - - - -_VEHICLEMESSAGE_TYPE = _descriptor.EnumDescriptor( - name='Type', - full_name='openxc.VehicleMessage.Type', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='RAW', index=0, number=1, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='STRING', index=1, number=2, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='NUM', index=2, number=3, - options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='BOOL', index=3, number=4, - options=None, - type=None), - ], - containing_type=None, - options=None, - serialized_start=304, - serialized_end=350, -) - - -_VEHICLEMESSAGE = _descriptor.Descriptor( - name='VehicleMessage', - full_name='openxc.VehicleMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='type', full_name='openxc.VehicleMessage.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='raw_message', full_name='openxc.VehicleMessage.raw_message', 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), - _descriptor.FieldDescriptor( - name='string_message', full_name='openxc.VehicleMessage.string_message', index=2, - number=3, 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), - _descriptor.FieldDescriptor( - name='numerical_message', full_name='openxc.VehicleMessage.numerical_message', 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, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='boolean_message', full_name='openxc.VehicleMessage.boolean_message', index=4, - number=5, 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=[ - _VEHICLEMESSAGE_TYPE, - ], - options=None, - is_extendable=False, - extension_ranges=[], - serialized_start=25, - serialized_end=350, -) - - -_RAWMESSAGE = _descriptor.Descriptor( - name='RawMessage', - full_name='openxc.RawMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='bus', full_name='openxc.RawMessage.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.RawMessage.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='data', full_name='openxc.RawMessage.data', index=2, - number=3, type=18, cpp_type=2, 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=352, - serialized_end=411, -) - - -_TRANSLATEDSTRINGMESSAGE = _descriptor.Descriptor( - name='TranslatedStringMessage', - full_name='openxc.TranslatedStringMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='openxc.TranslatedStringMessage.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=unicode("", "utf-8"), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='openxc.TranslatedStringMessage.value', index=1, - number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=unicode("", "utf-8"), - 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=413, - serialized_end=467, -) - - -_TRANSLATEDNUMERICMESSAGE = _descriptor.Descriptor( - name='TranslatedNumericMessage', - full_name='openxc.TranslatedNumericMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='openxc.TranslatedNumericMessage.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=unicode("", "utf-8"), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='openxc.TranslatedNumericMessage.value', index=1, - number=2, 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=469, - serialized_end=524, -) - - -_TRANSLATEDBOOLEANMESSAGE = _descriptor.Descriptor( - name='TranslatedBooleanMessage', - full_name='openxc.TranslatedBooleanMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='openxc.TranslatedBooleanMessage.name', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=unicode("", "utf-8"), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='value', full_name='openxc.TranslatedBooleanMessage.value', index=1, - number=2, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - extension_ranges=[], - serialized_start=526, - serialized_end=581, -) - -_VEHICLEMESSAGE.fields_by_name['type'].enum_type = _VEHICLEMESSAGE_TYPE -_VEHICLEMESSAGE.fields_by_name['raw_message'].message_type = _RAWMESSAGE -_VEHICLEMESSAGE.fields_by_name['string_message'].message_type = _TRANSLATEDSTRINGMESSAGE -_VEHICLEMESSAGE.fields_by_name['numerical_message'].message_type = _TRANSLATEDNUMERICMESSAGE -_VEHICLEMESSAGE.fields_by_name['boolean_message'].message_type = _TRANSLATEDBOOLEANMESSAGE -_VEHICLEMESSAGE_TYPE.containing_type = _VEHICLEMESSAGE; -DESCRIPTOR.message_types_by_name['VehicleMessage'] = _VEHICLEMESSAGE -DESCRIPTOR.message_types_by_name['RawMessage'] = _RAWMESSAGE -DESCRIPTOR.message_types_by_name['TranslatedStringMessage'] = _TRANSLATEDSTRINGMESSAGE -DESCRIPTOR.message_types_by_name['TranslatedNumericMessage'] = _TRANSLATEDNUMERICMESSAGE -DESCRIPTOR.message_types_by_name['TranslatedBooleanMessage'] = _TRANSLATEDBOOLEANMESSAGE - -class VehicleMessage(_message.Message): - __metaclass__ = _reflection.GeneratedProtocolMessageType - DESCRIPTOR = _VEHICLEMESSAGE - - # @@protoc_insertion_point(class_scope:openxc.VehicleMessage) - -class RawMessage(_message.Message): - __metaclass__ = _reflection.GeneratedProtocolMessageType - DESCRIPTOR = _RAWMESSAGE - - # @@protoc_insertion_point(class_scope:openxc.RawMessage) - -class TranslatedStringMessage(_message.Message): - __metaclass__ = _reflection.GeneratedProtocolMessageType - DESCRIPTOR = _TRANSLATEDSTRINGMESSAGE - - # @@protoc_insertion_point(class_scope:openxc.TranslatedStringMessage) - -class TranslatedNumericMessage(_message.Message): - __metaclass__ = _reflection.GeneratedProtocolMessageType - DESCRIPTOR = _TRANSLATEDNUMERICMESSAGE - - # @@protoc_insertion_point(class_scope:openxc.TranslatedNumericMessage) - -class TranslatedBooleanMessage(_message.Message): - __metaclass__ = _reflection.GeneratedProtocolMessageType - DESCRIPTOR = _TRANSLATEDBOOLEANMESSAGE - - # @@protoc_insertion_point(class_scope:openxc.TranslatedBooleanMessage) - - -# @@protoc_insertion_point(module_scope) diff --git a/gen/python/openxc_pb2.py b/gen/python/openxc_pb2.py index 9ec8f26..f831230 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\"\xbc\x01\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\"\x1f\n\x04Type\x12\x07\n\x03RAW\x10\x01\x12\x0e\n\nTRANSLATED\x10\x02\";\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(\x04\"\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\"\x94\x03\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\x12/\n\x0f\x63ontrol_command\x18\x05 \x01(\x0b\x32\x16.openxc.ControlCommand\x12\x31\n\x10\x63ommand_response\x18\x06 \x01(\x0b\x32\x17.openxc.CommandResponse\"Z\n\x04Type\x12\x07\n\x03RAW\x10\x01\x12\x0e\n\nTRANSLATED\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\x12\x13\n\x0f\x43ONTROL_COMMAND\x10\x04\x12\x14\n\x10\x43OMMAND_RESPONSE\x10\x05\";\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\"M\n\x0f\x43ommandResponse\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.ControlCommand.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xfd\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\x1a\n\x12multiple_responses\x18\x06 \x01(\x08\x12\x11\n\tfrequency\x18\x07 \x01(\x01\x12\x0c\n\x04name\x18\x08 \x01(\t\x12;\n\x0c\x64\x65\x63oded_type\x18\t \x01(\x0e\x32%.openxc.DiagnosticRequest.DecodedType\"!\n\x0b\x44\x65\x63odedType\x12\x08\n\x04NONE\x10\x01\x12\x08\n\x04OBD2\x10\x02\"\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\"\xa2\x01\n\x0c\x44ynamicField\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x19.openxc.DynamicField.Type\x12\x14\n\x0cstring_value\x18\x02 \x01(\t\x12\x15\n\rnumeric_value\x18\x03 \x01(\x01\x12\x15\n\rboolean_value\x18\x04 \x01(\x08\"%\n\x04Type\x12\n\n\x06STRING\x10\x01\x12\x07\n\x03NUM\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\"\xf7\x01\n\x11TranslatedMessage\x12,\n\x04type\x18\x01 \x01(\x0e\x32\x1e.openxc.TranslatedMessage.Type\x12\x0c\n\x04name\x18\x02 \x01(\t\x12#\n\x05value\x18\x03 \x01(\x0b\x32\x14.openxc.DynamicField\x12#\n\x05\x65vent\x18\x04 \x01(\x0b\x32\x14.openxc.DynamicField\"\\\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') @@ -31,11 +31,94 @@ _VEHICLEMESSAGE_TYPE = _descriptor.EnumDescriptor( name='TRANSLATED', index=1, number=2, options=None, type=None), + _descriptor.EnumValueDescriptor( + name='DIAGNOSTIC', index=2, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CONTROL_COMMAND', index=3, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='COMMAND_RESPONSE', index=4, number=5, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=339, + serialized_end=429, +) + +_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=182, - serialized_end=213, + serialized_start=609, + serialized_end=659, +) + +_DIAGNOSTICREQUEST_DECODEDTYPE = _descriptor.EnumDescriptor( + name='DecodedType', + full_name='openxc.DiagnosticRequest.DecodedType', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='NONE', index=0, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OBD2', index=1, number=2, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=961, + serialized_end=994, +) + +_DYNAMICFIELD_TYPE = _descriptor.EnumDescriptor( + name='Type', + full_name='openxc.DynamicField.Type', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='STRING', index=0, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='NUM', index=1, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BOOL', index=2, number=3, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=1286, + serialized_end=1323, ) _TRANSLATEDMESSAGE_TYPE = _descriptor.EnumDescriptor( @@ -71,8 +154,8 @@ _TRANSLATEDMESSAGE_TYPE = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=494, - serialized_end=586, + serialized_start=1481, + serialized_end=1573, ) @@ -104,6 +187,27 @@ _VEHICLEMESSAGE = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), + _descriptor.FieldDescriptor( + 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, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='control_command', full_name='openxc.VehicleMessage.control_command', index=4, + number=5, 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), + _descriptor.FieldDescriptor( + name='command_response', full_name='openxc.VehicleMessage.command_response', index=5, + number=6, 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=[ ], @@ -115,7 +219,7 @@ _VEHICLEMESSAGE = _descriptor.Descriptor( is_extendable=False, extension_ranges=[], serialized_start=25, - serialized_end=213, + serialized_end=429, ) @@ -142,8 +246,8 @@ _RAWMESSAGE = _descriptor.Descriptor( options=None), _descriptor.FieldDescriptor( name='data', full_name='openxc.RawMessage.data', index=2, - number=3, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, + number=3, 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), @@ -156,70 +260,275 @@ _RAWMESSAGE = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=215, - serialized_end=274, + serialized_start=431, + serialized_end=490, ) -_TRANSLATEDMESSAGE = _descriptor.Descriptor( - name='TranslatedMessage', - full_name='openxc.TranslatedMessage', +_CONTROLCOMMAND = _descriptor.Descriptor( + name='ControlCommand', + full_name='openxc.ControlCommand', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='type', full_name='openxc.TranslatedMessage.type', index=0, + 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='name', full_name='openxc.TranslatedMessage.name', index=1, + 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=493, + serialized_end=659, +) + + +_COMMANDRESPONSE = _descriptor.Descriptor( + name='CommandResponse', + full_name='openxc.CommandResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='openxc.CommandResponse.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='message', full_name='openxc.CommandResponse.message', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=unicode("", "utf-8"), 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=661, + serialized_end=738, +) + + +_DIAGNOSTICREQUEST = _descriptor.Descriptor( + name='DiagnosticRequest', + full_name='openxc.DiagnosticRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ _descriptor.FieldDescriptor( - name='string_value', full_name='openxc.TranslatedMessage.string_value', index=2, - number=3, type=9, cpp_type=9, label=1, + 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='multiple_responses', full_name='openxc.DiagnosticRequest.multiple_responses', 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='frequency', full_name='openxc.DiagnosticRequest.frequency', 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='name', full_name='openxc.DiagnosticRequest.name', index=7, + number=8, type=9, cpp_type=9, label=1, has_default_value=False, default_value=unicode("", "utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='numeric_value', full_name='openxc.TranslatedMessage.numeric_value', index=3, - number=4, type=1, cpp_type=5, label=1, + name='decoded_type', full_name='openxc.DiagnosticRequest.decoded_type', index=8, + number=9, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _DIAGNOSTICREQUEST_DECODEDTYPE, + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=741, + serialized_end=994, +) + + +_DIAGNOSTICRESPONSE = _descriptor.Descriptor( + name='DiagnosticResponse', + full_name='openxc.DiagnosticResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + 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='boolean_value', full_name='openxc.TranslatedMessage.boolean_value', index=4, + 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.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.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.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='string_event', full_name='openxc.TranslatedMessage.string_event', index=5, - number=6, type=9, cpp_type=9, label=1, + 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.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.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, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=997, + serialized_end=1158, +) + + +_DYNAMICFIELD = _descriptor.Descriptor( + name='DynamicField', + full_name='openxc.DynamicField', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='openxc.DynamicField.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='string_value', full_name='openxc.DynamicField.string_value', index=1, + number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=unicode("", "utf-8"), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='numeric_event', full_name='openxc.TranslatedMessage.numeric_event', index=6, - number=7, type=1, cpp_type=5, label=1, + name='numeric_value', full_name='openxc.DynamicField.numeric_value', index=2, + number=3, 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='boolean_event', full_name='openxc.TranslatedMessage.boolean_event', index=7, - number=8, type=8, cpp_type=7, label=1, + name='boolean_value', full_name='openxc.DynamicField.boolean_value', index=3, + number=4, 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, @@ -228,24 +537,92 @@ _TRANSLATEDMESSAGE = _descriptor.Descriptor( extensions=[ ], nested_types=[], + enum_types=[ + _DYNAMICFIELD_TYPE, + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=1161, + serialized_end=1323, +) + + +_TRANSLATEDMESSAGE = _descriptor.Descriptor( + name='TranslatedMessage', + full_name='openxc.TranslatedMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='openxc.TranslatedMessage.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='name', full_name='openxc.TranslatedMessage.name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=unicode("", "utf-8"), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='value', full_name='openxc.TranslatedMessage.value', index=2, + number=3, 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), + _descriptor.FieldDescriptor( + name='event', full_name='openxc.TranslatedMessage.event', 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, + is_extension=False, extension_scope=None, + options=None), + ], + extensions=[ + ], + nested_types=[], enum_types=[ _TRANSLATEDMESSAGE_TYPE, ], options=None, is_extendable=False, extension_ranges=[], - serialized_start=277, - serialized_end=586, + serialized_start=1326, + serialized_end=1573, ) _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_response'].message_type = _DIAGNOSTICRESPONSE +_VEHICLEMESSAGE.fields_by_name['control_command'].message_type = _CONTROLCOMMAND +_VEHICLEMESSAGE.fields_by_name['command_response'].message_type = _COMMANDRESPONSE _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; +_COMMANDRESPONSE.fields_by_name['type'].enum_type = _CONTROLCOMMAND_TYPE +_DIAGNOSTICREQUEST.fields_by_name['decoded_type'].enum_type = _DIAGNOSTICREQUEST_DECODEDTYPE +_DIAGNOSTICREQUEST_DECODEDTYPE.containing_type = _DIAGNOSTICREQUEST; +_DYNAMICFIELD.fields_by_name['type'].enum_type = _DYNAMICFIELD_TYPE +_DYNAMICFIELD_TYPE.containing_type = _DYNAMICFIELD; _TRANSLATEDMESSAGE.fields_by_name['type'].enum_type = _TRANSLATEDMESSAGE_TYPE +_TRANSLATEDMESSAGE.fields_by_name['value'].message_type = _DYNAMICFIELD +_TRANSLATEDMESSAGE.fields_by_name['event'].message_type = _DYNAMICFIELD _TRANSLATEDMESSAGE_TYPE.containing_type = _TRANSLATEDMESSAGE; DESCRIPTOR.message_types_by_name['VehicleMessage'] = _VEHICLEMESSAGE DESCRIPTOR.message_types_by_name['RawMessage'] = _RAWMESSAGE +DESCRIPTOR.message_types_by_name['ControlCommand'] = _CONTROLCOMMAND +DESCRIPTOR.message_types_by_name['CommandResponse'] = _COMMANDRESPONSE +DESCRIPTOR.message_types_by_name['DiagnosticRequest'] = _DIAGNOSTICREQUEST +DESCRIPTOR.message_types_by_name['DiagnosticResponse'] = _DIAGNOSTICRESPONSE +DESCRIPTOR.message_types_by_name['DynamicField'] = _DYNAMICFIELD DESCRIPTOR.message_types_by_name['TranslatedMessage'] = _TRANSLATEDMESSAGE class VehicleMessage(_message.Message): @@ -260,6 +637,36 @@ class RawMessage(_message.Message): # @@protoc_insertion_point(class_scope:openxc.RawMessage) +class ControlCommand(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _CONTROLCOMMAND + + # @@protoc_insertion_point(class_scope:openxc.ControlCommand) + +class CommandResponse(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _COMMANDRESPONSE + + # @@protoc_insertion_point(class_scope:openxc.CommandResponse) + +class DiagnosticRequest(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _DIAGNOSTICREQUEST + + # @@protoc_insertion_point(class_scope:openxc.DiagnosticRequest) + +class DiagnosticResponse(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _DIAGNOSTICRESPONSE + + # @@protoc_insertion_point(class_scope:openxc.DiagnosticResponse) + +class DynamicField(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _DYNAMICFIELD + + # @@protoc_insertion_point(class_scope:openxc.DynamicField) + class TranslatedMessage(_message.Message): __metaclass__ = _reflection.GeneratedProtocolMessageType DESCRIPTOR = _TRANSLATEDMESSAGE diff --git a/libs/nanopb b/libs/nanopb index 388d4de..906c828 160000 --- a/libs/nanopb +++ b/libs/nanopb @@ -1 +1 @@ -Subproject commit 388d4de833cf4e2127b2ab0489cb6b14ecc0cbb5 +Subproject commit 906c8283b5995eb7b27f4958a6a6502ae0deea07 diff --git a/openxc.options b/openxc.options index 1863c0d..80d0f9b 100644 --- a/openxc.options +++ b/openxc.options @@ -1,2 +1,7 @@ -# TODO this isn't working yet, so I'm defining it for everything in the Makefile -openxc_TranslatedMessage.name max_size:100 +openxc.TranslatedMessage.name max_size:100 +openxc.DynamicField.string_value max_size:100 +openxc.CommandResponse.message max_size:128 +openxc.DiagnosticResponse.payload max_size:8 +openxc.DiagnosticRequest.name max_size:10 +openxc.DiagnosticRequest.payload max_size:8 +openxc.RawMessage.data max_size:8 diff --git a/openxc.proto b/openxc.proto index 6b79c36..5b7e78b 100644 --- a/openxc.proto +++ b/openxc.proto @@ -4,17 +4,71 @@ option java_package = "com.openxc"; option java_outer_classname = "BinaryMessages"; message VehicleMessage { - enum Type { RAW = 1; TRANSLATED = 2; } + enum Type { RAW = 1; TRANSLATED = 2; DIAGNOSTIC = 3; CONTROL_COMMAND = 4; + COMMAND_RESPONSE = 5; } optional Type type = 1; optional RawMessage raw_message = 2; optional TranslatedMessage translated_message = 3; + optional DiagnosticResponse diagnostic_response = 4; + optional ControlCommand control_command = 5; + optional CommandResponse command_response = 6; } message RawMessage { optional int32 bus = 1; optional uint32 message_id = 2; - optional uint64 data = 3; + optional bytes data = 3; +} + +message ControlCommand { + enum Type { VERSION = 1; DEVICE_ID = 2; DIAGNOSTIC = 3; } + + optional Type type = 1; + optional DiagnosticRequest diagnostic_request = 2; +} + +message CommandResponse { + optional ControlCommand.Type type = 1; + optional string message = 2; +} + +message DiagnosticRequest { + enum DecodedType { NONE = 1; OBD2 = 2; } + + 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 multiple_responses = 6; + optional double frequency = 7; + optional string name = 8; + optional DecodedType decoded_type = 9; +} + +message DiagnosticResponse { + optional int32 bus = 1; + optional uint32 message_id = 2; + optional uint32 mode = 3; + optional uint32 pid = 4; + optional bool success = 5; + optional uint32 negative_response_code = 6; + // TODO we are capping this at 8 bytes for now - need to change when we + // support multi-frame responses + optional bytes payload = 7; + optional double value = 8; +} + +message DynamicField { + enum Type { STRING = 1; NUM = 2; BOOL = 3; } + + optional Type type = 1; + optional string string_value = 2; + optional double numeric_value = 3; + optional bool boolean_value = 4; } message TranslatedMessage { @@ -23,14 +77,8 @@ message TranslatedMessage { optional Type type = 1; optional string name = 2; - - optional string string_value = 3; - optional double numeric_value = 4; - optional bool boolean_value = 5; - - optional string string_event = 6; - optional double numeric_event = 7; - optional bool boolean_event = 8; + optional DynamicField value = 3; + optional DynamicField event = 4; } // TODO we should also consider having an enum type, having each specific