aboutsummaryrefslogtreecommitdiffstats
path: root/gen/cpp/openxc.pb.h
blob: ca87e0bc2330b7155b32530698528af83aeb4e40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
/* Automatically generated nanopb header */
/* Generated by nanopb-0.3.1 at Mon Oct  6 22:07:24 2014. */

#ifndef PB_OPENXC_PB_H_INCLUDED
#define PB_OPENXC_PB_H_INCLUDED
#include <pb.h>

#if PB_PROTO_HEADER_VERSION != 30
#error Regenerate this file with the current version of nanopb generator.
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* Enum definitions */
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_COMMAND_RESPONSE = 5
} openxc_VehicleMessage_Type;

typedef enum _openxc_RawMessage_FrameFormat {
    openxc_RawMessage_FrameFormat_STANDARD = 1,
    openxc_RawMessage_FrameFormat_EXTENDED = 2
} openxc_RawMessage_FrameFormat;

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_ACCEPTANCE_FILTER_BYPASS = 5,
    openxc_ControlCommand_Type_PAYLOAD_FORMAT = 6,
    openxc_ControlCommand_Type_PREDEFINED_OBD2_REQUESTS = 7
} openxc_ControlCommand_Type;

typedef enum _openxc_DiagnosticControlCommand_Action {
    openxc_DiagnosticControlCommand_Action_ADD = 1,
    openxc_DiagnosticControlCommand_Action_CANCEL = 2
} openxc_DiagnosticControlCommand_Action;

typedef enum _openxc_PayloadFormatCommand_PayloadFormat {
    openxc_PayloadFormatCommand_PayloadFormat_JSON = 1,
    openxc_PayloadFormatCommand_PayloadFormat_PROTOBUF = 2
} openxc_PayloadFormatCommand_PayloadFormat;

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,
    openxc_TranslatedMessage_Type_BOOL = 3,
    openxc_TranslatedMessage_Type_EVENTED_STRING = 4,
    openxc_TranslatedMessage_Type_EVENTED_NUM = 5,
    openxc_TranslatedMessage_Type_EVENTED_BOOL = 6
} openxc_TranslatedMessage_Type;

/* Struct definitions */
typedef struct _openxc_AcceptanceFilterBypassCommand {
    bool has_bus;
    int32_t bus;
    bool has_bypass;
    bool bypass;
} openxc_AcceptanceFilterBypassCommand;

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 PB_BYTES_ARRAY_T(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 PB_BYTES_ARRAY_T(8) openxc_DiagnosticResponse_payload_t;

typedef struct _openxc_DiagnosticResponse {
    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_success;
    bool success;
    bool has_negative_response_code;
    uint32_t negative_response_code;
    bool has_payload;
    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_enabled;
    bool enabled;
} openxc_PassthroughModeControlCommand;

typedef struct _openxc_PayloadFormatCommand {
    bool has_format;
    openxc_PayloadFormatCommand_PayloadFormat format;
} openxc_PayloadFormatCommand;

typedef struct _openxc_PredefinedObd2RequestsCommand {
    bool has_enabled;
    bool enabled;
} openxc_PredefinedObd2RequestsCommand;

typedef PB_BYTES_ARRAY_T(8) openxc_RawMessage_data_t;

typedef struct _openxc_RawMessage {
    bool has_bus;
    int32_t bus;
    bool has_message_id;
    uint32_t message_id;
    bool has_data;
    openxc_RawMessage_data_t data;
    bool has_frame_format;
    openxc_RawMessage_FrameFormat frame_format;
} 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_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;
    bool has_acceptance_filter_bypass_command;
    openxc_AcceptanceFilterBypassCommand acceptance_filter_bypass_command;
    bool has_payload_format_command;
    openxc_PayloadFormatCommand payload_format_command;
    bool has_predefined_obd2_requests_command;
    openxc_PredefinedObd2RequestsCommand predefined_obd2_requests_command;
} openxc_ControlCommand;

typedef struct _openxc_VehicleMessage {
    bool has_type;
    openxc_VehicleMessage_Type type;
    bool has_raw_message;
    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 */

/* Initializer values for message structs */
#define openxc_VehicleMessage_init_default       {false, (openxc_VehicleMessage_Type)0, false, openxc_RawMessage_init_default, false, openxc_TranslatedMessage_init_default, false, openxc_DiagnosticResponse_init_default, false, openxc_ControlCommand_init_default, false, openxc_CommandResponse_init_default}
#define openxc_RawMessage_init_default           {false, 0, false, 0, false, {0, {0}}, false, (openxc_RawMessage_FrameFormat)0}
#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}
#define openxc_DiagnosticControlCommand_init_default {false, openxc_DiagnosticRequest_init_default, false, (openxc_DiagnosticControlCommand_Action)0}
#define openxc_PassthroughModeControlCommand_init_default {false, 0, false, 0}
#define openxc_AcceptanceFilterBypassCommand_init_default {false, 0, false, 0}
#define openxc_PayloadFormatCommand_init_default {false, (openxc_PayloadFormatCommand_PayloadFormat)0}
#define openxc_PredefinedObd2RequestsCommand_init_default {false, 0}
#define openxc_CommandResponse_init_default      {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
#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}
#define openxc_DiagnosticResponse_init_default   {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
#define openxc_DynamicField_init_default         {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
#define openxc_TranslatedMessage_init_default    {false, (openxc_TranslatedMessage_Type)0, false, "", false, openxc_DynamicField_init_default, false, openxc_DynamicField_init_default}
#define openxc_VehicleMessage_init_zero          {false, (openxc_VehicleMessage_Type)0, false, openxc_RawMessage_init_zero, false, openxc_TranslatedMessage_init_zero, false, openxc_DiagnosticResponse_init_zero, false, openxc_ControlCommand_init_zero, false, openxc_CommandResponse_init_zero}
#define openxc_RawMessage_init_zero              {false, 0, false, 0, false, {0, {0}}, false, (openxc_RawMessage_FrameFormat)0}
#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}
#define openxc_DiagnosticControlCommand_init_zero {false, openxc_DiagnosticRequest_init_zero, false, (openxc_DiagnosticControlCommand_Action)0}
#define openxc_PassthroughModeControlCommand_init_zero {false, 0, false, 0}
#define openxc_AcceptanceFilterBypassCommand_init_zero {false, 0, false, 0}
#define openxc_PayloadFormatCommand_init_zero    {false, (openxc_PayloadFormatCommand_PayloadFormat)0}
#define openxc_PredefinedObd2RequestsCommand_init_zero {false, 0}
#define openxc_CommandResponse_init_zero         {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
#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}
#define openxc_DiagnosticResponse_init_zero      {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
#define openxc_DynamicField_init_zero            {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
#define openxc_TranslatedMessage_init_zero       {false, (openxc_TranslatedMessage_Type)0, false, "", false, openxc_DynamicField_init_zero, false, openxc_DynamicField_init_zero}

/* Field tags (for use in manual encoding/decoding) */
#define openxc_AcceptanceFilterBypassCommand_bus_tag 1
#define openxc_AcceptanceFilterBypassCommand_bypass_tag 2
#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_enabled_tag 2
#define openxc_PayloadFormatCommand_format_tag   1
#define openxc_PredefinedObd2RequestsCommand_enabled_tag 1
#define openxc_RawMessage_bus_tag                1
#define openxc_RawMessage_message_id_tag         2
#define openxc_RawMessage_data_tag               3
#define openxc_RawMessage_frame_format_tag       4
#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_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_ControlCommand_acceptance_filter_bypass_command_tag 4
#define openxc_ControlCommand_payload_format_command_tag 5
#define openxc_ControlCommand_predefined_obd2_requests_command_tag 6
#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[7];
extern const pb_field_t openxc_RawMessage_fields[5];
extern const pb_field_t openxc_ControlCommand_fields[7];
extern const pb_field_t openxc_DiagnosticControlCommand_fields[3];
extern const pb_field_t openxc_PassthroughModeControlCommand_fields[3];
extern const pb_field_t openxc_AcceptanceFilterBypassCommand_fields[3];
extern const pb_field_t openxc_PayloadFormatCommand_fields[2];
extern const pb_field_t openxc_PredefinedObd2RequestsCommand_fields[2];
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               722
#define openxc_RawMessage_size                   33
#define openxc_ControlCommand_size               126
#define openxc_DiagnosticControlCommand_size     76
#define openxc_PassthroughModeControlCommand_size 13
#define openxc_AcceptanceFilterBypassCommand_size 13
#define openxc_PayloadFormatCommand_size         6
#define openxc_PredefinedObd2RequestsCommand_size 2
#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" */
#endif

#endif