1 /* Automatically generated nanopb header */
2 /* Generated by nanopb-0.2.5 at Sun Aug 10 22:03:53 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_COMMAND_RESPONSE = 5
19 } openxc_VehicleMessage_Type;
21 typedef enum _openxc_ControlCommand_Type {
22 openxc_ControlCommand_Type_VERSION = 1,
23 openxc_ControlCommand_Type_DEVICE_ID = 2,
24 openxc_ControlCommand_Type_DIAGNOSTIC = 3
25 } openxc_ControlCommand_Type;
27 typedef enum _openxc_DiagnosticRequest_DecodedType {
28 openxc_DiagnosticRequest_DecodedType_NONE = 1,
29 openxc_DiagnosticRequest_DecodedType_OBD2 = 2
30 } openxc_DiagnosticRequest_DecodedType;
32 typedef enum _openxc_DiagnosticRequest_Action {
33 openxc_DiagnosticRequest_Action_ADD = 1,
34 openxc_DiagnosticRequest_Action_CANCEL = 3
35 } openxc_DiagnosticRequest_Action;
37 typedef enum _openxc_DynamicField_Type {
38 openxc_DynamicField_Type_STRING = 1,
39 openxc_DynamicField_Type_NUM = 2,
40 openxc_DynamicField_Type_BOOL = 3
41 } openxc_DynamicField_Type;
43 typedef enum _openxc_TranslatedMessage_Type {
44 openxc_TranslatedMessage_Type_STRING = 1,
45 openxc_TranslatedMessage_Type_NUM = 2,
46 openxc_TranslatedMessage_Type_BOOL = 3,
47 openxc_TranslatedMessage_Type_EVENTED_STRING = 4,
48 openxc_TranslatedMessage_Type_EVENTED_NUM = 5,
49 openxc_TranslatedMessage_Type_EVENTED_BOOL = 6
50 } openxc_TranslatedMessage_Type;
52 /* Struct definitions */
53 typedef struct _openxc_CommandResponse {
55 openxc_ControlCommand_Type type;
60 } openxc_CommandResponse;
65 } openxc_DiagnosticRequest_payload_t;
67 typedef struct _openxc_DiagnosticRequest {
77 openxc_DiagnosticRequest_payload_t payload;
78 bool has_multiple_responses;
79 bool multiple_responses;
84 bool has_decoded_type;
85 openxc_DiagnosticRequest_DecodedType decoded_type;
87 openxc_DiagnosticRequest_Action action;
88 } openxc_DiagnosticRequest;
93 } openxc_DiagnosticResponse_payload_t;
95 typedef struct _openxc_DiagnosticResponse {
106 bool has_negative_response_code;
107 uint32_t negative_response_code;
109 openxc_DiagnosticResponse_payload_t payload;
112 } openxc_DiagnosticResponse;
114 typedef struct _openxc_DynamicField {
116 openxc_DynamicField_Type type;
117 bool has_string_value;
118 char string_value[100];
119 bool has_numeric_value;
120 double numeric_value;
121 bool has_boolean_value;
123 } openxc_DynamicField;
128 } openxc_RawMessage_data_t;
130 typedef struct _openxc_RawMessage {
136 openxc_RawMessage_data_t data;
139 typedef struct _openxc_ControlCommand {
141 openxc_ControlCommand_Type type;
142 bool has_diagnostic_request;
143 openxc_DiagnosticRequest diagnostic_request;
144 } openxc_ControlCommand;
146 typedef struct _openxc_TranslatedMessage {
148 openxc_TranslatedMessage_Type type;
152 openxc_DynamicField value;
154 openxc_DynamicField event;
155 } openxc_TranslatedMessage;
157 typedef struct _openxc_VehicleMessage {
159 openxc_VehicleMessage_Type type;
160 bool has_raw_message;
161 openxc_RawMessage raw_message;
162 bool has_translated_message;
163 openxc_TranslatedMessage translated_message;
164 bool has_diagnostic_response;
165 openxc_DiagnosticResponse diagnostic_response;
166 bool has_control_command;
167 openxc_ControlCommand control_command;
168 bool has_command_response;
169 openxc_CommandResponse command_response;
170 } openxc_VehicleMessage;
172 /* Default values for struct fields */
174 /* Field tags (for use in manual encoding/decoding) */
175 #define openxc_CommandResponse_type_tag 1
176 #define openxc_CommandResponse_message_tag 2
177 #define openxc_CommandResponse_status_tag 3
178 #define openxc_DiagnosticRequest_bus_tag 1
179 #define openxc_DiagnosticRequest_message_id_tag 2
180 #define openxc_DiagnosticRequest_mode_tag 3
181 #define openxc_DiagnosticRequest_pid_tag 4
182 #define openxc_DiagnosticRequest_payload_tag 5
183 #define openxc_DiagnosticRequest_multiple_responses_tag 6
184 #define openxc_DiagnosticRequest_frequency_tag 7
185 #define openxc_DiagnosticRequest_name_tag 8
186 #define openxc_DiagnosticRequest_decoded_type_tag 9
187 #define openxc_DiagnosticRequest_action_tag 10
188 #define openxc_DiagnosticResponse_bus_tag 1
189 #define openxc_DiagnosticResponse_message_id_tag 2
190 #define openxc_DiagnosticResponse_mode_tag 3
191 #define openxc_DiagnosticResponse_pid_tag 4
192 #define openxc_DiagnosticResponse_success_tag 5
193 #define openxc_DiagnosticResponse_negative_response_code_tag 6
194 #define openxc_DiagnosticResponse_payload_tag 7
195 #define openxc_DiagnosticResponse_value_tag 8
196 #define openxc_DynamicField_type_tag 1
197 #define openxc_DynamicField_string_value_tag 2
198 #define openxc_DynamicField_numeric_value_tag 3
199 #define openxc_DynamicField_boolean_value_tag 4
200 #define openxc_RawMessage_bus_tag 1
201 #define openxc_RawMessage_message_id_tag 2
202 #define openxc_RawMessage_data_tag 3
203 #define openxc_ControlCommand_type_tag 1
204 #define openxc_ControlCommand_diagnostic_request_tag 2
205 #define openxc_TranslatedMessage_type_tag 1
206 #define openxc_TranslatedMessage_name_tag 2
207 #define openxc_TranslatedMessage_value_tag 3
208 #define openxc_TranslatedMessage_event_tag 4
209 #define openxc_VehicleMessage_type_tag 1
210 #define openxc_VehicleMessage_raw_message_tag 2
211 #define openxc_VehicleMessage_translated_message_tag 3
212 #define openxc_VehicleMessage_diagnostic_response_tag 4
213 #define openxc_VehicleMessage_control_command_tag 5
214 #define openxc_VehicleMessage_command_response_tag 6
216 /* Struct field encoding specification for nanopb */
217 extern const pb_field_t openxc_VehicleMessage_fields[7];
218 extern const pb_field_t openxc_RawMessage_fields[4];
219 extern const pb_field_t openxc_ControlCommand_fields[3];
220 extern const pb_field_t openxc_CommandResponse_fields[4];
221 extern const pb_field_t openxc_DiagnosticRequest_fields[11];
222 extern const pb_field_t openxc_DiagnosticResponse_fields[9];
223 extern const pb_field_t openxc_DynamicField_fields[5];
224 extern const pb_field_t openxc_TranslatedMessage_fields[5];
226 /* Maximum encoded size of messages (where known) */
227 #define openxc_VehicleMessage_size 672
228 #define openxc_RawMessage_size 27
229 #define openxc_ControlCommand_size 82
230 #define openxc_CommandResponse_size 139
231 #define openxc_DiagnosticRequest_size 74
232 #define openxc_DiagnosticResponse_size 56
233 #define openxc_DynamicField_size 119
234 #define openxc_TranslatedMessage_size 350