-«
-\fopenxc.proto\12\ 6openxc"\85\ 2
+Ã\f
+\fopenxc.proto\12\ 6openxc"\94\ 3
\ eVehicleMessage\12)
\ 4type\18\ 1 \ 1(\ e2\e.openxc.VehicleMessage.Type\12'
\vraw_message\18\ 2 \ 1(\v2\12.openxc.RawMessage\125
\12translated_message\18\ 3 \ 1(\v2\19.openxc.TranslatedMessage\127
-\13diagnostic_response\18\ 4 \ 1(\v2\1a.openxc.DiagnosticResponse"/
+\13diagnostic_response\18\ 4 \ 1(\v2\1a.openxc.DiagnosticResponse\12/
+\ fcontrol_command\18\ 5 \ 1(\v2\16.openxc.ControlCommand\121
+\10command_response\18\ 6 \ 1(\v2\17.openxc.CommandResponse"Z
\ 4Type\12\a
\ 3RAW\10\ 1\12\ e
TRANSLATED\10\ 2\12\ e
-DIAGNOSTIC\10\ 3";
+DIAGNOSTIC\10\ 3\12\13
+\ fCONTROL_COMMAND\10\ 4\12\14
+\10COMMAND_RESPONSE\10\ 5";
RawMessage\12\v
\ 3bus\18\ 1 \ 1(\ 5\12\12
\aVERSION\10\ 1\12\r
DEVICE_ID\10\ 2\12\ e
-DIAGNOSTIC\10\ 3"ª\ 1
+DIAGNOSTIC\10\ 3"M
+\ fCommandResponse\12)
+\ 4type\18\ 1 \ 1(\ e2\e.openxc.ControlCommand.Type\12\ f
+\amessage\18\ 2 \ 1( "ý\ 1
\11DiagnosticRequest\12\v
\ 3bus\18\ 1 \ 1(\ 5\12\12
message_id\18\ 2 \ 1(\r\12\f
\ 4mode\18\ 3 \ 1(\r\12\v
\ 3pid\18\ 4 \ 1(\r\12\ f
-\apayload\18\ 5 \ 1(\f\12\15
-\rparse_payload\18\ 6 \ 1(\b\12\ e
-\ 6factor\18\a \ 1(\ 1\12\ e
-\ 6offset\18\b \ 1(\ 1\12\11
- frequency\18 \ 1(\ 1"¡\ 1
+\apayload\18\ 5 \ 1(\f\12\1a
+\12multiple_responses\18\ 6 \ 1(\b\12\11
+ frequency\18\a \ 1(\ 1\12\f
+\ 4name\18\b \ 1( \12;
+\fdecoded_type\18 \ 1(\ e2%.openxc.DiagnosticRequest.DecodedType"!
+\vDecodedType\12\b
+\ 4NONE\10\ 1\12\b
+\ 4OBD2\10\ 2"¡\ 1
\12DiagnosticResponse\12\v
\ 3bus\18\ 1 \ 1(\ 5\12\12
\asuccess\18\ 5 \ 1(\b\12\1e
\16negative_response_code\18\ 6 \ 1(\r\12\ f
\apayload\18\a \ 1(\f\12\r
-\ 5value\18\b \ 1(\ 1"µ\ 2
+\ 5value\18\b \ 1(\ 1"¢\ 1
+\fDynamicField\12'
+\ 4type\18\ 1 \ 1(\ e2\19.openxc.DynamicField.Type\12\14
+\fstring_value\18\ 2 \ 1( \12\15
+\rnumeric_value\18\ 3 \ 1(\ 1\12\15
+\rboolean_value\18\ 4 \ 1(\b"%
+\ 4Type\12
+
+\ 6STRING\10\ 1\12\a
+\ 3NUM\10\ 2\12\b
+\ 4BOOL\10\ 3"÷\ 1
\11TranslatedMessage\12,
\ 4type\18\ 1 \ 1(\ e2\1e.openxc.TranslatedMessage.Type\12\f
-\ 4name\18\ 2 \ 1( \12\14
-\fstring_value\18\ 3 \ 1( \12\15
-\rnumeric_value\18\ 4 \ 1(\ 1\12\15
-\rboolean_value\18\ 5 \ 1(\b\12\14
-\fstring_event\18\ 6 \ 1( \12\15
-\rnumeric_event\18\a \ 1(\ 1\12\15
-\rboolean_event\18\b \ 1(\b"\
+\ 4name\18\ 2 \ 1( \12#
+\ 5value\18\ 3 \ 1(\v2\14.openxc.DynamicField\12#
+\ 5event\18\ 4 \ 1(\v2\14.openxc.DynamicField"\
\ 4Type\12
\ 6STRING\10\ 1\12\a