�
openxc.protoopenxc"�
VehicleMessage)
type (2.openxc.VehicleMessage.Type'
raw_message (2.openxc.RawMessage5
translated_message (2.openxc.TranslatedMessage7
diagnostic_response (2.openxc.DiagnosticResponse/
control_command (2.openxc.ControlCommand1
command_response (2.openxc.CommandResponse"Z
Type
RAW
TRANSLATED
DIAGNOSTIC
CONTROL_COMMAND
COMMAND_RESPONSE";
RawMessage
bus (
message_id (
data ("�
ControlCommand)
type (2.openxc.ControlCommand.Type<
diagnostic_request (2 .openxc.DiagnosticControlCommandG
passthrough_mode_request (2%.openxc.PassthroughModeControlCommand"C
Type
VERSION
DEVICE_ID
DIAGNOSTIC
PASSTHROUGH"�
DiagnosticControlCommand*
request (2.openxc.DiagnosticRequest7
action (2'.openxc.DiagnosticControlCommand.Action"
Action
ADD
CANCEL"�
PassthroughModeControlCommand
bus (C
mode (25.openxc.PassthroughModeControlCommand.PassthroughMode"8
PassthroughMode
OFF
FILTERED
UNFILTERED"]
CommandResponse)
type (2.openxc.ControlCommand.Type
message (
status ("�
DiagnosticRequest
bus (
message_id (
mode (
pid (
payload (
multiple_responses (
frequency (
name ( ;
decoded_type (2%.openxc.DiagnosticRequest.DecodedType"!
DecodedType
NONE
OBD2"�
DiagnosticResponse
bus (
message_id (
mode (
pid (
success (
negative_response_code (
payload (
value ("�
DynamicField'
type (2.openxc.DynamicField.Type
string_value (
numeric_value (
boolean_value ("%
Type
STRING
NUM
BOOL"�
TranslatedMessage,
type (2.openxc.TranslatedMessage.Type
name ( #
value (2.openxc.DynamicField#
event (2.openxc.DynamicField"\
Type
STRING
NUM
BOOL
EVENTED_STRING
EVENTED_NUM
EVENTED_BOOLB
com.openxcBBinaryMessages