1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.3.1 at Wed Sep 14 16:47:53 2016. */
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 #define MAX_ISOTP_BYTES 4095
18 /* Enum definitions */
19 typedef enum _openxc_VehicleMessage_Type {
20 openxc_VehicleMessage_Type_CAN = 1,
21 openxc_VehicleMessage_Type_SIMPLE = 2,
22 openxc_VehicleMessage_Type_DIAGNOSTIC = 3,
23 openxc_VehicleMessage_Type_CONTROL_COMMAND = 4,
24 openxc_VehicleMessage_Type_COMMAND_RESPONSE = 5
25 } openxc_VehicleMessage_Type;
27 typedef enum _openxc_CanMessage_FrameFormat {
28 openxc_CanMessage_FrameFormat_STANDARD = 1,
29 openxc_CanMessage_FrameFormat_EXTENDED = 2
30 } openxc_CanMessage_FrameFormat;
32 typedef enum _openxc_ControlCommand_Type {
33 openxc_ControlCommand_Type_VERSION = 1,
34 openxc_ControlCommand_Type_DEVICE_ID = 2,
35 openxc_ControlCommand_Type_DIAGNOSTIC = 3,
36 openxc_ControlCommand_Type_PASSTHROUGH = 4,
37 openxc_ControlCommand_Type_ACCEPTANCE_FILTER_BYPASS = 5,
38 openxc_ControlCommand_Type_PAYLOAD_FORMAT = 6,
39 openxc_ControlCommand_Type_PREDEFINED_OBD2_REQUESTS = 7,
40 openxc_ControlCommand_Type_MODEM_CONFIGURATION = 8,
41 openxc_ControlCommand_Type_RTC_CONFIGURATION = 9,
42 openxc_ControlCommand_Type_SD_MOUNT_STATUS = 10,
43 openxc_ControlCommand_Type_PLATFORM = 11
44 } openxc_ControlCommand_Type;
46 typedef enum _openxc_DiagnosticControlCommand_Action {
47 openxc_DiagnosticControlCommand_Action_ADD = 1,
48 openxc_DiagnosticControlCommand_Action_CANCEL = 2
49 } openxc_DiagnosticControlCommand_Action;
51 typedef enum _openxc_PayloadFormatCommand_PayloadFormat {
52 openxc_PayloadFormatCommand_PayloadFormat_JSON = 1,
53 openxc_PayloadFormatCommand_PayloadFormat_PROTOBUF = 2,
54 openxc_PayloadFormatCommand_PayloadFormat_MESSAGEPACK = 3
55 } openxc_PayloadFormatCommand_PayloadFormat;
57 typedef enum _openxc_NetworkOperatorSettings_OperatorSelectMode {
58 openxc_NetworkOperatorSettings_OperatorSelectMode_AUTOMATIC = 0,
59 openxc_NetworkOperatorSettings_OperatorSelectMode_MANUAL = 1,
60 openxc_NetworkOperatorSettings_OperatorSelectMode_DEREGISTER = 2,
61 openxc_NetworkOperatorSettings_OperatorSelectMode_SET_ONLY = 3,
62 openxc_NetworkOperatorSettings_OperatorSelectMode_MANUAL_AUTOMATIC = 4
63 } openxc_NetworkOperatorSettings_OperatorSelectMode;
65 typedef enum _openxc_NetworkOperatorSettings_NetworkDescriptor_NetworkType {
66 openxc_NetworkOperatorSettings_NetworkDescriptor_NetworkType_GSM = 0,
67 openxc_NetworkOperatorSettings_NetworkDescriptor_NetworkType_UTRAN = 2
68 } openxc_NetworkOperatorSettings_NetworkDescriptor_NetworkType;
70 typedef enum _openxc_DiagnosticRequest_DecodedType {
71 openxc_DiagnosticRequest_DecodedType_NONE = 1,
72 openxc_DiagnosticRequest_DecodedType_OBD2 = 2
73 } openxc_DiagnosticRequest_DecodedType;
75 typedef enum _openxc_DynamicField_Type {
76 openxc_DynamicField_Type_STRING = 1,
77 openxc_DynamicField_Type_NUM = 2,
78 openxc_DynamicField_Type_BOOL = 3,
79 openxc_DynamicField_Type_BYTES = 4
80 } openxc_DynamicField_Type;
82 /* Struct definitions */
83 typedef struct _openxc_NetworkDataSettings {
85 } openxc_NetworkDataSettings;
87 typedef struct _openxc_AcceptanceFilterBypassCommand {
92 } openxc_AcceptanceFilterBypassCommand;
94 typedef PB_BYTES_ARRAY_T(8) openxc_CanMessage_data_t;
96 typedef struct _openxc_CanMessage {
102 openxc_CanMessage_data_t data;
103 bool has_frame_format;
104 openxc_CanMessage_FrameFormat frame_format;
107 typedef struct _openxc_CommandResponse {
109 openxc_ControlCommand_Type type;
114 } openxc_CommandResponse;
116 typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticRequest_payload_t;
118 typedef struct _openxc_DiagnosticRequest {
128 openxc_DiagnosticRequest_payload_t payload;
129 bool has_multiple_responses;
130 bool multiple_responses;
135 bool has_decoded_type;
136 openxc_DiagnosticRequest_DecodedType decoded_type;
137 } openxc_DiagnosticRequest;
139 typedef PB_BYTES_ARRAY_T(255) openxc_DiagnosticResponse_payload_t;
141 typedef struct _openxc_DiagnosticResponse {
152 bool has_negative_response_code;
153 uint32_t negative_response_code;
155 openxc_DiagnosticResponse_payload_t payload;
158 } openxc_DiagnosticResponse;
160 typedef struct _openxc_DynamicField {
162 openxc_DynamicField_Type type;
163 bool has_string_value;
164 char string_value[100];
165 bool has_numeric_value;
166 double numeric_value;
167 bool has_boolean_value;
169 uint8_t bytes_value[MAX_ISOTP_BYTES];
170 uint32_t length_array;
171 bool has_bytes_value;
172 } openxc_DynamicField;
174 typedef struct _openxc_NetworkOperatorSettings_NetworkDescriptor {
177 bool has_networkType;
178 openxc_NetworkOperatorSettings_NetworkDescriptor_NetworkType networkType;
179 } openxc_NetworkOperatorSettings_NetworkDescriptor;
181 typedef struct _openxc_PassthroughModeControlCommand {
186 } openxc_PassthroughModeControlCommand;
188 typedef struct _openxc_PayloadFormatCommand {
190 openxc_PayloadFormatCommand_PayloadFormat format;
191 } openxc_PayloadFormatCommand;
193 typedef struct _openxc_PredefinedObd2RequestsCommand {
196 } openxc_PredefinedObd2RequestsCommand;
198 typedef struct _openxc_RTCConfigurationCommand {
201 } openxc_RTCConfigurationCommand;
203 typedef struct _openxc_ServerConnectSettings {
208 } openxc_ServerConnectSettings;
210 typedef struct _openxc_DiagnosticControlCommand {
212 openxc_DiagnosticRequest request;
214 openxc_DiagnosticControlCommand_Action action;
215 } openxc_DiagnosticControlCommand;
217 typedef struct _openxc_NetworkOperatorSettings {
218 bool has_allowDataRoaming;
219 bool allowDataRoaming;
220 bool has_operatorSelectMode;
221 openxc_NetworkOperatorSettings_OperatorSelectMode operatorSelectMode;
222 bool has_networkDescriptor;
223 openxc_NetworkOperatorSettings_NetworkDescriptor networkDescriptor;
224 } openxc_NetworkOperatorSettings;
226 typedef struct _openxc_SimpleMessage {
230 openxc_DynamicField value;
232 openxc_DynamicField event;
233 } openxc_SimpleMessage;
235 typedef struct _openxc_ModemConfigurationCommand {
236 bool has_networkOperatorSettings;
237 openxc_NetworkOperatorSettings networkOperatorSettings;
238 bool has_networkDataSettings;
239 openxc_NetworkDataSettings networkDataSettings;
240 bool has_serverConnectSettings;
241 openxc_ServerConnectSettings serverConnectSettings;
242 } openxc_ModemConfigurationCommand;
244 typedef struct _openxc_ControlCommand {
246 openxc_ControlCommand_Type type;
247 bool has_diagnostic_request;
248 openxc_DiagnosticControlCommand diagnostic_request;
249 bool has_passthrough_mode_request;
250 openxc_PassthroughModeControlCommand passthrough_mode_request;
251 bool has_acceptance_filter_bypass_command;
252 openxc_AcceptanceFilterBypassCommand acceptance_filter_bypass_command;
253 bool has_payload_format_command;
254 openxc_PayloadFormatCommand payload_format_command;
255 bool has_predefined_obd2_requests_command;
256 openxc_PredefinedObd2RequestsCommand predefined_obd2_requests_command;
257 bool has_modem_configuration_command;
258 openxc_ModemConfigurationCommand modem_configuration_command;
259 bool has_rtc_configuration_command;
260 openxc_RTCConfigurationCommand rtc_configuration_command;
261 } openxc_ControlCommand;
263 typedef struct _openxc_VehicleMessage {
265 openxc_VehicleMessage_Type type;
266 bool has_can_message;
267 openxc_CanMessage can_message;
268 bool has_simple_message;
269 openxc_SimpleMessage simple_message;
270 bool has_diagnostic_response;
271 openxc_DiagnosticResponse diagnostic_response;
272 bool has_control_command;
273 openxc_ControlCommand control_command;
274 bool has_command_response;
275 openxc_CommandResponse command_response;
278 } openxc_VehicleMessage;
280 /* Default values for struct fields */
282 /* Initializer values for message structs */
283 #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, false, 0}
284 #define openxc_CanMessage_init_default {false, 0, false, 0, false, {0, {0}}, false, (openxc_CanMessage_FrameFormat)0}
285 #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, false, openxc_ModemConfigurationCommand_init_default, false, openxc_RTCConfigurationCommand_init_default}
286 #define openxc_DiagnosticControlCommand_init_default {false, openxc_DiagnosticRequest_init_default, false, (openxc_DiagnosticControlCommand_Action)0}
287 #define openxc_PassthroughModeControlCommand_init_default {false, 0, false, 0}
288 #define openxc_AcceptanceFilterBypassCommand_init_default {false, 0, false, 0}
289 #define openxc_PayloadFormatCommand_init_default {false, (openxc_PayloadFormatCommand_PayloadFormat)0}
290 #define openxc_PredefinedObd2RequestsCommand_init_default {false, 0}
291 #define openxc_NetworkOperatorSettings_init_default {false, 0, false, (openxc_NetworkOperatorSettings_OperatorSelectMode)0, false, openxc_NetworkOperatorSettings_NetworkDescriptor_init_default}
292 #define openxc_NetworkOperatorSettings_NetworkDescriptor_init_default {false, 0, false, (openxc_NetworkOperatorSettings_NetworkDescriptor_NetworkType)0}
293 #define openxc_NetworkDataSettings_init_default {{{NULL}, NULL}}
294 #define openxc_ServerConnectSettings_init_default {false, "", false, 0}
295 #define openxc_ModemConfigurationCommand_init_default {false, openxc_NetworkOperatorSettings_init_default, false, openxc_NetworkDataSettings_init_default, false, openxc_ServerConnectSettings_init_default}
296 #define openxc_RTCConfigurationCommand_init_default {false, 0}
297 #define openxc_CommandResponse_init_default {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
298 #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}
299 #define openxc_DiagnosticResponse_init_default {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
300 #define openxc_DynamicField_init_default {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
301 #define openxc_SimpleMessage_init_default {false, "", false, openxc_DynamicField_init_default, false, openxc_DynamicField_init_default}
302 #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, false, 0}
303 #define openxc_CanMessage_init_zero {false, 0, false, 0, false, {0, {0}}, false, (openxc_CanMessage_FrameFormat)0}
304 #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, false, openxc_ModemConfigurationCommand_init_zero, false, openxc_RTCConfigurationCommand_init_zero}
305 #define openxc_DiagnosticControlCommand_init_zero {false, openxc_DiagnosticRequest_init_zero, false, (openxc_DiagnosticControlCommand_Action)0}
306 #define openxc_PassthroughModeControlCommand_init_zero {false, 0, false, 0}
307 #define openxc_AcceptanceFilterBypassCommand_init_zero {false, 0, false, 0}
308 #define openxc_PayloadFormatCommand_init_zero {false, (openxc_PayloadFormatCommand_PayloadFormat)0}
309 #define openxc_PredefinedObd2RequestsCommand_init_zero {false, 0}
310 #define openxc_NetworkOperatorSettings_init_zero {false, 0, false, (openxc_NetworkOperatorSettings_OperatorSelectMode)0, false, openxc_NetworkOperatorSettings_NetworkDescriptor_init_zero}
311 #define openxc_NetworkOperatorSettings_NetworkDescriptor_init_zero {false, 0, false, (openxc_NetworkOperatorSettings_NetworkDescriptor_NetworkType)0}
312 #define openxc_NetworkDataSettings_init_zero {{{NULL}, NULL}}
313 #define openxc_ServerConnectSettings_init_zero {false, "", false, 0}
314 #define openxc_ModemConfigurationCommand_init_zero {false, openxc_NetworkOperatorSettings_init_zero, false, openxc_NetworkDataSettings_init_zero, false, openxc_ServerConnectSettings_init_zero}
315 #define openxc_RTCConfigurationCommand_init_zero {false, 0}
316 #define openxc_CommandResponse_init_zero {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
317 #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}
318 #define openxc_DiagnosticResponse_init_zero {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
319 #define openxc_DynamicField_init_zero {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
320 #define openxc_SimpleMessage_init_zero {false, "", false, openxc_DynamicField_init_zero, false, openxc_DynamicField_init_zero}
322 /* Field tags (for use in manual encoding/decoding) */
323 #define openxc_NetworkDataSettings_APN_tag 1
324 #define openxc_AcceptanceFilterBypassCommand_bus_tag 1
325 #define openxc_AcceptanceFilterBypassCommand_bypass_tag 2
326 #define openxc_CanMessage_bus_tag 1
327 #define openxc_CanMessage_id_tag 2
328 #define openxc_CanMessage_data_tag 3
329 #define openxc_CanMessage_frame_format_tag 4
330 #define openxc_CommandResponse_type_tag 1
331 #define openxc_CommandResponse_message_tag 2
332 #define openxc_CommandResponse_status_tag 3
333 #define openxc_DiagnosticRequest_bus_tag 1
334 #define openxc_DiagnosticRequest_message_id_tag 2
335 #define openxc_DiagnosticRequest_mode_tag 3
336 #define openxc_DiagnosticRequest_pid_tag 4
337 #define openxc_DiagnosticRequest_payload_tag 5
338 #define openxc_DiagnosticRequest_multiple_responses_tag 6
339 #define openxc_DiagnosticRequest_frequency_tag 7
340 #define openxc_DiagnosticRequest_name_tag 8
341 #define openxc_DiagnosticRequest_decoded_type_tag 9
342 #define openxc_DiagnosticResponse_bus_tag 1
343 #define openxc_DiagnosticResponse_message_id_tag 2
344 #define openxc_DiagnosticResponse_mode_tag 3
345 #define openxc_DiagnosticResponse_pid_tag 4
346 #define openxc_DiagnosticResponse_success_tag 5
347 #define openxc_DiagnosticResponse_negative_response_code_tag 6
348 #define openxc_DiagnosticResponse_payload_tag 7
349 #define openxc_DiagnosticResponse_value_tag 8
350 #define openxc_DynamicField_type_tag 1
351 #define openxc_DynamicField_string_value_tag 2
352 #define openxc_DynamicField_numeric_value_tag 3
353 #define openxc_DynamicField_boolean_value_tag 4
354 #define openxc_NetworkOperatorSettings_NetworkDescriptor_PLMN_tag 1
355 #define openxc_NetworkOperatorSettings_NetworkDescriptor_networkType_tag 2
356 #define openxc_PassthroughModeControlCommand_bus_tag 1
357 #define openxc_PassthroughModeControlCommand_enabled_tag 2
358 #define openxc_PayloadFormatCommand_format_tag 1
359 #define openxc_PredefinedObd2RequestsCommand_enabled_tag 1
360 #define openxc_RTCConfigurationCommand_unix_time_tag 1
361 #define openxc_ServerConnectSettings_host_tag 1
362 #define openxc_ServerConnectSettings_port_tag 2
363 #define openxc_DiagnosticControlCommand_request_tag 1
364 #define openxc_DiagnosticControlCommand_action_tag 2
365 #define openxc_NetworkOperatorSettings_allowDataRoaming_tag 1
366 #define openxc_NetworkOperatorSettings_operatorSelectMode_tag 2
367 #define openxc_NetworkOperatorSettings_networkDescriptor_tag 3
368 #define openxc_SimpleMessage_name_tag 1
369 #define openxc_SimpleMessage_value_tag 2
370 #define openxc_SimpleMessage_event_tag 3
371 #define openxc_ModemConfigurationCommand_networkOperatorSettings_tag 1
372 #define openxc_ModemConfigurationCommand_networkDataSettings_tag 2
373 #define openxc_ModemConfigurationCommand_serverConnectSettings_tag 3
374 #define openxc_ControlCommand_type_tag 1
375 #define openxc_ControlCommand_diagnostic_request_tag 2
376 #define openxc_ControlCommand_passthrough_mode_request_tag 3
377 #define openxc_ControlCommand_acceptance_filter_bypass_command_tag 4
378 #define openxc_ControlCommand_payload_format_command_tag 5
379 #define openxc_ControlCommand_predefined_obd2_requests_command_tag 6
380 #define openxc_ControlCommand_modem_configuration_command_tag 7
381 #define openxc_ControlCommand_rtc_configuration_command_tag 8
382 #define openxc_VehicleMessage_type_tag 1
383 #define openxc_VehicleMessage_can_message_tag 2
384 #define openxc_VehicleMessage_simple_message_tag 3
385 #define openxc_VehicleMessage_diagnostic_response_tag 4
386 #define openxc_VehicleMessage_control_command_tag 5
387 #define openxc_VehicleMessage_command_response_tag 6
388 #define openxc_VehicleMessage_timestamp_tag 7
390 /* Struct field encoding specification for nanopb */
391 extern const pb_field_t openxc_VehicleMessage_fields[8];
392 extern const pb_field_t openxc_CanMessage_fields[5];
393 extern const pb_field_t openxc_ControlCommand_fields[9];
394 extern const pb_field_t openxc_DiagnosticControlCommand_fields[3];
395 extern const pb_field_t openxc_PassthroughModeControlCommand_fields[3];
396 extern const pb_field_t openxc_AcceptanceFilterBypassCommand_fields[3];
397 extern const pb_field_t openxc_PayloadFormatCommand_fields[2];
398 extern const pb_field_t openxc_PredefinedObd2RequestsCommand_fields[2];
399 extern const pb_field_t openxc_NetworkOperatorSettings_fields[4];
400 extern const pb_field_t openxc_NetworkOperatorSettings_NetworkDescriptor_fields[3];
401 extern const pb_field_t openxc_NetworkDataSettings_fields[2];
402 extern const pb_field_t openxc_ServerConnectSettings_fields[3];
403 extern const pb_field_t openxc_ModemConfigurationCommand_fields[4];
404 extern const pb_field_t openxc_RTCConfigurationCommand_fields[2];
405 extern const pb_field_t openxc_CommandResponse_fields[4];
406 extern const pb_field_t openxc_DiagnosticRequest_fields[10];
407 extern const pb_field_t openxc_DiagnosticResponse_fields[9];
408 extern const pb_field_t openxc_DynamicField_fields[5];
409 extern const pb_field_t openxc_SimpleMessage_fields[4];
411 /* Maximum encoded size of messages (where known) */
412 #define openxc_CanMessage_size 33
413 #define openxc_DiagnosticControlCommand_size 76
414 #define openxc_PassthroughModeControlCommand_size 13
415 #define openxc_AcceptanceFilterBypassCommand_size 13
416 #define openxc_PayloadFormatCommand_size 6
417 #define openxc_PredefinedObd2RequestsCommand_size 2
418 #define openxc_NetworkOperatorSettings_size 22
419 #define openxc_NetworkOperatorSettings_NetworkDescriptor_size 12
420 #define openxc_ServerConnectSettings_size 137
421 #define openxc_RTCConfigurationCommand_size 6
422 #define openxc_CommandResponse_size 139
423 #define openxc_DiagnosticRequest_size 68
424 #define openxc_DiagnosticResponse_size 304
425 #define openxc_DynamicField_size 119
426 #define openxc_SimpleMessage_size 344