diff options
author | Christopher Peplin <chris.peplin@rhubarbtech.com> | 2014-09-20 21:47:09 -0400 |
---|---|---|
committer | Christopher Peplin <chris.peplin@rhubarbtech.com> | 2014-09-20 21:48:49 -0400 |
commit | 625dae730013a4c59a1bd0bacc1f743676274e24 (patch) | |
tree | cc1316839151028e49714d3999c2f9e27ef196ee /gen/cpp | |
parent | ee93c3b20add6fb1bfda64a70c8d8325e3c138d7 (diff) |
Add passthrough command and refactor commands in binary format.
The ControlCommand is now more like a VehicleMessage - it has a 'type'
and many optional fields pointing to the various types. If the type is
diagnostic, the client should look at the diagnostic_request field.
Diffstat (limited to 'gen/cpp')
-rw-r--r-- | gen/cpp/openxc.pb | 26 | ||||
-rw-r--r-- | gen/cpp/openxc.pb.c | 22 | ||||
-rw-r--r-- | gen/cpp/openxc.pb.h | 65 |
3 files changed, 83 insertions, 30 deletions
diff --git a/gen/cpp/openxc.pb b/gen/cpp/openxc.pb index e2d67115..aa302360 100644 --- a/gen/cpp/openxc.pb +++ b/gen/cpp/openxc.pb @@ -1,5 +1,5 @@ -¡
+ƒ openxc.protoopenxc"” VehicleMessage) type (2.openxc.VehicleMessage.Type' @@ -21,20 +21,32 @@ RawMessage bus ( message_id (
-data ("ô +data ("‡ ControlCommand) -type (2.openxc.ControlCommand.Type5 -diagnostic_request (2.openxc.DiagnosticRequest- -action (2.openxc.ControlCommand.Action"2 +type (2.openxc.ControlCommand.Type< +diagnostic_request (2 .openxc.DiagnosticControlCommandG +passthrough_mode_request (2%.openxc.PassthroughModeControlCommand"C Type VERSION
DEVICE_ID -DIAGNOSTIC" +DIAGNOSTIC +PASSTHROUGH"ž +DiagnosticControlCommand* +request (2.openxc.DiagnosticRequest7 +action (2'.openxc.DiagnosticControlCommand.Action" Action ADD -CANCEL"] +CANCEL"« +PassthroughModeControlCommand +bus (C +mode (25.openxc.PassthroughModeControlCommand.PassthroughMode"8 +PassthroughMode +OFF +FILTERED + +UNFILTERED"] CommandResponse) type (2.openxc.ControlCommand.Type message ( diff --git a/gen/cpp/openxc.pb.c b/gen/cpp/openxc.pb.c index 5895ffc1..8f9fc19c 100644 --- a/gen/cpp/openxc.pb.c +++ b/gen/cpp/openxc.pb.c @@ -1,5 +1,5 @@ /* Automatically generated nanopb constant definitions */ -/* Generated by nanopb-0.2.5 at Mon Aug 11 23:26:24 2014. */ +/* Generated by nanopb-0.2.5 at Sat Sep 20 21:48:43 2014. */ #include "openxc.pb.h" @@ -24,8 +24,20 @@ const pb_field_t openxc_RawMessage_fields[4] = { const pb_field_t openxc_ControlCommand_fields[4] = { PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_ControlCommand, type, type, 0), - PB_FIELD2( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, diagnostic_request, type, &openxc_DiagnosticRequest_fields), - PB_FIELD2( 3, ENUM , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, action, diagnostic_request, 0), + PB_FIELD2( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, diagnostic_request, type, &openxc_DiagnosticControlCommand_fields), + PB_FIELD2( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, passthrough_mode_request, diagnostic_request, &openxc_PassthroughModeControlCommand_fields), + PB_LAST_FIELD +}; + +const pb_field_t openxc_DiagnosticControlCommand_fields[3] = { + PB_FIELD2( 1, MESSAGE , OPTIONAL, STATIC , FIRST, openxc_DiagnosticControlCommand, request, request, &openxc_DiagnosticRequest_fields), + PB_FIELD2( 2, ENUM , OPTIONAL, STATIC , OTHER, openxc_DiagnosticControlCommand, action, request, 0), + PB_LAST_FIELD +}; + +const pb_field_t openxc_PassthroughModeControlCommand_fields[3] = { + PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_PassthroughModeControlCommand, bus, bus, 0), + PB_FIELD2( 2, ENUM , OPTIONAL, STATIC , OTHER, openxc_PassthroughModeControlCommand, mode, bus, 0), PB_LAST_FIELD }; @@ -80,11 +92,11 @@ const pb_field_t openxc_TranslatedMessage_fields[5] = { /* Check that field information fits in pb_field_t */ #if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) -STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 256 && pb_membersize(openxc_VehicleMessage, translated_message) < 256 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 256 && pb_membersize(openxc_VehicleMessage, control_command) < 256 && pb_membersize(openxc_VehicleMessage, command_response) < 256 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 256 && pb_membersize(openxc_TranslatedMessage, value) < 256 && pb_membersize(openxc_TranslatedMessage, event) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage) +STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 256 && pb_membersize(openxc_VehicleMessage, translated_message) < 256 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 256 && pb_membersize(openxc_VehicleMessage, control_command) < 256 && pb_membersize(openxc_VehicleMessage, command_response) < 256 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 256 && pb_membersize(openxc_ControlCommand, passthrough_mode_request) < 256 && pb_membersize(openxc_DiagnosticControlCommand, request) < 256 && pb_membersize(openxc_TranslatedMessage, value) < 256 && pb_membersize(openxc_TranslatedMessage, event) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage) #endif #if !defined(PB_FIELD_32BIT) -STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, translated_message) < 65536 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 65536 && pb_membersize(openxc_VehicleMessage, control_command) < 65536 && pb_membersize(openxc_VehicleMessage, command_response) < 65536 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 65536 && pb_membersize(openxc_TranslatedMessage, value) < 65536 && pb_membersize(openxc_TranslatedMessage, event) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage) +STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, translated_message) < 65536 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 65536 && pb_membersize(openxc_VehicleMessage, control_command) < 65536 && pb_membersize(openxc_VehicleMessage, command_response) < 65536 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 65536 && pb_membersize(openxc_ControlCommand, passthrough_mode_request) < 65536 && pb_membersize(openxc_DiagnosticControlCommand, request) < 65536 && pb_membersize(openxc_TranslatedMessage, value) < 65536 && pb_membersize(openxc_TranslatedMessage, event) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage) #endif /* On some platforms (such as AVR), double is really float. diff --git a/gen/cpp/openxc.pb.h b/gen/cpp/openxc.pb.h index b8b60574..48002b14 100644 --- a/gen/cpp/openxc.pb.h +++ b/gen/cpp/openxc.pb.h @@ -1,5 +1,5 @@ /* Automatically generated nanopb header */ -/* Generated by nanopb-0.2.5 at Mon Aug 11 23:26:24 2014. */ +/* Generated by nanopb-0.2.5 at Sat Sep 20 21:48:43 2014. */ #ifndef _PB_OPENXC_PB_H_ #define _PB_OPENXC_PB_H_ @@ -21,13 +21,20 @@ typedef enum _openxc_VehicleMessage_Type { typedef enum _openxc_ControlCommand_Type { openxc_ControlCommand_Type_VERSION = 1, openxc_ControlCommand_Type_DEVICE_ID = 2, - openxc_ControlCommand_Type_DIAGNOSTIC = 3 + openxc_ControlCommand_Type_DIAGNOSTIC = 3, + openxc_ControlCommand_Type_PASSTHROUGH = 4 } openxc_ControlCommand_Type; -typedef enum _openxc_ControlCommand_Action { - openxc_ControlCommand_Action_ADD = 1, - openxc_ControlCommand_Action_CANCEL = 2 -} openxc_ControlCommand_Action; +typedef enum _openxc_DiagnosticControlCommand_Action { + openxc_DiagnosticControlCommand_Action_ADD = 1, + openxc_DiagnosticControlCommand_Action_CANCEL = 2 +} openxc_DiagnosticControlCommand_Action; + +typedef enum _openxc_PassthroughModeControlCommand_PassthroughMode { + openxc_PassthroughModeControlCommand_PassthroughMode_OFF = 1, + openxc_PassthroughModeControlCommand_PassthroughMode_FILTERED = 2, + openxc_PassthroughModeControlCommand_PassthroughMode_UNFILTERED = 3 +} openxc_PassthroughModeControlCommand_PassthroughMode; typedef enum _openxc_DiagnosticRequest_DecodedType { openxc_DiagnosticRequest_DecodedType_NONE = 1, @@ -120,6 +127,13 @@ typedef struct _openxc_DynamicField { bool boolean_value; } openxc_DynamicField; +typedef struct _openxc_PassthroughModeControlCommand { + bool has_bus; + int32_t bus; + bool has_mode; + openxc_PassthroughModeControlCommand_PassthroughMode mode; +} openxc_PassthroughModeControlCommand; + typedef struct { size_t size; uint8_t bytes[8]; @@ -134,14 +148,12 @@ typedef struct _openxc_RawMessage { openxc_RawMessage_data_t data; } openxc_RawMessage; -typedef struct _openxc_ControlCommand { - bool has_type; - openxc_ControlCommand_Type type; - bool has_diagnostic_request; - openxc_DiagnosticRequest diagnostic_request; +typedef struct _openxc_DiagnosticControlCommand { + bool has_request; + openxc_DiagnosticRequest request; bool has_action; - openxc_ControlCommand_Action action; -} openxc_ControlCommand; + openxc_DiagnosticControlCommand_Action action; +} openxc_DiagnosticControlCommand; typedef struct _openxc_TranslatedMessage { bool has_type; @@ -154,6 +166,15 @@ typedef struct _openxc_TranslatedMessage { openxc_DynamicField event; } openxc_TranslatedMessage; +typedef struct _openxc_ControlCommand { + bool has_type; + openxc_ControlCommand_Type type; + bool has_diagnostic_request; + openxc_DiagnosticControlCommand diagnostic_request; + bool has_passthrough_mode_request; + openxc_PassthroughModeControlCommand passthrough_mode_request; +} openxc_ControlCommand; + typedef struct _openxc_VehicleMessage { bool has_type; openxc_VehicleMessage_Type type; @@ -196,16 +217,20 @@ typedef struct _openxc_VehicleMessage { #define openxc_DynamicField_string_value_tag 2 #define openxc_DynamicField_numeric_value_tag 3 #define openxc_DynamicField_boolean_value_tag 4 +#define openxc_PassthroughModeControlCommand_bus_tag 1 +#define openxc_PassthroughModeControlCommand_mode_tag 2 #define openxc_RawMessage_bus_tag 1 #define openxc_RawMessage_message_id_tag 2 #define openxc_RawMessage_data_tag 3 -#define openxc_ControlCommand_type_tag 1 -#define openxc_ControlCommand_diagnostic_request_tag 2 -#define openxc_ControlCommand_action_tag 3 +#define openxc_DiagnosticControlCommand_request_tag 1 +#define openxc_DiagnosticControlCommand_action_tag 2 #define openxc_TranslatedMessage_type_tag 1 #define openxc_TranslatedMessage_name_tag 2 #define openxc_TranslatedMessage_value_tag 3 #define openxc_TranslatedMessage_event_tag 4 +#define openxc_ControlCommand_type_tag 1 +#define openxc_ControlCommand_diagnostic_request_tag 2 +#define openxc_ControlCommand_passthrough_mode_request_tag 3 #define openxc_VehicleMessage_type_tag 1 #define openxc_VehicleMessage_raw_message_tag 2 #define openxc_VehicleMessage_translated_message_tag 3 @@ -217,6 +242,8 @@ typedef struct _openxc_VehicleMessage { extern const pb_field_t openxc_VehicleMessage_fields[7]; extern const pb_field_t openxc_RawMessage_fields[4]; extern const pb_field_t openxc_ControlCommand_fields[4]; +extern const pb_field_t openxc_DiagnosticControlCommand_fields[3]; +extern const pb_field_t openxc_PassthroughModeControlCommand_fields[3]; extern const pb_field_t openxc_CommandResponse_fields[4]; extern const pb_field_t openxc_DiagnosticRequest_fields[10]; extern const pb_field_t openxc_DiagnosticResponse_fields[9]; @@ -224,9 +251,11 @@ extern const pb_field_t openxc_DynamicField_fields[5]; extern const pb_field_t openxc_TranslatedMessage_fields[5]; /* Maximum encoded size of messages (where known) */ -#define openxc_VehicleMessage_size 672 +#define openxc_VehicleMessage_size 693 #define openxc_RawMessage_size 27 -#define openxc_ControlCommand_size 82 +#define openxc_ControlCommand_size 103 +#define openxc_DiagnosticControlCommand_size 76 +#define openxc_PassthroughModeControlCommand_size 17 #define openxc_CommandResponse_size 139 #define openxc_DiagnosticRequest_size 68 #define openxc_DiagnosticResponse_size 56 |