1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.2.5 at Tue Mar 4 12:52:45 2014. */
4 #ifndef _PB_OPENXC_PB_H_
5 #define _PB_OPENXC_PB_H_
12 /* Enum definitions */
13 typedef enum _openxc_VehicleMessage_Type {
14 openxc_VehicleMessage_Type_RAW = 1,
15 openxc_VehicleMessage_Type_TRANSLATED = 2,
16 openxc_VehicleMessage_Type_DIAGNOSTIC = 3,
17 openxc_VehicleMessage_Type_CONTROL_COMMAND = 4
18 } openxc_VehicleMessage_Type;
20 typedef enum _openxc_ControlCommand_Type {
21 openxc_ControlCommand_Type_VERSION = 1,
22 openxc_ControlCommand_Type_DEVICE_ID = 2,
23 openxc_ControlCommand_Type_DIAGNOSTIC = 3
24 } openxc_ControlCommand_Type;
26 typedef enum _openxc_TranslatedMessage_Type {
27 openxc_TranslatedMessage_Type_STRING = 1,
28 openxc_TranslatedMessage_Type_NUM = 2,
29 openxc_TranslatedMessage_Type_BOOL = 3,
30 openxc_TranslatedMessage_Type_EVENTED_STRING = 4,
31 openxc_TranslatedMessage_Type_EVENTED_NUM = 5,
32 openxc_TranslatedMessage_Type_EVENTED_BOOL = 6
33 } openxc_TranslatedMessage_Type;
35 /* Struct definitions */
39 } openxc_DiagnosticRequest_payload_t;
41 typedef struct _openxc_DiagnosticRequest {
51 openxc_DiagnosticRequest_payload_t payload;
52 bool has_parse_payload;
60 } openxc_DiagnosticRequest;
65 } openxc_DiagnosticResponse_payload_t;
67 typedef struct _openxc_DiagnosticResponse {
78 bool has_negative_response_code;
79 uint32_t negative_response_code;
81 openxc_DiagnosticResponse_payload_t payload;
84 } openxc_DiagnosticResponse;
89 } openxc_RawMessage_data_t;
91 typedef struct _openxc_RawMessage {
97 openxc_RawMessage_data_t data;
100 typedef struct _openxc_TranslatedMessage {
102 openxc_TranslatedMessage_Type type;
105 bool has_string_value;
106 char string_value[100];
107 bool has_numeric_value;
108 double numeric_value;
109 bool has_boolean_value;
111 bool has_string_event;
112 char string_event[100];
113 bool has_numeric_event;
114 double numeric_event;
115 bool has_boolean_event;
117 } openxc_TranslatedMessage;
119 typedef struct _openxc_ControlCommand {
121 openxc_ControlCommand_Type type;
122 bool has_diagnostic_request;
123 openxc_DiagnosticRequest diagnostic_request;
124 } openxc_ControlCommand;
126 typedef struct _openxc_VehicleMessage {
128 openxc_VehicleMessage_Type type;
129 bool has_raw_message;
130 openxc_RawMessage raw_message;
131 bool has_translated_message;
132 openxc_TranslatedMessage translated_message;
133 bool has_diagnostic_response;
134 openxc_DiagnosticResponse diagnostic_response;
135 bool has_control_command;
136 openxc_ControlCommand control_command;
137 } openxc_VehicleMessage;
139 /* Default values for struct fields */
141 /* Field tags (for use in manual encoding/decoding) */
142 #define openxc_DiagnosticRequest_bus_tag 1
143 #define openxc_DiagnosticRequest_message_id_tag 2
144 #define openxc_DiagnosticRequest_mode_tag 3
145 #define openxc_DiagnosticRequest_pid_tag 4
146 #define openxc_DiagnosticRequest_payload_tag 5
147 #define openxc_DiagnosticRequest_parse_payload_tag 6
148 #define openxc_DiagnosticRequest_factor_tag 7
149 #define openxc_DiagnosticRequest_offset_tag 8
150 #define openxc_DiagnosticRequest_frequency_tag 9
151 #define openxc_DiagnosticResponse_bus_tag 1
152 #define openxc_DiagnosticResponse_message_id_tag 2
153 #define openxc_DiagnosticResponse_mode_tag 3
154 #define openxc_DiagnosticResponse_pid_tag 4
155 #define openxc_DiagnosticResponse_success_tag 5
156 #define openxc_DiagnosticResponse_negative_response_code_tag 6
157 #define openxc_DiagnosticResponse_payload_tag 7
158 #define openxc_DiagnosticResponse_value_tag 8
159 #define openxc_RawMessage_bus_tag 1
160 #define openxc_RawMessage_message_id_tag 2
161 #define openxc_RawMessage_data_tag 3
162 #define openxc_TranslatedMessage_type_tag 1
163 #define openxc_TranslatedMessage_name_tag 2
164 #define openxc_TranslatedMessage_string_value_tag 3
165 #define openxc_TranslatedMessage_numeric_value_tag 4
166 #define openxc_TranslatedMessage_boolean_value_tag 5
167 #define openxc_TranslatedMessage_string_event_tag 6
168 #define openxc_TranslatedMessage_numeric_event_tag 7
169 #define openxc_TranslatedMessage_boolean_event_tag 8
170 #define openxc_ControlCommand_type_tag 1
171 #define openxc_ControlCommand_diagnostic_request_tag 2
172 #define openxc_VehicleMessage_type_tag 1
173 #define openxc_VehicleMessage_raw_message_tag 2
174 #define openxc_VehicleMessage_translated_message_tag 3
175 #define openxc_VehicleMessage_diagnostic_response_tag 4
176 #define openxc_VehicleMessage_control_command_tag 5
178 /* Struct field encoding specification for nanopb */
179 extern const pb_field_t openxc_VehicleMessage_fields[6];
180 extern const pb_field_t openxc_RawMessage_fields[4];
181 extern const pb_field_t openxc_ControlCommand_fields[3];
182 extern const pb_field_t openxc_DiagnosticRequest_fields[10];
183 extern const pb_field_t openxc_DiagnosticResponse_fields[9];
184 extern const pb_field_t openxc_TranslatedMessage_fields[9];
186 /* Maximum encoded size of messages (where known) */
187 #define openxc_VehicleMessage_size 508
188 #define openxc_RawMessage_size 27
189 #define openxc_ControlCommand_size 76
190 #define openxc_DiagnosticRequest_size 68
191 #define openxc_DiagnosticResponse_size 56
192 #define openxc_TranslatedMessage_size 334