summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Peplin <chris.peplin@rhubarbtech.com>2014-09-20 21:58:35 -0400
committerChristopher Peplin <chris.peplin@rhubarbtech.com>2014-09-20 21:59:11 -0400
commitb2692a38bffa2c223f62b0aab5ce2c510fdefa30 (patch)
treefcff67d496cfc5f5c50af4d1c2f266f6190c2ab3
parent625dae730013a4c59a1bd0bacc1f743676274e24 (diff)
parent75ec5e7c6bf86b6af90168d8e39b3404f4ce6b1e (diff)
Merge remote-tracking branch 'origin/latest-nanopb' into passthrough-command
Conflicts: gen/cpp/openxc.pb.c gen/cpp/openxc.pb.h
-rw-r--r--gen/cpp/openxc.pb.c119
-rw-r--r--gen/cpp/openxc.pb.h47
m---------libs/nanopb10
3 files changed, 106 insertions, 70 deletions
diff --git a/gen/cpp/openxc.pb.c b/gen/cpp/openxc.pb.c
index 8f9fc19..2ca5768 100644
--- a/gen/cpp/openxc.pb.c
+++ b/gen/cpp/openxc.pb.c
@@ -1,107 +1,126 @@
/* Automatically generated nanopb constant definitions */
-/* Generated by nanopb-0.2.5 at Sat Sep 20 21:48:43 2014. */
+/* Generated by nanopb-0.3.1 at Sat Sep 20 21:59:09 2014. */
#include "openxc.pb.h"
+#if PB_PROTO_HEADER_VERSION != 30
+#error Regenerate this file with the current version of nanopb generator.
+#endif
+
const pb_field_t openxc_VehicleMessage_fields[7] = {
- PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_VehicleMessage, type, type, 0),
- PB_FIELD2( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, raw_message, type, &openxc_RawMessage_fields),
- PB_FIELD2( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, translated_message, raw_message, &openxc_TranslatedMessage_fields),
- PB_FIELD2( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, diagnostic_response, translated_message, &openxc_DiagnosticResponse_fields),
- PB_FIELD2( 5, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, control_command, diagnostic_response, &openxc_ControlCommand_fields),
- PB_FIELD2( 6, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, command_response, control_command, &openxc_CommandResponse_fields),
+ PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_VehicleMessage, type, type, 0),
+ PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, raw_message, type, &openxc_RawMessage_fields),
+ PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, translated_message, raw_message, &openxc_TranslatedMessage_fields),
+ PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, diagnostic_response, translated_message, &openxc_DiagnosticResponse_fields),
+ PB_FIELD( 5, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, control_command, diagnostic_response, &openxc_ControlCommand_fields),
+ PB_FIELD( 6, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_VehicleMessage, command_response, control_command, &openxc_CommandResponse_fields),
PB_LAST_FIELD
};
const pb_field_t openxc_RawMessage_fields[4] = {
- PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_RawMessage, bus, bus, 0),
- PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_RawMessage, message_id, bus, 0),
- PB_FIELD2( 3, BYTES , OPTIONAL, STATIC , OTHER, openxc_RawMessage, data, message_id, 0),
+ PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_RawMessage, bus, bus, 0),
+ PB_FIELD( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_RawMessage, message_id, bus, 0),
+ PB_FIELD( 3, BYTES , OPTIONAL, STATIC , OTHER, openxc_RawMessage, data, message_id, 0),
PB_LAST_FIELD
};
const pb_field_t openxc_ControlCommand_fields[4] = {
- PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_ControlCommand, type, type, 0),
- PB_FIELD2( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, diagnostic_request, type, &openxc_DiagnosticControlCommand_fields),
- PB_FIELD2( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, passthrough_mode_request, diagnostic_request, &openxc_PassthroughModeControlCommand_fields),
+ PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_ControlCommand, type, type, 0),
+ PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, diagnostic_request, type, &openxc_DiagnosticControlCommand_fields),
+ PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_ControlCommand, passthrough_mode_request, diagnostic_request, &openxc_PassthroughModeControlCommand_fields),
PB_LAST_FIELD
};
const pb_field_t openxc_DiagnosticControlCommand_fields[3] = {
- PB_FIELD2( 1, MESSAGE , OPTIONAL, STATIC , FIRST, openxc_DiagnosticControlCommand, request, request, &openxc_DiagnosticRequest_fields),
- PB_FIELD2( 2, ENUM , OPTIONAL, STATIC , OTHER, openxc_DiagnosticControlCommand, action, request, 0),
+ PB_FIELD( 1, MESSAGE , OPTIONAL, STATIC , FIRST, openxc_DiagnosticControlCommand, request, request, &openxc_DiagnosticRequest_fields),
+ PB_FIELD( 2, ENUM , OPTIONAL, STATIC , OTHER, openxc_DiagnosticControlCommand, action, request, 0),
PB_LAST_FIELD
};
const pb_field_t openxc_PassthroughModeControlCommand_fields[3] = {
- PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_PassthroughModeControlCommand, bus, bus, 0),
- PB_FIELD2( 2, ENUM , OPTIONAL, STATIC , OTHER, openxc_PassthroughModeControlCommand, mode, bus, 0),
+ PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_PassthroughModeControlCommand, bus, bus, 0),
+ PB_FIELD( 2, ENUM , OPTIONAL, STATIC , OTHER, openxc_PassthroughModeControlCommand, mode, bus, 0),
PB_LAST_FIELD
};
const pb_field_t openxc_CommandResponse_fields[4] = {
- PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_CommandResponse, type, type, 0),
- PB_FIELD2( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, message, type, 0),
- PB_FIELD2( 3, BOOL , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, status, message, 0),
+ PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_CommandResponse, type, type, 0),
+ PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, message, type, 0),
+ PB_FIELD( 3, BOOL , OPTIONAL, STATIC , OTHER, openxc_CommandResponse, status, message, 0),
PB_LAST_FIELD
};
const pb_field_t openxc_DiagnosticRequest_fields[10] = {
- PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticRequest, bus, bus, 0),
- PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, message_id, bus, 0),
- PB_FIELD2( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, mode, message_id, 0),
- PB_FIELD2( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, pid, mode, 0),
- PB_FIELD2( 5, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, payload, pid, 0),
- PB_FIELD2( 6, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, multiple_responses, payload, 0),
- PB_FIELD2( 7, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, frequency, multiple_responses, 0),
- PB_FIELD2( 8, STRING , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, name, frequency, 0),
- PB_FIELD2( 9, ENUM , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, decoded_type, name, 0),
+ PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticRequest, bus, bus, 0),
+ PB_FIELD( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, message_id, bus, 0),
+ PB_FIELD( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, mode, message_id, 0),
+ PB_FIELD( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, pid, mode, 0),
+ PB_FIELD( 5, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, payload, pid, 0),
+ PB_FIELD( 6, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, multiple_responses, payload, 0),
+ PB_FIELD( 7, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, frequency, multiple_responses, 0),
+ PB_FIELD( 8, STRING , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, name, frequency, 0),
+ PB_FIELD( 9, ENUM , OPTIONAL, STATIC , OTHER, openxc_DiagnosticRequest, decoded_type, name, 0),
PB_LAST_FIELD
};
const pb_field_t openxc_DiagnosticResponse_fields[9] = {
- PB_FIELD2( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticResponse, bus, bus, 0),
- PB_FIELD2( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, message_id, bus, 0),
- PB_FIELD2( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, mode, message_id, 0),
- PB_FIELD2( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, pid, mode, 0),
- PB_FIELD2( 5, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, success, pid, 0),
- PB_FIELD2( 6, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, negative_response_code, success, 0),
- PB_FIELD2( 7, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, payload, negative_response_code, 0),
- PB_FIELD2( 8, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, value, payload, 0),
+ PB_FIELD( 1, INT32 , OPTIONAL, STATIC , FIRST, openxc_DiagnosticResponse, bus, bus, 0),
+ PB_FIELD( 2, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, message_id, bus, 0),
+ PB_FIELD( 3, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, mode, message_id, 0),
+ PB_FIELD( 4, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, pid, mode, 0),
+ PB_FIELD( 5, BOOL , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, success, pid, 0),
+ PB_FIELD( 6, UINT32 , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, negative_response_code, success, 0),
+ PB_FIELD( 7, BYTES , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, payload, negative_response_code, 0),
+ PB_FIELD( 8, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DiagnosticResponse, value, payload, 0),
PB_LAST_FIELD
};
const pb_field_t openxc_DynamicField_fields[5] = {
- PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_DynamicField, type, type, 0),
- PB_FIELD2( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_DynamicField, string_value, type, 0),
- PB_FIELD2( 3, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DynamicField, numeric_value, string_value, 0),
- PB_FIELD2( 4, BOOL , OPTIONAL, STATIC , OTHER, openxc_DynamicField, boolean_value, numeric_value, 0),
+ PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_DynamicField, type, type, 0),
+ PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_DynamicField, string_value, type, 0),
+ PB_FIELD( 3, DOUBLE , OPTIONAL, STATIC , OTHER, openxc_DynamicField, numeric_value, string_value, 0),
+ PB_FIELD( 4, BOOL , OPTIONAL, STATIC , OTHER, openxc_DynamicField, boolean_value, numeric_value, 0),
PB_LAST_FIELD
};
const pb_field_t openxc_TranslatedMessage_fields[5] = {
- PB_FIELD2( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_TranslatedMessage, type, type, 0),
- PB_FIELD2( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, name, type, 0),
- PB_FIELD2( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, value, name, &openxc_DynamicField_fields),
- PB_FIELD2( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, event, value, &openxc_DynamicField_fields),
+ PB_FIELD( 1, ENUM , OPTIONAL, STATIC , FIRST, openxc_TranslatedMessage, type, type, 0),
+ PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, name, type, 0),
+ PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, value, name, &openxc_DynamicField_fields),
+ PB_FIELD( 4, MESSAGE , OPTIONAL, STATIC , OTHER, openxc_TranslatedMessage, event, value, &openxc_DynamicField_fields),
PB_LAST_FIELD
};
/* Check that field information fits in pb_field_t */
-#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
-STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 256 && pb_membersize(openxc_VehicleMessage, translated_message) < 256 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 256 && pb_membersize(openxc_VehicleMessage, control_command) < 256 && pb_membersize(openxc_VehicleMessage, command_response) < 256 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 256 && pb_membersize(openxc_ControlCommand, passthrough_mode_request) < 256 && pb_membersize(openxc_DiagnosticControlCommand, request) < 256 && pb_membersize(openxc_TranslatedMessage, value) < 256 && pb_membersize(openxc_TranslatedMessage, event) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage)
+#if !defined(PB_FIELD_32BIT)
+/* If you get an error here, it means that you need to define PB_FIELD_32BIT
+ * compile-time option. You can do that in pb.h or on compiler command line.
+ *
+ * The reason you need to do this is that some of your messages contain tag
+ * numbers or field sizes that are larger than what can fit in 8 or 16 bit
+ * field descriptors.
+ */
+PB_STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, translated_message) < 65536 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 65536 && pb_membersize(openxc_VehicleMessage, control_command) < 65536 && pb_membersize(openxc_VehicleMessage, command_response) < 65536 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 65536 && pb_membersize(openxc_ControlCommand, passthrough_mode_request) < 65536 && pb_membersize(openxc_DiagnosticControlCommand, request) < 65536 && pb_membersize(openxc_TranslatedMessage, value) < 65536 && pb_membersize(openxc_TranslatedMessage, event) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage)
#endif
-#if !defined(PB_FIELD_32BIT)
-STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 65536 && pb_membersize(openxc_VehicleMessage, translated_message) < 65536 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 65536 && pb_membersize(openxc_VehicleMessage, control_command) < 65536 && pb_membersize(openxc_VehicleMessage, command_response) < 65536 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 65536 && pb_membersize(openxc_ControlCommand, passthrough_mode_request) < 65536 && pb_membersize(openxc_DiagnosticControlCommand, request) < 65536 && pb_membersize(openxc_TranslatedMessage, value) < 65536 && pb_membersize(openxc_TranslatedMessage, event) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage)
+#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
+/* If you get an error here, it means that you need to define PB_FIELD_16BIT
+ * compile-time option. You can do that in pb.h or on compiler command line.
+ *
+ * The reason you need to do this is that some of your messages contain tag
+ * numbers or field sizes that are larger than what can fit in the default
+ * 8 bit descriptors.
+ */
+PB_STATIC_ASSERT((pb_membersize(openxc_VehicleMessage, raw_message) < 256 && pb_membersize(openxc_VehicleMessage, translated_message) < 256 && pb_membersize(openxc_VehicleMessage, diagnostic_response) < 256 && pb_membersize(openxc_VehicleMessage, control_command) < 256 && pb_membersize(openxc_VehicleMessage, command_response) < 256 && pb_membersize(openxc_ControlCommand, diagnostic_request) < 256 && pb_membersize(openxc_ControlCommand, passthrough_mode_request) < 256 && pb_membersize(openxc_DiagnosticControlCommand, request) < 256 && pb_membersize(openxc_TranslatedMessage, value) < 256 && pb_membersize(openxc_TranslatedMessage, event) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_openxc_DiagnosticControlCommand_openxc_PassthroughModeControlCommand_openxc_CommandResponse_openxc_DiagnosticRequest_openxc_DiagnosticResponse_openxc_DynamicField_openxc_TranslatedMessage)
#endif
+
/* On some platforms (such as AVR), double is really float.
* These are not directly supported by nanopb, but see example_avr_double.
* To get rid of this error, remove any double fields from your .proto.
*/
-STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
+PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
diff --git a/gen/cpp/openxc.pb.h b/gen/cpp/openxc.pb.h
index 48002b1..555a672 100644
--- a/gen/cpp/openxc.pb.h
+++ b/gen/cpp/openxc.pb.h
@@ -1,10 +1,14 @@
/* Automatically generated nanopb header */
-/* Generated by nanopb-0.2.5 at Sat Sep 20 21:48:43 2014. */
+/* Generated by nanopb-0.3.1 at Sat Sep 20 21:59:09 2014. */
-#ifndef _PB_OPENXC_PB_H_
-#define _PB_OPENXC_PB_H_
+#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
@@ -66,10 +70,7 @@ typedef struct _openxc_CommandResponse {
bool status;
} openxc_CommandResponse;
-typedef struct {
- size_t size;
- uint8_t bytes[8];
-} openxc_DiagnosticRequest_payload_t;
+typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticRequest_payload_t;
typedef struct _openxc_DiagnosticRequest {
bool has_bus;
@@ -92,10 +93,7 @@ typedef struct _openxc_DiagnosticRequest {
openxc_DiagnosticRequest_DecodedType decoded_type;
} openxc_DiagnosticRequest;
-typedef struct {
- size_t size;
- uint8_t bytes[8];
-} openxc_DiagnosticResponse_payload_t;
+typedef PB_BYTES_ARRAY_T(8) openxc_DiagnosticResponse_payload_t;
typedef struct _openxc_DiagnosticResponse {
bool has_bus;
@@ -134,10 +132,7 @@ typedef struct _openxc_PassthroughModeControlCommand {
openxc_PassthroughModeControlCommand_PassthroughMode mode;
} openxc_PassthroughModeControlCommand;
-typedef struct {
- size_t size;
- uint8_t bytes[8];
-} openxc_RawMessage_data_t;
+typedef PB_BYTES_ARRAY_T(8) openxc_RawMessage_data_t;
typedef struct _openxc_RawMessage {
bool has_bus;
@@ -192,6 +187,28 @@ typedef struct _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}}}
+#define openxc_ControlCommand_init_default {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_default, false, openxc_PassthroughModeControlCommand_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, (openxc_PassthroughModeControlCommand_PassthroughMode)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}}}
+#define openxc_ControlCommand_init_zero {false, (openxc_ControlCommand_Type)0, false, openxc_DiagnosticControlCommand_init_zero, false, openxc_PassthroughModeControlCommand_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, (openxc_PassthroughModeControlCommand_PassthroughMode)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_CommandResponse_type_tag 1
#define openxc_CommandResponse_message_tag 2
diff --git a/libs/nanopb b/libs/nanopb
-Subproject 906c8283b5995eb7b27f4958a6a6502ae0deea0
+Subproject b947dc6e2c0d63a29e83ebf9c8af450d2531aef