syntax="proto3";
package com.fca.uconnect.global;

/**
 *
 * <p class=proto-main>The messages in Global_Uconnect_Ext_DataLogger.proto define a DataLog Header and DataLog * Body for use with CADM2 Module. This includes a request and response pair for retrieving datalogs</p>
 *
 *<div class=proto-hier>
 * UconnectAny
 *     |
 *     |---- <a href="#publishDataHeader">PublishDataHeader 3001</a>
 *     |                    |
 *     |---- <a href="#dataLogMessageRequest">DataLogMessageRequest 3003</a>
 *     |                    |                    |
 *     |---- <a href="#dataLogMessageResponse">DataLogMessageResponse 3002</a>
 *
 *
 * </div>
 *  <h3 class=change-log-hdr> Change Log</h3>
 *  <table id="change-log" class="change-log"><thead><tr>
 *	<th>Version</th><th>Date</th><th>Notes</th></tr></thead>
 *   <tbody>
 * <tr><td>1.1</td><td>2019-08-29</td><td>Reworked based on DataLoggerExportFormat_v4.1.xlsx </td></tr>
 * <tr><td>1.0</td><td>2019-05-20</td><td>Merged into Global API Repository and Release </td></tr>
 * 	</tbody></table>
 *
 *
 *  <h3 class=change-log-hdr>List of MQTT Topics</h3>
 *   <table class="change-log"><thead><tr>
 *	<td>Flow</td><td>Type</td><td>Topic Name</td></tr></thead>
 *   <tbody>
 *   <tr><td>Cloud send to Vehicle</td><td>Publish</td><td>fcasdp/${iot:ClientId}/DLGR</td></tr>
 *	 <tr><td>Cloud receive from Vehicle</td><td>Subscribe</td><td>fcasdp/DLGR/#</td></tr>
 *	 <tr><td>Vehicle send to Cloud </td><td>Publish</td><td>fcasdp/DLGR/${iot:ClientId}</td></tr>
 *	 <tr><td>Vehicle receive from Cloud </td><td>Subscribe</td><td>fcasdp/${iot:ClientId}/DLGR</td></tr>
 *	</tbody></table>
 *
 *
 *
 *<h3 class=change-log-hdr>Header Upload</h3>
 * <p class=proto-main>The following sequence diagram depicts the flow of DataLog Header messages between the TBM and the SDP:</p>
 * <img class=img-border src=./images/DataLogger_Header.png>
 *
 * <h3 class=change-log-hdr>Log Request</h3>
 * <p class=proto-main>The following sequence diagram depicts the flow of DataLog Request and Response messages between the TBM and the SDP:</p>
 * <img class=img-border src=./images/DataLogger_RequestLog.png>
 *
 *
 *
 */

message PublishDataHeader {
message TriggerInfoType {
	DataSetSignal triggerRelativeTime = 2;
	DataSetSignal gpsLatitude = 3;
	DataSetSignal gpsLongitude = 4;
	DataSetSignal gpsAltitude = 5;
	DataSetSignal odometer = 6;
	PublishDataHeader.TriggerIds triggerID = 7;
	PublishDataHeader.gpsTimeInfo gpsTime = 1; /// GPS Time

}

message CadmSoftwareVersionType {
	int32 swVersionYear = 1; /// CADM Software Version (F151)Year.
	int32 swVersionWeek = 2; /// CADM Software Version (F151) Week.
	int32 swVersionPatch = 3; /// CADM Software Version (F151) Patch.
}

message DatabaseVersionType {
	int32 dbVersionYear = 1; /// Data Log Database Version Year.
	int32 dbVersionWeek = 2; /// Data Log Database Version Week.
	int32 dbVersionPatch = 3; /// Data Log Database Version Patch.
}

enum TriggerIds {

	DEFAULT = 0;
	ADAS_MRM_Initiated = 1; /// Trigger fired when ADAS Minimum Risk Maneuver (MRM) Initiated
	ADAS_Evasive_Steering_Event = 2; /// Trigger Fired: ADAS Evasive Steering Event ((Steering Wheel Power (Rate * Torque) > 300 Nm deg/Sec for 100ms)
	Low_Vehicle_Acceleration = 3; /// Trigger Fired when Vehicle acceleration less than -6 m/s2 for 200 ms
	Driver_Manual_Throttle_Override = 4; /// Trigger Fired when Driver manual throttle override in excess of 90% pedal travel for 200 ms.
	Perception_Layer_Error = 5; /// Trigger fired when Perception Layer error. Fused tracked object changes from Bicycle or pedestrian to Vehicle (Car,tuck, motorcycle) or Vehicle to Bicycle or pedestrian.
	AEB_Event_Active_or_FCA_Warning = 6; /// Trigger Fired when "AEB Event Active (FCW, CMS, CMS-XTD, LSCM, PEB, EBA, ICA_L, ICA_R, AEB_P, AEB_P_Extended) OR FCW warning".
	L2Plus2B_Steer_Torque_Command_Exceeded_Limit = 7; /// Trigger fired when L2Plus2B Steer Torque Command in excess of 95% of limit for 200 ms.
	CADM_Fault = 8; /// Trigger Fired when CADM Fault transitions to Active.
	CADM2_Fault = 9; /// Trigger Fired when CADM2 Fault transitions to Active.
	EPS_Fault = 10; /// Trigger fired when EPS Fault transitions to Active.
	BSM_Fault = 11; /// Trigger fired when BSM Fault transitions to Active.
	EPB_Fault = 12; /// Trigger fired when EPB Fault transitions to Active.
	DMSM_Fault = 13; /// Trigger fires when DMSM Fault transitions to Active.
	ABS_Intervention = 14; /// Trigger fires when ABS intervention transitions to active.
	ESC_Intervention = 15; /// Trigger fires when ESC intervention transitions to active.
	Maximum_Lateral_Encroachment_Threshold = 16; /// Trigger fires when Maximum Lateral encroachment Threshold.
	Highway_Assist_System_Primary_Fault = 17; /// Trigger fires when Highway Assist System Primary Fault transitions to Active.
	Highway_Assist_System_Secondary_Fault = 18; /// Trigger fires when Highway Assist System Secondary Fault transitions to Active.
}

message gpsTimeInfo {
	bytes gpsYear = 1; /// Year of the gps time.
	bytes gpsDay = 2; /// Day of the gps time.
	bytes gpsHour = 3; /// Hour of the gps time.
	bytes gpsSec = 4; /// Seconds of the gps time.
	bytes gpsMin = 5; /// Minutes of the gps time.
}
string ulin = 1; /// Ulin shall be assigned a 20 digit Unique Log Identification Number (ULIN) that consists of the CADM2 ECU Serial Number (12 or 14 digit F18C Traceability Number) followed by a 6 digit sequential number.  The sequential number shall be incremented with each data file stored over the life of the CADM2.   Modules that use a 12 digit traceability number shall pad their traceability number with two trailing ?-? (ASCII 0x2D)  to bring it up to the required 14 digits.
int32 noOfTriggers = 2; ///  Number of triggers in data file.
bool lockingTrigger = 3; /// Data File Contains Locking Trigger. DataLogMemoryFull.Info
string mapDatabaseVersion = 4; /// Map Database Version.
string vin = 5; ///  Vehicle Identification Number (VIN).
repeated PublishDataHeader.TriggerInfoType nextTrigger = 6; /// Array of Trigger ids based on no. of Triggers in data file.
PublishDataHeader.CadmSoftwareVersionType cadmSWVersion = 7; /// CADM Software Version Details.
PublishDataHeader.DatabaseVersionType dbVersion = 8; /// Data Log Database Version.
PublishDataHeader.TriggerInfoType firstTrigger = 9; /// Trigger id of the First Trigger event fired.
}

message DataLogMessageObject {


enum TurnIndicator_Enum {
            CENTER = 0;
            LEFT = 1;
            RIGHT = 2;
            SNA_TURN_INDICATOR = 3;
        }

enum ACC_SetSpeedStrike_Enum {
	NOT_PRESENT_SETSPEED = 0;
	PRESENT_SETSPEED = 1;

}

enum SeatVib_Req_Enum {
	No_Request_SeatVib = 0; /// No_Request
	Type_1 = 1;
	Type_2 = 2;
	Type_3 = 3;
	Type_4 = 4;
}

enum SeatVib_Sts_Enum {
	INIT_SeatVib = 0;
	IDLE_SeatVib = 1; /// Idle
	ACTIVE_SeatVib = 2;
	FAULTED_SeatVib = 3;
}

enum DBSM2_Internal_Error_Enum {
	NO_ERROR_DBSM2 = 0;
	ERROR_DBSM2 = 1;
}

enum Overcurrent_Detected_Enum {
	NO_FAULT_OVER_CURRENT = 0; /// No_Fault
	Over_Current = 1;
}

enum Overtemp_Detected_Enum {
	NO_FAULT_OVER_TEMP = 0;
	OVER_TEMP = 1;
}

enum Switch_Status_OpenClose_Enum {
	OPEN = 0;
	CLOSE = 1;
}

enum Undervoltage_Detected_Enum {
	NO_FAULT_UNDER_VOLTAGE = 0;
	UNDER_VOLTAGE = 1;
}

enum FailSts_Enum {
	Fail_Not_Present_FailSts = 0; /// Fail_Not_Present_FailSts
	Fail_Present = 1; /// Fail_Present
}

enum Blind_Enum {
	Blinded = 0; /// Blinded
	Not_Blinded = 1; /// Not_Blinded
}

enum WiperSwitchStatus_Enum {
	False = 0;
	True = 1;
}

enum FaultStatus_Enum {
	NOT_FAULTED = 0;
	FAULTED = 1;
}

enum PrefillRequest_Enum {
	NO_PREFILL_REQUESTED = 0;
	PREFILL_REQUESTED = 1;
}

enum Active_Enum {
	NOT_ACTIVE = 0;
	ACTIVE = 1;
}

enum Set_Enum {
	NOT_SET = 0;
	SET = 1;
}

enum Lane_DispPopupSts_Enum {
            No_Code = 0;
            LKA_On = 1;
            LKA_Off = 2;
            LKA_Hands_Off = 3;
            HAS_Eyes_Off_Yellow = 4;
            Take_Control_Red = 5;
            HAS_Ready_Highway = 6;
            Blind_Spot_OFF = 7;
            HAS_Ready_ACC_Set = 8;
            HAS_Unavailable_Speed_to_High = 9;
            HAS_Unavailable_Trailer = 10;
            HAS_Unavailable_TempNAP = 11;
            HAS_Cancel_FOW = 12;
            HAS_Cancel_Lane = 13;
            HAS_Cancel_Curve = 15;
            Unsupport_Lane_Ahead_Take_Control = 16;
            MRM_In_Prog = 17;
            MRM_Complete = 18;
            HAS_Unavail_Lane = 19;
            HAS_Hands_Off_Yellow = 20;
            HAS_Hands_Off_Red = 21;
            HAS_Cancel_Hands_Off = 22;
            HAS_AEB_LKA_Cam_Blind = 23;
            HAS_AEB_Cam_Blind = 24;
            HAS_LKA_Cam_Blind = 25;
            HAS_Cam_Blind = 26;
            LKA_AEB_Cam_Blind = 27;
            LKA_Cam_Blind = 28;
            HAS_AEB_Radar_Blind = 29;
            HAS_Radar_Blind = 30;
            HAS_AEB_LKA_LIMITED_Fail = 31;
            HAS_AEB_LIMITED_Fail = 32;
            LKA_AEB_LIMITED_Fail = 33;
            HAS_AEB_LKA_Fail = 34;
            HAS_AEB_Fail = 35;
            HAS_LKA_Fail = 36;
            HAS_Fail = 37;
            LKA_AEB_Fail = 38;
            LKA_Fail = 39;
            HAS_Cancel = 40;
            HAS_ON = 42;
            HAS_OFF = 43;
            BSS_Blind_ALM_On = 44;
            BSS_Blind_ALM_Off = 45;
            BSS_OPR_ALM_Off = 46;
            BSS_OPR_ALM_On = 47;
            BSS_SRV_ALM_Off = 48;
            BSS_SRV_ALM_On = 49;
            HAS_Unavail_Road_Data = 50;
            HAS_Unavail_No_Eyes_On = 51;
            HAS_Unavail_Map_OOD = 52;
            HAS_Unavail_Locked_Out = 53;
            HAS_Cancel_Road_Data = 54;
            HAS_Cancel_Driver_Not_Attent = 55;
            HAS_Cancel_Brake_Event = 56;
            HAS_Cancel_Speed_Too_High = 57;
            HAS_Cancel_Control_Limit = 58;
            HAS_ACC_Unavailable_4WD_Low = 59;
            HAS_ACC_Unavailable_ESC_Off = 60;
            HAS_ACC_Unavailable_ESC_Event = 61;
            HAS_ACC_Unavailable_Brakes_Cooling = 62;
            HAS_ACC_Unavailable_EPB_Active = 63;
            HAS_ACC_Unavailable_Shift_D = 64;
            HAS_ACC_Unavailable_Door_Open = 65;
            HAS_ACC_Unavailable_Seatbelt_Unbuckled = 66;
            HAS_ACC_Unavailable_Road_to_Steep = 67;
            HAS_ACC_Unavailable_Low_RPM = 68;
            HAS_ACC_Unavailable_High_RPM = 69;
            HAS_ACC_Cancel = 70;
            HAS_ACC_AEB_Cancel_ESC_Off = 71;
            HAS_ACC_Cancel_ESC_Off = 72;
            HAS_ACC_Cancel_ESC_Event = 73;
            HAS_ACC_Cancel_Brakes_Cooling = 74;
            HAS_ACC_Cancel_EPB_Active = 75;
            HAS_ACC_Cancel_Shift_D = 76;
            HAS_ACC_Cancel_Door_Open = 77;
            HAS_ACC_Cancel_Seatbelt_Unbuckled = 78;
            HAS_ACC_Cancel_Road_to_Steep = 79;
            HAS_ACC_Cancel_Low_RPM = 80;
            HAS_ACC_Cancel_High_RPM = 81;
            HAS_ACC_User_Enabled = 83;
            HAS_ACC_Set = 84;
            LKA_Off_Check = 85;
            HAS_Curve_Too_Tight = 86;
            HAS_Lane_Split = 87;
            HAS_On_Reminder = 88;
            TxtMsg_TBD_1 = 89;
            TxtMsg_TBD_2 = 90;
            TxtMsg_TBD_3 = 91;
            TxtMsg_TBD_4 = 92;
            TxtMsg_TBD_5 = 93;
            TxtMsg_TBD_6 = 94;
            TxtMsg_TBD_7 = 95;
            TxtMsg_TBD_8 = 96;
            TxtMsg_TBD_9 = 97;
            TxtMsg_TBD_10 = 98;
            TxtMsg_TBD_11 = 99;
            TxtMsg_TBD_12 = 100;
            TxtMsg_TBD_13 = 101;
            TxtMsg_TBD_14 = 102;
            TxtMsg_TBD_15 = 103;
            Stay_In_Lane = 104;
}



enum SteeringAngleTypeEnum {
	ABSOLUTE = 0; /// Absolute
	RELATIVE = 1;
	SNA_SAT = 3;
}

enum DriverSeatBeltStatusEnum {
	Seat_Belt_Fasten = 0;
	Seat_Belt_Not_Fasten = 1;
	SNA_DriverSeatBelt = 2;
}

enum DriverDoorStatusEnum {
	OPEN_DOOR = 0;
	CLOSED_DOOR = 1;
	FAULTED_DOOR = 2;
}

enum FCWPersonalizationSettingEnum {
Off_Setting = 0;
Audio_Setting = 1;
AudioBrake_Setting = 2;
Brake_Setting = 3;
Not_Request = 4;
}

enum HeadLightSwitchStatusEnum {
	OFF_DRL = 0; ///  Off DRL
	Position_Lamps = 1; /// Position Lamps
	Low_Beam = 2; /// Low Beam
	Auto_HeadLightSwitch = 3; /// Auto Headlight Status
	Short_Circuit = 4; /// Short Circuit
	Open_Circuit = 5; /// Open Circuit
	SNA_HeadLightSwitch = 7; /// SNA
}

enum HeadLightStatusEnum {
	Off_Headlight = 0;
	On_Headlight = 1;
}

enum IgnitionSwitchStatusEnum {
	Initialization = 0;
	IGN_LK = 1; /// IGN_LK Ignition Switch Status
	ACC_IGN = 3; /// Acc Ignition Switch Status
	RUN_IGN = 4; /// RUN Ignition Switch Status
	START_IGN = 5; /// Start Ignition Switch Status
	SNA_IGN = 7;
}
enum CameraObjectType_ClassificationEnum {
	CAR = 0;
	TRUCK = 1;
	MOTORCYCLE = 2;
	BICYCLE = 3;
	PEDESTRAIN = 4;
	GENERAL_OBJECT = 5;
	ANIMAL = 6;
	UNCERTAIN_VEHICLE = 7;
}

enum CameraObjectType_LocationEnum {
	LEFT_NEXT_NEXT = 0;
	LEFT_NEXT = 1;
	EGO_LANE = 2;
	RIGHT_NEXT = 3;
	RIGHT_NEXT_NEXT = 4;
	UNKNOWN = 5;
}

enum trackedObjects_ClassificationEnum {
	OBJECT_CLASS_UNDETERMINED = 0;
	OBJECT_CLASS_CAR = 1;
	OBJECT_CLASS_MOTORCYCLE = 2;
	OBJECT_CLASS_TRUCK = 3;
	OBJECT_CLASS_PEDESTRIAN = 4;
	OBJECT_CLASS_POLE = 5;
	OBJECT_CLASS_TREE = 6;
	OBJECT_CLASS_ANIMAL = 7;
	OBJECT_CLASS_GOD = 8;
	OBJECT_CLASS_BICYCLE = 9;
	OBJECT_CLASS_UNIDENTIFIED_VEHICLE = 10;
}

enum trackedObjects_ConfidenceEnum {
	NONE = 0;
	LOW = 1;
	MEDIUM = 2;
	HIGH = 3;
}

enum trackedObjects_cipFlagEnum {
	NOT_RELEVENT = 0;
	NO_CIPV = 1;
	CIPV = 2;
}

enum CameraImageFileTypeEnum {
	PNG = 0; /// PNG Image Type
	JPEG = 1; /// JPG Image Type
	BMP = 2; /// BMP Image Type
	H264 = 3; /// H264 Image Type
}

enum DriverModelStatusEnum {
	ATTENTION_Unknown = 0; /// Unknown
	ATTENTION_Criteria_Met = 1;
	ATTENTION_Criteria_Not_Met = 2;
	FAULTED_DRIVERMODE = 3;
}

enum FCWWarningStatusEnum {
        NO_CODE = 0;
        Pre_Intervention_Warning = 1;
        Braking_Complete = 4;
        AEB_Unavailble_ESC_Off = 5;
        AEB_Unavailble_4WD_Low = 6;
        Active_Braking_Enabled = 7;
        Active_Braking_Disabled = 8;
        AEB_User_Disabled = 9;
        AEB_Radar_Blind = 10;
        Not_used1 = 11;
        AEB_Fail = 12;
        Not_used2 = 13;
        AEB_Cam_Blind = 14;
        Not_used3 = 15;
        AEB_LIMITED_Fail = 16;
        PEB_Off = 17;
        PEB_On = 18;
        PEB_Radar_Blind = 19;
        PEB_Fail = 20;
        PEB_Cam_Blind = 21;
        FCW_Limited_PEB_Off_Camera_Blinded = 22;
        FCW_Limited_PEB_Off_Camera_Fail = 23;
        Pre_Intervention_Warning_ICA_L = 24;
        Pre_Intervention_Warning_ICA_R = 25;
        AEB_Limit_Corner_Blind = 26;
}

enum OpStatusEnum {
	Inactive = 0; /// Inactive
	FullService = 1; /// FullService
	FailOperational = 2; /// FailOperational
	FailDegraded = 3; /// FailDegraded
	Emergency = 4;
	No_Function = 5;
}

enum CVPAMFaultStatusEnum {
	ACTIVE_CVPAM = 0;
	NOT_ACTIVE_BLOCKED = 1;
	NOT_ACTIVE_FAILURE = 2;
	SNA_CVPAM = 3;
}

enum GNMMFaultStatusEnum {
	Not_Avail = 0;
	Avail_full_capacity = 1;
	Primary_IMU_NA = 2;
	GPS_GNSS_NA = 3;
	Correction_Data_NA = 4;
	SNA_GNMM = 7;
}

enum DMSMFaultStatusEnum {
	STANDBY = 0; /// Standby
	TEMP_NA = 1;
	INTERNAL_ERROR = 2;
	FUNCTIONAL = 3; /// Functional
}

enum EMSFailStatusEnum {
	Fail_Not_Present = 0; /// Fail_Not_Present
	Fail_Flash_Light_Indication = 1; /// Fail_Flash_Light_Indication
	Fail_Fix_Light_Indication = 2; /// Fail_Fix_Light_Indication
	Flash_For_Service = 3; /// Flash_For_Service
}

enum SWSMFaultStatusEnum {
	NO_ERROR_SWSM = 0;
	HOD_EEPROM_ERROR = 1;
	HOD_ROM_ERROR = 2;
	HOD_WATCHDOG_ERROR = 3;
	HOD_CPU_ERROR = 4;
	HOD_GUARD_INTERRUPTION_ERROR = 5;
	HOD_SENSE_INTERRUPTION_ERROR = 6;
	HOD_CPU_DEFECT_OR_MAT_SHORTAGE = 7;
	UNDERVOLTAGE_ERROR = 8;
	OVERVOLTAGE_ERROR = 9;
	HOD_CODING_ERROR = 10;
	HOD_GENERIC_SYSTEM_ERROR = 11;
	SNA_SWSM = 15;
}

enum BCMFaultStatusEnum {
	No_Fault = 0; /// No_Fault
	Fault = 1; /// Fault
}

enum DALMColorStatus {
	No_Req = 0; /// No_Req
	Yellow_Solid = 1;
	Yellow_Runway = 2;
	Red_Solid = 3;
	Red_Runway = 4;
	Blue_Solid = 5;
	Blue_Runway = 6;
	SNA_DALM = 15;
}

enum HASEscalationStatusEnum {
	No_State = 0; /// No_State
	State0 = 1; /// State0
	State2 = 3; /// State2
	State3a = 4; /// State3a
	State3b = 5; /// State3b
	State4a = 6; /// State4a
	State4b = 7;
	State5 = 8;
}

enum MRMStatusEnum {
	NOT_ACTIVE_MRM = 0;
	MRM_IN_PROCESS = 1;
	VEHICLE_SECURE_REQUEST = 2; /// Vehicle_Secure_Request
	Vehicle_SECUREMENT_COMPLETE = 3; /// Vehicle_Securement_Complete
	CANCELED = 4; /// Canceled
	SNA_MRM = 7; /// SNA_MRM
}

enum HASLatCtrlRequestStatusEnum {
	IDLE = 0; /// Idle
	FAULTED_HAS = 1; /// Faulted
	HAS_REQUEST = 2; /// HAS_Request
}

enum PowertrainInterfaceEngageReqEnum {
	NOT_ENABLED = 0; /// Not_Enabled
	ENABLED = 1; /// Enabled
}

enum AEBTypeStatusEnum {
	NONE_AE = 0; /// NONE
	ACC = 1; /// ACC
	CMS = 2; /// CMS
	CMS_XTD = 3; /// CMS_XTD
	ABA = 4; /// ABA
	LSCM = 5; /// LSCM
	PEB = 6; /// PEB
	ICA_L = 7; /// ICA_L
	ICA_R = 8; /// ICA_R
	HAS_MRM = 9; /// HAS_MRM
	SNA_AEB = 15;
}

enum ElectronicParkBrakeStatusEnum {
	Released = 0; /// Released
	Applied = 1; /// Applied
	DynamicBrkESC = 2; /// DynamicBrkESC
	DynamicBrkEPB = 3; /// DynamicBrkEPB
	Emergency_Braking = 4; /// Emergency_Braking
	Applying = 5; /// Applying
	Maintenance_Mode = 6; /// Maintenance_Mode
	Assembly_Check = 7; /// Assembly_Check
	Inspection_Mode = 8; /// Inspection_Mode
	Re_Clamping = 9; /// Re_Clamping
	Adjuste_Mode = 10; /// Adjuste_Mode
	Releasing = 11; /// Releasing
	Fault_EPB_Released = 12; /// Fault_EPB_Released
	Fault_EPB_Applied = 13; /// Fault_EPB_Applied
	Fault_Present = 14; /// Fault_Present
	SNA_EPB = 15;
}

enum SteeringWheelHandsOnStatusEnum {
	HANDS_OFF_DETECTED = 0; /// HANDS_OFF_DETECTED
	ENERGY_SAVING_MODE = 1; /// ENERGY_SAVING_MODE
	HANDS_OFF_NOT_DETECTED = 2; /// HANDS_OFF_NOT_DETECTED
	HANDS_NOT_AVAILABLE = 3;
	HANDS_OFF_ERROR = 4; /// HANDS_OFF_ERROR
	SNA_SWHO = 15;
}

enum EPSHandsOnStatusEnum {
	NOT_DETECTED = 0; /// Not_Detected
	DETECTED = 1; /// Detected
}

enum DriverGazeLocationEnum {
	Unknown = 0; /// Unknown
	On_Road = 1; /// On_Road
	Cluster = 2; /// Cluster
	Left_Mirror = 3; /// Left_Mirror
	Right_Mirror = 4; /// Right_Mirror
	Radio = 5; /// Radio
	Rear_View_Mirror = 6; /// Rear_View_Mirror
	Off_Road = 7; /// Off_Road
}

enum PRNDLPositionEnum {
	Neutral = 0; /// Neutral
	ForwardGear_1 = 1; /// ForwardGear_1
	ForwardGear_2 = 2; /// ForwardGear_2
	ForwardGear_3 = 3; /// ForwardGear_3
	ForwardGear_4 = 4; /// ForwardGear_4
	ForwardGear_5 = 5; /// ForwardGear_5
	ForwardGear_6 = 6; /// ForwardGear_6
	ForwardGear_7 = 7; /// ForwardGear_7
	ForwardGear_8 = 8; /// ForwardGear_8
	ForwardGear_9 = 9; /// ForwardGear_9
	PARKING = 13; /// Parking
	ReserveGear = 14; /// Reserve Gear
	SNA_PRNDL = 15;
}

enum L2PHMIReqSeatBeltMotorActuatorEnum {
	No_Request = 0; /// No_Request
	Slack_Removal = 1; /// Slack_Removal
	Abort = 2; /// Abort
	Level_8_Force_Retraction = 3; /// Level_8_Force_Retraction
	Level_7_Force_Retraction = 4;
	Level_6_Force_Retraction = 5; /// Level_6_Force_Retraction
	Level_5_Force_Retraction = 6; /// Level_5_Force_Retraction
	Level_4_Force_Retraction = 7; /// Level_4_Force_Retraction
	Level_3_Force_Retraction = 8; /// Level_3_Force_Retraction
	Level_2_Force_Retraction = 9; /// Level_2_Force_Retraction
	Level_1_Force_Retraction = 10; /// Level_1_Force_Retraction
	Haptic_Waring_4 = 11; /// Haptic_Waring_4
	Haptic_Waring_3 = 12; /// Haptic_Waring_3
	Haptic_Waring_2 = 13; /// Haptic_Waring_2
	Haptic_Waring_1 = 14; /// Haptic_Waring_1
	SNA_L2PlusSeatBeltMotorActuator = 15;
}

enum AES_ACC_SysSts_Enum {
	OFF_AES_ACC_SysSts = 0; /// OFF_AES_ACC_SysSts
	ACC_Enabled = 1; /// ACC_Enabled
	ACC_Engaged = 2; /// Engaged
	ACC_Engaged_BrakeOnly = 3; /// ACC_Engaged_BrakeOnly
	ACC_Cancel = 4; /// ACC_Cancel
	NCC_Enabled = 5; /// NCC_Enabled
	NCC_Engaged = 6; /// NCC_Engaged
	NCC_Cancel = 7; /// NCC_Cancel
	HAS_BSoC = 8; /// HAS_BSoC
	SNA_AES = 15;
}

enum AES_HAS_Status_Enum {
	Disabled = 0; /// Disabled
	Enabled_AES_HAS_Sts = 1; /// Enabled_AES_HAS_Sts
	Engaged = 2; /// Engaged
	Faulted_AES_HAS_Sts = 3; /// Faulted_AES_HAS_Sts
}

enum HAS_TellTaleSts_Enum {
	OFF = 0; /// OFF
	Grey = 1; /// Grey
	Green = 2; /// Green
	Yellow = 3;
	Red = 4; /// Red
	SNA_HAS = 7;
}

enum Chime_TypSts_Enum {
	Default = 0;
	Chime1 = 1; /// Chime1
	Chime2 = 2; /// Chime2
	Chime3 = 3; /// Chime3
	Chime4 = 4; /// Chime4
	Chime5 = 5; /// Chime5
	Chime6 = 6; /// Chime6
	Chime7 = 7; /// Chime7
	Chime8 = 8; /// Chime8
	Chime9 = 9; /// Chime9
	Chime10 = 10; /// Chime10
}

enum ChimePriorty_Enum {
	A = 0;
	B = 1;
	C = 2;
	D = 3;
	E = 4;
}

enum DisplaySts_OFF_Enum {
	No_Code_DisplaySts_OFF = 0; /// OFF
	ACC_LKA_HAS = 1; /// ACC_LKA_HAS
	ACC_LKA = 2; /// ACC_LKA
	ACC_HAS = 3; /// ACC_HAS
	ACC_DisplaySts_OFF = 4; /// ACC_DisplaySts_OFF
	LKA = 5; /// LKA
}

enum DisplaySts_ACC_Enum {
	OFF_DisplaySts_Acc = 0; /// OFF
	Ready_TG1 = 1; /// Ready_TG1
	Ready_TG2 = 2; /// Ready_TG2
	Ready_TG3 = 3; /// Ready_TG3
	Ready_TG4 = 4; /// Ready_TG4
	ACC_E_NT_TG1 = 5; /// ACC_E_NT_TG1
	ACC_E_NT_TG2 = 6; /// ACC_E_NT_TG2
	ACC_E_NT_TG3 = 7; /// ACC_E_NT_TG3
	ACC_E_NT_TG4 = 8; /// ACC_E_NT_TG4
	ACC_E_WT_TG1 = 9; /// ACC_E_WT_TG1
	ACC_E_WT_TG2 = 10; /// ACC_E_WT_TG2
	ACC_E_WT_TG3 = 11; /// ACC_E_WT_TG3
	ACC_E_WT_TG4 = 12; /// ACC_E_WT_TG4
	NCC_Ready = 13; /// NCC_Ready
	NCC_Engaged_DisplaySts_ACC = 14; /// NCC_Engaged_DisplaySts_ACC
}

enum DisplaySts_Veh_Enum {
	OFF_DisplaySts_Veh = 0; /// OFF
	Center_White = 1; /// Center_White
	Center_Green = 2; /// Center_Green
	Right_Crossing_1 = 3; /// Right_Crossing_1
	Left_Crossing_1 = 4; /// Left_Crossing_1
	Right_Crossing_2 = 5; /// Right_Crossing_2
	Left_Crossing_2 = 6; /// Left_Crossing_2
}

enum Lane_DisplaySts_Left_Right_Enum {
	OFF_DisplaySts_Left_Right = 0; /// OFF_DisplaySts_Left_Right
	Gray = 1; /// Gray
	Green_Lane_DisplaySts = 2; /// Green_Lane_DisplaySts
	Yellow_Lane_DisplaySts = 3; /// Yellow_Lane_DisplaySts
	Yellow_Flashing = 4; /// Yellow_Flashing
	Red_Lane_DisplaySts = 5; /// Red_Lane_DisplaySts
	Dashed = 6;
}

enum SVI_Request_Enum {
	OFF_SVI = 0; /// OFF_SVI
	Green_SVI = 1; /// Green_SVI
	Yellow_SVI = 2; /// Yellow_SVI
	Red_SVI = 3; /// Red_SVI
}

enum AEB_FailSts_Enum {
	AEB_Fail_Not_Present_FailSts = 0; /// Fail_Not_Present_FailSts
	AEB_Fail_Present = 1; /// Fail_Present
}

enum ICA_Blind_Enum {
	ICA_Blinded = 0; /// Blinded
	ICA_Not_Blinded = 1; /// Not_Blinded
}

enum DDD_DispPopupSts_Enum {
	No_Code_DDD_DispPopUpSts = 0; /// No_Code_DDD_DispPopUpSts
	Drowsniness_Detected = 1; /// Drowsniness_Detected
	DDD_Perm_Fail = 2; /// DDD_Perm_Fail
	SNA_DDD_DispPopUpSts = 3;
}

enum ACC_DispPopupSts_Enum {
	No_Code_ACC_DispPopUpSts = 0; /// No_Code
	ACC_Unavailable = 1; /// ACC_Unavailable
	ACC_Unavailable_4WD_Low = 2; /// ACC_Unavailable_4WD_Low
	ACC_Unavailable_ESC_Off = 3; /// ACC_Unavailable_ESC_Off
	ACC_Unavailable_ESC_Event = 4; /// ACC_Unavailable_ESC_Event
	ACC_Unavailable_Brakes_Cooling = 5; /// ACC_Unavailable_Brakes_Cooling
	ACC_Unavailable_Below_Min_Speed = 6; /// ACC_Unavailable_Below_Min_Speed
	ACC_Unavailable_Above_Max_Speed = 7; /// ACC_Unavailable_Above_Max_Speed
	ACC_Unavailable_EPB_Active = 8; /// ACC_Unavailable_EPB_Active
	ACC_Unavailable_Shift_D = 9; /// ACC_Unavailable_Shift_D
	ACC_Unavailable_Door_Open = 10; /// ACC_Unavailable_Door_Open
	ACC_Unavailable_Seatbelt_Unbuckled = 11; /// ACC_Unavailable_Seatbelt_Unbuckled
	ACC_Unavailable_Road_to_Steep = 12; /// ACC_Unavailable_Road_to_Steep
	ACC_Unavailable_Wrong_Gear = 13; /// ACC_Unavailable_Wrong_Gear
	ACC_Unavailable_Low_RPM = 14; /// ACC_Unavailable_Low_RPM
	ACC_Unavailable_High_RPM = 15; /// ACC_Unavailable_High_RPM
	ACC_Unavailable_Clutch_Engaged = 16; /// ACC_Unavailable_Clutch_Engaged
	ACC_Cancel_DispPopUpSts = 17; /// ACC_Cancel
	ACC_AEB_Cancel_ESC_Off = 18; /// ACC_AEB_Cancel_ESC_Off
	ACC_Cancel_ESC_Off = 19; /// ACC_Cancel_ESC_Off
	ACC_Cancel_ESC_Event = 20; /// ACC_Cancel_ESC_Event
	ACC_Cancel_Brakes_Cooling = 21; /// ACC_Cancel_Brakes_Cooling
	ACC_Cancel_Below_Min_Speed = 22; /// ACC_Cancel_Below_Min_Speed
	ACC_Cancel_Above_Max_Speed = 23; /// ACC_Cancel_Above_Max_Speed
	ACC_Cancel_EPB_Active = 24; /// ACC_Cancel_EPB_Active
	ACC_Cancel_Shift_D = 25; /// ACC_Cancel_Shift_D
	ACC_Cancel_Door_Open = 26; /// ACC_Cancel_Door_Open
	ACC_Cancel_Seatbelt_Unbuckled = 27; /// ACC_Cancel_Seatbelt_Unbuckled
	ACC_Cancel_Road_to_Steep = 28; /// ACC_Cancel_Road_to_Steep
	ACC_Cancel_Wrong_gear = 29; /// ACC_Cancel_Wrong_gear
	ACC_Cancel_Low_RPM = 30; /// ACC_Cancel_Low_RPM
	ACC_Cancel_High_RPM = 31; /// ACC_Cancel_High_RPM
	ACC_Stop_Vehicle_Object_Detected = 32; /// ACC_Stop_Vehicle_Object_Detected
	ACC_Warning_Clutch_Engaged = 33; /// ACC_Warning_Clutch_Engaged
	ACC_Warning_Neutral_Engaged = 34; /// ACC_Warning_Neutral_Engaged
	ACC_Off_ESC_Fault = 35; /// ACC_Off_ESC_Fault
	ACC_Proximity_Warning = 36; /// ACC_Proximity_Warning
	NCC_Unavailable = 37; /// NCC_Unavailable
	NCC_Unavailable_4WD_Low = 38; /// NCC_Unavailable_4WD_Low
	NCC_Unavailable_ESC_Off = 39; /// NCC_Unavailable_ESC_Off
	NCC_Unavailable_ESC_Event = 40; /// NCC_Unavailable_ESC_Event
	NCC_Unavailable_Brakes_Cooling = 41; /// NCC_Unavailable_Brakes_Cooling
	NCC_Unavailable_Below_Min_Speed = 42; /// NCC_Unavailable_Below_Min_Speed
	NCC_Unavailable_Above_Max_Speed = 43; /// NCC_Unavailable_Above_Max_Speed
	NCC_Unavailable_EPB_Active = 44; /// NCC_Unavailable_EPB_Active
	NCC_Unavailable_Shift_D = 45; /// NCC_Unavailable_Shift_D
	NCC_Unavailable_Wrong_Gear = 46; /// NCC_Unavailable_Wrong_Gear
	NCC_Unavailable_Low_RPM = 47; /// NCC_Unavailable_Low_RPM
	NCC_Unavailable_High_RPM = 48; /// NCC_Unavailable_High_RPM
	NCC_Unavailable_Clutch_Engaged = 49; /// NCC_Unavailable_Clutch_Engaged
	NCC_Cancel_DispPopUpSts = 50; /// NCC_Cancel
	NCC_AEB_Cancel_ESC_Off = 51; /// NCC_AEB_Cancel_ESC_Off
	NCC_Cancel_ESC_Off = 52; /// NCC_Cancel_ESC_Off
	NCC_Cancel_ESC_Event = 53; /// NCC_Cancel_ESC_Event
	NCC_Cancel_Brakes_Cooling = 54; /// NCC_Cancel_Brakes_Cooling
	NCC_Cancel_Below_Min_Speed = 55; /// NCC_Cancel_Below_Min_Speed
	NCC_Cancel_Above_Max_Speed = 56; /// NCC_Cancel_Above_Max_Speed
	NCC_Cancel_EPB_Active = 57; /// NCC_Cancel_EPB_Active
	NCC_Cancel_Shift_D = 58; /// NCC_Cancel_Shift_D
	NCC_Cancel_Wrong_Gear = 59; /// NCC_Cancel_Wrong_Gear
	NCC_Cancel_Low_RPM = 60; /// NCC_Cancel_Low_RPM
	NCC_Cancel_High_RPM = 61; /// NCC_Cancel_High_RPM
	NCC_Warning_Clutch_Engaged = 62; /// NCC_Warning_Clutch_Engaged
	NCC_Warning_Neutral_Engaged = 63; /// NCC_Warning_Neutral_Engaged
	ACC_User_Enabled_D1 = 64; /// ACC_User_Enabled_D1
	ACC_User_Enabled_D2 = 65; /// ACC_User_Enabled_D2
	ACC_User_Enabled_D3 = 66; /// ACC_User_Enabled_D3
	ACC_User_Enabled_D4 = 67; /// ACC_User_Enabled_D4
	ACC_Set_D1_Target = 68; /// ACC_Set_D1_Target
	ACC_Set_D2_Target = 69; /// ACC_Set_D2_Target
	ACC_Set_D3_Target = 70; /// ACC_Set_D3_Target
	ACC_Set_D4_Target = 71; /// ACC_Set_D4_Target
	ACC_Set_D1_No_Target = 72; /// ACC_Set_D1_No_Target
	ACC_Set_D2_No_Target = 73; /// ACC_Set_D2_No_Target
	ACC_Set_D3_No_Target = 74; /// ACC_Set_D3_No_Target
	ACC_Set_D4_No_Target = 75; /// ACC_Set_D4_No_Target
	ACC_Override = 76; /// ACC_Override
	ACC_User_Disabled = 77; /// ACC_User_Disabled
	NCC_User_Enabled = 78; /// NCC_User_Enabled
	NCC_Set = 79; /// NCC_Set
	NCC_User_Disbaled = 80; /// NCC_User_Disbaled
	NCC_Override = 81; /// NCC_Override
	Front_Radar_Sensor_Plant_Mode = 82; /// Front_Radar_Sensor_Plant_Mode
	ACC_AEB_LKA_Cam_Blind = 83; /// ACC_AEB_LKA_Cam_Blind

	ACC_AEB_Cam_Blind = 84; /// ACC_AEB_Cam_Blind
	ACC_LKA_Cam_Blind = 85; /// ACC_LKA_Cam_Blind
	ACC_Cam_Blind = 86; /// ACC_Cam_Blind
	ACC_AEB_LKA_LIMITED_Fail = 87; /// ACC_AEB_LKA_LIMITED_Fail
	ACC_AEB_LIMITED_Fail = 88; /// ACC_AEB_LIMITED_Fail
	ACC_LKA_LIMITED_Fail = 89; /// ACC_LKA_LIMITED_Fail
	ACC_LIMITED_Fail = 90; /// ACC_LIMITED_Fail
	ACC_AEB_Radar_Blind = 91; /// ACC_AEB_Radar_Blind
	ACC_Radar_Blind = 92; /// ACC_Radar_Blind
	ACC_AEB_LKA_Fail = 93; /// ACC_AEB_LKA_Fail
	ACC_AEB_Fail = 94; /// ACC_AEB_Fail
	ACC_LKA_Fail = 95; /// ACC_LKA_Fail
	ACC_Fail = 96; /// ACC_Fail
	NCC_AEB_LKA_Fail = 97; /// NCC_AEB_LKA_Fail
	NCC_AEB_Fail = 98; /// NCC_AEB_Fail
	NCC_LKA_Fail = 99; /// NCC_LKA_Fail
	NCC_Fail = 100; /// NCC_Fail
	Alignment_Mode = 101; /// Alignment_Mode
	Misaligned_Radar = 102; /// Misaligned_Radar
}
enum EDRDeploymentStatusEnum {
	Do_Not_Actuate = 0;
	Actuate = 1;
	}
enum ChimeFrontRq_Enum {
            NO_REQUEST_CHIME = 0;
            REQUEST_CHIME = 1;
        }
enum ChimeRearRq_ENUM {
            No_rght_rear_chime_on_req = 0;
            Right_rear_chime_on_req = 1;
        }


enum Present_Enum {
	Not_Present = 0; /// Not Present
	Present = 1; /// Present
}

enum CADM2ModeStatus_Enum {
	OFF_MODE = 0; /// OFF
	GATE = 1;
	CONTROL = 2;
}


message trackedObjectsLocation {
DataSetSignal locationLatitude = 1;
DataSetSignal locationLongitude = 2;
DataSetSignal locationHeading = 3;
}

message trackedObjectsVelocity {
DataSetSignal velocityLateral = 1;
DataSetSignal velocityLongitudinal = 2;
}

message GPSPositionType {
int32 noOfSatellites = 4; /// # of Satellites in GNMM. Number_of_Satellites_GNMM.Info
double precision = 5; ///  Precision in GNMM. Precision_GNMM.Info
DataSetSignal latitude = 1; /// Latitude(deg) in GNMM. Lat_GNMM.Info
DataSetSignal longitude = 2; /// Longitude (deg) in GNMM. Long_GNMM.Info
DataSetSignal altitude = 3; /// Altitude (m) in GNMM. Altitude_GNMM.Info
}


message CameraObjectType {

repeated float velocity_CameraObject = 3; /// Velocity
repeated double confidence_CameraObject = 4;
repeated int32 cameraObjectListNumber = 5; /// Camera Object List defined by cameraObjectType
repeated CameraObjectType_LocationEnum location = 2; /// Location
repeated CameraObjectType_ClassificationEnum classification = 1; ///  Classification
}

message Cadm2SoftwareVersionType {
int32 cadm2SoftwareVersionYear = 1;
int32 cadm2SoftwareVersionWeek = 2;
int32 cadm2SoftwareVersionPatch = 3;
}

message TrackedObjectType {

repeated int32 trackedObjectNumber = 6;
repeated trackedObjects_ClassificationEnum classification = 1;
repeated trackedObjectsLocation location_TrackedObject = 2;
repeated trackedObjectsVelocity velocity_TrackedObject = 3;
repeated trackedObjects_ConfidenceEnum confidence_TrackedObject = 4;
repeated trackedObjects_cipFlagEnum cipvFlag = 5;
}

message FrontLongRangeCameraObjectType {


repeated int32 resolution = 1;
bytes image = 3; /// Data bytes for the Camera Image
repeated CameraImageFileTypeEnum fileType = 2; /// File Type Enum
}


message edrDeploymentImpactLocation {



EDRDeploymentStatusEnum EARSRear = 1; /// Impact location B in ORC.
EDRDeploymentStatusEnum EARSHighSeverityFront = 2; /// Impact C location in ORC.
EDRDeploymentStatusEnum EARSLowSeverityFront = 3; /// Impact F location in ORC
EDRDeploymentStatusEnum EARSRollover = 4; /// impactI
EDRDeploymentStatusEnum EARSLeft = 5; /// Impact K location in ORC.
EDRDeploymentStatusEnum EARSRight = 6; /// Impact M location in ORC
}


message HMIReqToAudioAmp {

        repeated int32 ChimeRepRate = 1;
        repeated bool RFChime_RqSts = 2;
        repeated bool LFChime_RqSts = 3;
        repeated bool RRChime_RqSts = 4;
        repeated bool  LRChime_RqSt = 5;
        repeated Chime_TypSts_Enum ChimeTypSts = 6;
        repeated ChimePriorty_Enum ChimePriorty = 7;
}

message l2pHMIReqToCluster_Type {

repeated DisplaySts_OFF_Enum DisplaySts_OFF = 22;
repeated DisplaySts_ACC_Enum DisplaySts_ACC = 1;
DisplaySts_Veh_Enum DisplaySts_Veh = 2;
repeated Lane_DisplaySts_Left_Right_Enum Lane_DisplaySts_Left_HAS = 3;
repeated Lane_DisplaySts_Left_Right_Enum Lane_DisplaySts_Right_HAS = 4;
repeated HAS_TellTaleSts_Enum HAS_TelltaleSts = 5;
repeated ACC_SetSpeedStrike_Enum ACC_Set_Speed_Strike = 6;
repeated Lane_DispPopupSts_Enum Lane_DispPopupSts = 7;
repeated ACC_DispPopupSts_Enum ACC_DispPopupSts = 8;
repeated SVI_Request_Enum SVI_Request = 9;
repeated FailSts_Enum HAS_FailSts = 10;
repeated FailSts_Enum ACC_FailSts = 11;
repeated FailSts_Enum NCC_FailSts = 12;
repeated FailSts_Enum AEB_FailSts = 13;
repeated Blind_Enum HAS_Blind = 14;
repeated FailSts_Enum ACC_Limited = 15;
repeated FailSts_Enum AEB_Limited = 16;
repeated FailSts_Enum ACC_Limit_Fail = 17;
repeated FailSts_Enum AEB_Limit_Fail = 18;
repeated Blind_Enum ACC_Blind = 19;
repeated Blind_Enum AEB_Blind = 20;
repeated ICA_Blind_Enum  ICA_Blind = 21;
repeated DDD_DispPopupSts_Enum DDD_DispPopupSts = 23;
}



message TurnSignalSwitchStatus_Type {

        Set_Enum TurnLeverLatched = 1;
        TurnIndicator_Enum TurnIndicatorSts = 2;
}
message HeadLightStatus_Type {
HeadLightStatusEnum LowBeam = 1;
HeadLightStatusEnum HighBeam = 2;
}

message PowertrainInterfaceEngageReq_Type {
repeated PowertrainInterfaceEngageReqEnum ACC_Engine_Torque_Enabled = 1;
repeated PowertrainInterfaceEngageReqEnum _Enabled = 2;
}

message PowertrainTorqueReq_Type {
repeated PowertrainInterfaceEngageReqEnum ACC_Engine_Torque = 1; /// ACC_Engine_Torque.Info
repeated DataSetSignal ACC_Wheel_Torque = 2; /// ACC_Wheel_Torque.Info
}

message LocHDMapCoordinateObjectType {
DataSetSignal Latitude = 1;
DataSetSignal Longitude = 2;
}

message HPPPolynomial_Type {


float A0 = 1;
float A1 = 2;
float A2 = 3;
float A3 = 4;
float StartRange = 5;
float EndRange = 6;
}

message Polynomial_Type {
repeated float A0 = 1;
repeated float A1 = 2;
repeated float A2 = 3;
repeated float A3 = 4;
repeated float StartRange = 5;
repeated float EndRange = 6;
repeated float Quality_Indicator = 7;
repeated float Confidence = 8;
}

message cameraLaneBorderPolynomialTerms_Type {

repeated Polynomial_Type CurrentLane = 1;
repeated Polynomial_Type LeftLane = 2;
repeated Polynomial_Type RightLane = 3;
}

message cvpamFaultStatus_Type {
CVPAMFaultStatusEnum PA_Lane_Dection = 1; /// CVPAM Fault Status for PA Lane Dection Health in CVPAM. PA_Lane_Dection.Info
CVPAMFaultStatusEnum PA_Left_Sensor = 2; /// CVPAM Fault Status for PA Left Sensor Det Health in CVPAM. PA_Left_Sensor.Info
CVPAMFaultStatusEnum PA_Front_Sensor = 3; /// CVPAM Fault Status for PA Front Sensor Det Health in CVPAM.PA_Front_Sensor_Det_Health.Info
CVPAMFaultStatusEnum FrontSensorSts = 4; /// CVPAM Fault Status indicates the activation state of the front sensors in CVPAM. FrontSensorSts.Info
CVPAMFaultStatusEnum PA_Right_Sensor = 5; /// CVPAM Fault Status for PA Right Sensor Det Health in CVPAM.PA_Right_Sensor_Det_Health.Info
}

message dalmColorStatus_Type {
DALMColorStatus DalmRequest = 1;
DALMColorStatus DalmRequestC2 = 2;
}

message adasEngagedStatus_Type {
AES_ACC_SysSts_Enum ACC_SystemSts = 1; /// Engaged status in CADM for ACC_SystemSts.Info
AES_HAS_Status_Enum HAS_Status = 2; /// Engaged status in CADM for HAS_Status.Info
HAS_TellTaleSts_Enum HAS_TelltaleSts = 3; /// Engaged status in CADM for HAS_TelltaleSts.Info.
}

message adasEngagedStatusCadm2_Type {
AES_ACC_SysSts_Enum Acc_SystemSts_CADM2 = 1; /// Adas Engaged Status in CADM2 ACC_SystemSts_C2.Info
AES_HAS_Status_Enum HAS_Status = 2; /// Adas Engaged Status in CADM2. HAS_Status_C2.Info
}

message ReasonForDisengagement_Type {
        bool InvalidLaneDetection = 1;
        bool LookaheadDistanceLow = 2;
        bool InvalidLaneWidth = 3;
        bool RadiusOfCurvatureTooLow = 4;
        bool RoadwayUnsupported = 5;
        bool UnsupportedRoadwayAhead = 6;
        bool SpeedTooHigh = 45;
        bool ACCNotInCorrectState = 7;
        bool TurnSignalOn = 8;
        bool DriverOverrideCondition = 9;
        bool SystemOverrideCondition = 10;
        bool TemporaryFault = 11;
        bool PermanentFault = 12;
        bool CameraBlindness = 13;
        bool WipersTooFast = 14;
        bool PowertrainStateUnsupported = 15;
        bool OpStatDegraded = 16;
        bool MapOutdated = 17;
        bool SubscriptionExpired = 18;
        bool DriverInattentive = 19;
        bool HazardsApplied = 20;
        bool UnsupportedSplitDirection = 21;
        bool DriverHandsNotDetected = 22;
        bool TrailerDetected = 23;
        bool PoorRoadConditions = 24;
        bool LANE_CURVE = 25;
        bool AirSuspensionSettingUnsupported = 26;
        bool VehicleNotCentered = 27;
        bool VehicleHeadingMismatch = 28;
        bool LateralSuppressionTriggered = 29;
        bool FullSuppressionTriggered = 30;
        bool DriverInattentionSuppression = 31;
        bool LaneMarkerCrossed = 32;
        bool SteeringAuthorityReached = 33;
        bool DriverLateralOverride = 34;
        bool UnsupportedIgnitionStatus = 35;
        bool InsufficientPathConfidence = 36;
        bool DriverModelUnknown = 37;
        bool AEB_NotAvail = 38;
        bool LogisticsModeInhibit = 39;
        bool GNMMError = 40;
        bool SWSMHandsOnDetectionError = 41;
        bool FeatureDeactivatedRemotely = 42;
        bool InvalidSwayBarSetting = 43;
        bool ProxiMismatch = 44;
}
repeated string fusedLaneBoundaries = 3; /// Fused Lane Boundaries: Polynomial terms of Fused Lane Boundaries used for path planning
repeated ReasonForDisengagement_Type reasonForDisengagement = 204;
repeated Active_Enum absActiveFlag_BSM = 22; /// ABS Intervention Active Flag in BSM. ABSActive.Info
repeated Active_Enum absActiveFlag_BSM2 = 23; /// ABS Intervention Active Flag in BSM2. ABSActive_B2.Info
repeated Active_Enum escActiveFlag_BSM = 185; /// ESC Intervention Active Flag in BSM. ESCActive.Info
repeated float hdMapCenterline_lateralDistance = 229; /// float array of length 40
repeated FaultStatus_Enum lrcfFaultStatus = 39; /// LRCF Fault Status in CADM. LRCF_C1.Info
repeated FaultStatus_Enum lrrfFaultStatus = 40; /// LRRF Fault Status in CADM. LRRF_C1.Info
repeated FaultStatus_Enum mrrflFaultStatus = 41; /// MRRFL Fault Status in CADM. MRRRL_Fault_C1.Info
repeated FaultStatus_Enum mrrrlFaultStatus = 42; /// MRRRL Fault Status in CADM. MRRRL_Fault_C1.Info
repeated FaultStatus_Enum mrrfrFaultStatus = 43; /// MRRFR Fault Status in CADM. MRRFR_Fault_C1.Info
repeated FaultStatus_Enum mrrrrFaultStatus = 44; /// MRRRR Fault Status in CADM. MRRRR_Fault_C1.Info
repeated PrefillRequest_Enum brakePrefillRequest = 71; /// Brake Prefill Request in CADM. Prefill_Req.Info
repeated Active_Enum prefillResponse = 72; /// Prefill Response. PrefillActive.Info
repeated Present_Enum driverHeadPosition = 92; /// Driver Head Position. Driver_Presence.Info
repeated Set_Enum hazardSwitchStatus = 94; /// Hazard Switch Status in BCM. HazardSwitchPresse.Info
repeated DataSetSignal guidancePath_lateralDistance = 103; /// activePlannerBehaviour in CADM.  Array of length 41
repeated SeatVib_Req_Enum SeatVibration_Req = 196; /// SeatVib_Req.Info Seat vibration status
repeated SeatVib_Sts_Enum SeatVibration_Sts = 197; /// BCM_FD_12.SeatVib_Sts. Seat vibration status
repeated WiperSwitchStatus_Enum wiperSwitchStatus = 99; /// Wiper Switch Status in BCM. Wiper_Move.info
repeated DriverModelStatusEnum driverModelStatus = 7; /// Driver Model Status in CADM. Driver_Model.Info
repeated FCWWarningStatusEnum fcwWarningStatus = 30; /// FCW Warning Status in CADM. AEB_DispPopupSts.Info
repeated OpStatusEnum bsmFaultStatus = 31; /// BSM Fault Status in BSM. BSM_OpStat.Info
repeated OpStatusEnum bsm2FaultStatus = 32; /// BSM 2 Fault Status. BRAKE2_FD_2.Brake_OpStat
repeated OpStatusEnum cadmFaultStatus = 34; /// CADM Fault Status in CADM. CADM_OpStat.Info
repeated OpStatusEnum cadm2FaultStatus = 35; /// CADM2 Fault Status in CADM2. CADM2_OpStat.Info
repeated GNMMFaultStatusEnum gnmmFaultStatus = 36; /// GNMM Fault Status in GNMM. GNMM_Health.Info
repeated DMSMFaultStatusEnum dmsmFaultStatus = 37; /// DMSM Fault Status in DMSM. DMSM_System_Stat.Info
repeated EMSFailStatusEnum powertrainMILLampStatus = 38; /// Powertrain MIL Lamp Status in ECM. EMSFailSts.Info
repeated SWSMFaultStatusEnum swsmFaultStatus = 45; /// SWSM Fault Status for Hands Off Status in SWSM. SWSM_1.ERR_ST_HOD
repeated BCMFaultStatusEnum dalmFaultStatus = 46; /// DALM Fault Status in BCM. BCM_FD_12.DALM_Status
// repeated BCMFaultStatusEnum msbdFaultStatus = 48; /// MSBD Fault Status in BCM. BCM_FD_22.MSBD_Fault_Status
repeated HASEscalationStatusEnum adasOperatingState_Cadm = 51; /// ADAS Operating State in CADM. HAS_Escalation_Sts.Info
repeated HASEscalationStatusEnum adasOperatingState_Cadm2 = 52; /// ADAS Operating State in CADM2. HAS_Escalation_Sts_C2.Info
repeated MRMStatusEnum mrmState_Cadm = 53; /// MRM State in CADM. MRM_Status.Info
repeated MRMStatusEnum mrmState_Cadm2 = 54; /// MRM State in CADM2. MRM_Status_C2.Info
repeated HASLatCtrlRequestStatusEnum torqueOverlayEngageReqEPS_Cadm = 56; /// Torque Overlay Engage Request to EPS for CADM. HAS_LAT_CTRL_RequestSts.Info
repeated HASLatCtrlRequestStatusEnum torqueOverlayEngageReqEPS_Cadm2 = 58; /// Torque Overlay Engage Request to EPS for CADM2. HAS_LAT_CTRL_RequestSts_C2.Info
repeated PowertrainInterfaceEngageReq_Type powertrainInterfaceEngageReq = 64;
repeated AEBTypeStatusEnum brakeDecelInterfaceEngageReqType_Cadm = 67; /// Brake Decel Interface Engage Request Type in CADM. AEB_Type.Info
repeated AEBTypeStatusEnum brakeDecelInterfaceEngageReqType_Cadm2 = 69; /// Brake Decel Interface Engage Request Type in CADM2. AEB_Type_C2.Info
repeated ElectronicParkBrakeStatusEnum electronicParkBrakeStatus = 75; /// Electronic Park Brake Status in BSM. EPBSts.Info
repeated SteeringWheelHandsOnStatusEnum steeringWheelHandsOnStatus = 85; /// Steering Wheel Hands On Status in SWSM. SWSM_1.HOFF_RCOG_SEN
repeated EPSHandsOnStatusEnum epsHandsOnStatus_Primary = 86; /// EPS Hands On Status in EPS on FD-14. EPS_Hands_On_Sts.Info
repeated EPSHandsOnStatusEnum epsHandsOnStatus_Secondary = 87; /// EPS Hands On Status in EPS on FD-2. EPS_FD_1.EPS_Hands_On_Sts
repeated DriverGazeLocationEnum driverGazeLocation = 93; /// Driver Gaze Location. DM_Zone_Track.Info
repeated PRNDLPositionEnum prndlPosition = 95; /// PRNDL Position in TCM. GearEngaged.Info
repeated DataSetSignal yawRate_BSM = 18; /// Yaw Rate in BSM. YawRate_BSM.Info
repeated DataSetSignal yawRate_GNMM = 19; /// Yaw Rate in GNMM. YawRate_GNMM.Info
repeated DataSetSignal rfTirePressure = 24; /// RF Tire Pressure in RF_HUB. PressureValue_RHF_Tyre.Info
repeated DataSetSignal lfTirePressure = 25; /// LF Tire Pressure in RF_HUB. PressureValue_LHF_Tyre.Info
repeated DataSetSignal rrTirePressure = 26; /// RR Tire Pressure in RF_HUB. PressureValue_RHR_Tyre.Info
repeated DataSetSignal lrTirePressure = 27; /// LR Tire Pressure in RF_HUB. PressureValue_LHR_Tyre.Info
repeated DataSetSignal batteryVolt1 = 28; /// Battery Voltage 1 in BCM. BCM_FD_3.Battery_Volt_1
repeated DataSetSignal batteryVolt2 = 29; /// Battery Voltage 2 in BCM. BCM_FD_3.Battery_Volt_2
repeated DataSetSignal torqueRequestEPS_Cadm = 57; /// Torque Request to EPS for CADM. TorqueOverlaySteeringReq.Info
repeated DataSetSignal torqueRequestEPS_Cadm2 = 59; /// Torque Request to EPS for CADM. TorqueOverlaySteeringReq.Info
repeated DataSetSignal epsMotorTorque_FD14 = 62; /// EPS FD-14 Motor Torque in EPS. EPSMotorTorque.Info
repeated DataSetSignal epsMotorTorque_FD2 = 63; /// EPS FD-2 Motor Torque in EPS. EPS_FD_1.EPSMotorTorque
repeated PowertrainTorqueReq_Type powertrainTorqueReq = 65;
repeated DataSetSignal powertrainOutputTorque = 66; /// Powertrain Output Torque in ECM/HCP. SumTorqueStatic.Info
repeated DataSetSignal brakeDecelRequest_Cadm = 68; /// Brake Decel Request in CADM. Intervention.Info
repeated DataSetSignal brakeDecelRequest_Cadm2 = 70; /// Brake Decel Request in CADM2 Intervention_C2.Info
repeated DataSetSignal brakeTorqueApplied_BSM = 73; /// Brake Torque Applied in BSM. BrkTrq.info
repeated DataSetSignal brakeTorqueApplied_BSM2 = 74; /// Brake Torque Applied in BSM2. BRAKE2_FD_2.BrkTrq_B2
repeated DataSetSignal driverAppSteeringWheelTorque_Primary = 82; /// Driver Applied Steering Wheel Torque in EPS on FD-14. Steering_Column_Torque.Info
repeated DataSetSignal driverAppSteeringWheelTorque_Secondary = 83; /// Driver Applied Steering Wheel Torque in EPS FD-2. EPS_FD_1.Steering_Column_Torque
repeated DataSetSignal throttlePedalPosition = 84; /// Throttle Pedal Position in ECM. PdlPosActual.Info
repeated DataSetSignal externalAmbientTemp = 91; /// External Ambient Temperature in BCM. BCM_FD_10.ExternalTemperatureC
repeated DataSetSignal driverLongitudinalSetSpeed = 5; /// Driver Longitudinal Set Speed in CADM. Set_Speed_KPH.Info
repeated DataSetSignal systemTargetSpeed = 6; /// System Target Speed (kph or mph). ACC_DsrSpeedKPH.Info
repeated DataSetSignal vehicleSpeed = 8; /// Vehicle Speed (kph or mph) in BSM. VehicleSpeedVSOSig.info
repeated DataSetSignal steeringAngle_Primary = 9; /// Steering Angle in EPS on FD-14. LwsAngle.Info
repeated DataSetSignal steeringAngle_Secondary = 11; /// Steering Angle  in EPS on FD 2. EPS_FD_1.LwsAngle
repeated DataSetSignal lateralAcceleration_BSM = 13; /// Lateral Acceleration (m/s2) in BSM. LatAcceleration_BSM.info
repeated DataSetSignal lateralAcceleration_GNMM = 14; /// Lateral Acceleration (m/s2) in GNMM. LateralAcceleration_GNMM.Info
repeated DataSetSignal longAcceleration_BSM = 15; /// Longitudinal Acceleration (m/s2) in BSM. LongAcceleration_BSM.Info
repeated DataSetSignal longAcceleration_GNMM = 16; /// Longitudinal Acceleration (m/s2) in GNMM LongitudinalAcceleration_GNMM.Info
repeated FrontLongRangeCameraObjectType frontLongRangeCameraImg = 1; /// Front Long Range Camera Image. 320 x 240 8 bit Grayscale
repeated LocHDMapCoordinateObjectType locHDMapCoordinate = 4;
repeated TrackedObjectType trackedObjects = 2; /// Tracked Object List in CADM.
repeated SteeringAngleTypeEnum steeringAngleType_Primary = 10; /// Steering Angle Type in EPS on FD-14. LwsAngleType.Info
repeated SteeringAngleTypeEnum steeringAngleType_Secondary = 12; /// Steering Angle Type in EPS on FD-2. EPS_FD_1.LwsAngleType
repeated OpStatusEnum epsOverlayState_FD14 = 60; /// EPS Overlay State (FD-14) EPS Fault Status in EPS. Steering_OpStat_Prim.Info
repeated OpStatusEnum epsOverlayState_FD2 = 61; /// EPS Overlay State (FD-2) EPS Fault Status in EPS. EPS_FD_1.Steering_OpStat_Sec
repeated GPSPositionType gpsPosition = 77; /// GPS Position in GNMM
repeated CameraObjectType cameraObjectList = 78; /// Camera Object List defined by cameraObjectType
repeated DriverSeatBeltStatusEnum driverSeatBeltStatus = 89; /// Driver Seat Belt Status in ORC. SBR1RowDriverSeatSts.Info
repeated DriverDoorStatusEnum driverDoorStatus = 90; /// Driver Door Status in BCM. DriverDoorSts.Info
repeated FCWPersonalizationSettingEnum fcwPersonalizationSetting = 96; /// FCW Personalization Setting in CADM. FSFCWPlusSetting.Info
repeated HeadLightSwitchStatusEnum headLightSwitchStatus = 97; /// Headlight Switch Status in BCM. BCM_FD_26.HLSPosition
repeated IgnitionSwitchStatusEnum ignitionSwitchStatus = 100; /// Ignition Switch Status in BCM. BCM_FD_10.CmdIgnSts
repeated edrDeploymentImpactLocation edrDeploymentStatus = 101; /// EDR Deployment status
Cadm2SoftwareVersionType cadm2SoftwareVersion = 102; /// CADM2 Software Version details.
repeated CADM2ModeStatus_Enum CADM2ModeStatus = 195; /// CADM2 Mode Status signals in CADM2 ECU. CADM2_Mode.Info
repeated HMIReqToAudioAmp l2pHMIReqToAudioAmp = 198;
repeated l2pHMIReqToCluster_Type l2pHMIReqToCluster = 201;
repeated TurnSignalSwitchStatus_Type turnSignalSwitchStatus = 202;
repeated DBSM2_Internal_Error_Enum dbsmInternalErrorSts = 213;
repeated DBSM2_Internal_Error_Enum dbsmResponseErrorSts = 214;
repeated Overcurrent_Detected_Enum dbsmOverCurrentDetectedSts = 215;
repeated Overtemp_Detected_Enum dbsmOverTemperatureDetectedSts = 216;
repeated Switch_Status_OpenClose_Enum dbsmSwitchStsOpenClose = 217;
repeated Undervoltage_Detected_Enum dbsmUndervoltageDetectedSts = 218;
repeated HeadLightStatus_Type headLight_Status = 219;
repeated HPPPolynomial_Type hppPolynomial = 230;
repeated cameraLaneBorderPolynomialTerms_Type cameraLaneBorderPolynomial = 231; /// Camera Lane Border (Polynomial Terms) in CADM.  Internal
repeated DataSetSignal datalogTimestamp = 232; /// Defined as the timestamp for each sample period that indicates the time that sample period was captured relative to the trigger event.  Refer to VF 553 Range: -30000 to 6000ms
repeated DataSetSignal verticalAcceleration_GNMM = 233; /// Vertical Acceleration (m/s2) in GNMM. VerticalAcceleration_GNMM.Info
repeated DataSetSignal rollRate_GNMM = 234; /// Roll Rate in GNMM. RollRate_GNMM.Info
repeated DataSetSignal pitchRate_GNMM = 235; /// Pitch Rate in GNMM.PitchRate_GNMM.Info
repeated cvpamFaultStatus_Type cvpamFaultStatus = 236;
repeated dalmColorStatus_Type dalmColorStatus = 238;
repeated adasEngagedStatus_Type adasEngagedStatus = 240;
repeated adasEngagedStatusCadm2_Type adasEngagedStatusCadm2 = 241;
// repeated L2PHMIReqSeatBeltMotorActuatorEnum l2pHMIReqsToSeatBeltMotorAct = 243; /// L2 Plus HMI Requests to Seat Belt Motorized Actuator in CADM. SeatBelt_Pull_Rq.Info
repeated Active_Enum brakeJerkReq = 193; /// Brake Jerk Request signal from CADM ECU. LC_Jerk.Info

}

message DataLogMessageRequest {
string ulin = 1; /// Ulin shall be assigned a 20 digit Unique Log Identification Number (ULIN) that consists of the CADM2 ECU Serial Number (12 or 14 digit F18C Traceability Number) followed by a 6 digit sequential number.  The sequential number shall be incremented with each data file stored over the life of the CADM2.   Modules that use a 12 digit traceability number shall pad their traceability number with two trailing ?-? (ASCII 0x2D)  to bring it up to the required 14 digits.
repeated int32 sequenceNumber = 2; /// This defines the sequence number being requested.  If sequence value equals 0 (zero) then the request will be for the full datalog.
}
enum SignalValueUOMEnum {
	NA = 0;
	CENTIMETER = 1; /// CENTIMETER
	METER = 2; /// METER
	KILOMETER = 3; /// KILOMETER
	INCH = 4; /// INCH
	FOOT = 5; /// FOOT
	MILE = 6; /// MILE
	MILLILITER = 7; /// MILLILITER
	LITER = 8; /// LITER
	PINT = 9; /// PINT
	QUART = 10; /// QUART
	GALLON = 11; /// GALLON
	RADIAN = 12; /// RADIAN
	DEGREE = 13; /// DEGREE
	SECOND = 14; /// SECOND
	MINUTE = 15; /// MINUTE
	HOUR = 16; /// HOUR
	DAY = 17; /// DAY
	YEAR = 18; /// YEAR
	HERTZ = 19; /// HERTZ
	RADIANS_PER_SECOND = 20; /// RADIANS_PER_SECOND
	DEGREES_PER_SECOND = 21; /// DEGREES_PER_SECOND
	DECIBEL = 22; /// DECIBEL
	METERS_PER_SECOND = 23; /// METERS_PER_SECOND
	KILOMETERS_PER_HOUR = 24; /// KILOMETERS_PER_HOUR
	FEET_PER_SECOND = 25; /// FEET_PER_SECOND
	MILES_PER_HOUR = 26; /// MILES_PER_HOUR
	GRAM = 27; /// GRAM
	KILOGRAM = 28; /// KILOGRAM
	OUNCE = 29; /// OUNCE
	POUND = 30; /// POUND
	TON = 31; /// TON
	NEWTON = 32; /// NEWTON
	NEWTON_METER = 33; /// NEWTON_METER
	FOOT_POUND = 34; /// FOOT_POUND
	JOULE = 35; /// JOULE
	WATT = 36; /// WATT
	KILOWATT = 37; /// KILOWATT
	HORSEPOWER = 38; /// HORSEPOWER
	POUNDS_PER_SQUARE_INCH = 39; /// POUNDS_PER_SQUARE_INCH
	KELVIN = 40; /// KELVIN
	CENTIGRADE = 41; /// CENTIGRADE
	FAHRENHEIT = 42; /// FAHRENHEIT
	LUMEN = 43; /// LUMEN
	AMPERE = 44; /// AMPERE
	VOLT = 45; /// VOLT
	OHM = 46; /// OHM
	KOHMS = 47; /// KOHMS
	PERCENT = 48; /// PERCENT
	BARS = 49; /// BARS
	PSI_PER_BIT = 50; /// PSI_PER_BIT
	PULSE = 51; /// PULSE
	KILOMETERS_PER_LITER = 52; /// KILOMETERS_PER_LITER
	MILES_PER_GALLON = 53; /// MILES_PER_GALLON
	LITRES_PER_HOUR = 54; /// LITRES_PER_HOUR
	METERS_PER_SECOND_SECOND = 55; /// METERS_PER_SECOND_SECOND
	MILLIARCSECONDS = 56; /// MILLIARCSECONDS
	MILLIMETER = 57; /// MILLIMETER
	FEET_PER_SECOND_SECOND = 58; /// FEET_PER_SECOND_SECOND
	REVOLUTION_PER_MINUTE = 59; /// REVOLUTION_PER_MINUTE
}

message DataSetSignal {


oneof signalValue {
	int32 int32Value = 4001; /// Signal Value of type int32.
	int64 int64Value = 4002; /// Signal Value of type int64.
	string stringValue = 4003; /// StringValue
	double doubleValue = 4004; /// DoubleValue
	float floatValue = 4005; /// floatValue
	bool boolValue = 4006; /// BoolValue
	bytes bytesValue = 4007; /// bytesValue
	uint32 uInt32Value = 4008; /// uInt32Value
	uint64 uInt64Value = 4009; /// uInt64Value
	sint32 sInt32Value = 4010; /// sInt32Value
	sint64 sInt64Value = 4011; /// sInt64Value
	fixed32 fixed32Value = 4012; /// fixed32Value
	fixed64 fixed64Value = 4013; /// fixed64Value
	sfixed32 sFixed32Value = 4014; /// sFixed32Value
	sfixed64 sFixed64Value = 4015; /// sFixed64Value
}
string signalName = 2; /// The name of the signal to be collected
int32 signalId = 3; /// Used as an additional identifier for onChangeDataSet signal definitions.  The identifier can be either a global unique number or an index for the signal in the DataSet.
SignalValueUOMEnum uom = 4; /// Identify the expected UOM in which the signal value will be provided.
}

message DataLogMessageResponse {
enum DataLogResponseTypeEnum {
	SUCCESS_ULIN = 0; /// Success
	ULIN_NOT_AVAILABLE = 1; ///  ULIN_NOT_AVAILABLE when Unique ID is not available.
	GENERAL_ERROR = 2; /// General Error
}
string ulin = 3; /// Ulin shall be assigned a 20 digit Unique Log Identification Number (ULIN) that consists of the CADM2 ECU Serial Number (12 or 14 digit F18C Traceability Number) followed by a 6 digit sequential number.  The sequential number shall be incremented with each data file stored over the life of the CADM2.   Modules that use a 12 digit traceability number shall pad their traceability number with two trailing ?-? (ASCII 0x2D)  to bring it up to the required 14 digits.
int32 datalogSequence = 5; /// Defines the sequence position of the datalog data based on the datalogSequenceTotal.  Sequence will always start with 1.
int32 datalogSequenceTotal = 6; /// Defines the total sequences that will complete a full datalog event.
repeated DataLogMessageObject dataLogMessageObj = 2;
DataLogResponseTypeEnum  responseTyp = 1;

}
