diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 00000000..1a03a7b6 --- /dev/null +++ b/.github/workflows/python-publish.yml @@ -0,0 +1,31 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +name: Upload Python Package + +on: + release: + types: [created] + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml new file mode 100644 index 00000000..39757fe4 --- /dev/null +++ b/.github/workflows/python-test.yml @@ -0,0 +1,33 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Test Open XC Pyton + +on: [ pull_request ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.6.7] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install python-bluetooth -qq -y + python -m pip install --upgrade pip + python -m pip install pytest pyserial==3.1.1 coveralls + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + + - name: Test + run: | + python setup.py test + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index a25607fb..00000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: python -dist: xenial -python: - - "3.6.7" -before_install: - - sudo apt-get -o Acquire::https::No-Cache=True -o Acquire::http::No-Cache=True update -qq - - sudo apt-get install python-bluetooth -qq -y - - pip install pyserial==3.1.1 - - pip install coveralls -install: pip install -q -e . -script: python setup.py test -after_success: - - coverage run --source=openxc setup.py test - - coveralls -deploy: - provider: pypi - user: "__token__" - password: $PYPI_PASSWORD - on: - branch: master diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 9d78a4b6..29a1d93d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,16 @@ OpenXC Python Library Changelog =============================== +v2.2.0 +---------- +* Improvements to usb traffic handling +* Updated message format based upton the protobuf file +* Improved memory management for protobuf +* SonarQube updates +* Github actions updated,travis decommissioned +* Support for the new get_vin command + openxc-control get_vin + v2.1.0 ---------- * SonarQube integration diff --git a/README.rst b/README.rst index ef42bca1..873c8946 100644 --- a/README.rst +++ b/README.rst @@ -4,15 +4,15 @@ OpenXC for Python .. image:: https://github.com/openxc/openxc-python/raw/master/docs/_static/logo.png -:Version: 2.1.0 +:Version: 2.2.0 :Web: http://openxcplatform.com :Download: http://pypi.python.org/pypi/openxc/ :Documentation: http://python.openxcplatform.com :Source: http://github.com/openxc/openxc-python/ :Keywords: vehicle, openxc, python -.. image:: https://travis-ci.org/openxc/openxc-python.svg?branch=master - :target: https://travis-ci.org/openxc/openxc-python +.. image:: https://github.com/openxc/openxc-python/workflows/Test%20Open%20XC%20Pyton/badge.svg + :target: https://github.com/openxc/openxc-python/actions?query=workflow%3A%22Test+Open+XC+Pyton%22 .. image:: https://coveralls.io/repos/openxc/openxc-python/badge.png?branch=master :target: https://coveralls.io/r/openxc/openxc-python?branch=master @@ -30,6 +30,8 @@ In addition to a port of the Android library API, the package also contains a number of command-line tools for connecting to the CAN translator and manipulating previously recorded vehicle data. +If you are getting the error "ValueError: No backend available" on windows please reinstall your libusb0 driver using https://github.com/openxc/vi-windows-driver if you are in a envirment where you can not use an unsigned driver please use https://zadig.akeo.ie/ + Due to changes in signals.cpp openxc-python Version 2.0.0 must be used with vi-firmware 8.0.0 or greater. Due to changes with large diagnostic responses Version 2.1.0 must be used with vi-firmware 8.1.0 or greater. diff --git a/docs/index.rst b/docs/index.rst index c9efc4a7..1070fb42 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,7 +4,7 @@ OpenXC for Python .. image:: https://github.com/openxc/openxc-python/raw/master/docs/_static/logo.png -:Version: 2.1.0 +:Version: 2.2.0 :Web: http://openxcplatform.com :Download: http://pypi.python.org/pypi/openxc/ :Documentation: http://python.openxcplatform.com diff --git a/openxc/controllers/base.py b/openxc/controllers/base.py index 4eb0ddeb..d09a766b 100644 --- a/openxc/controllers/base.py +++ b/openxc/controllers/base.py @@ -83,14 +83,16 @@ def handle_responses(self): response = self.queue.get( timeout=self.COMMAND_RESPONSE_TIMEOUT_S) if self._response_matches_request(response): - if type(self) == DiagnosticResponseReceiver: - if self._response_is_multiframe(response): + if type(self) == DiagnosticResponseReceiver and self._response_is_multiframe(response): if response['id'] in self.diag_dict: self.diag_dict[response['id']].addFrame(response) else: self.diag_dict[response['id']] = MultiframeDiagnosticMessage(response) if self._return_final(response): - self.responses.append(self.diag_dict[response['id']].getResponse()) + save = self.responses.pop() + dentry = self.diag_dict[response['id']].getResponse() # DO NOT REMOVE This MUST be saved to a local variable to prevent deallocation + self.responses.append(dentry) # DO NOT REMOVE This MUST be saved to a local variable to prevent deallocation + self.responses.append(save) self.diag_dict.pop(response['id']) self.responses.append(response) if self.quit_after_first: @@ -101,14 +103,14 @@ def handle_responses(self): class MultiframeDiagnosticMessage: def __init__(self, response): - self.id = response['id'] - 16 + self.id = response['id'] self.mode = response['mode'] self.bus = response['bus'] self.pid = response['pid'] self.payload = '0x' + response['payload'][8:] def addFrame(self, response): - self.payload += response['payload'][8:] + self.payload += response['payload'][2:] def getResponse(self): request = { @@ -170,8 +172,9 @@ def _response_matches_request(self, response): return response.get('mode', None) == self.diagnostic_request['mode'] def _response_is_multiframe(self, response): - if 'frame' in response: - return True + print(response) + if 'total_size' in response.keys() and response["total_size"] > 0: + return True return False def _return_final(self, response): @@ -427,6 +430,14 @@ def device_id(self): } return self._check_command_response_message(request) + def get_vin(self): + """Request vehicle VIN + """ + request = { + "command": "get_vin" + } + return self._check_command_response_message(request) + def write(self, **kwargs): """Serialize a raw or translated write request and send it to the VI, following the OpenXC message format. diff --git a/openxc/formats/base.py b/openxc/formats/base.py index 01e3a970..c2bc07a2 100644 --- a/openxc/formats/base.py +++ b/openxc/formats/base.py @@ -3,8 +3,6 @@ class VehicleMessageStreamer(object): bytes_received = 0 def receive(self, payload): - if not isinstance(payload, bytes): - payload = payload.encode("utf-8") if len(payload) > 0: self.message_buffer += payload self.bytes_received += len(payload) diff --git a/openxc/formats/binary.py b/openxc/formats/binary.py index e6433c15..6b7a00b9 100644 --- a/openxc/formats/binary.py +++ b/openxc/formats/binary.py @@ -126,7 +126,8 @@ def _handle_diagnostic_cc_message(cls, data, message): request_command.action = openxc_pb2.DiagnosticControlCommand.CANCEL request = request_command.request request_data = data['request'] - request.bus = request_data['bus'] + if 'bus' in request_data: + request.bus = request_data['bus'] request.message_id = request_data['id'] request.mode = request_data['mode'] if 'frequency' in request_data: @@ -184,6 +185,10 @@ def _build_diagnostic_message(cls, data, message): response.bus = data['bus'] response.message_id = data['id'] response.mode = data['mode'] + if 'total_size' in data: + response.total_size = data['total_size'] + if 'frame' in data: + response.frame = data['frame'] if 'pid' in data: response.pid = data['pid'] if 'success' in data: @@ -243,63 +248,57 @@ def _dict_to_protobuf(cls, data): @classmethod def _build_can_parsed_message(cls, message, parsed_message): can_message = message.can_message - if can_message.HasField('bus'): + if can_message.bus != 0: parsed_message['bus'] = can_message.bus - if can_message.HasField('id'): + if can_message.id != 0: parsed_message['id'] = can_message.id - if can_message.HasField('data'): + if len(binascii.hexlify(can_message.data).decode("ascii")) > 0: parsed_message['data'] = "0x%s" % binascii.hexlify(can_message.data).decode("ascii") - if can_message.HasField('frame_format'): - if can_message.frame_format == openxc_pb2.CanMessage.STANDARD: - parsed_message['frame_format'] = "standard" - elif can_message.frame_format == openxc_pb2.CanMessage.EXTENDED: - parsed_message['frame_format'] = "extended" + if can_message.frame_format == openxc_pb2.CanMessage.STANDARD: + parsed_message['frame_format'] = "standard" + elif can_message.frame_format == openxc_pb2.CanMessage.EXTENDED: + parsed_message['frame_format'] = "extended" @classmethod def _build_diagnostic_parsed_message(cls, message, parsed_message): diagnostic_message = message.diagnostic_response - if diagnostic_message.HasField('bus'): + if diagnostic_message.bus != 0: parsed_message['bus'] = diagnostic_message.bus - if diagnostic_message.HasField('message_id'): + if diagnostic_message.message_id != 0: parsed_message['id'] = diagnostic_message.message_id - if diagnostic_message.HasField('mode'): - parsed_message['mode'] = diagnostic_message.mode - if diagnostic_message.HasField('pid'): - parsed_message['pid'] = diagnostic_message.pid - if diagnostic_message.HasField('success'): - parsed_message['success'] = diagnostic_message.success - if diagnostic_message.HasField('value'): + parsed_message['mode'] = diagnostic_message.mode + parsed_message['pid'] = diagnostic_message.pid + if diagnostic_message.total_size != 0: + parsed_message['total_size'] = diagnostic_message.total_size + parsed_message['frame'] = diagnostic_message.frame + parsed_message['success'] = diagnostic_message.success + if diagnostic_message.value.type != openxc_pb2.DynamicField.UNUSED: ##GJA parsed_message['value'] = diagnostic_message.value - if diagnostic_message.HasField('negative_response_code'): + if diagnostic_message.negative_response_code !=0: parsed_message['negative_response_code'] = diagnostic_message.negative_response_code - if diagnostic_message.HasField('payload'): + if len(binascii.hexlify(diagnostic_message.payload).decode("ascii")) > 0: parsed_message['payload'] = "0x%s" % binascii.hexlify(diagnostic_message.payload).decode("ascii") @classmethod def _build_simple_parsed_message(cls, message, parsed_message): simple_message = message.simple_message parsed_message['name'] = simple_message.name - if simple_message.HasField('event'): - event = simple_message.event - if event.HasField('numeric_value'): - parsed_message['event'] = event.numeric_value - elif event.HasField('boolean_value'): - parsed_message['event'] = event.boolean_value - elif event.HasField('string_value'): - parsed_message['event'] = event.string_value - - if simple_message.HasField('value'): - value = simple_message.value - if value.HasField('numeric_value'): - parsed_message['value'] = value.numeric_value - elif value.HasField('boolean_value'): - parsed_message['value'] = value.boolean_value - elif value.HasField('string_value'): - parsed_message['value'] = value.string_value - else: - parsed_message = None + event = simple_message.event + if (len(event.string_value) > 0): + parsed_message['event'] = event.string_value + elif event.numeric_value != 0: + parsed_message['event'] = event.numeric_value else: - parsed_message = None + parsed_message['event'] = event.boolean_value + + value = simple_message.value + if (len(value.string_value) > 0): + parsed_message['value'] = value.string_value + elif value.numeric_value != 0: + parsed_message['value'] = value.numeric_value + else: + parsed_message['value'] = value.boolean_value + @classmethod def _handle_diagnostic_cc_parsed_message(cls, command, parsed_message): @@ -316,16 +315,16 @@ def _handle_diagnostic_cc_parsed_message(cls, command, parsed_message): parsed_message['request']['bus'] = request.bus parsed_message['request']['mode'] = request.mode - if request.HasField('frequency'): + if request.frequency != 0: parsed_message['request']['frequency'] = request.frequency - if request.HasField('name'): + if len(request.name) > 0: parsed_message['request']['name'] = request.name - if request.HasField('multiple_responses'): - parsed_message['request']['multiple_responses'] = request.multiple_responses - if request.HasField('pid'): + parsed_message['request']['multiple_responses'] = request.multiple_responses + if request.pid != 0: parsed_message['request']['pid'] = request.pid - if request.HasField('payload'): + if len(binascii.hexlify(request.payload).decode("ascii")) > 0: parsed_message['request']['payload'] = "0x%s" % binascii.hexlify(request.payload).decode("ascii") + print("Finished _handle_diagnostic_cc_parsed_message") @classmethod def _handle_passthrough_cc_parsed_message(cls, command, parsed_message): @@ -393,14 +392,14 @@ def _build_command_response_parsed_message(cls, message, parsed_message): raise UnrecognizedBinaryCommandError(response.type) parsed_message['status'] = response.status - if response.HasField('message'): + if len(response.message) > 0: parsed_message['message'] = response.message @classmethod def _protobuf_to_dict(cls, message): parsed_message = {} if message is not None: - if message.type == message.CAN and message.HasField('can_message'): + if message.type == message.CAN: cls._build_can_parsed_message(message, parsed_message) elif message.type == message.DIAGNOSTIC: cls._build_diagnostic_parsed_message(message, parsed_message) diff --git a/openxc/openxc_pb2.py b/openxc/openxc_pb2.py index c3e04d97..0739579a 100644 --- a/openxc/openxc_pb2.py +++ b/openxc/openxc_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: openxc.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,9 +16,11 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='openxc.proto', package='openxc', - serialized_pb=_b('\n\x0copenxc.proto\x12\x06openxc\"\x9b\x03\n\x0eVehicleMessage\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.VehicleMessage.Type\x12\'\n\x0b\x63\x61n_message\x18\x02 \x01(\x0b\x32\x12.openxc.CanMessage\x12-\n\x0esimple_message\x18\x03 \x01(\x0b\x32\x15.openxc.SimpleMessage\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\x12\x11\n\ttimestamp\x18\x07 \x01(\x04\"V\n\x04Type\x12\x07\n\x03\x43\x41N\x10\x01\x12\n\n\x06SIMPLE\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\x12\x13\n\x0f\x43ONTROL_COMMAND\x10\x04\x12\x14\n\x10\x43OMMAND_RESPONSE\x10\x05\"\x94\x01\n\nCanMessage\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\n\n\x02id\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.CanMessage.FrameFormat\")\n\x0b\x46rameFormat\x12\x0c\n\x08STANDARD\x10\x01\x12\x0c\n\x08\x45XTENDED\x10\x02\"\x97\x06\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\x12\x46\n\x1bmodem_configuration_command\x18\x07 \x01(\x0b\x32!.openxc.ModemConfigurationCommand\x12\x42\n\x19rtc_configuration_command\x18\x08 \x01(\x0b\x32\x1f.openxc.RTCConfigurationCommand\"\xe6\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\x12\x17\n\x13MODEM_CONFIGURATION\x10\x08\x12\x15\n\x11RTC_CONFIGURATION\x10\t\x12\x13\n\x0fSD_MOUNT_STATUS\x10\n\x12\x0c\n\x08PLATFORM\x10\x0b\"\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\"\x8c\x01\n\x14PayloadFormatCommand\x12:\n\x06\x66ormat\x18\x01 \x01(\x0e\x32*.openxc.PayloadFormatCommand.PayloadFormat\"8\n\rPayloadFormat\x12\x08\n\x04JSON\x10\x01\x12\x0c\n\x08PROTOBUF\x10\x02\x12\x0f\n\x0bMESSAGEPACK\x10\x03\"0\n\x1dPredefinedObd2RequestsCommand\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\"\xd1\x03\n\x17NetworkOperatorSettings\x12\x18\n\x10\x61llowDataRoaming\x18\x01 \x01(\x08\x12N\n\x12operatorSelectMode\x18\x02 \x01(\x0e\x32\x32.openxc.NetworkOperatorSettings.OperatorSelectMode\x12L\n\x11networkDescriptor\x18\x03 \x01(\x0b\x32\x31.openxc.NetworkOperatorSettings.NetworkDescriptor\x1a\x98\x01\n\x11NetworkDescriptor\x12\x0c\n\x04PLMN\x18\x01 \x01(\r\x12R\n\x0bnetworkType\x18\x02 \x01(\x0e\x32=.openxc.NetworkOperatorSettings.NetworkDescriptor.NetworkType\"!\n\x0bNetworkType\x12\x07\n\x03GSM\x10\x00\x12\t\n\x05UTRAN\x10\x02\"c\n\x12OperatorSelectMode\x12\r\n\tAUTOMATIC\x10\x00\x12\n\n\x06MANUAL\x10\x01\x12\x0e\n\nDEREGISTER\x10\x02\x12\x0c\n\x08SET_ONLY\x10\x03\x12\x14\n\x10MANUAL_AUTOMATIC\x10\x04\"\"\n\x13NetworkDataSettings\x12\x0b\n\x03\x41PN\x18\x01 \x01(\t\"3\n\x15ServerConnectSettings\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"\xd5\x01\n\x19ModemConfigurationCommand\x12@\n\x17networkOperatorSettings\x18\x01 \x01(\x0b\x32\x1f.openxc.NetworkOperatorSettings\x12\x38\n\x13networkDataSettings\x18\x02 \x01(\x0b\x32\x1b.openxc.NetworkDataSettings\x12<\n\x15serverConnectSettings\x18\x03 \x01(\x0b\x32\x1d.openxc.ServerConnectSettings\",\n\x17RTCConfigurationCommand\x12\x11\n\tunix_time\x18\x01 \x01(\r\"]\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\"g\n\rSimpleMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.openxc.DynamicField\x12#\n\x05\x65vent\x18\x03 \x01(\x0b\x32\x14.openxc.DynamicFieldB\x1c\n\ncom.openxcB\x0e\x42inaryMessages') + syntax='proto3', + serialized_options=b'\n\ncom.openxcB\016BinaryMessages', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x0copenxc.proto\x12\x06openxc\"\xa7\x03\n\x0eVehicleMessage\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.openxc.VehicleMessage.Type\x12\'\n\x0b\x63\x61n_message\x18\x02 \x01(\x0b\x32\x12.openxc.CanMessage\x12-\n\x0esimple_message\x18\x03 \x01(\x0b\x32\x15.openxc.SimpleMessage\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\x12\x11\n\ttimestamp\x18\x07 \x01(\x04\"b\n\x04Type\x12\n\n\x06UNUSED\x10\x00\x12\x07\n\x03\x43\x41N\x10\x01\x12\n\n\x06SIMPLE\x10\x02\x12\x0e\n\nDIAGNOSTIC\x10\x03\x12\x13\n\x0f\x43ONTROL_COMMAND\x10\x04\x12\x14\n\x10\x43OMMAND_RESPONSE\x10\x05\"\xa0\x01\n\nCanMessage\x12\x0b\n\x03\x62us\x18\x01 \x01(\x05\x12\n\n\x02id\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.CanMessage.FrameFormat\"5\n\x0b\x46rameFormat\x12\n\n\x06UNUSED\x10\x00\x12\x0c\n\x08STANDARD\x10\x01\x12\x0c\n\x08\x45XTENDED\x10\x02\"\xa3\x06\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\x12\x46\n\x1bmodem_configuration_command\x18\x07 \x01(\x0b\x32!.openxc.ModemConfigurationCommand\x12\x42\n\x19rtc_configuration_command\x18\x08 \x01(\x0b\x32\x1f.openxc.RTCConfigurationCommand\"\xf2\x01\n\x04Type\x12\n\n\x06UNUSED\x10\x00\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\x12\x17\n\x13MODEM_CONFIGURATION\x10\x08\x12\x15\n\x11RTC_CONFIGURATION\x10\t\x12\x13\n\x0fSD_MOUNT_STATUS\x10\n\x12\x0c\n\x08PLATFORM\x10\x0b\"\xaa\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\")\n\x06\x41\x63tion\x12\n\n\x06UNUSED\x10\x00\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\"\x98\x01\n\x14PayloadFormatCommand\x12:\n\x06\x66ormat\x18\x01 \x01(\x0e\x32*.openxc.PayloadFormatCommand.PayloadFormat\"D\n\rPayloadFormat\x12\n\n\x06UNUSED\x10\x00\x12\x08\n\x04JSON\x10\x01\x12\x0c\n\x08PROTOBUF\x10\x02\x12\x0f\n\x0bMESSAGEPACK\x10\x03\"0\n\x1dPredefinedObd2RequestsCommand\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\"\xd1\x03\n\x17NetworkOperatorSettings\x12\x18\n\x10\x61llowDataRoaming\x18\x01 \x01(\x08\x12N\n\x12operatorSelectMode\x18\x02 \x01(\x0e\x32\x32.openxc.NetworkOperatorSettings.OperatorSelectMode\x12L\n\x11networkDescriptor\x18\x03 \x01(\x0b\x32\x31.openxc.NetworkOperatorSettings.NetworkDescriptor\x1a\x98\x01\n\x11NetworkDescriptor\x12\x0c\n\x04PLMN\x18\x01 \x01(\r\x12R\n\x0bnetworkType\x18\x02 \x01(\x0e\x32=.openxc.NetworkOperatorSettings.NetworkDescriptor.NetworkType\"!\n\x0bNetworkType\x12\x07\n\x03GSM\x10\x00\x12\t\n\x05UTRAN\x10\x02\"c\n\x12OperatorSelectMode\x12\r\n\tAUTOMATIC\x10\x00\x12\n\n\x06MANUAL\x10\x01\x12\x0e\n\nDEREGISTER\x10\x02\x12\x0c\n\x08SET_ONLY\x10\x03\x12\x14\n\x10MANUAL_AUTOMATIC\x10\x04\"\"\n\x13NetworkDataSettings\x12\x0b\n\x03\x61pn\x18\x01 \x01(\t\"3\n\x15ServerConnectSettings\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"\xd5\x01\n\x19ModemConfigurationCommand\x12@\n\x17networkOperatorSettings\x18\x01 \x01(\x0b\x32\x1f.openxc.NetworkOperatorSettings\x12\x38\n\x13networkDataSettings\x18\x02 \x01(\x0b\x32\x1b.openxc.NetworkDataSettings\x12<\n\x15serverConnectSettings\x18\x03 \x01(\x0b\x32\x1d.openxc.ServerConnectSettings\",\n\x17RTCConfigurationCommand\x12\x11\n\tunix_time\x18\x01 \x01(\r\"]\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\"\x89\x02\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\n\n\x06UNUSED\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x08\n\x04OBD2\x10\x02\"\xda\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#\n\x05value\x18\x08 \x01(\x0b\x32\x14.openxc.DynamicField\x12\r\n\x05\x66rame\x18\t \x01(\x05\x12\x12\n\ntotal_size\x18\n \x01(\r\"\xae\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\"1\n\x04Type\x12\n\n\x06UNUSED\x10\x00\x12\n\n\x06STRING\x10\x01\x12\x07\n\x03NUM\x10\x02\x12\x08\n\x04\x42OOL\x10\x03\"g\n\rSimpleMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.openxc.DynamicField\x12#\n\x05\x65vent\x18\x03 \x01(\x0b\x32\x14.openxc.DynamicFieldB\x1c\n\ncom.openxcB\x0e\x42inaryMessagesb\x06proto3' ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -29,32 +29,43 @@ full_name='openxc.VehicleMessage.Type', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='CAN', index=0, number=1, - options=None, - type=None), + name='UNUSED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='SIMPLE', index=1, number=2, - options=None, - type=None), + name='CAN', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='DIAGNOSTIC', index=2, number=3, - options=None, - type=None), + name='SIMPLE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='CONTROL_COMMAND', index=3, number=4, - options=None, - type=None), + name='DIAGNOSTIC', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='COMMAND_RESPONSE', index=4, number=5, - options=None, - type=None), + name='CONTROL_COMMAND', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='COMMAND_RESPONSE', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, + serialized_options=None, serialized_start=350, - serialized_end=436, + serialized_end=448, ) _sym_db.RegisterEnumDescriptor(_VEHICLEMESSAGE_TYPE) @@ -63,20 +74,28 @@ full_name='openxc.CanMessage.FrameFormat', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='STANDARD', index=0, number=1, - options=None, - type=None), + name='UNUSED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STANDARD', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='EXTENDED', index=1, number=2, - options=None, - type=None), + name='EXTENDED', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=546, - serialized_end=587, + serialized_options=None, + serialized_start=558, + serialized_end=611, ) _sym_db.RegisterEnumDescriptor(_CANMESSAGE_FRAMEFORMAT) @@ -85,56 +104,73 @@ full_name='openxc.ControlCommand.Type', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='VERSION', index=0, number=1, - options=None, - type=None), + name='UNUSED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='DEVICE_ID', index=1, number=2, - options=None, - type=None), + name='VERSION', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='DIAGNOSTIC', index=2, number=3, - options=None, - type=None), + name='DEVICE_ID', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='PASSTHROUGH', index=3, number=4, - options=None, - type=None), + name='DIAGNOSTIC', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='ACCEPTANCE_FILTER_BYPASS', index=4, number=5, - options=None, - type=None), + name='PASSTHROUGH', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='PAYLOAD_FORMAT', index=5, number=6, - options=None, - type=None), + name='ACCEPTANCE_FILTER_BYPASS', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='PREDEFINED_OBD2_REQUESTS', index=6, number=7, - options=None, - type=None), + name='PAYLOAD_FORMAT', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='MODEM_CONFIGURATION', index=7, number=8, - options=None, - type=None), + name='PREDEFINED_OBD2_REQUESTS', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='RTC_CONFIGURATION', index=8, number=9, - options=None, - type=None), + name='MODEM_CONFIGURATION', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='SD_MOUNT_STATUS', index=9, number=10, - options=None, - type=None), + name='RTC_CONFIGURATION', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='PLATFORM', index=10, number=11, - options=None, - type=None), + name='SD_MOUNT_STATUS', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PLATFORM', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=1151, - serialized_end=1381, + serialized_options=None, + serialized_start=1175, + serialized_end=1417, ) _sym_db.RegisterEnumDescriptor(_CONTROLCOMMAND_TYPE) @@ -143,20 +179,28 @@ full_name='openxc.DiagnosticControlCommand.Action', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='ADD', index=0, number=1, - options=None, - type=None), + name='UNUSED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ADD', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='CANCEL', index=1, number=2, - options=None, - type=None), + name='CANCEL', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=1513, - serialized_end=1542, + serialized_options=None, + serialized_start=1549, + serialized_end=1590, ) _sym_db.RegisterEnumDescriptor(_DIAGNOSTICCONTROLCOMMAND_ACTION) @@ -165,24 +209,33 @@ full_name='openxc.PayloadFormatCommand.PayloadFormat', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='JSON', index=0, number=1, - options=None, - type=None), + name='UNUSED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='PROTOBUF', index=1, number=2, - options=None, - type=None), + name='JSON', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='MESSAGEPACK', index=2, number=3, - options=None, - type=None), + name='PROTOBUF', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MESSAGEPACK', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=1754, - serialized_end=1810, + serialized_options=None, + serialized_start=1802, + serialized_end=1870, ) _sym_db.RegisterEnumDescriptor(_PAYLOADFORMATCOMMAND_PAYLOADFORMAT) @@ -191,20 +244,23 @@ full_name='openxc.NetworkOperatorSettings.NetworkDescriptor.NetworkType', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='GSM', index=0, number=0, - options=None, - type=None), + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='UTRAN', index=1, number=2, - options=None, - type=None), + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=2194, - serialized_end=2227, + serialized_options=None, + serialized_start=2254, + serialized_end=2287, ) _sym_db.RegisterEnumDescriptor(_NETWORKOPERATORSETTINGS_NETWORKDESCRIPTOR_NETWORKTYPE) @@ -213,32 +269,38 @@ full_name='openxc.NetworkOperatorSettings.OperatorSelectMode', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='AUTOMATIC', index=0, number=0, - options=None, - type=None), + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='MANUAL', index=1, number=1, - options=None, - type=None), + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='DEREGISTER', index=2, number=2, - options=None, - type=None), + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='SET_ONLY', index=3, number=3, - options=None, - type=None), + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='MANUAL_AUTOMATIC', index=4, number=4, - options=None, - type=None), + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=2229, - serialized_end=2328, + serialized_options=None, + serialized_start=2289, + serialized_end=2388, ) _sym_db.RegisterEnumDescriptor(_NETWORKOPERATORSETTINGS_OPERATORSELECTMODE) @@ -247,20 +309,28 @@ full_name='openxc.DiagnosticRequest.DecodedType', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='NONE', index=0, number=1, - options=None, - type=None), + name='UNUSED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='NONE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='OBD2', index=1, number=2, - options=None, - type=None), + name='OBD2', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=2997, - serialized_end=3030, + serialized_options=None, + serialized_start=3057, + serialized_end=3102, ) _sym_db.RegisterEnumDescriptor(_DIAGNOSTICREQUEST_DECODEDTYPE) @@ -269,24 +339,33 @@ full_name='openxc.DynamicField.Type', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( - name='STRING', index=0, number=1, - options=None, - type=None), + name='UNUSED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='NUM', index=1, number=2, - options=None, - type=None), + name='STRING', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( - name='BOOL', index=2, number=3, - options=None, - type=None), + name='NUM', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='BOOL', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, - options=None, - serialized_start=3322, - serialized_end=3359, + serialized_options=None, + serialized_start=3451, + serialized_end=3500, ) _sym_db.RegisterEnumDescriptor(_DYNAMICFIELD_TYPE) @@ -297,56 +376,57 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='type', full_name='openxc.VehicleMessage.type', index=0, number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='can_message', full_name='openxc.VehicleMessage.can_message', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='simple_message', full_name='openxc.VehicleMessage.simple_message', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='diagnostic_response', full_name='openxc.VehicleMessage.diagnostic_response', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='control_command', full_name='openxc.VehicleMessage.control_command', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='command_response', full_name='openxc.VehicleMessage.command_response', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='timestamp', full_name='openxc.VehicleMessage.timestamp', index=6, number=7, type=4, cpp_type=4, 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -354,13 +434,14 @@ enum_types=[ _VEHICLEMESSAGE_TYPE, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=25, - serialized_end=436, + serialized_end=448, ) @@ -370,6 +451,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='bus', full_name='openxc.CanMessage.bus', index=0, @@ -377,28 +459,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='id', full_name='openxc.CanMessage.id', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='data', full_name='openxc.CanMessage.data', index=2, number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='frame_format', full_name='openxc.CanMessage.frame_format', index=3, number=4, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -406,13 +488,14 @@ enum_types=[ _CANMESSAGE_FRAMEFORMAT, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=439, - serialized_end=587, + serialized_start=451, + serialized_end=611, ) @@ -422,63 +505,64 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='type', full_name='openxc.ControlCommand.type', index=0, number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='diagnostic_request', full_name='openxc.ControlCommand.diagnostic_request', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='modem_configuration_command', full_name='openxc.ControlCommand.modem_configuration_command', index=6, number=7, 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='rtc_configuration_command', full_name='openxc.ControlCommand.rtc_configuration_command', index=7, number=8, 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -486,13 +570,14 @@ enum_types=[ _CONTROLCOMMAND_TYPE, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=590, - serialized_end=1381, + serialized_start=614, + serialized_end=1417, ) @@ -502,6 +587,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='request', full_name='openxc.DiagnosticControlCommand.request', index=0, @@ -509,14 +595,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _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, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -524,13 +610,14 @@ enum_types=[ _DIAGNOSTICCONTROLCOMMAND_ACTION, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=1384, - serialized_end=1542, + serialized_start=1420, + serialized_end=1590, ) @@ -540,6 +627,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='bus', full_name='openxc.PassthroughModeControlCommand.bus', index=0, @@ -547,27 +635,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=1544, - serialized_end=1605, + serialized_start=1592, + serialized_end=1653, ) @@ -577,6 +666,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='bus', full_name='openxc.AcceptanceFilterBypassCommand.bus', index=0, @@ -584,27 +674,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=1607, - serialized_end=1667, + serialized_start=1655, + serialized_end=1715, ) @@ -614,14 +705,15 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, 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, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -629,13 +721,14 @@ enum_types=[ _PAYLOADFORMATCOMMAND_PAYLOADFORMAT, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=1670, - serialized_end=1810, + serialized_start=1718, + serialized_end=1870, ) @@ -645,6 +738,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='enabled', full_name='openxc.PredefinedObd2RequestsCommand.enabled', index=0, @@ -652,20 +746,21 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=1812, - serialized_end=1860, + serialized_start=1872, + serialized_end=1920, ) @@ -675,6 +770,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='PLMN', full_name='openxc.NetworkOperatorSettings.NetworkDescriptor.PLMN', index=0, @@ -682,14 +778,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='networkType', full_name='openxc.NetworkOperatorSettings.NetworkDescriptor.networkType', index=1, number=2, type=14, cpp_type=8, 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -697,13 +793,14 @@ enum_types=[ _NETWORKOPERATORSETTINGS_NETWORKDESCRIPTOR_NETWORKTYPE, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=2075, - serialized_end=2227, + serialized_start=2135, + serialized_end=2287, ) _NETWORKOPERATORSETTINGS = _descriptor.Descriptor( @@ -712,6 +809,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='allowDataRoaming', full_name='openxc.NetworkOperatorSettings.allowDataRoaming', index=0, @@ -719,21 +817,21 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='operatorSelectMode', full_name='openxc.NetworkOperatorSettings.operatorSelectMode', index=1, number=2, type=14, cpp_type=8, 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='networkDescriptor', full_name='openxc.NetworkOperatorSettings.networkDescriptor', 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -741,13 +839,14 @@ enum_types=[ _NETWORKOPERATORSETTINGS_OPERATORSELECTMODE, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=1863, - serialized_end=2328, + serialized_start=1923, + serialized_end=2388, ) @@ -757,27 +856,29 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( - name='APN', full_name='openxc.NetworkDataSettings.APN', index=0, + name='apn', full_name='openxc.NetworkDataSettings.apn', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=2330, - serialized_end=2364, + serialized_start=2390, + serialized_end=2424, ) @@ -787,34 +888,36 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='host', full_name='openxc.ServerConnectSettings.host', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='port', full_name='openxc.ServerConnectSettings.port', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=2366, - serialized_end=2417, + serialized_start=2426, + serialized_end=2477, ) @@ -824,6 +927,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='networkOperatorSettings', full_name='openxc.ModemConfigurationCommand.networkOperatorSettings', index=0, @@ -831,34 +935,35 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='networkDataSettings', full_name='openxc.ModemConfigurationCommand.networkDataSettings', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='serverConnectSettings', full_name='openxc.ModemConfigurationCommand.serverConnectSettings', 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=2420, - serialized_end=2633, + serialized_start=2480, + serialized_end=2693, ) @@ -868,6 +973,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='unix_time', full_name='openxc.RTCConfigurationCommand.unix_time', index=0, @@ -875,20 +981,21 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=2635, - serialized_end=2679, + serialized_start=2695, + serialized_end=2739, ) @@ -898,41 +1005,43 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='type', full_name='openxc.CommandResponse.type', index=0, number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='message', full_name='openxc.CommandResponse.message', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='openxc.CommandResponse.status', index=2, number=3, 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=2681, - serialized_end=2774, + serialized_start=2741, + serialized_end=2834, ) @@ -942,6 +1051,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='bus', full_name='openxc.DiagnosticRequest.bus', index=0, @@ -949,63 +1059,63 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='message_id', full_name='openxc.DiagnosticRequest.message_id', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='mode', full_name='openxc.DiagnosticRequest.mode', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='pid', full_name='openxc.DiagnosticRequest.pid', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='payload', full_name='openxc.DiagnosticRequest.payload', index=4, number=5, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='multiple_responses', full_name='openxc.DiagnosticRequest.multiple_responses', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='frequency', full_name='openxc.DiagnosticRequest.frequency', index=6, number=7, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='name', full_name='openxc.DiagnosticRequest.name', index=7, number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='decoded_type', full_name='openxc.DiagnosticRequest.decoded_type', index=8, number=9, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1013,13 +1123,14 @@ enum_types=[ _DIAGNOSTICREQUEST_DECODEDTYPE, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=2777, - serialized_end=3030, + serialized_start=2837, + serialized_end=3102, ) @@ -1029,6 +1140,7 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='bus', full_name='openxc.DiagnosticResponse.bus', index=0, @@ -1036,69 +1148,84 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='message_id', full_name='openxc.DiagnosticResponse.message_id', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='mode', full_name='openxc.DiagnosticResponse.mode', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='pid', full_name='openxc.DiagnosticResponse.pid', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='success', full_name='openxc.DiagnosticResponse.success', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='negative_response_code', full_name='openxc.DiagnosticResponse.negative_response_code', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='payload', full_name='openxc.DiagnosticResponse.payload', index=6, number=7, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='openxc.DiagnosticResponse.value', index=7, - number=8, type=1, cpp_type=5, label=1, + number=8, 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, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='frame', full_name='openxc.DiagnosticResponse.frame', index=8, + number=9, 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_size', full_name='openxc.DiagnosticResponse.total_size', index=9, + number=10, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=3033, - serialized_end=3194, + serialized_start=3105, + serialized_end=3323, ) @@ -1108,35 +1235,36 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='type', full_name='openxc.DynamicField.type', index=0, number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='string_value', full_name='openxc.DynamicField.string_value', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='numeric_value', full_name='openxc.DynamicField.numeric_value', index=2, number=3, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='boolean_value', full_name='openxc.DynamicField.boolean_value', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1144,13 +1272,14 @@ enum_types=[ _DYNAMICFIELD_TYPE, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=3197, - serialized_end=3359, + serialized_start=3326, + serialized_end=3500, ) @@ -1160,41 +1289,43 @@ filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='openxc.SimpleMessage.name', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='openxc.SimpleMessage.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='event', full_name='openxc.SimpleMessage.event', 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), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto3', extension_ranges=[], oneofs=[ ], - serialized_start=3361, - serialized_end=3464, + serialized_start=3502, + serialized_end=3605, ) _VEHICLEMESSAGE.fields_by_name['type'].enum_type = _VEHICLEMESSAGE_TYPE @@ -1232,6 +1363,7 @@ _COMMANDRESPONSE.fields_by_name['type'].enum_type = _CONTROLCOMMAND_TYPE _DIAGNOSTICREQUEST.fields_by_name['decoded_type'].enum_type = _DIAGNOSTICREQUEST_DECODEDTYPE _DIAGNOSTICREQUEST_DECODEDTYPE.containing_type = _DIAGNOSTICREQUEST +_DIAGNOSTICRESPONSE.fields_by_name['value'].message_type = _DYNAMICFIELD _DYNAMICFIELD.fields_by_name['type'].enum_type = _DYNAMICFIELD_TYPE _DYNAMICFIELD_TYPE.containing_type = _DYNAMICFIELD _SIMPLEMESSAGE.fields_by_name['value'].message_type = _DYNAMICFIELD @@ -1254,142 +1386,142 @@ DESCRIPTOR.message_types_by_name['DiagnosticResponse'] = _DIAGNOSTICRESPONSE DESCRIPTOR.message_types_by_name['DynamicField'] = _DYNAMICFIELD DESCRIPTOR.message_types_by_name['SimpleMessage'] = _SIMPLEMESSAGE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -VehicleMessage = _reflection.GeneratedProtocolMessageType('VehicleMessage', (_message.Message,), dict( - DESCRIPTOR = _VEHICLEMESSAGE, - __module__ = 'openxc_pb2' +VehicleMessage = _reflection.GeneratedProtocolMessageType('VehicleMessage', (_message.Message,), { + 'DESCRIPTOR' : _VEHICLEMESSAGE, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.VehicleMessage) - )) + }) _sym_db.RegisterMessage(VehicleMessage) -CanMessage = _reflection.GeneratedProtocolMessageType('CanMessage', (_message.Message,), dict( - DESCRIPTOR = _CANMESSAGE, - __module__ = 'openxc_pb2' +CanMessage = _reflection.GeneratedProtocolMessageType('CanMessage', (_message.Message,), { + 'DESCRIPTOR' : _CANMESSAGE, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.CanMessage) - )) + }) _sym_db.RegisterMessage(CanMessage) -ControlCommand = _reflection.GeneratedProtocolMessageType('ControlCommand', (_message.Message,), dict( - DESCRIPTOR = _CONTROLCOMMAND, - __module__ = 'openxc_pb2' +ControlCommand = _reflection.GeneratedProtocolMessageType('ControlCommand', (_message.Message,), { + 'DESCRIPTOR' : _CONTROLCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.ControlCommand) - )) + }) _sym_db.RegisterMessage(ControlCommand) -DiagnosticControlCommand = _reflection.GeneratedProtocolMessageType('DiagnosticControlCommand', (_message.Message,), dict( - DESCRIPTOR = _DIAGNOSTICCONTROLCOMMAND, - __module__ = 'openxc_pb2' +DiagnosticControlCommand = _reflection.GeneratedProtocolMessageType('DiagnosticControlCommand', (_message.Message,), { + 'DESCRIPTOR' : _DIAGNOSTICCONTROLCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.DiagnosticControlCommand) - )) + }) _sym_db.RegisterMessage(DiagnosticControlCommand) -PassthroughModeControlCommand = _reflection.GeneratedProtocolMessageType('PassthroughModeControlCommand', (_message.Message,), dict( - DESCRIPTOR = _PASSTHROUGHMODECONTROLCOMMAND, - __module__ = 'openxc_pb2' +PassthroughModeControlCommand = _reflection.GeneratedProtocolMessageType('PassthroughModeControlCommand', (_message.Message,), { + 'DESCRIPTOR' : _PASSTHROUGHMODECONTROLCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.PassthroughModeControlCommand) - )) + }) _sym_db.RegisterMessage(PassthroughModeControlCommand) -AcceptanceFilterBypassCommand = _reflection.GeneratedProtocolMessageType('AcceptanceFilterBypassCommand', (_message.Message,), dict( - DESCRIPTOR = _ACCEPTANCEFILTERBYPASSCOMMAND, - __module__ = 'openxc_pb2' +AcceptanceFilterBypassCommand = _reflection.GeneratedProtocolMessageType('AcceptanceFilterBypassCommand', (_message.Message,), { + 'DESCRIPTOR' : _ACCEPTANCEFILTERBYPASSCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.AcceptanceFilterBypassCommand) - )) + }) _sym_db.RegisterMessage(AcceptanceFilterBypassCommand) -PayloadFormatCommand = _reflection.GeneratedProtocolMessageType('PayloadFormatCommand', (_message.Message,), dict( - DESCRIPTOR = _PAYLOADFORMATCOMMAND, - __module__ = 'openxc_pb2' +PayloadFormatCommand = _reflection.GeneratedProtocolMessageType('PayloadFormatCommand', (_message.Message,), { + 'DESCRIPTOR' : _PAYLOADFORMATCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.PayloadFormatCommand) - )) + }) _sym_db.RegisterMessage(PayloadFormatCommand) -PredefinedObd2RequestsCommand = _reflection.GeneratedProtocolMessageType('PredefinedObd2RequestsCommand', (_message.Message,), dict( - DESCRIPTOR = _PREDEFINEDOBD2REQUESTSCOMMAND, - __module__ = 'openxc_pb2' +PredefinedObd2RequestsCommand = _reflection.GeneratedProtocolMessageType('PredefinedObd2RequestsCommand', (_message.Message,), { + 'DESCRIPTOR' : _PREDEFINEDOBD2REQUESTSCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.PredefinedObd2RequestsCommand) - )) + }) _sym_db.RegisterMessage(PredefinedObd2RequestsCommand) -NetworkOperatorSettings = _reflection.GeneratedProtocolMessageType('NetworkOperatorSettings', (_message.Message,), dict( +NetworkOperatorSettings = _reflection.GeneratedProtocolMessageType('NetworkOperatorSettings', (_message.Message,), { - NetworkDescriptor = _reflection.GeneratedProtocolMessageType('NetworkDescriptor', (_message.Message,), dict( - DESCRIPTOR = _NETWORKOPERATORSETTINGS_NETWORKDESCRIPTOR, - __module__ = 'openxc_pb2' + 'NetworkDescriptor' : _reflection.GeneratedProtocolMessageType('NetworkDescriptor', (_message.Message,), { + 'DESCRIPTOR' : _NETWORKOPERATORSETTINGS_NETWORKDESCRIPTOR, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.NetworkOperatorSettings.NetworkDescriptor) - )) + }) , - DESCRIPTOR = _NETWORKOPERATORSETTINGS, - __module__ = 'openxc_pb2' + 'DESCRIPTOR' : _NETWORKOPERATORSETTINGS, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.NetworkOperatorSettings) - )) + }) _sym_db.RegisterMessage(NetworkOperatorSettings) _sym_db.RegisterMessage(NetworkOperatorSettings.NetworkDescriptor) -NetworkDataSettings = _reflection.GeneratedProtocolMessageType('NetworkDataSettings', (_message.Message,), dict( - DESCRIPTOR = _NETWORKDATASETTINGS, - __module__ = 'openxc_pb2' +NetworkDataSettings = _reflection.GeneratedProtocolMessageType('NetworkDataSettings', (_message.Message,), { + 'DESCRIPTOR' : _NETWORKDATASETTINGS, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.NetworkDataSettings) - )) + }) _sym_db.RegisterMessage(NetworkDataSettings) -ServerConnectSettings = _reflection.GeneratedProtocolMessageType('ServerConnectSettings', (_message.Message,), dict( - DESCRIPTOR = _SERVERCONNECTSETTINGS, - __module__ = 'openxc_pb2' +ServerConnectSettings = _reflection.GeneratedProtocolMessageType('ServerConnectSettings', (_message.Message,), { + 'DESCRIPTOR' : _SERVERCONNECTSETTINGS, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.ServerConnectSettings) - )) + }) _sym_db.RegisterMessage(ServerConnectSettings) -ModemConfigurationCommand = _reflection.GeneratedProtocolMessageType('ModemConfigurationCommand', (_message.Message,), dict( - DESCRIPTOR = _MODEMCONFIGURATIONCOMMAND, - __module__ = 'openxc_pb2' +ModemConfigurationCommand = _reflection.GeneratedProtocolMessageType('ModemConfigurationCommand', (_message.Message,), { + 'DESCRIPTOR' : _MODEMCONFIGURATIONCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.ModemConfigurationCommand) - )) + }) _sym_db.RegisterMessage(ModemConfigurationCommand) -RTCConfigurationCommand = _reflection.GeneratedProtocolMessageType('RTCConfigurationCommand', (_message.Message,), dict( - DESCRIPTOR = _RTCCONFIGURATIONCOMMAND, - __module__ = 'openxc_pb2' +RTCConfigurationCommand = _reflection.GeneratedProtocolMessageType('RTCConfigurationCommand', (_message.Message,), { + 'DESCRIPTOR' : _RTCCONFIGURATIONCOMMAND, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.RTCConfigurationCommand) - )) + }) _sym_db.RegisterMessage(RTCConfigurationCommand) -CommandResponse = _reflection.GeneratedProtocolMessageType('CommandResponse', (_message.Message,), dict( - DESCRIPTOR = _COMMANDRESPONSE, - __module__ = 'openxc_pb2' +CommandResponse = _reflection.GeneratedProtocolMessageType('CommandResponse', (_message.Message,), { + 'DESCRIPTOR' : _COMMANDRESPONSE, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.CommandResponse) - )) + }) _sym_db.RegisterMessage(CommandResponse) -DiagnosticRequest = _reflection.GeneratedProtocolMessageType('DiagnosticRequest', (_message.Message,), dict( - DESCRIPTOR = _DIAGNOSTICREQUEST, - __module__ = 'openxc_pb2' +DiagnosticRequest = _reflection.GeneratedProtocolMessageType('DiagnosticRequest', (_message.Message,), { + 'DESCRIPTOR' : _DIAGNOSTICREQUEST, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.DiagnosticRequest) - )) + }) _sym_db.RegisterMessage(DiagnosticRequest) -DiagnosticResponse = _reflection.GeneratedProtocolMessageType('DiagnosticResponse', (_message.Message,), dict( - DESCRIPTOR = _DIAGNOSTICRESPONSE, - __module__ = 'openxc_pb2' +DiagnosticResponse = _reflection.GeneratedProtocolMessageType('DiagnosticResponse', (_message.Message,), { + 'DESCRIPTOR' : _DIAGNOSTICRESPONSE, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.DiagnosticResponse) - )) + }) _sym_db.RegisterMessage(DiagnosticResponse) -DynamicField = _reflection.GeneratedProtocolMessageType('DynamicField', (_message.Message,), dict( - DESCRIPTOR = _DYNAMICFIELD, - __module__ = 'openxc_pb2' +DynamicField = _reflection.GeneratedProtocolMessageType('DynamicField', (_message.Message,), { + 'DESCRIPTOR' : _DYNAMICFIELD, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.DynamicField) - )) + }) _sym_db.RegisterMessage(DynamicField) -SimpleMessage = _reflection.GeneratedProtocolMessageType('SimpleMessage', (_message.Message,), dict( - DESCRIPTOR = _SIMPLEMESSAGE, - __module__ = 'openxc_pb2' +SimpleMessage = _reflection.GeneratedProtocolMessageType('SimpleMessage', (_message.Message,), { + 'DESCRIPTOR' : _SIMPLEMESSAGE, + '__module__' : 'openxc_pb2' # @@protoc_insertion_point(class_scope:openxc.SimpleMessage) - )) + }) _sym_db.RegisterMessage(SimpleMessage) -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\ncom.openxcB\016BinaryMessages')) +DESCRIPTOR._options = None # @@protoc_insertion_point(module_scope) diff --git a/openxc/sources/base.py b/openxc/sources/base.py index 5afe1adf..733bed7a 100644 --- a/openxc/sources/base.py +++ b/openxc/sources/base.py @@ -40,6 +40,7 @@ def __init__(self, callback=None, log_mode=None, payload_format=None): self._streamer = None self._formatter = None self._format = payload_format + self.format = payload_format # Added 7/30/2021 to fix protobuf streaming out self.logger = SourceLogger(self, log_mode) @@ -206,8 +207,13 @@ def run(self): """ while self.running: payload = "" + payloadsave = "" try: payload = self.read() + try: + payloadsave = str(payload, "cp437", "ignore") + except: + payloadsave = "" except DataSourceError as e: if self.running: LOG.warn("Can't read from data source -- stopping: %s", e) @@ -218,12 +224,11 @@ def run(self): except MissingPayloadFormatError: json_chars = ['\x00'] json_chars.extend(string.printable) - if all((char in json_chars for char in payload)): + if all((char in json_chars for char in payloadsave)): self.format = "json" else: self.format = "protobuf" self.streamer.receive(payload) - self.parse_messages() def _receive_command_response(self, message): diff --git a/openxc/sources/trace.py b/openxc/sources/trace.py index 4ddbdff9..b9d87c0a 100644 --- a/openxc/sources/trace.py +++ b/openxc/sources/trace.py @@ -67,7 +67,7 @@ def read(self): if self.realtime and timestamp is not None: self._store_timestamp(timestamp) self._wait(self.starting_time, self.first_timestamp, timestamp) - return line + "\x00" + return (line + "\x00").encode("cp437") @staticmethod def _open_file(filename): diff --git a/openxc/sources/usb.py b/openxc/sources/usb.py index aed7aac4..865ac582 100644 --- a/openxc/sources/usb.py +++ b/openxc/sources/usb.py @@ -1,9 +1,10 @@ """A USB vehicle interface data source.""" - +import os import logging import usb.core import usb.util +from usb.backend import libusb0 from .base import BytestreamDataSource, DataSourceError @@ -58,8 +59,14 @@ def __init__(self, vendor_id=None, product_id=None, **kwargs): product_id = int(product_id, 0) self.product_id = product_id or self.DEFAULT_PRODUCT_ID - devices = usb.core.find(find_all=True, idVendor=self.vendor_id, + if os.name == 'nt': + be = libusb0.get_backend() + devices = usb.core.find(backend=be, find_all=True, idVendor=self.vendor_id, + idProduct=self.product_id) + else: + devices = usb.core.find(find_all=True, idVendor=self.vendor_id, idProduct=self.product_id) + for device in devices: self.device = device try: @@ -86,7 +93,8 @@ def _read(self, endpoint_address, timeout=None, timeout = timeout or self.DEFAULT_READ_TIMEOUT try: raw_binary = self.device.read(0x80 + endpoint_address,read_size, self.DEFAULT_INTERFACE_NUMBER, timeout) - return str(raw_binary, 'utf-8', 'ignore') # Formerly - Causes byte tranlation str(temp, 'ISO-8859-1') + return raw_binary + except (usb.core.USBError, AttributeError) as e: if e.backend_error_code in [self.LIBUSB0_TIMEOUT_CODE, self.LIBUSB1_TIMEOUT_CODE, self.OPENUSB_TIMEOUT_CODE]: # Timeout, it may just not be sending diff --git a/openxc/tools/control.py b/openxc/tools/control.py index 98e52024..ca87ed3c 100644 --- a/openxc/tools/control.py +++ b/openxc/tools/control.py @@ -31,6 +31,9 @@ def sd_mount_status(interface): def device_id(interface): print(("Device ID is %s" % interface.device_id())) +def get_vin(interface): + print(("Vehicle VIN is %s" % interface.get_vin())) + def passthrough(interface, bus, passthrough_enabled): if interface.set_passthrough(bus, passthrough_enabled): print(("Bus %u passthrough set to %s" % (bus, passthrough_enabled))) @@ -93,7 +96,7 @@ def parse_options(): parser = argparse.ArgumentParser(description="Send control messages to an " "attached OpenXC vehicle interface", parents=[device_options()]) parser.add_argument("command", type=str, - choices=['version', 'platform', 'write', 'id', 'set', 'sd_mount_status']) + choices=['version', 'platform', 'write', 'id', 'set', 'sd_mount_status', 'get_vin']) write_group = parser.add_mutually_exclusive_group() write_group.add_argument("--name", action="store", dest="write_name", help="name for message write request") @@ -176,6 +179,8 @@ def main(): interface = interface_class(**interface_kwargs) interface.start() + handle_set_command(arguments, interface) + if arguments.command == "version": version(interface) elif arguments.command == "platform": @@ -184,6 +189,8 @@ def main(): sd_mount_status(interface) elif arguments.command == "id": device_id(interface) + elif arguments.command == "get_vin": + get_vin(interface) elif arguments.command == "set": handle_set_command(arguments, interface) elif arguments.command == "write": diff --git a/openxc/version.py b/openxc/version.py index b122ea39..5f07b805 100644 --- a/openxc/version.py +++ b/openxc/version.py @@ -6,7 +6,7 @@ which in turn needs access to this version information.) """ -VERSION = (2, 1, 0) +VERSION = (2, 2, 0) __version__ = '.'.join(map(str, VERSION)) diff --git a/setup.py b/setup.py index 9811fee5..1d209b9d 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ long_description = open('README.rst').read() install_reqs = ['pyusb==1.0.0a3', 'units >= 0.5', 'argparse', 'requests==2.20.0', - 'protobuf==3.9.1'] + 'protobuf==3.17.1'] setup(name='openxc', version=get_version(), diff --git a/tests/streamer_test_utils.py b/tests/streamer_test_utils.py index 5c935b71..c935a2b1 100644 --- a/tests/streamer_test_utils.py +++ b/tests/streamer_test_utils.py @@ -52,7 +52,7 @@ def _check_serialized_deserialize_equal(self, deserialized): eq_(deserialized, self.formatter.deserialize(serialized)) def test_simple_vehicle_message(self): - self._check_serialized_deserialize_equal({'name': "foo", 'value': 42}) + self._check_serialized_deserialize_equal({'name': "foo", 'event': False, 'value': 42}) def test_command(self): self._check_serialized_deserialize_equal({'command': "version"}) @@ -97,17 +97,21 @@ def test_diagnostic_request(self): }) def test_diagnostic_response(self): - self._check_serialized_deserialize_equal({"bus": 1, + self._check_serialized_deserialize_equal( + {"bus": 1, "id": 1234, "mode": 1, "pid": 5, + "frame": 0, "success": True, - "payload": "0x1234", - "value": 4660}) + "payload": "0x1234" + }) def test_negative_diagnostic_response(self): self._check_serialized_deserialize_equal({"bus": 1, "id": 1234, + "pid": 0, + "frame": 0, "mode": 1, "success": False, "negative_response_code": 17})