/* Automatically generated nanopb constant definitions */
/* Generated by nanopb-0.2.5 at Thu Mar  6 16:21:37 2014. */

#include "openxc.pb.h"



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_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_LAST_FIELD
};

const pb_field_t openxc_ControlCommand_fields[3] = {
    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_DiagnosticRequest_fields),
    PB_LAST_FIELD
};

const pb_field_t openxc_CommandResponse_fields[3] = {
    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_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, parse_payload, payload, 0),
    PB_FIELD2(  7, DOUBLE  , OPTIONAL, STATIC  , OTHER, openxc_DiagnosticRequest, factor, parse_payload, 0),
    PB_FIELD2(  8, DOUBLE  , OPTIONAL, STATIC  , OTHER, openxc_DiagnosticRequest, offset, factor, 0),
    PB_FIELD2(  9, DOUBLE  , OPTIONAL, STATIC  , OTHER, openxc_DiagnosticRequest, frequency, offset, 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_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_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_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_TranslatedMessage, value) < 256 && pb_membersize(openxc_TranslatedMessage, event) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_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_TranslatedMessage, value) < 65536 && pb_membersize(openxc_TranslatedMessage, event) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_openxc_VehicleMessage_openxc_RawMessage_openxc_ControlCommand_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)