aboutsummaryrefslogtreecommitdiffstats
path: root/gen/cpp
diff options
context:
space:
mode:
authorChristopher Peplin <chris.peplin@rhubarbtech.com>2014-09-20 21:47:09 -0400
committerChristopher Peplin <chris.peplin@rhubarbtech.com>2014-09-20 21:48:49 -0400
commit625dae730013a4c59a1bd0bacc1f743676274e24 (patch)
treecc1316839151028e49714d3999c2f9e27ef196ee /gen/cpp
parentee93c3b20add6fb1bfda64a70c8d8325e3c138d7 (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.pb26
-rw-r--r--gen/cpp/openxc.pb.c22
-rw-r--r--gen/cpp/openxc.pb.h65
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