1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.3.1 at Sat Sep 20 22:56:34 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_RAW = 1,
19 openxc_VehicleMessage_Type_TRANSLATED = 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_ControlCommand_Type {
26 openxc_ControlCommand_Type_VERSION = 1,
27 openxc_ControlCommand_Type_DEVICE_ID = 2,
28 openxc_ControlCommand_Type_DIAGNOSTIC = 3,
29 openxc_ControlCommand_Type_PASSTHROUGH = 4
30 } openxc_ControlCommand_Type;
32 typedef enum _openxc_DiagnosticControlCommand_Action {
33 openxc_DiagnosticControlCommand_Action_ADD = 1,
34 openxc_DiagnosticControlCommand_Action_CANCEL = 2
35 } openxc_DiagnosticControlCommand_Action;
37 typedef enum _openxc_DiagnosticRequest_DecodedType {
38 openxc_DiagnosticRequest_DecodedType_NONE = 1,
39 openxc_DiagnosticRequest_DecodedType_OBD2 = 2
40 } openxc_DiagnosticRequest_DecodedType;
42 typedef enum _openxc_DynamicField_Type {
43 openxc_DynamicField_Type_STRING = 1,
44 openxc_DynamicField_Type_NUM = 2,
45 openxc_DynamicField_Type_BOOL = 3
46 } openxc_DynamicField_Type;
48 typedef enum _openxc_TranslatedMessage_Type {
49 openxc_TranslatedMessage_Type_STRING = 1,
50 openxc_TranslatedMessage_Type_NUM = 2,
51 openxc_TranslatedMessage_Type_BOOL = 3,
52 openxc_TranslatedMessage_Type_EVENTED_STRING = 4,
53 openxc_TranslatedMessage_Type_EVENTED_NUM = 5,
54 openxc_TranslatedMessage_Type_EVENTED_BOOL = 6
55 } openxc_TranslatedMessage_Type;
57 /* Struct definitions */
58 typedef struct _openxc_CommandResponse {
60 openxc_ControlCommand_Type type;
65 } openxc_CommandResponse;
67 typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticRequest_payload_t;
69 typedef struct _openxc_DiagnosticRequest {
79 openxc_DiagnosticRequest_payload_t payload;
80 bool has_multiple_responses;
81 bool multiple_responses;
86 bool has_decoded_type;
87 openxc_DiagnosticRequest_DecodedType decoded_type;
88 } openxc_DiagnosticRequest;
90 typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticResponse_payload_t;
92 typedef struct _openxc_DiagnosticResponse {
103 bool has_negative_response_code;
104 uint32_t negative_response_code;
106 openxc_DiagnosticResponse_payload_t payload;
109 } openxc_DiagnosticResponse;
111 typedef struct _openxc_DynamicField {
113 openxc_DynamicField_Type type;
114 bool has_string_value;
115 char string_value[100];
116 bool has_numeric_value;
117 double numeric_value;
118 bool has_boolean_value;
120 } openxc_DynamicField;
122 typedef struct _openxc_PassthroughModeControlCommand {
127 } openxc_PassthroughModeControlCommand;
129 typedef PB_BYTES_ARRAY_T(8) openxc_RawMessage_data_t;
131 typedef struct _openxc_RawMessage {
137 openxc_RawMessage_data_t data;
140 typedef struct _openxc_DiagnosticControlCommand {
142 openxc_DiagnosticRequest request;
144 openxc_DiagnosticControlCommand_Action action;
145 } openxc_DiagnosticControlCommand;
147 typedef struct _openxc_TranslatedMessage {
149 openxc_TranslatedMessage_Type type;
153 openxc_DynamicField value;
155 openxc_DynamicField event;
156 } openxc_TranslatedMessage;
158 typedef struct _openxc_ControlCommand {
160 openxc_ControlCommand_Type type;
161 bool has_diagnostic_request;
162 openxc_DiagnosticControlCommand diagnostic_request;
163 bool has_passthrough_mode_request;
164 openxc_PassthroughModeControlCommand passthrough_mode_request;
165 } openxc_ControlCommand;
167 typedef struct _openxc_VehicleMessage {
169 openxc_VehicleMessage_Type type;
170 bool has_raw_message;
171 openxc_RawMessage raw_message;
172 bool has_translated_message;
173 openxc_TranslatedMessage translated_message;
174 bool has_diagnostic_response;
175 openxc_DiagnosticResponse diagnostic_response;
176 bool has_control_command;
177 openxc_ControlCommand control_command;
178 bool has_command_response;
179 openxc_CommandResponse command_response;
180 } openxc_VehicleMessage;
182 /* Default values for struct fields */
184 /* Initializer values for message structs */
185 #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}
186 #define openxc_RawMessage_init_default {false, 0, false, 0, false, {0, {0}}}
187 #define openxc_ControlCommand_init_default {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_default, false, openxc_PassthroughModeControlCommand_init_default}
188 #define openxc_DiagnosticControlCommand_init_default {false, openxc_DiagnosticRequest_init_default, false, (openxc_DiagnosticControlCommand_Action)0}
189 #define openxc_PassthroughModeControlCommand_init_default {false, 0, false, 0}
190 #define openxc_CommandResponse_init_default {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
191 #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}
192 #define openxc_DiagnosticResponse_init_default {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
193 #define openxc_DynamicField_init_default {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
194 #define openxc_TranslatedMessage_init_default {false, (openxc_TranslatedMessage_Type)0, false, "", false, openxc_DynamicField_init_default, false, openxc_DynamicField_init_default}
195 #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}
196 #define openxc_RawMessage_init_zero {false, 0, false, 0, false, {0, {0}}}
197 #define openxc_ControlCommand_init_zero {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_zero, false, openxc_PassthroughModeControlCommand_init_zero}
198 #define openxc_DiagnosticControlCommand_init_zero {false, openxc_DiagnosticRequest_init_zero, false, (openxc_DiagnosticControlCommand_Action)0}
199 #define openxc_PassthroughModeControlCommand_init_zero {false, 0, false, 0}
200 #define openxc_CommandResponse_init_zero {false, (openxc_ControlCommand_Type)0, false, "", false, 0}
201 #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}
202 #define openxc_DiagnosticResponse_init_zero {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, {0, {0}}, false, 0}
203 #define openxc_DynamicField_init_zero {false, (openxc_DynamicField_Type)0, false, "", false, 0, false, 0}
204 #define openxc_TranslatedMessage_init_zero {false, (openxc_TranslatedMessage_Type)0, false, "", false, openxc_DynamicField_init_zero, false, openxc_DynamicField_init_zero}
206 /* Field tags (for use in manual encoding/decoding) */
207 #define openxc_CommandResponse_type_tag 1
208 #define openxc_CommandResponse_message_tag 2
209 #define openxc_CommandResponse_status_tag 3
210 #define openxc_DiagnosticRequest_bus_tag 1
211 #define openxc_DiagnosticRequest_message_id_tag 2
212 #define openxc_DiagnosticRequest_mode_tag 3
213 #define openxc_DiagnosticRequest_pid_tag 4
214 #define openxc_DiagnosticRequest_payload_tag 5
215 #define openxc_DiagnosticRequest_multiple_responses_tag 6
216 #define openxc_DiagnosticRequest_frequency_tag 7
217 #define openxc_DiagnosticRequest_name_tag 8
218 #define openxc_DiagnosticRequest_decoded_type_tag 9
219 #define openxc_DiagnosticResponse_bus_tag 1
220 #define openxc_DiagnosticResponse_message_id_tag 2
221 #define openxc_DiagnosticResponse_mode_tag 3
222 #define openxc_DiagnosticResponse_pid_tag 4
223 #define openxc_DiagnosticResponse_success_tag 5
224 #define openxc_DiagnosticResponse_negative_response_code_tag 6
225 #define openxc_DiagnosticResponse_payload_tag 7
226 #define openxc_DiagnosticResponse_value_tag 8
227 #define openxc_DynamicField_type_tag 1
228 #define openxc_DynamicField_string_value_tag 2
229 #define openxc_DynamicField_numeric_value_tag 3
230 #define openxc_DynamicField_boolean_value_tag 4
231 #define openxc_PassthroughModeControlCommand_bus_tag 1
232 #define openxc_PassthroughModeControlCommand_enabled_tag 2
233 #define openxc_RawMessage_bus_tag 1
234 #define openxc_RawMessage_message_id_tag 2
235 #define openxc_RawMessage_data_tag 3
236 #define openxc_DiagnosticControlCommand_request_tag 1
237 #define openxc_DiagnosticControlCommand_action_tag 2
238 #define openxc_TranslatedMessage_type_tag 1
239 #define openxc_TranslatedMessage_name_tag 2
240 #define openxc_TranslatedMessage_value_tag 3
241 #define openxc_TranslatedMessage_event_tag 4
242 #define openxc_ControlCommand_type_tag 1
243 #define openxc_ControlCommand_diagnostic_request_tag 2
244 #define openxc_ControlCommand_passthrough_mode_request_tag 3
245 #define openxc_VehicleMessage_type_tag 1
246 #define openxc_VehicleMessage_raw_message_tag 2
247 #define openxc_VehicleMessage_translated_message_tag 3
248 #define openxc_VehicleMessage_diagnostic_response_tag 4
249 #define openxc_VehicleMessage_control_command_tag 5
250 #define openxc_VehicleMessage_command_response_tag 6
252 /* Struct field encoding specification for nanopb */
253 extern const pb_field_t openxc_VehicleMessage_fields[7];
254 extern const pb_field_t openxc_RawMessage_fields[4];
255 extern const pb_field_t openxc_ControlCommand_fields[4];
256 extern const pb_field_t openxc_DiagnosticControlCommand_fields[3];
257 extern const pb_field_t openxc_PassthroughModeControlCommand_fields[3];
258 extern const pb_field_t openxc_CommandResponse_fields[4];
259 extern const pb_field_t openxc_DiagnosticRequest_fields[10];
260 extern const pb_field_t openxc_DiagnosticResponse_fields[9];
261 extern const pb_field_t openxc_DynamicField_fields[5];
262 extern const pb_field_t openxc_TranslatedMessage_fields[5];
264 /* Maximum encoded size of messages (where known) */
265 #define openxc_VehicleMessage_size 689
266 #define openxc_RawMessage_size 27
267 #define openxc_ControlCommand_size 99
268 #define openxc_DiagnosticControlCommand_size 76
269 #define openxc_PassthroughModeControlCommand_size 13
270 #define openxc_CommandResponse_size 139
271 #define openxc_DiagnosticRequest_size 68
272 #define openxc_DiagnosticResponse_size 56
273 #define openxc_DynamicField_size 119
274 #define openxc_TranslatedMessage_size 350