diff options
-rw-r--r-- | JSON.mkd | 353 | ||||
-rw-r--r-- | README.md | 279 | ||||
-rw-r--r-- | gen/cpp/openxc.pb | 43 | ||||
-rw-r--r-- | gen/cpp/openxc.pb.c | 147 | ||||
-rw-r--r-- | gen/cpp/openxc.pb.h | 168 | ||||
-rw-r--r-- | gen/java/com/openxc/BinaryMessages.java | 3807 | ||||
-rw-r--r-- | gen/python/openxc_pb2.py | 361 | ||||
m--------- | libs/nanopb | 10 | ||||
-rw-r--r-- | openxc.proto | 53 |
9 files changed, 4618 insertions, 603 deletions
diff --git a/JSON.mkd b/JSON.mkd new file mode 100644 index 00000000..7bf0ce5a --- /dev/null +++ b/JSON.mkd @@ -0,0 +1,353 @@ +# OpenXC JSON Message Format + +Each JSON message published by a VI is delimited with a `\0 ` character. + +## Extra Values + +Any of the following JSON objects may optionally include an `extras` +field. The value may be any valid JSON object or array. The client libraries +will do their best to parse this information into a generic format and pass it +to your application. For example: + + {"name": "steering_wheel_angle", + "value": 45, + "extras": { + "calibrated": false + } + } + +## Simple Vehicle Message + +There may not be a 1:1 relationship between input and output signals - i.e. +engine timing CAN signals may be summarized in an "engine performance" metric on +the abstract side of the interface. + +The expected format of a single valued message is: + + {"name": "steering_wheel_angle", "value": 45} + +## Evented Simple Vehicle Message + +The expected format of an event message is: + + {"name": "button_event", "value": "up", "event": "pressed"} + +This format is good for something like a button event, where there are two +discrete pieces of information in the measurement. + +## CAN Message + +The format for a plain CAN message: + + {"bus": 1, "id": 1234, "data": "0x12345678"} + +**bus** - the numerical identifier of the CAN bus where this message originated, + most likely 1 or 2 (for a vehicle interface with 2 CAN controllers). + +**id** - the CAN message ID + +**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. 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. The `0x` prefix is + optional. + +**format** - (optional) explicitly set the frame format for the CAN message, one + of `standard` or `extended`. If the `id` is greater than `0x7ff`, the extended + frame format will be selected automatically. + +## Diagnostic Messages + +### Requests + +A diagnostic request is added or cancelled with a JSON object like this example: + + { "command": "diagnostic_request", + "action": "add", + "request": { + "bus": 1, + "id": 1234, + "mode": 1, + "pid": 5, + "payload": "0x1234", + "multiple_responses": false, + "frequency": 1, + "name": "my_pid" + } + } + } + +* The `command` must be `diagnostic_request.` +* The `action` must be included, and must be one of: + * `add` - create a new one-off or recurring diagnostic request. + * `cancel` - cancel an existing request. +* The details of the request must be included in the `request` field, using + the sub-fields defined below. + +A diagnostic request's `bus`, `id`, `mode` and `pid` (or lack of a `pid`) +combine to create a unique key to identify a request. These four fields will be +referred to as the key of the diagnostic request. For example, to create a +simple one-time diagnostic request: + + { "command": "diagnostic_request", + "action": "add", + "request": { + "bus": 1, + "id": 1234, + "mode": 1, + "pid": 5 + } + } + } + +Requests are completed after any responses are received (unless +`multiple_responses` is set), or the request has timed out after a certain +number of seconds. After a request is completed, you can re-`create` the same +key to make another request. + +Requests with a `frequency` are added as *recurring* requests, e.g. to add the +previous example as a recurring request at 1Hz: + + { "command": "diagnostic_request", + "action": "add", + "request": { + "bus": 1, + "id": 1234, + "mode": 1, + "pid": 5, + "frequency": 1 + } + } + } + +To cancel a recurring request, send a `cancel` action with the same key, e.g.: + + { "command": "diagnostic_request", + "action": "cancel", + "request": { + "bus": 1, + "id": 1234, + "mode": 1, + "pid": 5 + } + } + } + +Simultaneous recurring requests for the same key at different rates (e.g. 1Hz +*and* 2Hz) is not supported. However, non-recurring ("one-off") requests may +exist in parallel with a recurring request for the same key. + +**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 - 0x1 through 0xff (1 through 9 are the + standardized modes and 0x22 is a common proprietary mode). + +**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 hexadecimal 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. The + `0x` prefix is optional. + +**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 + simple vehicle 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) Make this request a recurring request, at a this + frequency in Hz. To send a single non-recurring request, leave this field 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. + +### 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 + +In addition to the `diagnostic_request` command described earlier, there are +other possible values for the `command` field. + +### 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"} + +### Passthrough CAN Mode + +The `passthrough` command controls whether low-level CAN messages are passed +through from the CAN bus through the VI to the output stream. If the CAN +acceptance filter is in bypass mode and passthrough is enabled, the output +stream will include all received CAN messages. If the bypass filter is enabled, +only those CAN messages that have been pre-defined in the firmware are +forwarded. + +**Request** + + { "command": "passthrough", + "bus": 1, + "enabled": true + } + +**Response** + +If the bus in the request was valid and the passthrough mode was changed, the +`status` field in the response will be `true`. If `false`, the passthrough mode +was not changed. + + { "command_response": "passthrough", "status": true} + +### Acceptance Filter Bypass + +The `af_bypass` command controls whether the CAN message acceptance filter is +bypassed for each CAN controller. By default, hardware acceptance filter (AF) is +enabled in the VI - only previously defined CAN message IDs will be received. +Send this command with `bypass: true` to force the filters to bypassed. + +If `passthrough` mode is also enabled, when the AF is bypassed, the output will +include all CAN messages received. + +**Request** + + { "command": "af_bypass", + "bus": 1, + "bypass": true + } + +**Response** + +If the bus in the request was valid and the AF mode was changed, the `status` +field in the response will be `true`. If `false`, the passthrough mode was not +changed. + + { "command_response": "af_bypass", "status": true} + +### Payload Format Control + +The `payload_format` command determines the format for output data from the VI +and the expected format of commands sent to the VI. + +Valid formats are `json` and `protobuf`. + +**Request** + + { "command": "payload_format", + "format": "json" + } + +**Response** + +If the format was changed successfully, the `status` in the response will be +`true`. The response will be in the original message format, and all subsequent +messages will be in the new format. + + { "command_response": "payload_format", "status": true} + +### Automatic Pre-Defined OBD-II PID Requests + +The `predefined_obd2` command enables and disables the querying for and +translating of a set of pre-defined OBD-II PIDs from the attached vehicle. When +enabled, the VI will query the vehicle to see if these PIDs are claimed to be +supported and for those that are, it will set up recurring requests. The +responses will be output as simple vehicle messages, with the names defined in +the "Signals Defined from Diagnostic Messages" section below. + +**Request** + + { "command": "predefined_obd2", + "enabled": true + } + +**Response** + +f the predefined requests were enabled or disabled successfully, the `status` in +the response will be `true`. + + { "command_response": "predefined_obd2", "status": true} + @@ -7,279 +7,30 @@ 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 or Protocol Buffers (protobuf). -## Binary (Protocol Buffers) - -The binary format is encoded using [Google Protocol -Buffers](https://code.google.com/p/protobuf/). The format is specified in the -file `openxc.proto`. Those are published using the standard length-delimited -method (any protobuf library should support this). - -The binary format is best if you need to maximize the amount of data that can be -sent from the VI, trading off flexibility for efficiency. - ## JSON -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 JSON format is the most flexible and easiest to use. The format is fully +specified in the [JSON.mkd](JSON.mkd) file in this repository. +a more flexible option than binary, but is less compact and +therefore takes more bandwidth and processing power. The JSON format is best for most developers, as it is fairly efficient and very flexible. -### Extra Values - -Any of the following JSON objects may optionally include an `extras` -field. The value may be any valid JSON object or array. The client libraries -will do their best to parse this information into a generic format and pass it -to your application. For example: - - {"name": "steering_wheel_angle", - "value": 45, - "extras": { - "calibrated": false - } - } - -### Simple Vehicle Message - -There may not be a 1:1 relationship between input and output signals - i.e. -engine timing CAN signals may be summarized in an "engine performance" metric on -the abstract side of the interface. - -The expected format of a single valued message is: - - {"name": "steering_wheel_angle", "value": 45} - -### Evented Simple Vehicle Message - -The expected format of an event message is: - - {"name": "button_event", "value": "up", "event": "pressed"} - -This format is good for something like a button event, where there are two -discrete pieces of information in the measurement. - -### CAN Message - -The format for a raw CAN message: - - {"bus": 1, "id": 1234, "data": "0x12345678"} - -**bus** - the numerical identifier of the CAN bus where this message originated, - most likely 1 or 2 (for a vehicle interface with 2 CAN controllers). - -**id** - the CAN message ID - -**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. 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. The `0x` prefix is - optional. - -### Diagnostic Messages - -#### Requests - -A diagnostic request is added or cancelled with a JSON object like this example: - - { "command": "diagnostic_request", - "action": "add", - "request": { - "bus": 1, - "id": 1234, - "mode": 1, - "pid": 5, - "payload": "0x1234", - "multiple_responses": false, - "frequency": 1, - "name": "my_pid" - } - } - } - -* The `command` must be `diagnostic_request.` -* The `action` must be included, and must be one of: - * `add` - create a new one-off or recurring diagnostic request. - * `cancel` - cancel an existing request. -* The details of the request must be included in the `request` field, using - the sub-fields defined below. - -A diagnostic request's `bus`, `id`, `mode` and `pid` (or lack of a `pid`) -combine to create a unique key to identify a request. These four fields will be -referred to as the key of the diagnostic request. For example, to create a -simple one-time diagnostic request: - - { "command": "diagnostic_request", - "action": "add", - "request": { - "bus": 1, - "id": 1234, - "mode": 1, - "pid": 5 - } - } - } - -Requests are completed after any responses are received (unless -`multiple_responses` is set), or the request has timed out after a certain -number of seconds. After a request is completed, you can re-`create` the same -key to make another request. - -Requests with a `frequency` are added as *recurring* requests, e.g. to add the -previous example as a recurring request at 1Hz: - - { "command": "diagnostic_request", - "action": "add", - "request": { - "bus": 1, - "id": 1234, - "mode": 1, - "pid": 5, - "frequency": 1 - } - } - } - -To cancel a recurring request, send a `cancel` action with the same key, e.g.: - - { "command": "diagnostic_request", - "action": "cancel", - "request": { - "bus": 1, - "id": 1234, - "mode": 1, - "pid": 5 - } - } - } - -Simultaneous recurring requests for the same key at different rates (e.g. 1Hz -*and* 2Hz) is not supported. However, non-recurring ("one-off") requests may -exist in parallel with a recurring request for the same key. - -**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 - 0x1 through 0xff (1 through 9 are the - standardized modes and 0x22 is a common proprietary mode). - -**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 hexadecimal 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. The - `0x` prefix is optional. - -**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 - simple vehicle 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) Make this request a recurring request, at a this - frequency in Hz. To send a single non-recurring request, leave this field 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. - -#### 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 - -In addition to the `diagnostic_request` command described earlier, there are -other possible values for the `command` field. - -#### 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** +## Binary (Protocol Buffers) - { "command": "device_id"} +The binary format is encoded using [Google Protocol +Buffers](https://code.google.com/p/protobuf/). The format is specified in the +file [openxc.proto](openxc.proto). The descriptions of the messages can be foud +in the JSON specs - the binary format mirrors this. -**Response** +The binary messages are published by the VI using the standard length-delimited +method (any protobuf library should support this). - { "command_response": "device_id", "message": "0012345678"} +The binary format is best if you need to maximize the amount of data that can be +sent from the VI, trading off flexibility for efficiency. -### Trace File Format +## Trace File Format An OpenXC vehicle trace file is a plaintext file that contains JSON objects, separated by newlines (which may be either `\r\n` or `\n`, depending on the @@ -380,7 +131,7 @@ manufacturers may support custom message names. * numerical, -179.0 to 179.0 degrees with standard GPS accuracy * 1Hz -### Signals from Diagnostics Messages +## Signals from Diagnostic 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). diff --git a/gen/cpp/openxc.pb b/gen/cpp/openxc.pb index e2d67115..e89c2537 100644 --- a/gen/cpp/openxc.pb +++ b/gen/cpp/openxc.pb @@ -1,5 +1,5 @@ -¡
+” openxc.protoopenxc"” VehicleMessage) type (2.openxc.VehicleMessage.Type' @@ -15,26 +15,53 @@ TRANSLATED DIAGNOSTIC CONTROL_COMMAND -COMMAND_RESPONSE"; +COMMAND_RESPONSE"œ RawMessage bus ( message_id (
-data ("ô +data (4 +frame_format (2.openxc.RawMessage.FrameFormat") +FrameFormat +STANDARD +EXTENDED"¸ ControlCommand) -type (2.openxc.ControlCommand.Type5 -diagnostic_request (2.openxc.DiagnosticRequest- -action (2.openxc.ControlCommand.Action"2 +type (2.openxc.ControlCommand.Type< +diagnostic_request (2 .openxc.DiagnosticControlCommandG +passthrough_mode_request (2%.openxc.PassthroughModeControlCommandO + acceptance_filter_bypass_command (2%.openxc.AcceptanceFilterBypassCommand< +payload_format_command (2.openxc.PayloadFormatCommandO + predefined_obd2_requests_command (2%.openxc.PredefinedObd2RequestsCommand"“ Type VERSION
DEVICE_ID -DIAGNOSTIC" +DIAGNOSTIC +PASSTHROUGH +ACCEPTANCE_FILTER_BYPASS +PAYLOAD_FORMAT +PREDEFINED_OBD2_REQUESTS"ž +DiagnosticControlCommand* +request (2.openxc.DiagnosticRequest7 +action (2'.openxc.DiagnosticControlCommand.Action" Action ADD -CANCEL"] +CANCEL"= +PassthroughModeControlCommand +bus ( +enabled ("< +AcceptanceFilterBypassCommand +bus ( +bypass ("{ +PayloadFormatCommand: +format (2*.openxc.PayloadFormatCommand.PayloadFormat"' +
PayloadFormat +JSON +PROTOBUF"0 +PredefinedObd2RequestsCommand +enabled ("] CommandResponse) type (2.openxc.ControlCommand.Type message ( diff --git a/gen/cpp/openxc.pb.c b/gen/cpp/openxc.pb.c index 5895ffc1..a99c7ddf 100644 --- a/gen/cpp/openxc.pb.c +++ b/gen/cpp/openxc.pb.c @@ -1,95 +1,146 @@ /* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.2.5 at Mon Aug 11 23:26:24 2014. */ +/* Generated by nanopb-0.3.1 at Mon Oct 6 22:07:24 2014. */ #include "openxc.pb.h" +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + 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_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_VehicleMessage, type, type, 0), + PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, raw_message, type, &openxc_RawMessage_fields), + PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, translated_message, raw_message, &openxc_TranslatedMessage_fields), + PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, diagnostic_response, translated_message, &openxc_DiagnosticResponse_fields), + PB_FIELD( 5, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, control_command, diagnostic_response, &openxc_ControlCommand_fields), + PB_FIELD( 6, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, command_response, control_command, &openxc_CommandResponse_fields), + PB_LAST_FIELD +}; + +const pb_field_t openxc_RawMessage_fields[5] = { + PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_RawMessage, bus, bus, 0), + PB_FIELD( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_RawMessage, message_id, bus, 0), + PB_FIELD( 3, BYTES , OPTIONAL, STATIC , OTHER, openxc_RawMessage, data, message_id, 0), + PB_FIELD( 4, ENUM , OPTIONAL, STATIC , OTHER, openxc_RawMessage, frame_format, data, 0), + PB_LAST_FIELD +}; + +const pb_field_t openxc_ControlCommand_fields[7] = { + PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_ControlCommand, type, type, 0), + PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, diagnostic_request, type, &openxc_DiagnosticControlCommand_fields), + PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, passthrough_mode_request, diagnostic_request, &openxc_PassthroughModeControlCommand_fields), + PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, acceptance_filter_bypass_command, passthrough_mode_request, &openxc_AcceptanceFilterBypassCommand_fields), + PB_FIELD( 5, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, payload_format_command, acceptance_filter_bypass_command, &openxc_PayloadFormatCommand_fields), + PB_FIELD( 6, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, predefined_obd2_requests_command, payload_format_command, &openxc_PredefinedObd2RequestsCommand_fields), + PB_LAST_FIELD +}; + +const pb_field_t openxc_DiagnosticControlCommand_fields[3] = { + PB_FIELD( 1, MESSAGE , OPTIONAL, STATIC , FIRST, openxc_DiagnosticControlCommand, request, request, &openxc_DiagnosticRequest_fields), + PB_FIELD( 2, ENUM , OPTIONAL, STATIC , OTHER, openxc_DiagnosticControlCommand, action, request, 0), + PB_LAST_FIELD +}; + +const pb_field_t openxc_PassthroughModeControlCommand_fields[3] = { + PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_PassthroughModeControlCommand, bus, bus, 0), + PB_FIELD( 2, BOOL , OPTIONAL, STATIC , OTHER, openxc_PassthroughModeControlCommand, enabled, bus, 0), + PB_LAST_FIELD +}; + +const pb_field_t openxc_AcceptanceFilterBypassCommand_fields[3] = { + PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_AcceptanceFilterBypassCommand, bus, bus, 0), + PB_FIELD( 2, BOOL , OPTIONAL, STATIC , OTHER, openxc_AcceptanceFilterBypassCommand, bypass, bus, 0), 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, BYTES , OPTIONAL, STATIC , OTHER, openxc_RawMessage, data, message_id, 0), +const pb_field_t openxc_PayloadFormatCommand_fields[2] = { + PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_PayloadFormatCommand, format, format, 0), PB_LAST_FIELD }; -const pb_field_t openxc_ControlCommand_fields[4] = { - 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_FIELD2( 3, ENUM , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, action, diagnostic_request, 0), +const pb_field_t openxc_PredefinedObd2RequestsCommand_fields[2] = { + PB_FIELD( 1, BOOL , OPTIONAL, STATIC , FIRST, openxc_PredefinedObd2RequestsCommand, enabled, enabled, 0), PB_LAST_FIELD }; const pb_field_t openxc_CommandResponse_fields[4] = { - 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_FIELD2( 3, BOOL , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, status, message, 0), + PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_CommandResponse, type, type, 0), + PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, message, type, 0), + PB_FIELD( 3, BOOL , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, status, message, 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_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticRequest, bus, bus, 0), + PB_FIELD( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, message_id, bus, 0), + PB_FIELD( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, mode, message_id, 0), + PB_FIELD( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, pid, mode, 0), + PB_FIELD( 5, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, payload, pid, 0), + PB_FIELD( 6, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, multiple_responses, payload, 0), + PB_FIELD( 7, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, frequency, multiple_responses, 0), + PB_FIELD( 8, STRING , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, name, frequency, 0), + PB_FIELD( 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_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticResponse, bus, bus, 0), + PB_FIELD( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, message_id, bus, 0), + PB_FIELD( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, mode, message_id, 0), + PB_FIELD( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, pid, mode, 0), + PB_FIELD( 5, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, success, pid, 0), + PB_FIELD( 6, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, negative_response_code, success, 0), + PB_FIELD( 7, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, payload, negative_response_code, 0), + PB_FIELD( 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_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_DynamicField, type, type, 0), + PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_DynamicField, string_value, type, 0), + PB_FIELD( 3, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DynamicField, numeric_value, string_value, 0), + PB_FIELD( 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_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_TranslatedMessage, type, type, 0), + PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, name, type, 0), + PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, value, name, &openxc_DynamicField_fields), + PB_FIELD( 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 && 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) +#if !defined(PB_FIELD_32BIT) +/* If you get an error here, it means that you need to define PB_FIELD_32BIT + * compile-time option. You can do that in pb.h or on compiler command line. + * + * The reason you need to do this is that some of your messages contain tag + * numbers or field sizes that are larger than what can fit in 8 or 16 bit + * field descriptors. + */ +PB_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_ControlCommand, passthrough_mode_request) < 65536 && pb_membersize(openxc_ControlCommand, acceptance_filter_bypass_command) < 65536 && pb_membersize(openxc_ControlCommand, payload_format_command) < 65536 && pb_membersize(openxc_ControlCommand, predefined_obd2_requests_command) < 65536 && pb_membersize(openxc_DiagnosticControlCommand, 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_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_AcceptanceFilterBypassCommand_openxc_PayloadFormatCommand_openxc_PredefinedObd2RequestsCommand_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 && 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) +#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) +/* If you get an error here, it means that you need to define PB_FIELD_16BIT + * compile-time option. You can do that in pb.h or on compiler command line. + * + * The reason you need to do this is that some of your messages contain tag + * numbers or field sizes that are larger than what can fit in the default + * 8 bit descriptors. + */ +PB_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_ControlCommand, passthrough_mode_request) < 256 && pb_membersize(openxc_ControlCommand, acceptance_filter_bypass_command) < 256 && pb_membersize(openxc_ControlCommand, payload_format_command) < 256 && pb_membersize(openxc_ControlCommand, predefined_obd2_requests_command) < 256 && pb_membersize(openxc_DiagnosticControlCommand, 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_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_AcceptanceFilterBypassCommand_openxc_PayloadFormatCommand_openxc_PredefinedObd2RequestsCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage) #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) +PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES) diff --git a/gen/cpp/openxc.pb.h b/gen/cpp/openxc.pb.h index b8b60574..ca87e0bc 100644 --- a/gen/cpp/openxc.pb.h +++ b/gen/cpp/openxc.pb.h @@ -1,10 +1,14 @@ /* Automatically generated nanopb header */ -/* Generated by nanopb-0.2.5 at Mon Aug 11 23:26:24 2014. */ +/* Generated by nanopb-0.3.1 at Mon Oct 6 22:07:24 2014. */ -#ifndef _PB_OPENXC_PB_H_ -#define _PB_OPENXC_PB_H_ +#ifndef PB_OPENXC_PB_H_INCLUDED +#define PB_OPENXC_PB_H_INCLUDED #include <pb.h> +#if PB_PROTO_HEADER_VERSION != 30 +#error Regenerate this file with the current version of nanopb generator. +#endif + #ifdef __cplusplus extern "C" { #endif @@ -18,16 +22,30 @@ typedef enum _openxc_VehicleMessage_Type { openxc_VehicleMessage_Type_COMMAND_RESPONSE = 5 } openxc_VehicleMessage_Type; +typedef enum _openxc_RawMessage_FrameFormat { + openxc_RawMessage_FrameFormat_STANDARD = 1, + openxc_RawMessage_FrameFormat_EXTENDED = 2 +} openxc_RawMessage_FrameFormat; + typedef enum _openxc_ControlCommand_Type { openxc_ControlCommand_Type_VERSION = 1, openxc_ControlCommand_Type_DEVICE_ID = 2, - openxc_ControlCommand_Type_DIAGNOSTIC = 3 + openxc_ControlCommand_Type_DIAGNOSTIC = 3, + openxc_ControlCommand_Type_PASSTHROUGH = 4, + openxc_ControlCommand_Type_ACCEPTANCE_FILTER_BYPASS = 5, + openxc_ControlCommand_Type_PAYLOAD_FORMAT = 6, + openxc_ControlCommand_Type_PREDEFINED_OBD2_REQUESTS = 7 } openxc_ControlCommand_Type; -typedef enum _openxc_ControlCommand_Action { - openxc_ControlCommand_Action_ADD = 1, - openxc_ControlCommand_Action_CANCEL = 2 -} openxc_ControlCommand_Action; +typedef enum _openxc_DiagnosticControlCommand_Action { + openxc_DiagnosticControlCommand_Action_ADD = 1, + openxc_DiagnosticControlCommand_Action_CANCEL = 2 +} openxc_DiagnosticControlCommand_Action; + +typedef enum _openxc_PayloadFormatCommand_PayloadFormat { + openxc_PayloadFormatCommand_PayloadFormat_JSON = 1, + openxc_PayloadFormatCommand_PayloadFormat_PROTOBUF = 2 +} openxc_PayloadFormatCommand_PayloadFormat; typedef enum _openxc_DiagnosticRequest_DecodedType { openxc_DiagnosticRequest_DecodedType_NONE = 1, @@ -50,6 +68,13 @@ typedef enum _openxc_TranslatedMessage_Type { } openxc_TranslatedMessage_Type; /* Struct definitions */ +typedef struct _openxc_AcceptanceFilterBypassCommand { + bool has_bus; + int32_t bus; + bool has_bypass; + bool bypass; +} openxc_AcceptanceFilterBypassCommand; + typedef struct _openxc_CommandResponse { bool has_type; openxc_ControlCommand_Type type; @@ -59,10 +84,7 @@ typedef struct _openxc_CommandResponse { bool status; } openxc_CommandResponse; -typedef struct { - size_t size; - uint8_t bytes[8]; -} openxc_DiagnosticRequest_payload_t; +typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticRequest_payload_t; typedef struct _openxc_DiagnosticRequest { bool has_bus; @@ -85,10 +107,7 @@ typedef struct _openxc_DiagnosticRequest { openxc_DiagnosticRequest_DecodedType decoded_type; } openxc_DiagnosticRequest; -typedef struct { - size_t size; - uint8_t bytes[8]; -} openxc_DiagnosticResponse_payload_t; +typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticResponse_payload_t; typedef struct _openxc_DiagnosticResponse { bool has_bus; @@ -120,10 +139,24 @@ typedef struct _openxc_DynamicField { bool boolean_value; } openxc_DynamicField; -typedef struct { - size_t size; - uint8_t bytes[8]; -} openxc_RawMessage_data_t; +typedef struct _openxc_PassthroughModeControlCommand { + bool has_bus; + int32_t bus; + bool has_enabled; + bool enabled; +} openxc_PassthroughModeControlCommand; + +typedef struct _openxc_PayloadFormatCommand { + bool has_format; + openxc_PayloadFormatCommand_PayloadFormat format; +} openxc_PayloadFormatCommand; + +typedef struct _openxc_PredefinedObd2RequestsCommand { + bool has_enabled; + bool enabled; +} openxc_PredefinedObd2RequestsCommand; + +typedef PB_BYTES_ARRAY_T(8) openxc_RawMessage_data_t; typedef struct _openxc_RawMessage { bool has_bus; @@ -132,16 +165,16 @@ typedef struct _openxc_RawMessage { uint32_t message_id; bool has_data; openxc_RawMessage_data_t data; + bool has_frame_format; + openxc_RawMessage_FrameFormat frame_format; } openxc_RawMessage; -typedef struct _openxc_ControlCommand { - bool has_type; - openxc_ControlCommand_Type type; - bool has_diagnostic_request; - openxc_DiagnosticRequest diagnostic_request; +typedef struct _openxc_DiagnosticControlCommand { + bool has_request; + openxc_DiagnosticRequest request; bool has_action; - openxc_ControlCommand_Action action; -} openxc_ControlCommand; + openxc_DiagnosticControlCommand_Action action; +} openxc_DiagnosticControlCommand; typedef struct _openxc_TranslatedMessage { bool has_type; @@ -154,6 +187,21 @@ typedef struct _openxc_TranslatedMessage { openxc_DynamicField event; } openxc_TranslatedMessage; +typedef struct _openxc_ControlCommand { + bool has_type; + openxc_ControlCommand_Type type; + bool has_diagnostic_request; + openxc_DiagnosticControlCommand diagnostic_request; + bool has_passthrough_mode_request; + openxc_PassthroughModeControlCommand passthrough_mode_request; + bool has_acceptance_filter_bypass_command; + openxc_AcceptanceFilterBypassCommand acceptance_filter_bypass_command; + bool has_payload_format_command; + openxc_PayloadFormatCommand payload_format_command; + bool has_predefined_obd2_requests_command; + openxc_PredefinedObd2RequestsCommand predefined_obd2_requests_command; +} openxc_ControlCommand; + typedef struct _openxc_VehicleMessage { bool has_type; openxc_VehicleMessage_Type type; @@ -171,7 +219,37 @@ typedef struct _openxc_VehicleMessage { /* Default values for struct fields */ +/* Initializer values for message structs */ +#define openxc_VehicleMessage_init_default {false, (openxc_VehicleMessage_Type)0, false, openxc_RawMessage_init_default, false, openxc_TranslatedMessage_init_default, false, openxc_DiagnosticResponse_init_default, false, openxc_ControlCommand_init_default, false, openxc_CommandResponse_init_default} +#define openxc_RawMessage_init_default {false, 0, false, 0, false, {0, {0}}, false, (openxc_RawMessage_FrameFormat)0} +#define openxc_ControlCommand_init_default {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_default, false, openxc_PassthroughModeControlCommand_init_default, false, openxc_AcceptanceFilterBypassCommand_init_default, false, openxc_PayloadFormatCommand_init_default, false, openxc_PredefinedObd2RequestsCommand_init_default} +#define openxc_DiagnosticControlCommand_init_default {false, openxc_DiagnosticRequest_init_default, false, (openxc_DiagnosticControlCommand_Action)0} +#define openxc_PassthroughModeControlCommand_init_default {false, 0, false, 0} +#define openxc_AcceptanceFilterBypassCommand_init_default {false, 0, false, 0} +#define openxc_PayloadFormatCommand_init_default {false, (openxc_PayloadFormatCommand_PayloadFormat)0} +#define openxc_PredefinedObd2RequestsCommand_init_default {false, 0} +#define openxc_CommandResponse_init_default {false, (openxc_ControlCommand_Type)0, false, "", false, 0} +#define openxc_DiagnosticRequest_init_default {false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0, false, 0, false, "", false, (openxc_DiagnosticRequest_DecodedType)0} +#define openxc_DiagnosticResponse_init_default {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0} +#define openxc_DynamicField_init_default {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0} +#define openxc_TranslatedMessage_init_default {false, (openxc_TranslatedMessage_Type)0, false, "", false, openxc_DynamicField_init_default, false, openxc_DynamicField_init_default} +#define openxc_VehicleMessage_init_zero {false, (openxc_VehicleMessage_Type)0, false, openxc_RawMessage_init_zero, false, openxc_TranslatedMessage_init_zero, false, openxc_DiagnosticResponse_init_zero, false, openxc_ControlCommand_init_zero, false, openxc_CommandResponse_init_zero} +#define openxc_RawMessage_init_zero {false, 0, false, 0, false, {0, {0}}, false, (openxc_RawMessage_FrameFormat)0} +#define openxc_ControlCommand_init_zero {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_zero, false, openxc_PassthroughModeControlCommand_init_zero, false, openxc_AcceptanceFilterBypassCommand_init_zero, false, openxc_PayloadFormatCommand_init_zero, false, openxc_PredefinedObd2RequestsCommand_init_zero} +#define openxc_DiagnosticControlCommand_init_zero {false, openxc_DiagnosticRequest_init_zero, false, (openxc_DiagnosticControlCommand_Action)0} +#define openxc_PassthroughModeControlCommand_init_zero {false, 0, false, 0} +#define openxc_AcceptanceFilterBypassCommand_init_zero {false, 0, false, 0} +#define openxc_PayloadFormatCommand_init_zero {false, (openxc_PayloadFormatCommand_PayloadFormat)0} +#define openxc_PredefinedObd2RequestsCommand_init_zero {false, 0} +#define openxc_CommandResponse_init_zero {false, (openxc_ControlCommand_Type)0, false, "", false, 0} +#define openxc_DiagnosticRequest_init_zero {false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0, false, 0, false, "", false, (openxc_DiagnosticRequest_DecodedType)0} +#define openxc_DiagnosticResponse_init_zero {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0} +#define openxc_DynamicField_init_zero {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0} +#define openxc_TranslatedMessage_init_zero {false, (openxc_TranslatedMessage_Type)0, false, "", false, openxc_DynamicField_init_zero, false, openxc_DynamicField_init_zero} + /* Field tags (for use in manual encoding/decoding) */ +#define openxc_AcceptanceFilterBypassCommand_bus_tag 1 +#define openxc_AcceptanceFilterBypassCommand_bypass_tag 2 #define openxc_CommandResponse_type_tag 1 #define openxc_CommandResponse_message_tag 2 #define openxc_CommandResponse_status_tag 3 @@ -196,16 +274,26 @@ typedef struct _openxc_VehicleMessage { #define openxc_DynamicField_string_value_tag 2 #define openxc_DynamicField_numeric_value_tag 3 #define openxc_DynamicField_boolean_value_tag 4 +#define openxc_PassthroughModeControlCommand_bus_tag 1 +#define openxc_PassthroughModeControlCommand_enabled_tag 2 +#define openxc_PayloadFormatCommand_format_tag 1 +#define openxc_PredefinedObd2RequestsCommand_enabled_tag 1 #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_ControlCommand_action_tag 3 +#define openxc_RawMessage_frame_format_tag 4 +#define openxc_DiagnosticControlCommand_request_tag 1 +#define openxc_DiagnosticControlCommand_action_tag 2 #define openxc_TranslatedMessage_type_tag 1 #define openxc_TranslatedMessage_name_tag 2 #define openxc_TranslatedMessage_value_tag 3 #define openxc_TranslatedMessage_event_tag 4 +#define openxc_ControlCommand_type_tag 1 +#define openxc_ControlCommand_diagnostic_request_tag 2 +#define openxc_ControlCommand_passthrough_mode_request_tag 3 +#define openxc_ControlCommand_acceptance_filter_bypass_command_tag 4 +#define openxc_ControlCommand_payload_format_command_tag 5 +#define openxc_ControlCommand_predefined_obd2_requests_command_tag 6 #define openxc_VehicleMessage_type_tag 1 #define openxc_VehicleMessage_raw_message_tag 2 #define openxc_VehicleMessage_translated_message_tag 3 @@ -215,8 +303,13 @@ typedef struct _openxc_VehicleMessage { /* Struct field encoding specification for nanopb */ extern const pb_field_t openxc_VehicleMessage_fields[7]; -extern const pb_field_t openxc_RawMessage_fields[4]; -extern const pb_field_t openxc_ControlCommand_fields[4]; +extern const pb_field_t openxc_RawMessage_fields[5]; +extern const pb_field_t openxc_ControlCommand_fields[7]; +extern const pb_field_t openxc_DiagnosticControlCommand_fields[3]; +extern const pb_field_t openxc_PassthroughModeControlCommand_fields[3]; +extern const pb_field_t openxc_AcceptanceFilterBypassCommand_fields[3]; +extern const pb_field_t openxc_PayloadFormatCommand_fields[2]; +extern const pb_field_t openxc_PredefinedObd2RequestsCommand_fields[2]; extern const pb_field_t openxc_CommandResponse_fields[4]; extern const pb_field_t openxc_DiagnosticRequest_fields[10]; extern const pb_field_t openxc_DiagnosticResponse_fields[9]; @@ -224,9 +317,14 @@ 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 672 -#define openxc_RawMessage_size 27 -#define openxc_ControlCommand_size 82 +#define openxc_VehicleMessage_size 722 +#define openxc_RawMessage_size 33 +#define openxc_ControlCommand_size 126 +#define openxc_DiagnosticControlCommand_size 76 +#define openxc_PassthroughModeControlCommand_size 13 +#define openxc_AcceptanceFilterBypassCommand_size 13 +#define openxc_PayloadFormatCommand_size 6 +#define openxc_PredefinedObd2RequestsCommand_size 2 #define openxc_CommandResponse_size 139 #define openxc_DiagnosticRequest_size 68 #define openxc_DiagnosticResponse_size 56 diff --git a/gen/java/com/openxc/BinaryMessages.java b/gen/java/com/openxc/BinaryMessages.java index e331fcce..2e3cd56f 100644 --- a/gen/java/com/openxc/BinaryMessages.java +++ b/gen/java/com/openxc/BinaryMessages.java @@ -1514,6 +1514,16 @@ public final class BinaryMessages { * <code>optional bytes data = 3;</code> */ com.google.protobuf.ByteString getData(); + + // optional .openxc.RawMessage.FrameFormat frame_format = 4; + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + boolean hasFrameFormat(); + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + com.openxc.BinaryMessages.RawMessage.FrameFormat getFrameFormat(); } /** * Protobuf type {@code openxc.RawMessage} @@ -1581,6 +1591,17 @@ public final class BinaryMessages { data_ = input.readBytes(); break; } + case 32: { + int rawValue = input.readEnum(); + com.openxc.BinaryMessages.RawMessage.FrameFormat value = com.openxc.BinaryMessages.RawMessage.FrameFormat.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(4, rawValue); + } else { + bitField0_ |= 0x00000008; + frameFormat_ = value; + } + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -1620,6 +1641,88 @@ public final class BinaryMessages { return PARSER; } + /** + * Protobuf enum {@code openxc.RawMessage.FrameFormat} + */ + public enum FrameFormat + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>STANDARD = 1;</code> + */ + STANDARD(0, 1), + /** + * <code>EXTENDED = 2;</code> + */ + EXTENDED(1, 2), + ; + + /** + * <code>STANDARD = 1;</code> + */ + public static final int STANDARD_VALUE = 1; + /** + * <code>EXTENDED = 2;</code> + */ + public static final int EXTENDED_VALUE = 2; + + + public final int getNumber() { return value; } + + public static FrameFormat valueOf(int value) { + switch (value) { + case 1: return STANDARD; + case 2: return EXTENDED; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<FrameFormat> + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap<FrameFormat> + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<FrameFormat>() { + public FrameFormat findValueByNumber(int number) { + return FrameFormat.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.RawMessage.getDescriptor().getEnumTypes().get(0); + } + + private static final FrameFormat[] VALUES = values(); + + public static FrameFormat 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 FrameFormat(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:openxc.RawMessage.FrameFormat) + } + private int bitField0_; // optional int32 bus = 1; public static final int BUS_FIELD_NUMBER = 1; @@ -1669,10 +1772,27 @@ public final class BinaryMessages { return data_; } + // optional .openxc.RawMessage.FrameFormat frame_format = 4; + public static final int FRAME_FORMAT_FIELD_NUMBER = 4; + private com.openxc.BinaryMessages.RawMessage.FrameFormat frameFormat_; + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + public boolean hasFrameFormat() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + public com.openxc.BinaryMessages.RawMessage.FrameFormat getFrameFormat() { + return frameFormat_; + } + private void initFields() { bus_ = 0; messageId_ = 0; data_ = com.google.protobuf.ByteString.EMPTY; + frameFormat_ = com.openxc.BinaryMessages.RawMessage.FrameFormat.STANDARD; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -1695,6 +1815,9 @@ public final class BinaryMessages { if (((bitField0_ & 0x00000004) == 0x00000004)) { output.writeBytes(3, data_); } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeEnum(4, frameFormat_.getNumber()); + } getUnknownFields().writeTo(output); } @@ -1716,6 +1839,10 @@ public final class BinaryMessages { size += com.google.protobuf.CodedOutputStream .computeBytesSize(3, data_); } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(4, frameFormat_.getNumber()); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -1838,6 +1965,8 @@ public final class BinaryMessages { bitField0_ = (bitField0_ & ~0x00000002); data_ = com.google.protobuf.ByteString.EMPTY; bitField0_ = (bitField0_ & ~0x00000004); + frameFormat_ = com.openxc.BinaryMessages.RawMessage.FrameFormat.STANDARD; + bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -1878,6 +2007,10 @@ public final class BinaryMessages { to_bitField0_ |= 0x00000004; } result.data_ = data_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.frameFormat_ = frameFormat_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -1903,6 +2036,9 @@ public final class BinaryMessages { if (other.hasData()) { setData(other.getData()); } + if (other.hasFrameFormat()) { + setFrameFormat(other.getFrameFormat()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -2032,6 +2168,42 @@ public final class BinaryMessages { return this; } + // optional .openxc.RawMessage.FrameFormat frame_format = 4; + private com.openxc.BinaryMessages.RawMessage.FrameFormat frameFormat_ = com.openxc.BinaryMessages.RawMessage.FrameFormat.STANDARD; + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + public boolean hasFrameFormat() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + public com.openxc.BinaryMessages.RawMessage.FrameFormat getFrameFormat() { + return frameFormat_; + } + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + public Builder setFrameFormat(com.openxc.BinaryMessages.RawMessage.FrameFormat value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000008; + frameFormat_ = value; + onChanged(); + return this; + } + /** + * <code>optional .openxc.RawMessage.FrameFormat frame_format = 4;</code> + */ + public Builder clearFrameFormat() { + bitField0_ = (bitField0_ & ~0x00000008); + frameFormat_ = com.openxc.BinaryMessages.RawMessage.FrameFormat.STANDARD; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:openxc.RawMessage) } @@ -2056,29 +2228,75 @@ public final class BinaryMessages { */ com.openxc.BinaryMessages.ControlCommand.Type getType(); - // optional .openxc.DiagnosticRequest diagnostic_request = 2; + // optional .openxc.DiagnosticControlCommand diagnostic_request = 2; /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ boolean hasDiagnosticRequest(); /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - com.openxc.BinaryMessages.DiagnosticRequest getDiagnosticRequest(); + com.openxc.BinaryMessages.DiagnosticControlCommand getDiagnosticRequest(); /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getDiagnosticRequestOrBuilder(); + com.openxc.BinaryMessages.DiagnosticControlCommandOrBuilder getDiagnosticRequestOrBuilder(); - // optional .openxc.ControlCommand.Action action = 3; + // optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3; /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> */ - boolean hasAction(); + boolean hasPassthroughModeRequest(); + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + com.openxc.BinaryMessages.PassthroughModeControlCommand getPassthroughModeRequest(); + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + com.openxc.BinaryMessages.PassthroughModeControlCommandOrBuilder getPassthroughModeRequestOrBuilder(); + + // optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4; + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + boolean hasAcceptanceFilterBypassCommand(); + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand getAcceptanceFilterBypassCommand(); + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + com.openxc.BinaryMessages.AcceptanceFilterBypassCommandOrBuilder getAcceptanceFilterBypassCommandOrBuilder(); + + // optional .openxc.PayloadFormatCommand payload_format_command = 5; + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + boolean hasPayloadFormatCommand(); + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + com.openxc.BinaryMessages.PayloadFormatCommand getPayloadFormatCommand(); + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + com.openxc.BinaryMessages.PayloadFormatCommandOrBuilder getPayloadFormatCommandOrBuilder(); + + // optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6; + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + boolean hasPredefinedObd2RequestsCommand(); /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> */ - com.openxc.BinaryMessages.ControlCommand.Action getAction(); + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand getPredefinedObd2RequestsCommand(); + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + com.openxc.BinaryMessages.PredefinedObd2RequestsCommandOrBuilder getPredefinedObd2RequestsCommandOrBuilder(); } /** * Protobuf type {@code openxc.ControlCommand} @@ -2143,11 +2361,11 @@ public final class BinaryMessages { break; } case 18: { - com.openxc.BinaryMessages.DiagnosticRequest.Builder subBuilder = null; + com.openxc.BinaryMessages.DiagnosticControlCommand.Builder subBuilder = null; if (((bitField0_ & 0x00000002) == 0x00000002)) { subBuilder = diagnosticRequest_.toBuilder(); } - diagnosticRequest_ = input.readMessage(com.openxc.BinaryMessages.DiagnosticRequest.PARSER, extensionRegistry); + diagnosticRequest_ = input.readMessage(com.openxc.BinaryMessages.DiagnosticControlCommand.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(diagnosticRequest_); diagnosticRequest_ = subBuilder.buildPartial(); @@ -2155,15 +2373,56 @@ public final class BinaryMessages { bitField0_ |= 0x00000002; break; } - case 24: { - int rawValue = input.readEnum(); - com.openxc.BinaryMessages.ControlCommand.Action value = com.openxc.BinaryMessages.ControlCommand.Action.valueOf(rawValue); - if (value == null) { - unknownFields.mergeVarintField(3, rawValue); - } else { - bitField0_ |= 0x00000004; - action_ = value; + case 26: { + com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder subBuilder = null; + if (((bitField0_ & 0x00000004) == 0x00000004)) { + subBuilder = passthroughModeRequest_.toBuilder(); + } + passthroughModeRequest_ = input.readMessage(com.openxc.BinaryMessages.PassthroughModeControlCommand.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(passthroughModeRequest_); + passthroughModeRequest_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000004; + break; + } + case 34: { + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder subBuilder = null; + if (((bitField0_ & 0x00000008) == 0x00000008)) { + subBuilder = acceptanceFilterBypassCommand_.toBuilder(); + } + acceptanceFilterBypassCommand_ = input.readMessage(com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(acceptanceFilterBypassCommand_); + acceptanceFilterBypassCommand_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000008; + break; + } + case 42: { + com.openxc.BinaryMessages.PayloadFormatCommand.Builder subBuilder = null; + if (((bitField0_ & 0x00000010) == 0x00000010)) { + subBuilder = payloadFormatCommand_.toBuilder(); + } + payloadFormatCommand_ = input.readMessage(com.openxc.BinaryMessages.PayloadFormatCommand.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(payloadFormatCommand_); + payloadFormatCommand_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000010; + break; + } + case 50: { + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder subBuilder = null; + if (((bitField0_ & 0x00000020) == 0x00000020)) { + subBuilder = predefinedObd2RequestsCommand_.toBuilder(); + } + predefinedObd2RequestsCommand_ = input.readMessage(com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(predefinedObd2RequestsCommand_); + predefinedObd2RequestsCommand_ = subBuilder.buildPartial(); } + bitField0_ |= 0x00000020; break; } } @@ -2222,6 +2481,22 @@ public final class BinaryMessages { * <code>DIAGNOSTIC = 3;</code> */ DIAGNOSTIC(2, 3), + /** + * <code>PASSTHROUGH = 4;</code> + */ + PASSTHROUGH(3, 4), + /** + * <code>ACCEPTANCE_FILTER_BYPASS = 5;</code> + */ + ACCEPTANCE_FILTER_BYPASS(4, 5), + /** + * <code>PAYLOAD_FORMAT = 6;</code> + */ + PAYLOAD_FORMAT(5, 6), + /** + * <code>PREDEFINED_OBD2_REQUESTS = 7;</code> + */ + PREDEFINED_OBD2_REQUESTS(6, 7), ; /** @@ -2236,6 +2511,22 @@ public final class BinaryMessages { * <code>DIAGNOSTIC = 3;</code> */ public static final int DIAGNOSTIC_VALUE = 3; + /** + * <code>PASSTHROUGH = 4;</code> + */ + public static final int PASSTHROUGH_VALUE = 4; + /** + * <code>ACCEPTANCE_FILTER_BYPASS = 5;</code> + */ + public static final int ACCEPTANCE_FILTER_BYPASS_VALUE = 5; + /** + * <code>PAYLOAD_FORMAT = 6;</code> + */ + public static final int PAYLOAD_FORMAT_VALUE = 6; + /** + * <code>PREDEFINED_OBD2_REQUESTS = 7;</code> + */ + public static final int PREDEFINED_OBD2_REQUESTS_VALUE = 7; public final int getNumber() { return value; } @@ -2245,6 +2536,10 @@ public final class BinaryMessages { case 1: return VERSION; case 2: return DEVICE_ID; case 3: return DIAGNOSTIC; + case 4: return PASSTHROUGH; + case 5: return ACCEPTANCE_FILTER_BYPASS; + case 6: return PAYLOAD_FORMAT; + case 7: return PREDEFINED_OBD2_REQUESTS; default: return null; } } @@ -2296,88 +2591,6 @@ public final class BinaryMessages { // @@protoc_insertion_point(enum_scope:openxc.ControlCommand.Type) } - /** - * Protobuf enum {@code openxc.ControlCommand.Action} - */ - public enum Action - implements com.google.protobuf.ProtocolMessageEnum { - /** - * <code>ADD = 1;</code> - */ - ADD(0, 1), - /** - * <code>CANCEL = 2;</code> - */ - CANCEL(1, 2), - ; - - /** - * <code>ADD = 1;</code> - */ - public static final int ADD_VALUE = 1; - /** - * <code>CANCEL = 2;</code> - */ - public static final int CANCEL_VALUE = 2; - - - public final int getNumber() { return value; } - - public static Action valueOf(int value) { - switch (value) { - case 1: return ADD; - case 2: return CANCEL; - default: return null; - } - } - - public static com.google.protobuf.Internal.EnumLiteMap<Action> - internalGetValueMap() { - return internalValueMap; - } - private static com.google.protobuf.Internal.EnumLiteMap<Action> - internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap<Action>() { - public Action findValueByNumber(int number) { - return Action.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(1); - } - - private static final Action[] VALUES = values(); - - public static Action 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 Action(int index, int value) { - this.index = index; - this.value = value; - } - - // @@protoc_insertion_point(enum_scope:openxc.ControlCommand.Action) - } - private int bitField0_; // optional .openxc.ControlCommand.Type type = 1; public static final int TYPE_FIELD_NUMBER = 1; @@ -2395,48 +2608,123 @@ public final class BinaryMessages { return type_; } - // optional .openxc.DiagnosticRequest diagnostic_request = 2; + // optional .openxc.DiagnosticControlCommand diagnostic_request = 2; public static final int DIAGNOSTIC_REQUEST_FIELD_NUMBER = 2; - private com.openxc.BinaryMessages.DiagnosticRequest diagnosticRequest_; + private com.openxc.BinaryMessages.DiagnosticControlCommand diagnosticRequest_; /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ public boolean hasDiagnosticRequest() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - public com.openxc.BinaryMessages.DiagnosticRequest getDiagnosticRequest() { + public com.openxc.BinaryMessages.DiagnosticControlCommand getDiagnosticRequest() { return diagnosticRequest_; } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - public com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getDiagnosticRequestOrBuilder() { + public com.openxc.BinaryMessages.DiagnosticControlCommandOrBuilder getDiagnosticRequestOrBuilder() { return diagnosticRequest_; } - // optional .openxc.ControlCommand.Action action = 3; - public static final int ACTION_FIELD_NUMBER = 3; - private com.openxc.BinaryMessages.ControlCommand.Action action_; + // optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3; + public static final int PASSTHROUGH_MODE_REQUEST_FIELD_NUMBER = 3; + private com.openxc.BinaryMessages.PassthroughModeControlCommand passthroughModeRequest_; /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> */ - public boolean hasAction() { + public boolean hasPassthroughModeRequest() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> */ - public com.openxc.BinaryMessages.ControlCommand.Action getAction() { - return action_; + public com.openxc.BinaryMessages.PassthroughModeControlCommand getPassthroughModeRequest() { + return passthroughModeRequest_; + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public com.openxc.BinaryMessages.PassthroughModeControlCommandOrBuilder getPassthroughModeRequestOrBuilder() { + return passthroughModeRequest_; + } + + // optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4; + public static final int ACCEPTANCE_FILTER_BYPASS_COMMAND_FIELD_NUMBER = 4; + private com.openxc.BinaryMessages.AcceptanceFilterBypassCommand acceptanceFilterBypassCommand_; + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public boolean hasAcceptanceFilterBypassCommand() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommand getAcceptanceFilterBypassCommand() { + return acceptanceFilterBypassCommand_; + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommandOrBuilder getAcceptanceFilterBypassCommandOrBuilder() { + return acceptanceFilterBypassCommand_; + } + + // optional .openxc.PayloadFormatCommand payload_format_command = 5; + public static final int PAYLOAD_FORMAT_COMMAND_FIELD_NUMBER = 5; + private com.openxc.BinaryMessages.PayloadFormatCommand payloadFormatCommand_; + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public boolean hasPayloadFormatCommand() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public com.openxc.BinaryMessages.PayloadFormatCommand getPayloadFormatCommand() { + return payloadFormatCommand_; + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public com.openxc.BinaryMessages.PayloadFormatCommandOrBuilder getPayloadFormatCommandOrBuilder() { + return payloadFormatCommand_; + } + + // optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6; + public static final int PREDEFINED_OBD2_REQUESTS_COMMAND_FIELD_NUMBER = 6; + private com.openxc.BinaryMessages.PredefinedObd2RequestsCommand predefinedObd2RequestsCommand_; + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public boolean hasPredefinedObd2RequestsCommand() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommand getPredefinedObd2RequestsCommand() { + return predefinedObd2RequestsCommand_; + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommandOrBuilder getPredefinedObd2RequestsCommandOrBuilder() { + return predefinedObd2RequestsCommand_; } private void initFields() { type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; - diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); - action_ = com.openxc.BinaryMessages.ControlCommand.Action.ADD; + diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticControlCommand.getDefaultInstance(); + passthroughModeRequest_ = com.openxc.BinaryMessages.PassthroughModeControlCommand.getDefaultInstance(); + acceptanceFilterBypassCommand_ = com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.getDefaultInstance(); + payloadFormatCommand_ = com.openxc.BinaryMessages.PayloadFormatCommand.getDefaultInstance(); + predefinedObd2RequestsCommand_ = com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.getDefaultInstance(); } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -2457,7 +2745,16 @@ public final class BinaryMessages { output.writeMessage(2, diagnosticRequest_); } if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeEnum(3, action_.getNumber()); + output.writeMessage(3, passthroughModeRequest_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeMessage(4, acceptanceFilterBypassCommand_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeMessage(5, payloadFormatCommand_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeMessage(6, predefinedObd2RequestsCommand_); } getUnknownFields().writeTo(output); } @@ -2478,7 +2775,19 @@ public final class BinaryMessages { } if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(3, action_.getNumber()); + .computeMessageSize(3, passthroughModeRequest_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, acceptanceFilterBypassCommand_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, payloadFormatCommand_); + } + if (((bitField0_ & 0x00000020) == 0x00000020)) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(6, predefinedObd2RequestsCommand_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -2589,6 +2898,10 @@ public final class BinaryMessages { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { getDiagnosticRequestFieldBuilder(); + getPassthroughModeRequestFieldBuilder(); + getAcceptanceFilterBypassCommandFieldBuilder(); + getPayloadFormatCommandFieldBuilder(); + getPredefinedObd2RequestsCommandFieldBuilder(); } } private static Builder create() { @@ -2600,13 +2913,35 @@ public final class BinaryMessages { type_ = com.openxc.BinaryMessages.ControlCommand.Type.VERSION; bitField0_ = (bitField0_ & ~0x00000001); if (diagnosticRequestBuilder_ == null) { - diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticControlCommand.getDefaultInstance(); } else { diagnosticRequestBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); - action_ = com.openxc.BinaryMessages.ControlCommand.Action.ADD; + if (passthroughModeRequestBuilder_ == null) { + passthroughModeRequest_ = com.openxc.BinaryMessages.PassthroughModeControlCommand.getDefaultInstance(); + } else { + passthroughModeRequestBuilder_.clear(); + } bitField0_ = (bitField0_ & ~0x00000004); + if (acceptanceFilterBypassCommandBuilder_ == null) { + acceptanceFilterBypassCommand_ = com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.getDefaultInstance(); + } else { + acceptanceFilterBypassCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + if (payloadFormatCommandBuilder_ == null) { + payloadFormatCommand_ = com.openxc.BinaryMessages.PayloadFormatCommand.getDefaultInstance(); + } else { + payloadFormatCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + if (predefinedObd2RequestsCommandBuilder_ == null) { + predefinedObd2RequestsCommand_ = com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.getDefaultInstance(); + } else { + predefinedObd2RequestsCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); return this; } @@ -2650,7 +2985,35 @@ public final class BinaryMessages { if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } - result.action_ = action_; + if (passthroughModeRequestBuilder_ == null) { + result.passthroughModeRequest_ = passthroughModeRequest_; + } else { + result.passthroughModeRequest_ = passthroughModeRequestBuilder_.build(); + } + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + if (acceptanceFilterBypassCommandBuilder_ == null) { + result.acceptanceFilterBypassCommand_ = acceptanceFilterBypassCommand_; + } else { + result.acceptanceFilterBypassCommand_ = acceptanceFilterBypassCommandBuilder_.build(); + } + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + if (payloadFormatCommandBuilder_ == null) { + result.payloadFormatCommand_ = payloadFormatCommand_; + } else { + result.payloadFormatCommand_ = payloadFormatCommandBuilder_.build(); + } + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + if (predefinedObd2RequestsCommandBuilder_ == null) { + result.predefinedObd2RequestsCommand_ = predefinedObd2RequestsCommand_; + } else { + result.predefinedObd2RequestsCommand_ = predefinedObd2RequestsCommandBuilder_.build(); + } result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -2673,8 +3036,17 @@ public final class BinaryMessages { if (other.hasDiagnosticRequest()) { mergeDiagnosticRequest(other.getDiagnosticRequest()); } - if (other.hasAction()) { - setAction(other.getAction()); + if (other.hasPassthroughModeRequest()) { + mergePassthroughModeRequest(other.getPassthroughModeRequest()); + } + if (other.hasAcceptanceFilterBypassCommand()) { + mergeAcceptanceFilterBypassCommand(other.getAcceptanceFilterBypassCommand()); + } + if (other.hasPayloadFormatCommand()) { + mergePayloadFormatCommand(other.getPayloadFormatCommand()); + } + if (other.hasPredefinedObd2RequestsCommand()) { + mergePredefinedObd2RequestsCommand(other.getPredefinedObd2RequestsCommand()); } this.mergeUnknownFields(other.getUnknownFields()); return this; @@ -2739,20 +3111,20 @@ public final class BinaryMessages { return this; } - // optional .openxc.DiagnosticRequest diagnostic_request = 2; - private com.openxc.BinaryMessages.DiagnosticRequest diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + // optional .openxc.DiagnosticControlCommand diagnostic_request = 2; + private com.openxc.BinaryMessages.DiagnosticControlCommand diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticControlCommand.getDefaultInstance(); private com.google.protobuf.SingleFieldBuilder< - com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder> diagnosticRequestBuilder_; + com.openxc.BinaryMessages.DiagnosticControlCommand, com.openxc.BinaryMessages.DiagnosticControlCommand.Builder, com.openxc.BinaryMessages.DiagnosticControlCommandOrBuilder> diagnosticRequestBuilder_; /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ public boolean hasDiagnosticRequest() { return ((bitField0_ & 0x00000002) == 0x00000002); } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - public com.openxc.BinaryMessages.DiagnosticRequest getDiagnosticRequest() { + public com.openxc.BinaryMessages.DiagnosticControlCommand getDiagnosticRequest() { if (diagnosticRequestBuilder_ == null) { return diagnosticRequest_; } else { @@ -2760,9 +3132,9 @@ public final class BinaryMessages { } } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - public Builder setDiagnosticRequest(com.openxc.BinaryMessages.DiagnosticRequest value) { + public Builder setDiagnosticRequest(com.openxc.BinaryMessages.DiagnosticControlCommand value) { if (diagnosticRequestBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -2776,10 +3148,10 @@ public final class BinaryMessages { return this; } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ public Builder setDiagnosticRequest( - com.openxc.BinaryMessages.DiagnosticRequest.Builder builderForValue) { + com.openxc.BinaryMessages.DiagnosticControlCommand.Builder builderForValue) { if (diagnosticRequestBuilder_ == null) { diagnosticRequest_ = builderForValue.build(); onChanged(); @@ -2790,14 +3162,14 @@ public final class BinaryMessages { return this; } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - public Builder mergeDiagnosticRequest(com.openxc.BinaryMessages.DiagnosticRequest value) { + public Builder mergeDiagnosticRequest(com.openxc.BinaryMessages.DiagnosticControlCommand value) { if (diagnosticRequestBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && - diagnosticRequest_ != com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance()) { + diagnosticRequest_ != com.openxc.BinaryMessages.DiagnosticControlCommand.getDefaultInstance()) { diagnosticRequest_ = - com.openxc.BinaryMessages.DiagnosticRequest.newBuilder(diagnosticRequest_).mergeFrom(value).buildPartial(); + com.openxc.BinaryMessages.DiagnosticControlCommand.newBuilder(diagnosticRequest_).mergeFrom(value).buildPartial(); } else { diagnosticRequest_ = value; } @@ -2809,11 +3181,11 @@ public final class BinaryMessages { return this; } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ public Builder clearDiagnosticRequest() { if (diagnosticRequestBuilder_ == null) { - diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + diagnosticRequest_ = com.openxc.BinaryMessages.DiagnosticControlCommand.getDefaultInstance(); onChanged(); } else { diagnosticRequestBuilder_.clear(); @@ -2822,17 +3194,17 @@ public final class BinaryMessages { return this; } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - public com.openxc.BinaryMessages.DiagnosticRequest.Builder getDiagnosticRequestBuilder() { + public com.openxc.BinaryMessages.DiagnosticControlCommand.Builder getDiagnosticRequestBuilder() { bitField0_ |= 0x00000002; onChanged(); return getDiagnosticRequestFieldBuilder().getBuilder(); } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ - public com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getDiagnosticRequestOrBuilder() { + public com.openxc.BinaryMessages.DiagnosticControlCommandOrBuilder getDiagnosticRequestOrBuilder() { if (diagnosticRequestBuilder_ != null) { return diagnosticRequestBuilder_.getMessageOrBuilder(); } else { @@ -2840,14 +3212,14 @@ public final class BinaryMessages { } } /** - * <code>optional .openxc.DiagnosticRequest diagnostic_request = 2;</code> + * <code>optional .openxc.DiagnosticControlCommand diagnostic_request = 2;</code> */ private com.google.protobuf.SingleFieldBuilder< - com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder> + com.openxc.BinaryMessages.DiagnosticControlCommand, com.openxc.BinaryMessages.DiagnosticControlCommand.Builder, com.openxc.BinaryMessages.DiagnosticControlCommandOrBuilder> getDiagnosticRequestFieldBuilder() { if (diagnosticRequestBuilder_ == null) { diagnosticRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder< - com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder>( + com.openxc.BinaryMessages.DiagnosticControlCommand, com.openxc.BinaryMessages.DiagnosticControlCommand.Builder, com.openxc.BinaryMessages.DiagnosticControlCommandOrBuilder>( diagnosticRequest_, getParentForChildren(), isClean()); @@ -2856,51 +3228,2999 @@ public final class BinaryMessages { return diagnosticRequestBuilder_; } - // optional .openxc.ControlCommand.Action action = 3; - private com.openxc.BinaryMessages.ControlCommand.Action action_ = com.openxc.BinaryMessages.ControlCommand.Action.ADD; + // optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3; + private com.openxc.BinaryMessages.PassthroughModeControlCommand passthroughModeRequest_ = com.openxc.BinaryMessages.PassthroughModeControlCommand.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PassthroughModeControlCommand, com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder, com.openxc.BinaryMessages.PassthroughModeControlCommandOrBuilder> passthroughModeRequestBuilder_; /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> */ - public boolean hasAction() { + public boolean hasPassthroughModeRequest() { return ((bitField0_ & 0x00000004) == 0x00000004); } /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public com.openxc.BinaryMessages.PassthroughModeControlCommand getPassthroughModeRequest() { + if (passthroughModeRequestBuilder_ == null) { + return passthroughModeRequest_; + } else { + return passthroughModeRequestBuilder_.getMessage(); + } + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public Builder setPassthroughModeRequest(com.openxc.BinaryMessages.PassthroughModeControlCommand value) { + if (passthroughModeRequestBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + passthroughModeRequest_ = value; + onChanged(); + } else { + passthroughModeRequestBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public Builder setPassthroughModeRequest( + com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder builderForValue) { + if (passthroughModeRequestBuilder_ == null) { + passthroughModeRequest_ = builderForValue.build(); + onChanged(); + } else { + passthroughModeRequestBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public Builder mergePassthroughModeRequest(com.openxc.BinaryMessages.PassthroughModeControlCommand value) { + if (passthroughModeRequestBuilder_ == null) { + if (((bitField0_ & 0x00000004) == 0x00000004) && + passthroughModeRequest_ != com.openxc.BinaryMessages.PassthroughModeControlCommand.getDefaultInstance()) { + passthroughModeRequest_ = + com.openxc.BinaryMessages.PassthroughModeControlCommand.newBuilder(passthroughModeRequest_).mergeFrom(value).buildPartial(); + } else { + passthroughModeRequest_ = value; + } + onChanged(); + } else { + passthroughModeRequestBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + return this; + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public Builder clearPassthroughModeRequest() { + if (passthroughModeRequestBuilder_ == null) { + passthroughModeRequest_ = com.openxc.BinaryMessages.PassthroughModeControlCommand.getDefaultInstance(); + onChanged(); + } else { + passthroughModeRequestBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder getPassthroughModeRequestBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getPassthroughModeRequestFieldBuilder().getBuilder(); + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + public com.openxc.BinaryMessages.PassthroughModeControlCommandOrBuilder getPassthroughModeRequestOrBuilder() { + if (passthroughModeRequestBuilder_ != null) { + return passthroughModeRequestBuilder_.getMessageOrBuilder(); + } else { + return passthroughModeRequest_; + } + } + /** + * <code>optional .openxc.PassthroughModeControlCommand passthrough_mode_request = 3;</code> + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PassthroughModeControlCommand, com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder, com.openxc.BinaryMessages.PassthroughModeControlCommandOrBuilder> + getPassthroughModeRequestFieldBuilder() { + if (passthroughModeRequestBuilder_ == null) { + passthroughModeRequestBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PassthroughModeControlCommand, com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder, com.openxc.BinaryMessages.PassthroughModeControlCommandOrBuilder>( + passthroughModeRequest_, + getParentForChildren(), + isClean()); + passthroughModeRequest_ = null; + } + return passthroughModeRequestBuilder_; + } + + // optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4; + private com.openxc.BinaryMessages.AcceptanceFilterBypassCommand acceptanceFilterBypassCommand_ = com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand, com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder, com.openxc.BinaryMessages.AcceptanceFilterBypassCommandOrBuilder> acceptanceFilterBypassCommandBuilder_; + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public boolean hasAcceptanceFilterBypassCommand() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommand getAcceptanceFilterBypassCommand() { + if (acceptanceFilterBypassCommandBuilder_ == null) { + return acceptanceFilterBypassCommand_; + } else { + return acceptanceFilterBypassCommandBuilder_.getMessage(); + } + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public Builder setAcceptanceFilterBypassCommand(com.openxc.BinaryMessages.AcceptanceFilterBypassCommand value) { + if (acceptanceFilterBypassCommandBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + acceptanceFilterBypassCommand_ = value; + onChanged(); + } else { + acceptanceFilterBypassCommandBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public Builder setAcceptanceFilterBypassCommand( + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder builderForValue) { + if (acceptanceFilterBypassCommandBuilder_ == null) { + acceptanceFilterBypassCommand_ = builderForValue.build(); + onChanged(); + } else { + acceptanceFilterBypassCommandBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public Builder mergeAcceptanceFilterBypassCommand(com.openxc.BinaryMessages.AcceptanceFilterBypassCommand value) { + if (acceptanceFilterBypassCommandBuilder_ == null) { + if (((bitField0_ & 0x00000008) == 0x00000008) && + acceptanceFilterBypassCommand_ != com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.getDefaultInstance()) { + acceptanceFilterBypassCommand_ = + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.newBuilder(acceptanceFilterBypassCommand_).mergeFrom(value).buildPartial(); + } else { + acceptanceFilterBypassCommand_ = value; + } + onChanged(); + } else { + acceptanceFilterBypassCommandBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000008; + return this; + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public Builder clearAcceptanceFilterBypassCommand() { + if (acceptanceFilterBypassCommandBuilder_ == null) { + acceptanceFilterBypassCommand_ = com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.getDefaultInstance(); + onChanged(); + } else { + acceptanceFilterBypassCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder getAcceptanceFilterBypassCommandBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getAcceptanceFilterBypassCommandFieldBuilder().getBuilder(); + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> */ - public com.openxc.BinaryMessages.ControlCommand.Action getAction() { + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommandOrBuilder getAcceptanceFilterBypassCommandOrBuilder() { + if (acceptanceFilterBypassCommandBuilder_ != null) { + return acceptanceFilterBypassCommandBuilder_.getMessageOrBuilder(); + } else { + return acceptanceFilterBypassCommand_; + } + } + /** + * <code>optional .openxc.AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4;</code> + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand, com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder, com.openxc.BinaryMessages.AcceptanceFilterBypassCommandOrBuilder> + getAcceptanceFilterBypassCommandFieldBuilder() { + if (acceptanceFilterBypassCommandBuilder_ == null) { + acceptanceFilterBypassCommandBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand, com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder, com.openxc.BinaryMessages.AcceptanceFilterBypassCommandOrBuilder>( + acceptanceFilterBypassCommand_, + getParentForChildren(), + isClean()); + acceptanceFilterBypassCommand_ = null; + } + return acceptanceFilterBypassCommandBuilder_; + } + + // optional .openxc.PayloadFormatCommand payload_format_command = 5; + private com.openxc.BinaryMessages.PayloadFormatCommand payloadFormatCommand_ = com.openxc.BinaryMessages.PayloadFormatCommand.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PayloadFormatCommand, com.openxc.BinaryMessages.PayloadFormatCommand.Builder, com.openxc.BinaryMessages.PayloadFormatCommandOrBuilder> payloadFormatCommandBuilder_; + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public boolean hasPayloadFormatCommand() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public com.openxc.BinaryMessages.PayloadFormatCommand getPayloadFormatCommand() { + if (payloadFormatCommandBuilder_ == null) { + return payloadFormatCommand_; + } else { + return payloadFormatCommandBuilder_.getMessage(); + } + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public Builder setPayloadFormatCommand(com.openxc.BinaryMessages.PayloadFormatCommand value) { + if (payloadFormatCommandBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + payloadFormatCommand_ = value; + onChanged(); + } else { + payloadFormatCommandBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public Builder setPayloadFormatCommand( + com.openxc.BinaryMessages.PayloadFormatCommand.Builder builderForValue) { + if (payloadFormatCommandBuilder_ == null) { + payloadFormatCommand_ = builderForValue.build(); + onChanged(); + } else { + payloadFormatCommandBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public Builder mergePayloadFormatCommand(com.openxc.BinaryMessages.PayloadFormatCommand value) { + if (payloadFormatCommandBuilder_ == null) { + if (((bitField0_ & 0x00000010) == 0x00000010) && + payloadFormatCommand_ != com.openxc.BinaryMessages.PayloadFormatCommand.getDefaultInstance()) { + payloadFormatCommand_ = + com.openxc.BinaryMessages.PayloadFormatCommand.newBuilder(payloadFormatCommand_).mergeFrom(value).buildPartial(); + } else { + payloadFormatCommand_ = value; + } + onChanged(); + } else { + payloadFormatCommandBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000010; + return this; + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public Builder clearPayloadFormatCommand() { + if (payloadFormatCommandBuilder_ == null) { + payloadFormatCommand_ = com.openxc.BinaryMessages.PayloadFormatCommand.getDefaultInstance(); + onChanged(); + } else { + payloadFormatCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + return this; + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public com.openxc.BinaryMessages.PayloadFormatCommand.Builder getPayloadFormatCommandBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return getPayloadFormatCommandFieldBuilder().getBuilder(); + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + public com.openxc.BinaryMessages.PayloadFormatCommandOrBuilder getPayloadFormatCommandOrBuilder() { + if (payloadFormatCommandBuilder_ != null) { + return payloadFormatCommandBuilder_.getMessageOrBuilder(); + } else { + return payloadFormatCommand_; + } + } + /** + * <code>optional .openxc.PayloadFormatCommand payload_format_command = 5;</code> + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PayloadFormatCommand, com.openxc.BinaryMessages.PayloadFormatCommand.Builder, com.openxc.BinaryMessages.PayloadFormatCommandOrBuilder> + getPayloadFormatCommandFieldBuilder() { + if (payloadFormatCommandBuilder_ == null) { + payloadFormatCommandBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PayloadFormatCommand, com.openxc.BinaryMessages.PayloadFormatCommand.Builder, com.openxc.BinaryMessages.PayloadFormatCommandOrBuilder>( + payloadFormatCommand_, + getParentForChildren(), + isClean()); + payloadFormatCommand_ = null; + } + return payloadFormatCommandBuilder_; + } + + // optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6; + private com.openxc.BinaryMessages.PredefinedObd2RequestsCommand predefinedObd2RequestsCommand_ = com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand, com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder, com.openxc.BinaryMessages.PredefinedObd2RequestsCommandOrBuilder> predefinedObd2RequestsCommandBuilder_; + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public boolean hasPredefinedObd2RequestsCommand() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommand getPredefinedObd2RequestsCommand() { + if (predefinedObd2RequestsCommandBuilder_ == null) { + return predefinedObd2RequestsCommand_; + } else { + return predefinedObd2RequestsCommandBuilder_.getMessage(); + } + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public Builder setPredefinedObd2RequestsCommand(com.openxc.BinaryMessages.PredefinedObd2RequestsCommand value) { + if (predefinedObd2RequestsCommandBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + predefinedObd2RequestsCommand_ = value; + onChanged(); + } else { + predefinedObd2RequestsCommandBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public Builder setPredefinedObd2RequestsCommand( + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder builderForValue) { + if (predefinedObd2RequestsCommandBuilder_ == null) { + predefinedObd2RequestsCommand_ = builderForValue.build(); + onChanged(); + } else { + predefinedObd2RequestsCommandBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public Builder mergePredefinedObd2RequestsCommand(com.openxc.BinaryMessages.PredefinedObd2RequestsCommand value) { + if (predefinedObd2RequestsCommandBuilder_ == null) { + if (((bitField0_ & 0x00000020) == 0x00000020) && + predefinedObd2RequestsCommand_ != com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.getDefaultInstance()) { + predefinedObd2RequestsCommand_ = + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.newBuilder(predefinedObd2RequestsCommand_).mergeFrom(value).buildPartial(); + } else { + predefinedObd2RequestsCommand_ = value; + } + onChanged(); + } else { + predefinedObd2RequestsCommandBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000020; + return this; + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public Builder clearPredefinedObd2RequestsCommand() { + if (predefinedObd2RequestsCommandBuilder_ == null) { + predefinedObd2RequestsCommand_ = com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.getDefaultInstance(); + onChanged(); + } else { + predefinedObd2RequestsCommandBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + return this; + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder getPredefinedObd2RequestsCommandBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return getPredefinedObd2RequestsCommandFieldBuilder().getBuilder(); + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommandOrBuilder getPredefinedObd2RequestsCommandOrBuilder() { + if (predefinedObd2RequestsCommandBuilder_ != null) { + return predefinedObd2RequestsCommandBuilder_.getMessageOrBuilder(); + } else { + return predefinedObd2RequestsCommand_; + } + } + /** + * <code>optional .openxc.PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6;</code> + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand, com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder, com.openxc.BinaryMessages.PredefinedObd2RequestsCommandOrBuilder> + getPredefinedObd2RequestsCommandFieldBuilder() { + if (predefinedObd2RequestsCommandBuilder_ == null) { + predefinedObd2RequestsCommandBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand, com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder, com.openxc.BinaryMessages.PredefinedObd2RequestsCommandOrBuilder>( + predefinedObd2RequestsCommand_, + getParentForChildren(), + isClean()); + predefinedObd2RequestsCommand_ = null; + } + return predefinedObd2RequestsCommandBuilder_; + } + + // @@protoc_insertion_point(builder_scope:openxc.ControlCommand) + } + + static { + defaultInstance = new ControlCommand(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.ControlCommand) + } + + public interface DiagnosticControlCommandOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .openxc.DiagnosticRequest request = 1; + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + boolean hasRequest(); + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + com.openxc.BinaryMessages.DiagnosticRequest getRequest(); + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getRequestOrBuilder(); + + // optional .openxc.DiagnosticControlCommand.Action action = 2; + /** + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> + */ + boolean hasAction(); + /** + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> + */ + com.openxc.BinaryMessages.DiagnosticControlCommand.Action getAction(); + } + /** + * Protobuf type {@code openxc.DiagnosticControlCommand} + */ + public static final class DiagnosticControlCommand extends + com.google.protobuf.GeneratedMessage + implements DiagnosticControlCommandOrBuilder { + // Use DiagnosticControlCommand.newBuilder() to construct. + private DiagnosticControlCommand(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private DiagnosticControlCommand(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final DiagnosticControlCommand defaultInstance; + public static DiagnosticControlCommand getDefaultInstance() { + return defaultInstance; + } + + public DiagnosticControlCommand getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private DiagnosticControlCommand( + 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 10: { + com.openxc.BinaryMessages.DiagnosticRequest.Builder subBuilder = null; + if (((bitField0_ & 0x00000001) == 0x00000001)) { + subBuilder = request_.toBuilder(); + } + request_ = input.readMessage(com.openxc.BinaryMessages.DiagnosticRequest.PARSER, extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(request_); + request_ = subBuilder.buildPartial(); + } + bitField0_ |= 0x00000001; + break; + } + case 16: { + int rawValue = input.readEnum(); + com.openxc.BinaryMessages.DiagnosticControlCommand.Action value = com.openxc.BinaryMessages.DiagnosticControlCommand.Action.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(2, rawValue); + } else { + bitField0_ |= 0x00000002; + action_ = 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_DiagnosticControlCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticControlCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.DiagnosticControlCommand.class, com.openxc.BinaryMessages.DiagnosticControlCommand.Builder.class); + } + + public static com.google.protobuf.Parser<DiagnosticControlCommand> PARSER = + new com.google.protobuf.AbstractParser<DiagnosticControlCommand>() { + public DiagnosticControlCommand parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DiagnosticControlCommand(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<DiagnosticControlCommand> getParserForType() { + return PARSER; + } + + /** + * Protobuf enum {@code openxc.DiagnosticControlCommand.Action} + */ + public enum Action + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>ADD = 1;</code> + */ + ADD(0, 1), + /** + * <code>CANCEL = 2;</code> + */ + CANCEL(1, 2), + ; + + /** + * <code>ADD = 1;</code> + */ + public static final int ADD_VALUE = 1; + /** + * <code>CANCEL = 2;</code> + */ + public static final int CANCEL_VALUE = 2; + + + public final int getNumber() { return value; } + + public static Action valueOf(int value) { + switch (value) { + case 1: return ADD; + case 2: return CANCEL; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<Action> + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap<Action> + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<Action>() { + public Action findValueByNumber(int number) { + return Action.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.DiagnosticControlCommand.getDescriptor().getEnumTypes().get(0); + } + + private static final Action[] VALUES = values(); + + public static Action 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 Action(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:openxc.DiagnosticControlCommand.Action) + } + + private int bitField0_; + // optional .openxc.DiagnosticRequest request = 1; + public static final int REQUEST_FIELD_NUMBER = 1; + private com.openxc.BinaryMessages.DiagnosticRequest request_; + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public boolean hasRequest() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public com.openxc.BinaryMessages.DiagnosticRequest getRequest() { + return request_; + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getRequestOrBuilder() { + return request_; + } + + // optional .openxc.DiagnosticControlCommand.Action action = 2; + public static final int ACTION_FIELD_NUMBER = 2; + private com.openxc.BinaryMessages.DiagnosticControlCommand.Action action_; + /** + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> + */ + public com.openxc.BinaryMessages.DiagnosticControlCommand.Action getAction() { + return action_; + } + + private void initFields() { + request_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + action_ = com.openxc.BinaryMessages.DiagnosticControlCommand.Action.ADD; + } + 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.writeMessage(1, request_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeEnum(2, action_.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 + .computeMessageSize(1, request_); + } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(2, action_.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.DiagnosticControlCommand parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand 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.DiagnosticControlCommand parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.DiagnosticControlCommand 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.DiagnosticControlCommand 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.DiagnosticControlCommand} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.openxc.BinaryMessages.DiagnosticControlCommandOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticControlCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_DiagnosticControlCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.DiagnosticControlCommand.class, com.openxc.BinaryMessages.DiagnosticControlCommand.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.DiagnosticControlCommand.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + getRequestFieldBuilder(); + } + } + private static Builder create() { + return new Builder(); + } + + public Builder clear() { + super.clear(); + if (requestBuilder_ == null) { + request_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + } else { + requestBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + action_ = com.openxc.BinaryMessages.DiagnosticControlCommand.Action.ADD; + 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_DiagnosticControlCommand_descriptor; + } + + public com.openxc.BinaryMessages.DiagnosticControlCommand getDefaultInstanceForType() { + return com.openxc.BinaryMessages.DiagnosticControlCommand.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.DiagnosticControlCommand build() { + com.openxc.BinaryMessages.DiagnosticControlCommand result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.DiagnosticControlCommand buildPartial() { + com.openxc.BinaryMessages.DiagnosticControlCommand result = new com.openxc.BinaryMessages.DiagnosticControlCommand(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + if (requestBuilder_ == null) { + result.request_ = request_; + } else { + result.request_ = requestBuilder_.build(); + } + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.action_ = action_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.DiagnosticControlCommand) { + return mergeFrom((com.openxc.BinaryMessages.DiagnosticControlCommand)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.DiagnosticControlCommand other) { + if (other == com.openxc.BinaryMessages.DiagnosticControlCommand.getDefaultInstance()) return this; + if (other.hasRequest()) { + mergeRequest(other.getRequest()); + } + if (other.hasAction()) { + setAction(other.getAction()); + } + 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.DiagnosticControlCommand parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.DiagnosticControlCommand) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .openxc.DiagnosticRequest request = 1; + private com.openxc.BinaryMessages.DiagnosticRequest request_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder> requestBuilder_; + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public boolean hasRequest() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public com.openxc.BinaryMessages.DiagnosticRequest getRequest() { + if (requestBuilder_ == null) { + return request_; + } else { + return requestBuilder_.getMessage(); + } + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public Builder setRequest(com.openxc.BinaryMessages.DiagnosticRequest value) { + if (requestBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + request_ = value; + onChanged(); + } else { + requestBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public Builder setRequest( + com.openxc.BinaryMessages.DiagnosticRequest.Builder builderForValue) { + if (requestBuilder_ == null) { + request_ = builderForValue.build(); + onChanged(); + } else { + requestBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public Builder mergeRequest(com.openxc.BinaryMessages.DiagnosticRequest value) { + if (requestBuilder_ == null) { + if (((bitField0_ & 0x00000001) == 0x00000001) && + request_ != com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance()) { + request_ = + com.openxc.BinaryMessages.DiagnosticRequest.newBuilder(request_).mergeFrom(value).buildPartial(); + } else { + request_ = value; + } + onChanged(); + } else { + requestBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + return this; + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public Builder clearRequest() { + if (requestBuilder_ == null) { + request_ = com.openxc.BinaryMessages.DiagnosticRequest.getDefaultInstance(); + onChanged(); + } else { + requestBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public com.openxc.BinaryMessages.DiagnosticRequest.Builder getRequestBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getRequestFieldBuilder().getBuilder(); + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + public com.openxc.BinaryMessages.DiagnosticRequestOrBuilder getRequestOrBuilder() { + if (requestBuilder_ != null) { + return requestBuilder_.getMessageOrBuilder(); + } else { + return request_; + } + } + /** + * <code>optional .openxc.DiagnosticRequest request = 1;</code> + */ + private com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder> + getRequestFieldBuilder() { + if (requestBuilder_ == null) { + requestBuilder_ = new com.google.protobuf.SingleFieldBuilder< + com.openxc.BinaryMessages.DiagnosticRequest, com.openxc.BinaryMessages.DiagnosticRequest.Builder, com.openxc.BinaryMessages.DiagnosticRequestOrBuilder>( + request_, + getParentForChildren(), + isClean()); + request_ = null; + } + return requestBuilder_; + } + + // optional .openxc.DiagnosticControlCommand.Action action = 2; + private com.openxc.BinaryMessages.DiagnosticControlCommand.Action action_ = com.openxc.BinaryMessages.DiagnosticControlCommand.Action.ADD; + /** + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> + */ + public boolean hasAction() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> + */ + public com.openxc.BinaryMessages.DiagnosticControlCommand.Action getAction() { return action_; } /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> */ - public Builder setAction(com.openxc.BinaryMessages.ControlCommand.Action value) { + public Builder setAction(com.openxc.BinaryMessages.DiagnosticControlCommand.Action value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000002; action_ = value; onChanged(); return this; } /** - * <code>optional .openxc.ControlCommand.Action action = 3;</code> + * <code>optional .openxc.DiagnosticControlCommand.Action action = 2;</code> */ public Builder clearAction() { - bitField0_ = (bitField0_ & ~0x00000004); - action_ = com.openxc.BinaryMessages.ControlCommand.Action.ADD; + bitField0_ = (bitField0_ & ~0x00000002); + action_ = com.openxc.BinaryMessages.DiagnosticControlCommand.Action.ADD; onChanged(); return this; } - // @@protoc_insertion_point(builder_scope:openxc.ControlCommand) + // @@protoc_insertion_point(builder_scope:openxc.DiagnosticControlCommand) } static { - defaultInstance = new ControlCommand(true); + defaultInstance = new DiagnosticControlCommand(true); defaultInstance.initFields(); } - // @@protoc_insertion_point(class_scope:openxc.ControlCommand) + // @@protoc_insertion_point(class_scope:openxc.DiagnosticControlCommand) + } + + public interface PassthroughModeControlCommandOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional int32 bus = 1; + /** + * <code>optional int32 bus = 1;</code> + */ + boolean hasBus(); + /** + * <code>optional int32 bus = 1;</code> + */ + int getBus(); + + // optional bool enabled = 2; + /** + * <code>optional bool enabled = 2;</code> + */ + boolean hasEnabled(); + /** + * <code>optional bool enabled = 2;</code> + */ + boolean getEnabled(); + } + /** + * Protobuf type {@code openxc.PassthroughModeControlCommand} + */ + public static final class PassthroughModeControlCommand extends + com.google.protobuf.GeneratedMessage + implements PassthroughModeControlCommandOrBuilder { + // Use PassthroughModeControlCommand.newBuilder() to construct. + private PassthroughModeControlCommand(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private PassthroughModeControlCommand(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final PassthroughModeControlCommand defaultInstance; + public static PassthroughModeControlCommand getDefaultInstance() { + return defaultInstance; + } + + public PassthroughModeControlCommand getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PassthroughModeControlCommand( + 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; + enabled_ = 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_PassthroughModeControlCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_PassthroughModeControlCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.PassthroughModeControlCommand.class, com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder.class); + } + + public static com.google.protobuf.Parser<PassthroughModeControlCommand> PARSER = + new com.google.protobuf.AbstractParser<PassthroughModeControlCommand>() { + public PassthroughModeControlCommand parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PassthroughModeControlCommand(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<PassthroughModeControlCommand> getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional int32 bus = 1; + public static final int BUS_FIELD_NUMBER = 1; + private int bus_; + /** + * <code>optional int32 bus = 1;</code> + */ + public boolean hasBus() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 bus = 1;</code> + */ + public int getBus() { + return bus_; + } + + // optional bool enabled = 2; + public static final int ENABLED_FIELD_NUMBER = 2; + private boolean enabled_; + /** + * <code>optional bool enabled = 2;</code> + */ + public boolean hasEnabled() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional bool enabled = 2;</code> + */ + public boolean getEnabled() { + return enabled_; + } + + private void initFields() { + bus_ = 0; + enabled_ = false; + } + 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.writeBool(2, enabled_); + } + 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 + .computeBoolSize(2, enabled_); + } + 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.PassthroughModeControlCommand parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand 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.PassthroughModeControlCommand parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.PassthroughModeControlCommand 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.PassthroughModeControlCommand 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.PassthroughModeControlCommand} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.openxc.BinaryMessages.PassthroughModeControlCommandOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_PassthroughModeControlCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_PassthroughModeControlCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.PassthroughModeControlCommand.class, com.openxc.BinaryMessages.PassthroughModeControlCommand.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.PassthroughModeControlCommand.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); + enabled_ = false; + 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_PassthroughModeControlCommand_descriptor; + } + + public com.openxc.BinaryMessages.PassthroughModeControlCommand getDefaultInstanceForType() { + return com.openxc.BinaryMessages.PassthroughModeControlCommand.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.PassthroughModeControlCommand build() { + com.openxc.BinaryMessages.PassthroughModeControlCommand result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.PassthroughModeControlCommand buildPartial() { + com.openxc.BinaryMessages.PassthroughModeControlCommand result = new com.openxc.BinaryMessages.PassthroughModeControlCommand(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.enabled_ = enabled_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.PassthroughModeControlCommand) { + return mergeFrom((com.openxc.BinaryMessages.PassthroughModeControlCommand)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.PassthroughModeControlCommand other) { + if (other == com.openxc.BinaryMessages.PassthroughModeControlCommand.getDefaultInstance()) return this; + if (other.hasBus()) { + setBus(other.getBus()); + } + if (other.hasEnabled()) { + setEnabled(other.getEnabled()); + } + 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.PassthroughModeControlCommand parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.PassthroughModeControlCommand) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional int32 bus = 1; + private int bus_ ; + /** + * <code>optional int32 bus = 1;</code> + */ + public boolean hasBus() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 bus = 1;</code> + */ + public int getBus() { + return bus_; + } + /** + * <code>optional int32 bus = 1;</code> + */ + public Builder setBus(int value) { + bitField0_ |= 0x00000001; + bus_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 bus = 1;</code> + */ + public Builder clearBus() { + bitField0_ = (bitField0_ & ~0x00000001); + bus_ = 0; + onChanged(); + return this; + } + + // optional bool enabled = 2; + private boolean enabled_ ; + /** + * <code>optional bool enabled = 2;</code> + */ + public boolean hasEnabled() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional bool enabled = 2;</code> + */ + public boolean getEnabled() { + return enabled_; + } + /** + * <code>optional bool enabled = 2;</code> + */ + public Builder setEnabled(boolean value) { + bitField0_ |= 0x00000002; + enabled_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool enabled = 2;</code> + */ + public Builder clearEnabled() { + bitField0_ = (bitField0_ & ~0x00000002); + enabled_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.PassthroughModeControlCommand) + } + + static { + defaultInstance = new PassthroughModeControlCommand(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.PassthroughModeControlCommand) + } + + public interface AcceptanceFilterBypassCommandOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional int32 bus = 1; + /** + * <code>optional int32 bus = 1;</code> + */ + boolean hasBus(); + /** + * <code>optional int32 bus = 1;</code> + */ + int getBus(); + + // optional bool bypass = 2; + /** + * <code>optional bool bypass = 2;</code> + */ + boolean hasBypass(); + /** + * <code>optional bool bypass = 2;</code> + */ + boolean getBypass(); + } + /** + * Protobuf type {@code openxc.AcceptanceFilterBypassCommand} + */ + public static final class AcceptanceFilterBypassCommand extends + com.google.protobuf.GeneratedMessage + implements AcceptanceFilterBypassCommandOrBuilder { + // Use AcceptanceFilterBypassCommand.newBuilder() to construct. + private AcceptanceFilterBypassCommand(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private AcceptanceFilterBypassCommand(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final AcceptanceFilterBypassCommand defaultInstance; + public static AcceptanceFilterBypassCommand getDefaultInstance() { + return defaultInstance; + } + + public AcceptanceFilterBypassCommand getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private AcceptanceFilterBypassCommand( + 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; + bypass_ = 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_AcceptanceFilterBypassCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_AcceptanceFilterBypassCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.class, com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder.class); + } + + public static com.google.protobuf.Parser<AcceptanceFilterBypassCommand> PARSER = + new com.google.protobuf.AbstractParser<AcceptanceFilterBypassCommand>() { + public AcceptanceFilterBypassCommand parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AcceptanceFilterBypassCommand(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<AcceptanceFilterBypassCommand> getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional int32 bus = 1; + public static final int BUS_FIELD_NUMBER = 1; + private int bus_; + /** + * <code>optional int32 bus = 1;</code> + */ + public boolean hasBus() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 bus = 1;</code> + */ + public int getBus() { + return bus_; + } + + // optional bool bypass = 2; + public static final int BYPASS_FIELD_NUMBER = 2; + private boolean bypass_; + /** + * <code>optional bool bypass = 2;</code> + */ + public boolean hasBypass() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional bool bypass = 2;</code> + */ + public boolean getBypass() { + return bypass_; + } + + private void initFields() { + bus_ = 0; + bypass_ = false; + } + 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.writeBool(2, bypass_); + } + 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 + .computeBoolSize(2, bypass_); + } + 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.AcceptanceFilterBypassCommand parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand 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.AcceptanceFilterBypassCommand parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.AcceptanceFilterBypassCommand 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.AcceptanceFilterBypassCommand 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.AcceptanceFilterBypassCommand} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.openxc.BinaryMessages.AcceptanceFilterBypassCommandOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_AcceptanceFilterBypassCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_AcceptanceFilterBypassCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.class, com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.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); + bypass_ = false; + 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_AcceptanceFilterBypassCommand_descriptor; + } + + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommand getDefaultInstanceForType() { + return com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommand build() { + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.AcceptanceFilterBypassCommand buildPartial() { + com.openxc.BinaryMessages.AcceptanceFilterBypassCommand result = new com.openxc.BinaryMessages.AcceptanceFilterBypassCommand(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.bypass_ = bypass_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.AcceptanceFilterBypassCommand) { + return mergeFrom((com.openxc.BinaryMessages.AcceptanceFilterBypassCommand)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.AcceptanceFilterBypassCommand other) { + if (other == com.openxc.BinaryMessages.AcceptanceFilterBypassCommand.getDefaultInstance()) return this; + if (other.hasBus()) { + setBus(other.getBus()); + } + if (other.hasBypass()) { + setBypass(other.getBypass()); + } + 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.AcceptanceFilterBypassCommand parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.AcceptanceFilterBypassCommand) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional int32 bus = 1; + private int bus_ ; + /** + * <code>optional int32 bus = 1;</code> + */ + public boolean hasBus() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional int32 bus = 1;</code> + */ + public int getBus() { + return bus_; + } + /** + * <code>optional int32 bus = 1;</code> + */ + public Builder setBus(int value) { + bitField0_ |= 0x00000001; + bus_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 bus = 1;</code> + */ + public Builder clearBus() { + bitField0_ = (bitField0_ & ~0x00000001); + bus_ = 0; + onChanged(); + return this; + } + + // optional bool bypass = 2; + private boolean bypass_ ; + /** + * <code>optional bool bypass = 2;</code> + */ + public boolean hasBypass() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional bool bypass = 2;</code> + */ + public boolean getBypass() { + return bypass_; + } + /** + * <code>optional bool bypass = 2;</code> + */ + public Builder setBypass(boolean value) { + bitField0_ |= 0x00000002; + bypass_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool bypass = 2;</code> + */ + public Builder clearBypass() { + bitField0_ = (bitField0_ & ~0x00000002); + bypass_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.AcceptanceFilterBypassCommand) + } + + static { + defaultInstance = new AcceptanceFilterBypassCommand(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.AcceptanceFilterBypassCommand) + } + + public interface PayloadFormatCommandOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional .openxc.PayloadFormatCommand.PayloadFormat format = 1; + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + boolean hasFormat(); + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat getFormat(); + } + /** + * Protobuf type {@code openxc.PayloadFormatCommand} + */ + public static final class PayloadFormatCommand extends + com.google.protobuf.GeneratedMessage + implements PayloadFormatCommandOrBuilder { + // Use PayloadFormatCommand.newBuilder() to construct. + private PayloadFormatCommand(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private PayloadFormatCommand(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final PayloadFormatCommand defaultInstance; + public static PayloadFormatCommand getDefaultInstance() { + return defaultInstance; + } + + public PayloadFormatCommand getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PayloadFormatCommand( + 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.PayloadFormatCommand.PayloadFormat value = com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat.valueOf(rawValue); + if (value == null) { + unknownFields.mergeVarintField(1, rawValue); + } else { + bitField0_ |= 0x00000001; + format_ = 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_PayloadFormatCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_PayloadFormatCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.PayloadFormatCommand.class, com.openxc.BinaryMessages.PayloadFormatCommand.Builder.class); + } + + public static com.google.protobuf.Parser<PayloadFormatCommand> PARSER = + new com.google.protobuf.AbstractParser<PayloadFormatCommand>() { + public PayloadFormatCommand parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PayloadFormatCommand(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<PayloadFormatCommand> getParserForType() { + return PARSER; + } + + /** + * Protobuf enum {@code openxc.PayloadFormatCommand.PayloadFormat} + */ + public enum PayloadFormat + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <code>JSON = 1;</code> + */ + JSON(0, 1), + /** + * <code>PROTOBUF = 2;</code> + */ + PROTOBUF(1, 2), + ; + + /** + * <code>JSON = 1;</code> + */ + public static final int JSON_VALUE = 1; + /** + * <code>PROTOBUF = 2;</code> + */ + public static final int PROTOBUF_VALUE = 2; + + + public final int getNumber() { return value; } + + public static PayloadFormat valueOf(int value) { + switch (value) { + case 1: return JSON; + case 2: return PROTOBUF; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<PayloadFormat> + internalGetValueMap() { + return internalValueMap; + } + private static com.google.protobuf.Internal.EnumLiteMap<PayloadFormat> + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<PayloadFormat>() { + public PayloadFormat findValueByNumber(int number) { + return PayloadFormat.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.PayloadFormatCommand.getDescriptor().getEnumTypes().get(0); + } + + private static final PayloadFormat[] VALUES = values(); + + public static PayloadFormat 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 PayloadFormat(int index, int value) { + this.index = index; + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:openxc.PayloadFormatCommand.PayloadFormat) + } + + private int bitField0_; + // optional .openxc.PayloadFormatCommand.PayloadFormat format = 1; + public static final int FORMAT_FIELD_NUMBER = 1; + private com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat format_; + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + public boolean hasFormat() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + public com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat getFormat() { + return format_; + } + + private void initFields() { + format_ = com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat.JSON; + } + 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, format_.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 + .computeEnumSize(1, format_.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.PayloadFormatCommand parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand 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.PayloadFormatCommand parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.PayloadFormatCommand 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.PayloadFormatCommand 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.PayloadFormatCommand} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.openxc.BinaryMessages.PayloadFormatCommandOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_PayloadFormatCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_PayloadFormatCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.PayloadFormatCommand.class, com.openxc.BinaryMessages.PayloadFormatCommand.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.PayloadFormatCommand.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(); + format_ = com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat.JSON; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.openxc.BinaryMessages.internal_static_openxc_PayloadFormatCommand_descriptor; + } + + public com.openxc.BinaryMessages.PayloadFormatCommand getDefaultInstanceForType() { + return com.openxc.BinaryMessages.PayloadFormatCommand.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.PayloadFormatCommand build() { + com.openxc.BinaryMessages.PayloadFormatCommand result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.PayloadFormatCommand buildPartial() { + com.openxc.BinaryMessages.PayloadFormatCommand result = new com.openxc.BinaryMessages.PayloadFormatCommand(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.format_ = format_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.PayloadFormatCommand) { + return mergeFrom((com.openxc.BinaryMessages.PayloadFormatCommand)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.PayloadFormatCommand other) { + if (other == com.openxc.BinaryMessages.PayloadFormatCommand.getDefaultInstance()) return this; + if (other.hasFormat()) { + setFormat(other.getFormat()); + } + 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.PayloadFormatCommand parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.PayloadFormatCommand) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional .openxc.PayloadFormatCommand.PayloadFormat format = 1; + private com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat format_ = com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat.JSON; + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + public boolean hasFormat() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + public com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat getFormat() { + return format_; + } + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + public Builder setFormat(com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + format_ = value; + onChanged(); + return this; + } + /** + * <code>optional .openxc.PayloadFormatCommand.PayloadFormat format = 1;</code> + */ + public Builder clearFormat() { + bitField0_ = (bitField0_ & ~0x00000001); + format_ = com.openxc.BinaryMessages.PayloadFormatCommand.PayloadFormat.JSON; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.PayloadFormatCommand) + } + + static { + defaultInstance = new PayloadFormatCommand(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.PayloadFormatCommand) + } + + public interface PredefinedObd2RequestsCommandOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional bool enabled = 1; + /** + * <code>optional bool enabled = 1;</code> + */ + boolean hasEnabled(); + /** + * <code>optional bool enabled = 1;</code> + */ + boolean getEnabled(); + } + /** + * Protobuf type {@code openxc.PredefinedObd2RequestsCommand} + */ + public static final class PredefinedObd2RequestsCommand extends + com.google.protobuf.GeneratedMessage + implements PredefinedObd2RequestsCommandOrBuilder { + // Use PredefinedObd2RequestsCommand.newBuilder() to construct. + private PredefinedObd2RequestsCommand(com.google.protobuf.GeneratedMessage.Builder<?> builder) { + super(builder); + this.unknownFields = builder.getUnknownFields(); + } + private PredefinedObd2RequestsCommand(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); } + + private static final PredefinedObd2RequestsCommand defaultInstance; + public static PredefinedObd2RequestsCommand getDefaultInstance() { + return defaultInstance; + } + + public PredefinedObd2RequestsCommand getDefaultInstanceForType() { + return defaultInstance; + } + + private final com.google.protobuf.UnknownFieldSet unknownFields; + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private PredefinedObd2RequestsCommand( + 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; + enabled_ = 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_PredefinedObd2RequestsCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_PredefinedObd2RequestsCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.class, com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder.class); + } + + public static com.google.protobuf.Parser<PredefinedObd2RequestsCommand> PARSER = + new com.google.protobuf.AbstractParser<PredefinedObd2RequestsCommand>() { + public PredefinedObd2RequestsCommand parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PredefinedObd2RequestsCommand(input, extensionRegistry); + } + }; + + @java.lang.Override + public com.google.protobuf.Parser<PredefinedObd2RequestsCommand> getParserForType() { + return PARSER; + } + + private int bitField0_; + // optional bool enabled = 1; + public static final int ENABLED_FIELD_NUMBER = 1; + private boolean enabled_; + /** + * <code>optional bool enabled = 1;</code> + */ + public boolean hasEnabled() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional bool enabled = 1;</code> + */ + public boolean getEnabled() { + return enabled_; + } + + private void initFields() { + enabled_ = false; + } + 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.writeBool(1, enabled_); + } + 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 + .computeBoolSize(1, enabled_); + } + 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.PredefinedObd2RequestsCommand parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand 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.PredefinedObd2RequestsCommand parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand parseFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return PARSER.parseDelimitedFrom(input, extensionRegistry); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return PARSER.parseFrom(input); + } + public static com.openxc.BinaryMessages.PredefinedObd2RequestsCommand 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.PredefinedObd2RequestsCommand 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.PredefinedObd2RequestsCommand} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessage.Builder<Builder> + implements com.openxc.BinaryMessages.PredefinedObd2RequestsCommandOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.openxc.BinaryMessages.internal_static_openxc_PredefinedObd2RequestsCommand_descriptor; + } + + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.openxc.BinaryMessages.internal_static_openxc_PredefinedObd2RequestsCommand_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.class, com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.Builder.class); + } + + // Construct using com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.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(); + enabled_ = false; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + public Builder clone() { + return create().mergeFrom(buildPartial()); + } + + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return com.openxc.BinaryMessages.internal_static_openxc_PredefinedObd2RequestsCommand_descriptor; + } + + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommand getDefaultInstanceForType() { + return com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.getDefaultInstance(); + } + + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommand build() { + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + public com.openxc.BinaryMessages.PredefinedObd2RequestsCommand buildPartial() { + com.openxc.BinaryMessages.PredefinedObd2RequestsCommand result = new com.openxc.BinaryMessages.PredefinedObd2RequestsCommand(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.enabled_ = enabled_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; + } + + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.openxc.BinaryMessages.PredefinedObd2RequestsCommand) { + return mergeFrom((com.openxc.BinaryMessages.PredefinedObd2RequestsCommand)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.openxc.BinaryMessages.PredefinedObd2RequestsCommand other) { + if (other == com.openxc.BinaryMessages.PredefinedObd2RequestsCommand.getDefaultInstance()) return this; + if (other.hasEnabled()) { + setEnabled(other.getEnabled()); + } + 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.PredefinedObd2RequestsCommand parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.openxc.BinaryMessages.PredefinedObd2RequestsCommand) e.getUnfinishedMessage(); + throw e; + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + // optional bool enabled = 1; + private boolean enabled_ ; + /** + * <code>optional bool enabled = 1;</code> + */ + public boolean hasEnabled() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + /** + * <code>optional bool enabled = 1;</code> + */ + public boolean getEnabled() { + return enabled_; + } + /** + * <code>optional bool enabled = 1;</code> + */ + public Builder setEnabled(boolean value) { + bitField0_ |= 0x00000001; + enabled_ = value; + onChanged(); + return this; + } + /** + * <code>optional bool enabled = 1;</code> + */ + public Builder clearEnabled() { + bitField0_ = (bitField0_ & ~0x00000001); + enabled_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:openxc.PredefinedObd2RequestsCommand) + } + + static { + defaultInstance = new PredefinedObd2RequestsCommand(true); + defaultInstance.initFields(); + } + + // @@protoc_insertion_point(class_scope:openxc.PredefinedObd2RequestsCommand) } public interface CommandResponseOrBuilder @@ -7697,6 +11017,31 @@ public final class BinaryMessages { com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_openxc_ControlCommand_fieldAccessorTable; private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_DiagnosticControlCommand_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_DiagnosticControlCommand_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_PassthroughModeControlCommand_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_PassthroughModeControlCommand_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_AcceptanceFilterBypassCommand_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_AcceptanceFilterBypassCommand_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_PayloadFormatCommand_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_PayloadFormatCommand_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor + internal_static_openxc_PredefinedObd2RequestsCommand_descriptor; + private static + com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_openxc_PredefinedObd2RequestsCommand_fieldAccessorTable; + private static com.google.protobuf.Descriptors.Descriptor internal_static_openxc_CommandResponse_descriptor; private static com.google.protobuf.GeneratedMessage.FieldAccessorTable @@ -7740,39 +11085,61 @@ public final class BinaryMessages { "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\"\364\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\022-\n\006action\030\003 \001(\0162\035.openxc.Control" + - "Command.Action\"2\n\004Type\022\013\n\007VERSION\020\001\022\r\n\tD" + - "EVICE_ID\020\002\022\016\n\nDIAGNOSTIC\020\003\"\035\n\006Action\022\007\n\003" + - "ADD\020\001\022\n\n\006CANCEL\020\002\"]\n\017CommandResponse\022)\n\004" + - "type\030\001 \001(\0162\033.openxc.ControlCommand.Type\022", - "\017\n\007message\030\002 \001(\t\022\016\n\006status\030\003 \001(\010\"\375\001\n\021Dia" + - "gnosticRequest\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessage_i" + - "d\030\002 \001(\r\022\014\n\004mode\030\003 \001(\r\022\013\n\003pid\030\004 \001(\r\022\017\n\007pa" + - "yload\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\014deco" + - "ded_type\030\t \001(\0162%.openxc.DiagnosticReques" + - "t.DecodedType\"!\n\013DecodedType\022\010\n\004NONE\020\001\022\010" + - "\n\004OBD2\020\002\"\241\001\n\022DiagnosticResponse\022\013\n\003bus\030\001" + - " \001(\005\022\022\n\nmessage_id\030\002 \001(\r\022\014\n\004mode\030\003 \001(\r\022\013" + - "\n\003pid\030\004 \001(\r\022\017\n\007success\030\005 \001(\010\022\036\n\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.DynamicField.Type\022\024\n\014string" + - "_value\030\002 \001(\t\022\025\n\rnumeric_value\030\003 \001(\001\022\025\n\rb" + - "oolean_value\030\004 \001(\010\"%\n\004Type\022\n\n\006STRING\020\001\022\007" + - "\n\003NUM\020\002\022\010\n\004BOOL\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.ope" + - "nxc.DynamicField\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\013EVEN" + - "TED_NUM\020\005\022\020\n\014EVENTED_BOOL\020\006B\034\n\ncom.openx" + - "cB\016BinaryMessages" + "MMAND\020\004\022\024\n\020COMMAND_RESPONSE\020\005\"\234\001\n\nRawMes" + + "sage\022\013\n\003bus\030\001 \001(\005\022\022\n\nmessage_id\030\002 \001(\r\022\014\n" + + "\004data\030\003 \001(\014\0224\n\014frame_format\030\004 \001(\0162\036.open" + + "xc.RawMessage.FrameFormat\")\n\013FrameFormat" + + "\022\014\n\010STANDARD\020\001\022\014\n\010EXTENDED\020\002\"\270\004\n\016Control" + + "Command\022)\n\004type\030\001 \001(\0162\033.openxc.ControlCo" + + "mmand.Type\022<\n\022diagnostic_request\030\002 \001(\0132 " + + ".openxc.DiagnosticControlCommand\022G\n\030pass" + + "through_mode_request\030\003 \001(\0132%.openxc.Pass" + + "throughModeControlCommand\022O\n acceptance_", + "filter_bypass_command\030\004 \001(\0132%.openxc.Acc" + + "eptanceFilterBypassCommand\022<\n\026payload_fo" + + "rmat_command\030\005 \001(\0132\034.openxc.PayloadForma" + + "tCommand\022O\n predefined_obd2_requests_com" + + "mand\030\006 \001(\0132%.openxc.PredefinedObd2Reques" + + "tsCommand\"\223\001\n\004Type\022\013\n\007VERSION\020\001\022\r\n\tDEVIC" + + "E_ID\020\002\022\016\n\nDIAGNOSTIC\020\003\022\017\n\013PASSTHROUGH\020\004\022" + + "\034\n\030ACCEPTANCE_FILTER_BYPASS\020\005\022\022\n\016PAYLOAD" + + "_FORMAT\020\006\022\034\n\030PREDEFINED_OBD2_REQUESTS\020\007\"" + + "\236\001\n\030DiagnosticControlCommand\022*\n\007request\030", + "\001 \001(\0132\031.openxc.DiagnosticRequest\0227\n\006acti" + + "on\030\002 \001(\0162\'.openxc.DiagnosticControlComma" + + "nd.Action\"\035\n\006Action\022\007\n\003ADD\020\001\022\n\n\006CANCEL\020\002" + + "\"=\n\035PassthroughModeControlCommand\022\013\n\003bus" + + "\030\001 \001(\005\022\017\n\007enabled\030\002 \001(\010\"<\n\035AcceptanceFil" + + "terBypassCommand\022\013\n\003bus\030\001 \001(\005\022\016\n\006bypass\030" + + "\002 \001(\010\"{\n\024PayloadFormatCommand\022:\n\006format\030" + + "\001 \001(\0162*.openxc.PayloadFormatCommand.Payl" + + "oadFormat\"\'\n\rPayloadFormat\022\010\n\004JSON\020\001\022\014\n\010" + + "PROTOBUF\020\002\"0\n\035PredefinedObd2RequestsComm", + "and\022\017\n\007enabled\030\001 \001(\010\"]\n\017CommandResponse\022" + + ")\n\004type\030\001 \001(\0162\033.openxc.ControlCommand.Ty" + + "pe\022\017\n\007message\030\002 \001(\t\022\016\n\006status\030\003 \001(\010\"\375\001\n\021" + + "DiagnosticRequest\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" + + "\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\014d" + + "ecoded_type\030\t \001(\0162%.openxc.DiagnosticReq" + + "uest.DecodedType\"!\n\013DecodedType\022\010\n\004NONE\020" + + "\001\022\010\n\004OBD2\020\002\"\241\001\n\022DiagnosticResponse\022\013\n\003bu", + "s\030\001 \001(\005\022\022\n\nmessage_id\030\002 \001(\r\022\014\n\004mode\030\003 \001(" + + "\r\022\013\n\003pid\030\004 \001(\r\022\017\n\007success\030\005 \001(\010\022\036\n\026negat" + + "ive_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.DynamicField.Type\022\024\n\014str" + + "ing_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\004BOOL\020\003\"\367\001\n\021TranslatedMessa" + + "ge\022,\n\004type\030\001 \001(\0162\036.openxc.TranslatedMess" + + "age.Type\022\014\n\004name\030\002 \001(\t\022#\n\005value\030\003 \001(\0132\024.", + "openxc.DynamicField\022#\n\005event\030\004 \001(\0132\024.ope" + + "nxc.DynamicField\"\\\n\004Type\022\n\n\006STRING\020\001\022\007\n\003" + + "NUM\020\002\022\010\n\004BOOL\020\003\022\022\n\016EVENTED_STRING\020\004\022\017\n\013E" + + "VENTED_NUM\020\005\022\020\n\014EVENTED_BOOL\020\006B\034\n\ncom.op" + + "enxcB\016BinaryMessages" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -7790,39 +11157,69 @@ public final class BinaryMessages { internal_static_openxc_RawMessage_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_openxc_RawMessage_descriptor, - new java.lang.String[] { "Bus", "MessageId", "Data", }); + new java.lang.String[] { "Bus", "MessageId", "Data", "FrameFormat", }); 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", "Action", }); - internal_static_openxc_CommandResponse_descriptor = + new java.lang.String[] { "Type", "DiagnosticRequest", "PassthroughModeRequest", "AcceptanceFilterBypassCommand", "PayloadFormatCommand", "PredefinedObd2RequestsCommand", }); + internal_static_openxc_DiagnosticControlCommand_descriptor = getDescriptor().getMessageTypes().get(3); + internal_static_openxc_DiagnosticControlCommand_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_DiagnosticControlCommand_descriptor, + new java.lang.String[] { "Request", "Action", }); + internal_static_openxc_PassthroughModeControlCommand_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_openxc_PassthroughModeControlCommand_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_PassthroughModeControlCommand_descriptor, + new java.lang.String[] { "Bus", "Enabled", }); + internal_static_openxc_AcceptanceFilterBypassCommand_descriptor = + getDescriptor().getMessageTypes().get(5); + internal_static_openxc_AcceptanceFilterBypassCommand_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_AcceptanceFilterBypassCommand_descriptor, + new java.lang.String[] { "Bus", "Bypass", }); + internal_static_openxc_PayloadFormatCommand_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_openxc_PayloadFormatCommand_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_PayloadFormatCommand_descriptor, + new java.lang.String[] { "Format", }); + internal_static_openxc_PredefinedObd2RequestsCommand_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_openxc_PredefinedObd2RequestsCommand_fieldAccessorTable = new + com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_openxc_PredefinedObd2RequestsCommand_descriptor, + new java.lang.String[] { "Enabled", }); + internal_static_openxc_CommandResponse_descriptor = + getDescriptor().getMessageTypes().get(8); internal_static_openxc_CommandResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_openxc_CommandResponse_descriptor, new java.lang.String[] { "Type", "Message", "Status", }); internal_static_openxc_DiagnosticRequest_descriptor = - getDescriptor().getMessageTypes().get(4); + getDescriptor().getMessageTypes().get(9); 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); + getDescriptor().getMessageTypes().get(10); 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); + getDescriptor().getMessageTypes().get(11); 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); + getDescriptor().getMessageTypes().get(12); internal_static_openxc_TranslatedMessage_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_openxc_TranslatedMessage_descriptor, diff --git a/gen/python/openxc_pb2.py b/gen/python/openxc_pb2.py index 8d0a7975..d69dcb5a 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\"\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\"\xf4\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\x12-\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x1d.openxc.ControlCommand.Action\"2\n\x04Type\x12\x0b\n\x07VERSION\x10\x01\x12\r\n\tDEVICE_ID\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\"\x1d\n\x06\x41\x63tion\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06\x43\x41NCEL\x10\x02\"]\n\x0f\x43ommandResponse\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.ControlCommand.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\x08\"\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') + 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\"\x9c\x01\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\x12\x34\n\x0c\x66rame_format\x18\x04 \x01(\x0e\x32\x1e.openxc.RawMessage.FrameFormat\")\n\x0b\x46rameFormat\x12\x0c\n\x08STANDARD\x10\x01\x12\x0c\n\x08\x45XTENDED\x10\x02\"\xb8\x04\n\x0e\x43ontrolCommand\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.ControlCommand.Type\x12<\n\x12\x64iagnostic_request\x18\x02 \x01(\x0b\x32 .openxc.DiagnosticControlCommand\x12G\n\x18passthrough_mode_request\x18\x03 \x01(\x0b\x32%.openxc.PassthroughModeControlCommand\x12O\n acceptance_filter_bypass_command\x18\x04 \x01(\x0b\x32%.openxc.AcceptanceFilterBypassCommand\x12<\n\x16payload_format_command\x18\x05 \x01(\x0b\x32\x1c.openxc.PayloadFormatCommand\x12O\n predefined_obd2_requests_command\x18\x06 \x01(\x0b\x32%.openxc.PredefinedObd2RequestsCommand\"\x93\x01\n\x04Type\x12\x0b\n\x07VERSION\x10\x01\x12\r\n\tDEVICE_ID\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\x12\x0f\n\x0bPASSTHROUGH\x10\x04\x12\x1c\n\x18\x41\x43\x43\x45PTANCE_FILTER_BYPASS\x10\x05\x12\x12\n\x0ePAYLOAD_FORMAT\x10\x06\x12\x1c\n\x18PREDEFINED_OBD2_REQUESTS\x10\x07\"\x9e\x01\n\x18\x44iagnosticControlCommand\x12*\n\x07request\x18\x01 \x01(\x0b\x32\x19.openxc.DiagnosticRequest\x12\x37\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32\'.openxc.DiagnosticControlCommand.Action\"\x1d\n\x06\x41\x63tion\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06\x43\x41NCEL\x10\x02\"=\n\x1dPassthroughModeControlCommand\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"<\n\x1d\x41\x63\x63\x65ptanceFilterBypassCommand\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\x0e\n\x06\x62ypass\x18\x02 \x01(\x08\"{\n\x14PayloadFormatCommand\x12:\n\x06\x66ormat\x18\x01 \x01(\x0e\x32*.openxc.PayloadFormatCommand.PayloadFormat\"\'\n\rPayloadFormat\x12\x08\n\x04JSON\x10\x01\x12\x0c\n\x08PROTOBUF\x10\x02\"0\n\x1dPredefinedObd2RequestsCommand\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\"]\n\x0f\x43ommandResponse\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.ControlCommand.Type\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\x08\"\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') @@ -50,6 +50,27 @@ _VEHICLEMESSAGE_TYPE = _descriptor.EnumDescriptor( serialized_end=429, ) +_RAWMESSAGE_FRAMEFORMAT = _descriptor.EnumDescriptor( + name='FrameFormat', + full_name='openxc.RawMessage.FrameFormat', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='STANDARD', index=0, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='EXTENDED', index=1, number=2, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=547, + serialized_end=588, +) + _CONTROLCOMMAND_TYPE = _descriptor.EnumDescriptor( name='Type', full_name='openxc.ControlCommand.Type', @@ -68,16 +89,32 @@ _CONTROLCOMMAND_TYPE = _descriptor.EnumDescriptor( name='DIAGNOSTIC', index=2, number=3, options=None, type=None), + _descriptor.EnumValueDescriptor( + name='PASSTHROUGH', index=3, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ACCEPTANCE_FILTER_BYPASS', index=4, number=5, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PAYLOAD_FORMAT', index=5, number=6, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PREDEFINED_OBD2_REQUESTS', index=6, number=7, + options=None, + type=None), ], containing_type=None, options=None, - serialized_start=656, - serialized_end=706, + serialized_start=1012, + serialized_end=1159, ) -_CONTROLCOMMAND_ACTION = _descriptor.EnumDescriptor( +_DIAGNOSTICCONTROLCOMMAND_ACTION = _descriptor.EnumDescriptor( name='Action', - full_name='openxc.ControlCommand.Action', + full_name='openxc.DiagnosticControlCommand.Action', filename=None, file=DESCRIPTOR, values=[ @@ -92,8 +129,29 @@ _CONTROLCOMMAND_ACTION = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=708, - serialized_end=737, + serialized_start=1291, + serialized_end=1320, +) + +_PAYLOADFORMATCOMMAND_PAYLOADFORMAT = _descriptor.EnumDescriptor( + name='PayloadFormat', + full_name='openxc.PayloadFormatCommand.PayloadFormat', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='JSON', index=0, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PROTOBUF', index=1, number=2, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=1531, + serialized_end=1570, ) _DIAGNOSTICREQUEST_DECODEDTYPE = _descriptor.EnumDescriptor( @@ -113,8 +171,8 @@ _DIAGNOSTICREQUEST_DECODEDTYPE = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=1055, - serialized_end=1088, + serialized_start=1938, + serialized_end=1971, ) _DYNAMICFIELD_TYPE = _descriptor.EnumDescriptor( @@ -138,8 +196,8 @@ _DYNAMICFIELD_TYPE = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=1380, - serialized_end=1417, + serialized_start=2263, + serialized_end=2300, ) _TRANSLATEDMESSAGE_TYPE = _descriptor.EnumDescriptor( @@ -175,8 +233,8 @@ _TRANSLATEDMESSAGE_TYPE = _descriptor.EnumDescriptor( ], containing_type=None, options=None, - serialized_start=1575, - serialized_end=1667, + serialized_start=2458, + serialized_end=2550, ) @@ -272,17 +330,25 @@ _RAWMESSAGE = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), + _descriptor.FieldDescriptor( + name='frame_format', full_name='openxc.RawMessage.frame_format', index=3, + number=4, 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=[ + _RAWMESSAGE_FRAMEFORMAT, ], options=None, is_extendable=False, extension_ranges=[], - serialized_start=431, - serialized_end=490, + serialized_start=432, + serialized_end=588, ) @@ -308,9 +374,30 @@ _CONTROLCOMMAND = _descriptor.Descriptor( is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='action', full_name='openxc.ControlCommand.action', index=2, - number=3, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, + name='passthrough_mode_request', full_name='openxc.ControlCommand.passthrough_mode_request', 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='acceptance_filter_bypass_command', full_name='openxc.ControlCommand.acceptance_filter_bypass_command', 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='payload_format_command', full_name='openxc.ControlCommand.payload_format_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='predefined_obd2_requests_command', full_name='openxc.ControlCommand.predefined_obd2_requests_command', 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), @@ -320,13 +407,175 @@ _CONTROLCOMMAND = _descriptor.Descriptor( nested_types=[], enum_types=[ _CONTROLCOMMAND_TYPE, - _CONTROLCOMMAND_ACTION, ], options=None, is_extendable=False, extension_ranges=[], - serialized_start=493, - serialized_end=737, + serialized_start=591, + serialized_end=1159, +) + + +_DIAGNOSTICCONTROLCOMMAND = _descriptor.Descriptor( + name='DiagnosticControlCommand', + full_name='openxc.DiagnosticControlCommand', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='request', full_name='openxc.DiagnosticControlCommand.request', index=0, + number=1, 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='action', full_name='openxc.DiagnosticControlCommand.action', index=1, + number=2, 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=[ + _DIAGNOSTICCONTROLCOMMAND_ACTION, + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=1162, + serialized_end=1320, +) + + +_PASSTHROUGHMODECONTROLCOMMAND = _descriptor.Descriptor( + name='PassthroughModeControlCommand', + full_name='openxc.PassthroughModeControlCommand', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='bus', full_name='openxc.PassthroughModeControlCommand.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='enabled', full_name='openxc.PassthroughModeControlCommand.enabled', 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=1322, + serialized_end=1383, +) + + +_ACCEPTANCEFILTERBYPASSCOMMAND = _descriptor.Descriptor( + name='AcceptanceFilterBypassCommand', + full_name='openxc.AcceptanceFilterBypassCommand', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='bus', full_name='openxc.AcceptanceFilterBypassCommand.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='bypass', full_name='openxc.AcceptanceFilterBypassCommand.bypass', 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=1385, + serialized_end=1445, +) + + +_PAYLOADFORMATCOMMAND = _descriptor.Descriptor( + name='PayloadFormatCommand', + full_name='openxc.PayloadFormatCommand', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='format', full_name='openxc.PayloadFormatCommand.format', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PAYLOADFORMATCOMMAND_PAYLOADFORMAT, + ], + options=None, + is_extendable=False, + extension_ranges=[], + serialized_start=1447, + serialized_end=1570, +) + + +_PREDEFINEDOBD2REQUESTSCOMMAND = _descriptor.Descriptor( + name='PredefinedObd2RequestsCommand', + full_name='openxc.PredefinedObd2RequestsCommand', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='enabled', full_name='openxc.PredefinedObd2RequestsCommand.enabled', index=0, + number=1, 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=1572, + serialized_end=1620, ) @@ -367,8 +616,8 @@ _COMMANDRESPONSE = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=739, - serialized_end=832, + serialized_start=1622, + serialized_end=1715, ) @@ -452,8 +701,8 @@ _DIAGNOSTICREQUEST = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=835, - serialized_end=1088, + serialized_start=1718, + serialized_end=1971, ) @@ -529,8 +778,8 @@ _DIAGNOSTICRESPONSE = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=1091, - serialized_end=1252, + serialized_start=1974, + serialized_end=2135, ) @@ -579,8 +828,8 @@ _DYNAMICFIELD = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=1255, - serialized_end=1417, + serialized_start=2138, + serialized_end=2300, ) @@ -629,8 +878,8 @@ _TRANSLATEDMESSAGE = _descriptor.Descriptor( options=None, is_extendable=False, extension_ranges=[], - serialized_start=1420, - serialized_end=1667, + serialized_start=2303, + serialized_end=2550, ) _VEHICLEMESSAGE.fields_by_name['type'].enum_type = _VEHICLEMESSAGE_TYPE @@ -640,11 +889,20 @@ _VEHICLEMESSAGE.fields_by_name['diagnostic_response'].message_type = _DIAGNOSTIC _VEHICLEMESSAGE.fields_by_name['control_command'].message_type = _CONTROLCOMMAND _VEHICLEMESSAGE.fields_by_name['command_response'].message_type = _COMMANDRESPONSE _VEHICLEMESSAGE_TYPE.containing_type = _VEHICLEMESSAGE; +_RAWMESSAGE.fields_by_name['frame_format'].enum_type = _RAWMESSAGE_FRAMEFORMAT +_RAWMESSAGE_FRAMEFORMAT.containing_type = _RAWMESSAGE; _CONTROLCOMMAND.fields_by_name['type'].enum_type = _CONTROLCOMMAND_TYPE -_CONTROLCOMMAND.fields_by_name['diagnostic_request'].message_type = _DIAGNOSTICREQUEST -_CONTROLCOMMAND.fields_by_name['action'].enum_type = _CONTROLCOMMAND_ACTION +_CONTROLCOMMAND.fields_by_name['diagnostic_request'].message_type = _DIAGNOSTICCONTROLCOMMAND +_CONTROLCOMMAND.fields_by_name['passthrough_mode_request'].message_type = _PASSTHROUGHMODECONTROLCOMMAND +_CONTROLCOMMAND.fields_by_name['acceptance_filter_bypass_command'].message_type = _ACCEPTANCEFILTERBYPASSCOMMAND +_CONTROLCOMMAND.fields_by_name['payload_format_command'].message_type = _PAYLOADFORMATCOMMAND +_CONTROLCOMMAND.fields_by_name['predefined_obd2_requests_command'].message_type = _PREDEFINEDOBD2REQUESTSCOMMAND _CONTROLCOMMAND_TYPE.containing_type = _CONTROLCOMMAND; -_CONTROLCOMMAND_ACTION.containing_type = _CONTROLCOMMAND; +_DIAGNOSTICCONTROLCOMMAND.fields_by_name['request'].message_type = _DIAGNOSTICREQUEST +_DIAGNOSTICCONTROLCOMMAND.fields_by_name['action'].enum_type = _DIAGNOSTICCONTROLCOMMAND_ACTION +_DIAGNOSTICCONTROLCOMMAND_ACTION.containing_type = _DIAGNOSTICCONTROLCOMMAND; +_PAYLOADFORMATCOMMAND.fields_by_name['format'].enum_type = _PAYLOADFORMATCOMMAND_PAYLOADFORMAT +_PAYLOADFORMATCOMMAND_PAYLOADFORMAT.containing_type = _PAYLOADFORMATCOMMAND; _COMMANDRESPONSE.fields_by_name['type'].enum_type = _CONTROLCOMMAND_TYPE _DIAGNOSTICREQUEST.fields_by_name['decoded_type'].enum_type = _DIAGNOSTICREQUEST_DECODEDTYPE _DIAGNOSTICREQUEST_DECODEDTYPE.containing_type = _DIAGNOSTICREQUEST; @@ -657,6 +915,11 @@ _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['DiagnosticControlCommand'] = _DIAGNOSTICCONTROLCOMMAND +DESCRIPTOR.message_types_by_name['PassthroughModeControlCommand'] = _PASSTHROUGHMODECONTROLCOMMAND +DESCRIPTOR.message_types_by_name['AcceptanceFilterBypassCommand'] = _ACCEPTANCEFILTERBYPASSCOMMAND +DESCRIPTOR.message_types_by_name['PayloadFormatCommand'] = _PAYLOADFORMATCOMMAND +DESCRIPTOR.message_types_by_name['PredefinedObd2RequestsCommand'] = _PREDEFINEDOBD2REQUESTSCOMMAND DESCRIPTOR.message_types_by_name['CommandResponse'] = _COMMANDRESPONSE DESCRIPTOR.message_types_by_name['DiagnosticRequest'] = _DIAGNOSTICREQUEST DESCRIPTOR.message_types_by_name['DiagnosticResponse'] = _DIAGNOSTICRESPONSE @@ -681,6 +944,36 @@ class ControlCommand(_message.Message): # @@protoc_insertion_point(class_scope:openxc.ControlCommand) +class DiagnosticControlCommand(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _DIAGNOSTICCONTROLCOMMAND + + # @@protoc_insertion_point(class_scope:openxc.DiagnosticControlCommand) + +class PassthroughModeControlCommand(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _PASSTHROUGHMODECONTROLCOMMAND + + # @@protoc_insertion_point(class_scope:openxc.PassthroughModeControlCommand) + +class AcceptanceFilterBypassCommand(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _ACCEPTANCEFILTERBYPASSCOMMAND + + # @@protoc_insertion_point(class_scope:openxc.AcceptanceFilterBypassCommand) + +class PayloadFormatCommand(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _PAYLOADFORMATCOMMAND + + # @@protoc_insertion_point(class_scope:openxc.PayloadFormatCommand) + +class PredefinedObd2RequestsCommand(_message.Message): + __metaclass__ = _reflection.GeneratedProtocolMessageType + DESCRIPTOR = _PREDEFINEDOBD2REQUESTSCOMMAND + + # @@protoc_insertion_point(class_scope:openxc.PredefinedObd2RequestsCommand) + class CommandResponse(_message.Message): __metaclass__ = _reflection.GeneratedProtocolMessageType DESCRIPTOR = _COMMANDRESPONSE diff --git a/libs/nanopb b/libs/nanopb -Subproject 906c8283b5995eb7b27f4958a6a6502ae0deea0 +Subproject b947dc6e2c0d63a29e83ebf9c8af450d2531aef diff --git a/openxc.proto b/openxc.proto index 937fe186..3c0a51d4 100644 --- a/openxc.proto +++ b/openxc.proto @@ -16,18 +16,63 @@ message VehicleMessage { } message RawMessage { + enum FrameFormat { + STANDARD = 1; + EXTENDED = 2; + } optional int32 bus = 1; optional uint32 message_id = 2; optional bytes data = 3; + optional FrameFormat frame_format = 4; } message ControlCommand { - enum Type { VERSION = 1; DEVICE_ID = 2; DIAGNOSTIC = 3; } - enum Action { ADD = 1; CANCEL = 2; } + enum Type { + VERSION = 1; + DEVICE_ID = 2; + DIAGNOSTIC = 3; + PASSTHROUGH = 4; + ACCEPTANCE_FILTER_BYPASS = 5; + PAYLOAD_FORMAT = 6; + PREDEFINED_OBD2_REQUESTS = 7; + } optional Type type = 1; - optional DiagnosticRequest diagnostic_request = 2; - optional Action action = 3; + optional DiagnosticControlCommand diagnostic_request = 2; + optional PassthroughModeControlCommand passthrough_mode_request = 3; + optional AcceptanceFilterBypassCommand acceptance_filter_bypass_command = 4; + optional PayloadFormatCommand payload_format_command = 5; + optional PredefinedObd2RequestsCommand predefined_obd2_requests_command = 6; +} + +message DiagnosticControlCommand { + enum Action { ADD = 1; CANCEL = 2; } + + optional DiagnosticRequest request = 1; + optional Action action = 2; +} + +message PassthroughModeControlCommand { + optional int32 bus = 1; + optional bool enabled = 2; +} + +message AcceptanceFilterBypassCommand { + optional int32 bus = 1; + optional bool bypass = 2; +} + +message PayloadFormatCommand { + enum PayloadFormat { + JSON = 1; + PROTOBUF = 2; + } + + optional PayloadFormat format = 1; +} + +message PredefinedObd2RequestsCommand { + optional bool enabled = 1; } message CommandResponse { |