Add passthrough command and refactor commands in binary format.
[apps/agl-service-can-low-level.git] / gen / cpp / openxc.pb.h
index e4619ce..48002b1 100644 (file)
@@ -1,5 +1,5 @@
 /* Automatically generated nanopb header */
-/* Generated by nanopb-0.2.5 at Fri Jan 17 14:12:22 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_
@@ -12,9 +12,41 @@ extern "C" {
 /* Enum definitions */
 typedef enum _openxc_VehicleMessage_Type {
     openxc_VehicleMessage_Type_RAW = 1,
-    openxc_VehicleMessage_Type_TRANSLATED = 2
+    openxc_VehicleMessage_Type_TRANSLATED = 2,
+    openxc_VehicleMessage_Type_DIAGNOSTIC = 3,
+    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_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,
@@ -25,7 +57,47 @@ typedef enum _openxc_TranslatedMessage_Type {
 } openxc_TranslatedMessage_Type;
 
 /* Struct definitions */
-typedef struct _openxc_DiagnosticMessage {
+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];
+} openxc_DiagnosticRequest_payload_t;
+
+typedef struct _openxc_DiagnosticRequest {
+    bool has_bus;
+    int32_t bus;
+    bool has_message_id;
+    uint32_t message_id;
+    bool has_mode;
+    uint32_t mode;
+    bool has_pid;
+    uint32_t pid;
+    bool has_payload;
+    openxc_DiagnosticRequest_payload_t payload;
+    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 {
+    size_t size;
+    uint8_t bytes[8];
+} openxc_DiagnosticResponse_payload_t;
+
+typedef struct _openxc_DiagnosticResponse {
     bool has_bus;
     int32_t bus;
     bool has_message_id;
@@ -39,8 +111,33 @@ typedef struct _openxc_DiagnosticMessage {
     bool has_negative_response_code;
     uint32_t negative_response_code;
     bool has_payload;
-    uint64_t payload;
-} openxc_DiagnosticMessage;
+    openxc_DiagnosticResponse_payload_t payload;
+    bool has_value;
+    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];
+} openxc_RawMessage_data_t;
 
 typedef struct _openxc_RawMessage {
     bool has_bus;
@@ -48,28 +145,36 @@ typedef struct _openxc_RawMessage {
     bool has_message_id;
     uint32_t message_id;
     bool has_data;
-    uint64_t data;
+    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_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;
@@ -77,44 +182,85 @@ typedef struct _openxc_VehicleMessage {
     openxc_RawMessage raw_message;
     bool has_translated_message;
     openxc_TranslatedMessage translated_message;
+    bool has_diagnostic_response;
+    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_DiagnosticMessage_bus_tag         1
-#define openxc_DiagnosticMessage_message_id_tag  2
-#define openxc_DiagnosticMessage_mode_tag        3
-#define openxc_DiagnosticMessage_pid_tag         4
-#define openxc_DiagnosticMessage_success_tag     5
-#define openxc_DiagnosticMessage_negative_response_code_tag 6
-#define openxc_DiagnosticMessage_payload_tag     7
+#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_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
+#define openxc_DiagnosticResponse_pid_tag        4
+#define openxc_DiagnosticResponse_success_tag    5
+#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[4];
+extern const pb_field_t openxc_VehicleMessage_fields[7];
 extern const pb_field_t openxc_RawMessage_fields[4];
-extern const pb_field_t openxc_DiagnosticMessage_fields[8];
-extern const pb_field_t openxc_TranslatedMessage_fields[9];
+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_DynamicField_fields[5];
+extern const pb_field_t openxc_TranslatedMessage_fields[5];
 
 /* Maximum encoded size of messages (where known) */
-#define openxc_VehicleMessage_size               373
-#define openxc_RawMessage_size                   28
-#define openxc_DiagnosticMessage_size            48
-#define openxc_TranslatedMessage_size            334
+#define openxc_VehicleMessage_size               693
+#define openxc_RawMessage_size                   27
+#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_DynamicField_size                 119
+#define openxc_TranslatedMessage_size            350
 
 #ifdef __cplusplus
 } /* extern "C" */