1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.3.1 at Fri Nov 7 08:56:52 2014. */
4 #ifndef PB_OPENXC_PB_H_INCLUDED
5 #define PB_OPENXC_PB_H_INCLUDED
8 #if PB_PROTO_HEADER_VERSION != 30
9 #error Regenerate this file with the current version of nanopb generator.
16 /* Enum definitions */
17 typedef enum _openxc_VehicleMessage_Type {
18 openxc_VehicleMessage_Type_CAN = 1,
19 openxc_VehicleMessage_Type_SIMPLE = 2,
20 openxc_VehicleMessage_Type_DIAGNOSTIC = 3,
21 openxc_VehicleMessage_Type_CONTROL_COMMAND = 4,
22 openxc_VehicleMessage_Type_COMMAND_RESPONSE = 5
23 } openxc_VehicleMessage_Type;
25 typedef enum _openxc_CanMessage_FrameFormat {
26 openxc_CanMessage_FrameFormat_STANDARD = 1,
27 openxc_CanMessage_FrameFormat_EXTENDED = 2
28 } openxc_CanMessage_FrameFormat;
30 typedef enum _openxc_ControlCommand_Type {
31 openxc_ControlCommand_Type_VERSION = 1,
32 openxc_ControlCommand_Type_DEVICE_ID = 2,
33 openxc_ControlCommand_Type_DIAGNOSTIC = 3,
34 openxc_ControlCommand_Type_PASSTHROUGH = 4,
35 openxc_ControlCommand_Type_ACCEPTANCE_FILTER_BYPASS = 5,
36 openxc_ControlCommand_Type_PAYLOAD_FORMAT = 6,
37 openxc_ControlCommand_Type_PREDEFINED_OBD2_REQUESTS = 7
38 } openxc_ControlCommand_Type;
40 typedef enum _openxc_DiagnosticControlCommand_Action {
41 openxc_DiagnosticControlCommand_Action_ADD = 1,
42 openxc_DiagnosticControlCommand_Action_CANCEL = 2
43 } openxc_DiagnosticControlCommand_Action;
45 typedef enum _openxc_PayloadFormatCommand_PayloadFormat {
46 openxc_PayloadFormatCommand_PayloadFormat_JSON = 1,
47 openxc_PayloadFormatCommand_PayloadFormat_PROTOBUF = 2
48 } openxc_PayloadFormatCommand_PayloadFormat;
50 typedef enum _openxc_DiagnosticRequest_DecodedType {
51 openxc_DiagnosticRequest_DecodedType_NONE = 1,
52 openxc_DiagnosticRequest_DecodedType_OBD2 = 2
53 } openxc_DiagnosticRequest_DecodedType;
55 typedef enum _openxc_DynamicField_Type {
56 openxc_DynamicField_Type_STRING = 1,
57 openxc_DynamicField_Type_NUM = 2,
58 openxc_DynamicField_Type_BOOL = 3
59 } openxc_DynamicField_Type;
61 /* Struct definitions */
62 typedef struct _openxc_AcceptanceFilterBypassCommand {
67 } openxc_AcceptanceFilterBypassCommand;
69 typedef PB_BYTES_ARRAY_T(8) openxc_CanMessage_data_t;
71 typedef struct _openxc_CanMessage {
77 openxc_CanMessage_data_t data;
78 bool has_frame_format;
79 openxc_CanMessage_FrameFormat frame_format;
82 typedef struct _openxc_CommandResponse {
84 openxc_ControlCommand_Type type;
89 } openxc_CommandResponse;
91 typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticRequest_payload_t;
93 typedef struct _openxc_DiagnosticRequest {
103 openxc_DiagnosticRequest_payload_t payload;
104 bool has_multiple_responses;
105 bool multiple_responses;
110 bool has_decoded_type;
111 openxc_DiagnosticRequest_DecodedType decoded_type;
112 } openxc_DiagnosticRequest;
114 typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticResponse_payload_t;
116 typedef struct _openxc_DiagnosticResponse {
127 bool has_negative_response_code;
128 uint32_t negative_response_code;
130 openxc_DiagnosticResponse_payload_t payload;
133 } openxc_DiagnosticResponse;
135 typedef struct _openxc_DynamicField {
137 openxc_DynamicField_Type type;
138 bool has_string_value;
139 char string_value[100];
140 bool has_numeric_value;
141 double numeric_value;
142 bool has_boolean_value;
144 } openxc_DynamicField;
146 typedef struct _openxc_PassthroughModeControlCommand {
151 } openxc_PassthroughModeControlCommand;
153 typedef struct _openxc_PayloadFormatCommand {
155 openxc_PayloadFormatCommand_PayloadFormat format;
156 } openxc_PayloadFormatCommand;
158 typedef struct _openxc_PredefinedObd2RequestsCommand {
161 } openxc_PredefinedObd2RequestsCommand;
163 typedef struct _openxc_DiagnosticControlCommand {
165 openxc_DiagnosticRequest request;
167 openxc_DiagnosticControlCommand_Action action;
168 } openxc_DiagnosticControlCommand;
170 typedef struct _openxc_SimpleMessage {
174 openxc_DynamicField value;
176 openxc_DynamicField event;
177 } openxc_SimpleMessage;
179 typedef struct _openxc_ControlCommand {
181 openxc_ControlCommand_Type type;
182 bool has_diagnostic_request;
183 openxc_DiagnosticControlCommand diagnostic_request;
184 bool has_passthrough_mode_request;
185 openxc_PassthroughModeControlCommand passthrough_mode_request;
186 bool has_acceptance_filter_bypass_command;
187 openxc_AcceptanceFilterBypassCommand acceptance_filter_bypass_command;
188 bool has_payload_format_command;
189 openxc_PayloadFormatCommand payload_format_command;
190 bool has_predefined_obd2_requests_command;
191 openxc_PredefinedObd2RequestsCommand predefined_obd2_requests_command;
192 } openxc_ControlCommand;
194 typedef struct _openxc_VehicleMessage {
196 openxc_VehicleMessage_Type type;
197 bool has_can_message;
198 openxc_CanMessage can_message;
199 bool has_simple_message;
200 openxc_SimpleMessage simple_message;
201 bool has_diagnostic_response;
202 openxc_DiagnosticResponse diagnostic_response;
203 bool has_control_command;
204 openxc_ControlCommand control_command;
205 bool has_command_response;
206 openxc_CommandResponse command_response;
207 } openxc_VehicleMessage;
209 /* Default values for struct fields */
211 /* Initializer values for message structs */
212 #define openxc_VehicleMessage_init_default {false, (openxc_VehicleMessage_Type)0, false, openxc_CanMessage_init_default, false, openxc_SimpleMessage_init_default, false, openxc_DiagnosticResponse_init_default, false, openxc_ControlCommand_init_default, false, openxc_CommandResponse_init_default}
213 #define openxc_CanMessage_init_default {false, 0, false, 0, false, {0, {0}}, false, (openxc_CanMessage_FrameFormat)0}
214 #define openxc_ControlCommand_init_default {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_default, false, openxc_PassthroughModeControlCommand_init_default, false, openxc_AcceptanceFilterBypassCommand_init_default, false, openxc_PayloadFormatCommand_init_default, false, openxc_PredefinedObd2RequestsCommand_init_default}
215 #define openxc_DiagnosticControlCommand_init_default {false, openxc_DiagnosticRequest_init_default, false, (openxc_DiagnosticControlCommand_Action)0}
216 #define openxc_PassthroughModeControlCommand_init_default {false, 0, false, 0}
217 #define openxc_AcceptanceFilterBypassCommand_init_default {false, 0, false, 0}
218 #define openxc_PayloadFormatCommand_init_default {false, (openxc_PayloadFormatCommand_PayloadFormat)0}
219 #define openxc_PredefinedObd2RequestsCommand_init_default {false, 0}
220 #define openxc_CommandResponse_init_default {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
221 #define openxc_DiagnosticRequest_init_default {false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0, false, 0, false, "", false, (openxc_DiagnosticRequest_DecodedType)0}
222 #define openxc_DiagnosticResponse_init_default {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
223 #define openxc_DynamicField_init_default {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
224 #define openxc_SimpleMessage_init_default {false, "", false, openxc_DynamicField_init_default, false, openxc_DynamicField_init_default}
225 #define openxc_VehicleMessage_init_zero {false, (openxc_VehicleMessage_Type)0, false, openxc_CanMessage_init_zero, false, openxc_SimpleMessage_init_zero, false, openxc_DiagnosticResponse_init_zero, false, openxc_ControlCommand_init_zero, false, openxc_CommandResponse_init_zero}
226 #define openxc_CanMessage_init_zero {false, 0, false, 0, false, {0, {0}}, false, (openxc_CanMessage_FrameFormat)0}
227 #define openxc_ControlCommand_init_zero {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_zero, false, openxc_PassthroughModeControlCommand_init_zero, false, openxc_AcceptanceFilterBypassCommand_init_zero, false, openxc_PayloadFormatCommand_init_zero, false, openxc_PredefinedObd2RequestsCommand_init_zero}
228 #define openxc_DiagnosticControlCommand_init_zero {false, openxc_DiagnosticRequest_init_zero, false, (openxc_DiagnosticControlCommand_Action)0}
229 #define openxc_PassthroughModeControlCommand_init_zero {false, 0, false, 0}
230 #define openxc_AcceptanceFilterBypassCommand_init_zero {false, 0, false, 0}
231 #define openxc_PayloadFormatCommand_init_zero {false, (openxc_PayloadFormatCommand_PayloadFormat)0}
232 #define openxc_PredefinedObd2RequestsCommand_init_zero {false, 0}
233 #define openxc_CommandResponse_init_zero {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
234 #define openxc_DiagnosticRequest_init_zero {false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0, false, 0, false, "", false, (openxc_DiagnosticRequest_DecodedType)0}
235 #define openxc_DiagnosticResponse_init_zero {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
236 #define openxc_DynamicField_init_zero {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
237 #define openxc_SimpleMessage_init_zero {false, "", false, openxc_DynamicField_init_zero, false, openxc_DynamicField_init_zero}
239 /* Field tags (for use in manual encoding/decoding) */
240 #define openxc_AcceptanceFilterBypassCommand_bus_tag 1
241 #define openxc_AcceptanceFilterBypassCommand_bypass_tag 2
242 #define openxc_CanMessage_bus_tag 1
243 #define openxc_CanMessage_id_tag 2
244 #define openxc_CanMessage_data_tag 3
245 #define openxc_CanMessage_frame_format_tag 4
246 #define openxc_CommandResponse_type_tag 1
247 #define openxc_CommandResponse_message_tag 2
248 #define openxc_CommandResponse_status_tag 3
249 #define openxc_DiagnosticRequest_bus_tag 1
250 #define openxc_DiagnosticRequest_message_id_tag 2
251 #define openxc_DiagnosticRequest_mode_tag 3
252 #define openxc_DiagnosticRequest_pid_tag 4
253 #define openxc_DiagnosticRequest_payload_tag 5
254 #define openxc_DiagnosticRequest_multiple_responses_tag 6
255 #define openxc_DiagnosticRequest_frequency_tag 7
256 #define openxc_DiagnosticRequest_name_tag 8
257 #define openxc_DiagnosticRequest_decoded_type_tag 9
258 #define openxc_DiagnosticResponse_bus_tag 1
259 #define openxc_DiagnosticResponse_message_id_tag 2
260 #define openxc_DiagnosticResponse_mode_tag 3
261 #define openxc_DiagnosticResponse_pid_tag 4
262 #define openxc_DiagnosticResponse_success_tag 5
263 #define openxc_DiagnosticResponse_negative_response_code_tag 6
264 #define openxc_DiagnosticResponse_payload_tag 7
265 #define openxc_DiagnosticResponse_value_tag 8
266 #define openxc_DynamicField_type_tag 1
267 #define openxc_DynamicField_string_value_tag 2
268 #define openxc_DynamicField_numeric_value_tag 3
269 #define openxc_DynamicField_boolean_value_tag 4
270 #define openxc_PassthroughModeControlCommand_bus_tag 1
271 #define openxc_PassthroughModeControlCommand_enabled_tag 2
272 #define openxc_PayloadFormatCommand_format_tag 1
273 #define openxc_PredefinedObd2RequestsCommand_enabled_tag 1
274 #define openxc_DiagnosticControlCommand_request_tag 1
275 #define openxc_DiagnosticControlCommand_action_tag 2
276 #define openxc_SimpleMessage_name_tag 1
277 #define openxc_SimpleMessage_value_tag 2
278 #define openxc_SimpleMessage_event_tag 3
279 #define openxc_ControlCommand_type_tag 1
280 #define openxc_ControlCommand_diagnostic_request_tag 2
281 #define openxc_ControlCommand_passthrough_mode_request_tag 3
282 #define openxc_ControlCommand_acceptance_filter_bypass_command_tag 4
283 #define openxc_ControlCommand_payload_format_command_tag 5
284 #define openxc_ControlCommand_predefined_obd2_requests_command_tag 6
285 #define openxc_VehicleMessage_type_tag 1
286 #define openxc_VehicleMessage_can_message_tag 2
287 #define openxc_VehicleMessage_simple_message_tag 3
288 #define openxc_VehicleMessage_diagnostic_response_tag 4
289 #define openxc_VehicleMessage_control_command_tag 5
290 #define openxc_VehicleMessage_command_response_tag 6
292 /* Struct field encoding specification for nanopb */
293 extern const pb_field_t openxc_VehicleMessage_fields[7];
294 extern const pb_field_t openxc_CanMessage_fields[5];
295 extern const pb_field_t openxc_ControlCommand_fields[7];
296 extern const pb_field_t openxc_DiagnosticControlCommand_fields[3];
297 extern const pb_field_t openxc_PassthroughModeControlCommand_fields[3];
298 extern const pb_field_t openxc_AcceptanceFilterBypassCommand_fields[3];
299 extern const pb_field_t openxc_PayloadFormatCommand_fields[2];
300 extern const pb_field_t openxc_PredefinedObd2RequestsCommand_fields[2];
301 extern const pb_field_t openxc_CommandResponse_fields[4];
302 extern const pb_field_t openxc_DiagnosticRequest_fields[10];
303 extern const pb_field_t openxc_DiagnosticResponse_fields[9];
304 extern const pb_field_t openxc_DynamicField_fields[5];
305 extern const pb_field_t openxc_SimpleMessage_fields[4];
307 /* Maximum encoded size of messages (where known) */
308 #define openxc_VehicleMessage_size 716
309 #define openxc_CanMessage_size 33
310 #define openxc_ControlCommand_size 126
311 #define openxc_DiagnosticControlCommand_size 76
312 #define openxc_PassthroughModeControlCommand_size 13
313 #define openxc_AcceptanceFilterBypassCommand_size 13
314 #define openxc_PayloadFormatCommand_size 6
315 #define openxc_PredefinedObd2RequestsCommand_size 2
316 #define openxc_CommandResponse_size 139
317 #define openxc_DiagnosticRequest_size 68
318 #define openxc_DiagnosticResponse_size 56
319 #define openxc_DynamicField_size 119
320 #define openxc_SimpleMessage_size 344