Add passthrough command and refactor commands in binary format.
[apps/agl-service-can-low-level.git] / gen / cpp / openxc.pb.h
index 3363d47..48002b1 100644 (file)
@@ -1,5 +1,5 @@
 /* Automatically generated nanopb header */
-/* Generated by nanopb-0.2.5 at Tue Mar  4 12:52:45 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_
@@ -14,15 +14,39 @@ typedef enum _openxc_VehicleMessage_Type {
     openxc_VehicleMessage_Type_RAW = 1,
     openxc_VehicleMessage_Type_TRANSLATED = 2,
     openxc_VehicleMessage_Type_DIAGNOSTIC = 3,
-    openxc_VehicleMessage_Type_CONTROL_COMMAND = 4
+    openxc_VehicleMessage_Type_CONTROL_COMMAND = 4,
+    openxc_VehicleMessage_Type_COMMAND_RESPONSE = 5
 } 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_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,
+    openxc_DiagnosticRequest_DecodedType_OBD2 = 2
+} openxc_DiagnosticRequest_DecodedType;
+
+typedef enum _openxc_DynamicField_Type {
+    openxc_DynamicField_Type_STRING = 1,
+    openxc_DynamicField_Type_NUM = 2,
+    openxc_DynamicField_Type_BOOL = 3
+} openxc_DynamicField_Type;
+
 typedef enum _openxc_TranslatedMessage_Type {
     openxc_TranslatedMessage_Type_STRING = 1,
     openxc_TranslatedMessage_Type_NUM = 2,
@@ -33,6 +57,15 @@ typedef enum _openxc_TranslatedMessage_Type {
 } openxc_TranslatedMessage_Type;
 
 /* Struct definitions */
+typedef struct _openxc_CommandResponse {
+    bool has_type;
+    openxc_ControlCommand_Type type;
+    bool has_message;
+    char message[128];
+    bool has_status;
+    bool status;
+} openxc_CommandResponse;
+
 typedef struct {
     size_t size;
     uint8_t bytes[8];
@@ -49,14 +82,14 @@ typedef struct _openxc_DiagnosticRequest {
     uint32_t pid;
     bool has_payload;
     openxc_DiagnosticRequest_payload_t payload;
-    bool has_parse_payload;
-    bool parse_payload;
-    bool has_factor;
-    double factor;
-    bool has_offset;
-    double offset;
+    bool has_multiple_responses;
+    bool multiple_responses;
     bool has_frequency;
     double frequency;
+    bool has_name;
+    char name[10];
+    bool has_decoded_type;
+    openxc_DiagnosticRequest_DecodedType decoded_type;
 } openxc_DiagnosticRequest;
 
 typedef struct {
@@ -83,6 +116,24 @@ typedef struct _openxc_DiagnosticResponse {
     double value;
 } openxc_DiagnosticResponse;
 
+typedef struct _openxc_DynamicField {
+    bool has_type;
+    openxc_DynamicField_Type type;
+    bool has_string_value;
+    char string_value[100];
+    bool has_numeric_value;
+    double numeric_value;
+    bool has_boolean_value;
+    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];
@@ -97,30 +148,31 @@ typedef struct _openxc_RawMessage {
     openxc_RawMessage_data_t data;
 } openxc_RawMessage;
 
+typedef struct _openxc_DiagnosticControlCommand {
+    bool has_request;
+    openxc_DiagnosticRequest request;
+    bool has_action;
+    openxc_DiagnosticControlCommand_Action action;
+} openxc_DiagnosticControlCommand;
+
 typedef struct _openxc_TranslatedMessage {
     bool has_type;
     openxc_TranslatedMessage_Type type;
     bool has_name;
     char name[100];
-    bool has_string_value;
-    char string_value[100];
-    bool has_numeric_value;
-    double numeric_value;
-    bool has_boolean_value;
-    bool boolean_value;
-    bool has_string_event;
-    char string_event[100];
-    bool has_numeric_event;
-    double numeric_event;
-    bool has_boolean_event;
-    bool boolean_event;
+    bool has_value;
+    openxc_DynamicField value;
+    bool has_event;
+    openxc_DynamicField event;
 } openxc_TranslatedMessage;
 
 typedef struct _openxc_ControlCommand {
     bool has_type;
     openxc_ControlCommand_Type type;
     bool has_diagnostic_request;
-    openxc_DiagnosticRequest diagnostic_request;
+    openxc_DiagnosticControlCommand diagnostic_request;
+    bool has_passthrough_mode_request;
+    openxc_PassthroughModeControlCommand passthrough_mode_request;
 } openxc_ControlCommand;
 
 typedef struct _openxc_VehicleMessage {
@@ -134,20 +186,25 @@ typedef struct _openxc_VehicleMessage {
     openxc_DiagnosticResponse diagnostic_response;
     bool has_control_command;
     openxc_ControlCommand control_command;
+    bool has_command_response;
+    openxc_CommandResponse command_response;
 } openxc_VehicleMessage;
 
 /* Default values for struct fields */
 
 /* Field tags (for use in manual encoding/decoding) */
+#define openxc_CommandResponse_type_tag          1
+#define openxc_CommandResponse_message_tag       2
+#define openxc_CommandResponse_status_tag        3
 #define openxc_DiagnosticRequest_bus_tag         1
 #define openxc_DiagnosticRequest_message_id_tag  2
 #define openxc_DiagnosticRequest_mode_tag        3
 #define openxc_DiagnosticRequest_pid_tag         4
 #define openxc_DiagnosticRequest_payload_tag     5
-#define openxc_DiagnosticRequest_parse_payload_tag 6
-#define openxc_DiagnosticRequest_factor_tag      7
-#define openxc_DiagnosticRequest_offset_tag      8
-#define openxc_DiagnosticRequest_frequency_tag   9
+#define openxc_DiagnosticRequest_multiple_responses_tag 6
+#define openxc_DiagnosticRequest_frequency_tag   7
+#define openxc_DiagnosticRequest_name_tag        8
+#define openxc_DiagnosticRequest_decoded_type_tag 9
 #define openxc_DiagnosticResponse_bus_tag        1
 #define openxc_DiagnosticResponse_message_id_tag 2
 #define openxc_DiagnosticResponse_mode_tag       3
@@ -156,40 +213,54 @@ typedef struct _openxc_VehicleMessage {
 #define openxc_DiagnosticResponse_negative_response_code_tag 6
 #define openxc_DiagnosticResponse_payload_tag    7
 #define openxc_DiagnosticResponse_value_tag      8
+#define openxc_DynamicField_type_tag             1
+#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_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_string_value_tag 3
-#define openxc_TranslatedMessage_numeric_value_tag 4
-#define openxc_TranslatedMessage_boolean_value_tag 5
-#define openxc_TranslatedMessage_string_event_tag 6
-#define openxc_TranslatedMessage_numeric_event_tag 7
-#define openxc_TranslatedMessage_boolean_event_tag 8
+#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
 #define openxc_VehicleMessage_diagnostic_response_tag 4
 #define openxc_VehicleMessage_control_command_tag 5
+#define openxc_VehicleMessage_command_response_tag 6
 
 /* Struct field encoding specification for nanopb */
-extern const pb_field_t openxc_VehicleMessage_fields[6];
+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[3];
+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];
-extern const pb_field_t openxc_TranslatedMessage_fields[9];
+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               508
+#define openxc_VehicleMessage_size               693
 #define openxc_RawMessage_size                   27
-#define openxc_ControlCommand_size               76
+#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
-#define openxc_TranslatedMessage_size            334
+#define openxc_DynamicField_size                 119
+#define openxc_TranslatedMessage_size            350
 
 #ifdef __cplusplus
 } /* extern "C" */