/**
 * <p>This message is to define SQDF</p>
 *
 * <div class=proto-hier>
 
 *   UconnectAny
 *     |
 *     |------<a href="#com.fca.uconnect.global.SQDFPublish">SQDFPublish</a>
 *     |          |    
 *     |          |---<a href="#com.fca.uconnect.global.SQDFData">SQDFData</a>
 *     |    
 *     |------<a href="#com.fca.uconnect.global.SQDFResponse">SQDFResponse</a>
 *     |          |    
 *     |          |---<a href="#com.fca.uconnect.global.SQDFData">SQDFData</a>
 *     |    
 *     |------<a href="#com.fca.uconnect.global.SQDFRequest">SQDFRequest</a>
 *
 *
 *  <a href="#com.fca.uconnect.global.SQDFData">SQDFData</a>
 *     |
 *     |------<a href="#com.fca.uconnect.global.SQDFData.GenericData">GenericData</a>
 *     |          |
 *     |          |---<a href="#com.fca.uconnect.global.VehicleData">VehicleData</a>
 *     |
 *     |------<a href="#com.fca.uconnect.global.SQDFData.QuickScan">QuickScan</a>
 *     |          |    
 *     |          |---<a href="#com.fca.uconnect.global.SQDFData.QuickScan.QuickScanECUData">QuickScanECUData</a>
 *     |
 *     |------<a href="#com.fca.uconnect.global.SQDFData.DTCScan">DTCScan</a>
 *     |          |
 *     |          |---<a href="#com.fca.uconnect.global.SQDFData.DTCScan.DTCScanECUData">DTCScanECUData</a>
 *     |          |
 *     |          |--- <a href="#com.fca.uconnect.global.VehicleData">VehicleData</a>
 *     |
 *     |------<a href="#com.fca.uconnect.global.SQDFData.Histogram">Histogram</a>
 *     |          |
 *     |          |---<a href="#com.fca.uconnect.global.SQDFData.Histogram.HistogramData">HistogramData</a>
 *     |               |
 *     |               |---<a href="#com.fca.uconnect.global.SQDFData.Histogram.HistogramData.HistogramBin">HistogramBin</a>
 *     |
 *     |------<a href="#com.fca.uconnect.global.SQDFData.DataLog">DataLog</a>
 *     |          |    
 *     |          |--- <a href="#com.fca.uconnect.global.SQDFData.DataLog.DataLogData">DataLogData</a>
 *     |               |
 *     |               |--- <a href="#com.fca.uconnect.global.SQDFData.DataLog.DataLogData.VehicleData">VehicleData</a>
 *     |               |
 *     |               |--- <a href="#com.fca.uconnect.global.SQDFData.DataLog.DataLogData.Data">Data</a>
 *     |
 *     |------<a href="#com.fca.uconnect.global.SQDFData.SGWData">SGWData</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.17</td><td>2018-11-20</td><td>Added repeated field ecuScanData</td></tr>
* <tr><td>1.16</td><td>2018-09-26</td><td>Small change to vehicle subscription topic (SQDF instead of #)</td></tr>
* <tr><td>1.15</td><td>2018-09-18</td><td>Added SRS_LAMP_STAT Added ResponseIDHex and CANFRAMEHEX to ECUData</td></tr>
* <tr><td>1.14</td><td>2018-08-18</td><td>Change FAILED Enum in CommandStatus from 5 to 2. ServiceEnum Default changed to default1</td></tr>
* <tr><td>1.13</td><td>2018-06-18</td><td>Replaced command Status with ServiceName and moved Enums in ServiceName to make a null default</td></tr>
* <tr><td>1.12</td><td>2018-06-18</td><td>Added DTCScanEndTimeStamp</td></tr>
* <tr><td>1.11</td><td>2018-05-16</td><td>UAdded new fields per assembla 448 and removed fields from DataLog per 449</td></tr>
* <tr><td>1.10</td><td>2018-05-10</td><td>Added version to SQDFData per Assembla ticket 442 and added new descriptions per 406,407, 408, 409, 410</td></tr>
 * <tr><td>1.9</td><td>2018-04-25</td><td>Removed Afsts from VehicleData object per assmebla ticket 395 </td></tr>
 * <tr><td>1.8</td><td>2018-04-05</td><td>Changes per assembla tickets 322, 323, 324 </td></tr>
 * <tr><td>1.7</td><td>2017-10-06</td><td>Add EV elements to VehicleInfo.</td></tr>
 *  <tr><td>1.6</td><td>2017-08-07</td><td>Updated Histogram and DataLog elements.</td></tr>
 *  <tr><td>1.5</td><td>2017-07-26</td><td>Updated SQDF Data with SGWData and added additional fields.</td></tr>
 *  <tr><td>1.4</td><td>2017-07-24</td><td>Moved SQDFParameters to VehSync,removed DTCTrigger</td></tr>
 *  <tr><td>1.3</td><td>2017-07-20</td><td>Added DTCScanData Content Message</td></tr>
 *  <tr><td>1.2</td><td>2017-07-17</td><td>Added Vehicle Data message ,HistogramData and added additional SQDF parameters</td></tr>
 *  <tr><td>1.1</td><td>2017-07-11</td><td>Changed policy SubcriptionId to Bytes</td></tr>
 *	<tr><td>1.0</td><td>2017-03-10</td><td>Release of initial Proto.</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}/SQDF</td></tr>
 *	 <tr><td>Cloud receive from Vehicle</td><td>Subscribe</td><td>fcasdp/SQDF/#</td></tr>
 *	 <tr><td>Vehicle send to Cloud </td><td>Publish</td><td>fcasdp/SQDF/${iot:ClientId}</td></tr>
 *	 <tr><td>Vehicle receive from Cloud </td><td>Subscribe</td><td>fcasdp/${iot:ClientId}/SQDF</td></tr>
 *	</tbody></table>
 * <h3 class=change-log-hdr>Data Flow</h3>
 *
 * <p class=proto-main>The following sequence diagram depicts the flow of messages between the TBM and the SDP:</p>
 *
 * <img class=img-border src=./images/sqdf.png>
 * <table class=sequence-table><thead><tr>
 *	<td>Sequence</td><td>Title</td><td>Role</td><td>Message</td><td>Topic</td><td>Description</td></tr></thead>
 *   <tbody>

 *  <tr><td>1.2</td><td>2017-11-2</td><td>Added Afsts, TXWarn1, TXwarn2,EngCoolTemp, and New Histor IDS for Outputspeed, TripCount, TripTime</td></tr>
 *  <tr><td>1.1</td><td>2017-11-2</td><td>Update to Proto3</td></tr>
 * <tr><td>1.0</td><td>Send SQDFPublish</td><td>TBM</td><td>SQDFPublish</td><td>/SQDF/${iot:ClientId}</td><td><p>The SQDF Event publishes SQDFPublish Message.</p></td></tr>
 * <tr><td>2.1</td><td>Process Message</td><td>SDP</td><td></td><td></td><td><p>The SDP processes the message.</p></td></tr>
 * <tr><td>2.2.</td><td>Assign correlationID</td><td>SDP</td><td></td><td></td><td><p>Assign correct correlationId.</p></td></tr>
 * <tr><td>3.</td><td>send AckMessage</td><td>SDP</td><td>AckMessage</td><td>/SQDF/${iot:ClientId}</td><td><p>The SDP sends AckMessage to acknowledge that it received SQDFPublish Message.</p></td></tr>
 * <tr><td>4.</td><td>Process AckMessage</td><td>TBM</td><td></td><td></td><td><p>The client process AckMessage.</p></td></tr>
 * <tr><td>5.</td><td>PHEVEvent</td><td>SDP</td><td></td><td></td><td><p>The SQDFRequest Event  which triggers the SDP device to send a SQDFRequest to the TBM.</p></td></tr>
 * <tr><td>6.</td><td>Assign MessageId</td><td>SDP</td><td></td><td></td><td><p>The SDP generates the messageId for the message by incrementing a sequence counter.</p></td></tr>
 * <tr><td>7.</td><td>Send SQDFRequest Message</td><td>SDP</td><td>PHEVData</td><td>${iot:ClientId}/SQDF</td><td><p>The SDP populates the SQDFRequest Message with the required elements and publishes to the SQDF topic.</p></td></tr>
 * <tr><td>8.</td><td>Process Message</td><td>TBM</td><td></td><td></td><td><p>The TBM processes the message.</p></td></tr>
 * <tr><td>9.</td><td>Assign correlationID</td><td>TBM</td><td></td><td></td><td><p>Assign correct correlationId.</p></td></tr>
 * <tr><td>10.</td><td>send SQDFResponse</td><td>TBM</td><td>AckMessage</td><td>/SQDF/${iot:ClientId}</td><td><p>The TBM sends SQDFResponse with SQDFData in it .</p></td></tr>
 * <tr><td>11.</td><td>Process Response</td><td>SDP</td><td></td><td></td><td><p>The SDP process Response Message.</p></td></tr>
 * </tbody>
 * </table>
 */
syntax="proto3";         			
package com.fca.uconnect.global;
//import public "Global_Uconnect_Control3.proto";
import public "Global_Uconnect_VehicleInfo.proto";

enum ServiceNameEnum {
		DEFAULT = 0; /// DEFAULT
		VRC = 1;/// Vehicle Report Card
		DTC = 2;///Diagnostic Trouble Code upload
		GCD = 3; /// Deprecated
		MTR = 4;///Manual Trigger upload (Programmable Trigger Event)
		SGW = 5;///Security Gateway upload

		}

message SQDFPublish {
	 SQDFData data = 1;
}

message SQDFResponse {
	enum SQDFCommandStatus {
		DEFAULT = 0;
		SUCCESS = 1;
		FAILED = 5;


	}
	 SQDFData data = 1;
	 SQDFCommandStatus status = 2;
	 int32 failureReasonCode = 3;
}

message SQDFRequest {


enum SQDFCommand {
		DEFAULT = 0;
		SendData = 1; /// The vehicle should reply with a SQDFResponse that contains SQDFData.GenericData
		DoQuickScan = 2;  /// The vehicle should reply with a SQDFResponse that contains SQDFData.QuickScan
		DoDTCScan = 3; /// The vehicle should reply with a SQDFResponse that contains SQDFData.DTCScan
		DoHistogram = 4; /// The vehicle should reply with a SQDFResponse that contains SQDFData.Histogram
		DODATALOGCOMP = 5; /// The vehicle should reply with the SQDFData.Datalog
		SGWLOGSCOMP = 6; /// The vehicle should reply with SQDFData.SGWDATA


	}

	 ServiceNameEnum serviceName   = 13; /// ServiceName only this attribute should be read unless it is a ConfigUpdate
	 repeated SQDFCommand command = 14;

	 }



/**
 * This message is to define Key Vehicle Information which includes vehicleConfiguration parameters  and parameters that are monitored continuously
 */
message VehicleData{
 		 int32 ODO = 2; /// Odometer mileage; km
 		 float distanceToService = 3;/// Distance to Vehicel Service; Range 0 to 131071; based on distanceUnit field
		 LampStateEnum brake_Pedal_Fault = 126; /// Brake Pedal Fault Indicator - use for brkSWNOFailSTat
 		 int32 oilLifeLeft = 5; /// Oil life left (OilLifeSts); %
 		 float IBS_SOC = 6; /// State of Charge from IBS system; %
 		 int32 travelingTimeAPlusHour = 7; /// Trip A hours travel time; hr
 		 int32 travelingTimeAPlusMinute = 8; /// Trip A minutes travel time; min
 		 TirePressure tirePressure = 9; /// Tire system values for pressure and inflation states
 		 bool isMILOnRq = 10; /// Engine MIL indicator status; Inactive = [0] Active = [1]
 		 bool isGlowPlugs = 11; /// Glow plug; Inactive = [0] Active = [1]
 		 bool isLHTurnLightFault = 12; /// Left hand turn light fault; Inactive = [0] Active = [1]
 		 bool isRHTurnLightFault = 13; /// Right hand turn light faul; Inactive = [0] Active = [1]
 		 bool isFRTurnLightFault = 120; /// Front right turn light fault; Inactive = [0] Active = [1]
 		 bool isFLTurnLightFault = 121; /// Front left turn light fault; Inactive = [0] Active = [1]
 		 bool isRRTurnLightFault = 122; /// Rear right turn light fault; Inactive = [0] Active = [1]
 		 bool isRLTurnLightFault = 123; /// Rear left turn light fault; Inactive = [0] Active = [1]
 		 bool isPlateLmpFault = 14;/// License plate lamp fault; Inactive = [0] Active = [1]
 		 bool isDRLFault = 15;/// Daytime running lamp fault; Inactive = [0] Active = [1]
 		 bool isFuelLevelLow = 16;/// Fuel level low; Inactive = [0] Active = [1]
 		 LampStateEnum isBatteryLampStsOn = 17; /// Battery reached critical state
 		 ChargeSystemFailEnum isChrgSystemFail = 18; /// Charging system Failure (battery indicator request)
 		 bool isFuelCapOpen = 19; /// Fuel Cap open; Inactive = [0] Active = [1]
 		 bool isParkingFailSts = 20; /// Parking System Failure; Inactive = [0] Active = [1]
 		 bool isHillHolderFailSts = 21; /// Hill Hold System Failure; Inactive = [0] Active = [1]
 		 LampStateEnum isEBDLAMPFailSts = 22; /// EBD Lamp Failure
 		 LampStateEnum isTPMIndLmpOnRq = 23; /// Tire pressure indication request
 		 bool isBreakFluidLow = 24; /// Brake fluid low level; Inactive = [0] Low = [1]
 		 bool isWashFluidLow = 25; /// Washer fluid low level; Inactive = [0] Low = [1]
 		 bool isBSMServiceReqOn= 26; /// BSM service warning request; Inactive = [0] Service Request = [1]
 		 int32 numStops = 27;/// Counts of number of stops per trip; Range 0 to 255
 		 int32 numHardBrakes = 28;/// Counts of total Hardbrake events; Range 0 to 255
 		 MaintenanceStateEnum maintenanceSts = 29; /// Maintenance reminder for an Oil Change
		 int32 vrcUploadDayOfMonth = 90; /// Day setting for the calendar month to upload the monthly data set
 		 int64 vrcUploadTimeStamp = 30; /// Time setting for the calendar month to upload the monthly data set
 		 int32 engineRunTime = 31;/// Range 0 to 960, minutes
 		 int32 avgFuelEconomy = 32; /// Average Fuel Economy
 		 float batteryVoltage = 33; /// System voltage, Range 0 to 18, Init Value = 25.5, Unit = Volts
 		 DistanceUnitsEnum distanceUnit = 34;/// Distance (odometer) units; km = [0], miles = [1]
 		 bool isRunFlatTireLow = 35; /// Stop Lamp Fault; Inactive = [0] Active = [1]
 		 int32 gasRange = 36; /// Gas range or Distance to empty; Range 0 to 1022, Init Value 1023, Unit = km
 		 int32 tripAKMPL = 37; /// Trip A mileage; kmpl
 		 int32 tripAMPG = 38;/// Trip A mileage; mpg
 		 int32 tripBKMPL = 39; /// Trip B mileage; kmpl
 		 int32 tripBMPG = 40; /// Trip B mileage; mpg
 		 int32 tripATotalDistKM = 41; /// Trip A total distance traveled; km
 		 int32 tripATotalDistMiles = 42; /// Trip A total distance traveled; miles
 		 int32 tripBTotalDistKM = 43; /// Trip B total distance traveled; km
 		 int32 tripBTotalDistMiles = 44; /// Trip B total distance traveled; miles
// 		 float engineRPM = 45;
 		 float vehicleSpeed = 46; /// Vehicle speed; km/h
 //		 int32 isIgnitionOffTime = 47;
 		 int32 ambientAvgTemperature = 48; /// Ambient temperature; °F
 		 int32 engineCoolantTemperature = 49; /// Engine coolant temperature; °C
 		 int32 dpfDEFWarning = 50; /// DEF indicator status; OFF =[0], ON =[1], Flash =[2], SNA =[3]
// 		 bool isOilPressure = 51;
// 		 int32 rainSensorLevel = 52;
// 		 int32 boostPressureIndication = 53;
// 		 string eModeSTS = 54;
// 		 string driverDoorSTS = 55;
// 		 string cmdIgnitionSTS = 56;
 		 LampStateEnum brakeLampIndicatorSts = 57; /// Brake indication lamp (red) on request
 		 string txTemp_Excess = 58;/// Transmission Warning System;  None = [0], 1 to F = (WARN_x), TxTempWarn1
 		 string txTemp_Excess2=119; /// Transmission Warning System #2;  None =[0], 1 to FF = (WARN_xx), TxTempWarn2
 		 string PFW = 59; /// Particulate filter warning status; PFW_Stat
 		 sint32 IBS_I_BATT = 60;/// Battery current from IBS;  Range -32768 to 32766, 65535 = SNA, Amp
 		 sint32 IBS_T_BATT = 61;/// Battery temperature from IBS;  Range -40 to 105, 255 = SNA, °C
 		 float IBS_V_BATT = 62;/// Battery voltage from IBS; Range 3 to 18, 16383 = SNA, V
//		 string GR = 63;
//		 int32 vehiclePerAccelX = 64;
//		 int32 vehiclePerAccelY = 65;
//		 string ftFogRQ = 66;
//		 string acCltchEGD = 67;
		 LampStateEnum etcLmpIndSts = 68; /// Electronic Traction Control Lamp Status
//		 string essEngineStatus = 69;///ESS_ENG_ST
		 bool isEngineOilLampOn = 70; /// Request oil level/oil pressure indicator lamp; Inactive =[0], Active =[0]
		 int32 oilTempIndicatorRq = 71;///OIL_TEMP_IND_RQ; OFF =[0], ON =[1], FLASH =[2], SNA =[3]
//		 string engineTrqRqEsc = 72; /// Engine Oil OverTemperature (Hot Oil Warning Message), OIL_TEMP_IND_RQ
//		 string batteryStatusCriteria = 73;///Batt_ST_Crit
		 LampStateEnum absLampSts = 74;///ABS_IndLmp_On_Rq
//		 string spStSwStatus = 75; ///
		 LampStateEnum srsIndLmpSts = 76;//SRS_IndLmp_Rq
//		 string mzrModeAct = 77;
//		 string flHSStat = 78;
//		 string frHSStat = 79;
//		 string autoDfgStatus = 80;
//		 string engineLoad = 81;
//		 string actlAccelPdlPosition = 82;
//		 string accelPdlPosition = 83;
//		 int32 fuelConsumption = 84;
//		 string engineTrqStatic = 85;
		 int32 oilPressure = 91;/// Oil Pressure; Range 0 to 1016, SNA=1020,  kPaG
		 LampStateEnum srsLmpSts = 92; ///Air Bag Warning Light Status
		 LampStateEnum wtrFuelIndLmpSts = 93; /// Water in fuel lamp active
		 int32 vcFuelCapacity = 94;/// Overall Fuel Capacity;  Range 36 to 290, liters
		 bool isBSM_OPR_STAT = 95; ///BSM operation status; 1= operational failure
		 int32 avgFuelLvl = 96;/// Average Fuel level; Range 0 to 255, liters
		 StateEnum epsWarnDispRq = 97; /// Electric power steering warning display request
		 LampStateEnum escCntrlLmpSts = 98; /// ESC control lamp information(ESCControlLamp)
		 bool isPTS_FT_SRV = 99; /// Front PTS sensor service request; Inactive = [0] Active = [1]
		 bool isPTS_RR_SRV = 100; /// Rear PTS sensor service request; Inactive = [0] Active = [1]
		 bool isADS_SrvSys = 101; /// ADS Service System (ADS_SrvSys); Inactive = [0] Active = [1]
		 bool isACCFaulted = 102; /// ACC faulted; Inactive = [0] Active = [1]
		 bool isACCOnlyNA_DASMSSts = 103; /// ACC only not available: vehicle system error; True = [1]
		 string mapRequestCd = 104; /// Navigation Map Code
		 bool isNavigationActivated = 105; /// Navigation Activated
		 bool isSPLmpFault = 106; /// Stop Lamp Fault; Inactive = [0] Active = [1]
		 float A_EV_Miles = 107; /// Trip A EV distance; Range 0 to 9999.9 16777215 = SNA, miles
		 float A_EV_Kilometers = 108; /// Trip A EV distance; Range 0 to 16093.3 16777215 = SNA ,  km
		 float A_Hybrid_Miles = 109; /// Trip A hybrid distance; Range 0 to 9999.9 16777215 = SNA, miles
		 float A_Hybrid_Kilometers = 110; /// Trip A hybrid distance; Range 0 to 16093.3 16777215 = SNA , km
		 float B_EV_Miles = 111; /// Trip B EV distance; Range 0 to 9999.9 16777215 = SNA, miles
		 float B_EV_Kilometers = 112; /// Trip B EV distance; Range 0 to 9999.9 16777215 = SNA, km
		 float B_Hybrid_Miles = 113; /// Trip B hybrid distance; Range 0 to 9999.9 16777215 = SNA, miles
		 float B_Hybrid_Kilometers = 114; /// Trip B hybrid distance; Range 0 to 9999.9 16777215 = SNA, km
		 float outputSpeed = 115; /// Output Speed; rpm
		 int32 TripCounts = 116; /// Trip Counts; count
		 int64 Triptime = 117; /// Trip Time; minutes
		 int64 Afsts = 118; /// Fuel Type
		 LampStateEnum srsIndLmpRq = 124; /// SRS indication lamp request
		 RequestState tCaseAWD_DrvMdRq = 125; /// Transfer case all wheel drive request
		
		enum RequestState{
			NSPD = 0;
			PSD = 1;
			NDEF = 2;
			R_SNA = 3; /// Signal Not Available

		}
		enum ChargeSystemFailEnum {
				FALSE = 0; /// Inactive
				TRUE = 1; /// Active
				SNA = 2; /// Signal not available
			}
			
		enum StateEnum {
				STATE_ZERO = 0;
				STATE_ONE = 1;
				STATE_TWO = 2;
				STATE_THREE = 3;
				STATE_SEVEN = 7;
			}
			
		enum MaintenanceStateEnum {
				NONE = 0; ///No Oil Change needed
				SOON = 1; ///Service Oil Change soon
				NOW = 2; ///Serivce Oil Change Now
				SNA_STATE = 3; ///Signal not available
				RESET = 4; /// Reset State
			}
			
		enum DistanceUnitsEnum {
				MILES = 0;
				KILOMETERS = 1;
			}
			enum LampStateEnum {
				ZERO = 0;/// OFF
				ONE = 1; /// Continuous On
				TWO = 2; /// Blinking
				THREE = 3; /// SNA, Signal not available
			}
}


message SQDFData {


	
	 string version = 15; /// [Required for Legacy Support] SQDF application version number. ex: 180505(YYMMDD) (i.e. YY = Last two digits of the Year, MM = Month and DD = Day)
	 string vehicleId = 1; /// [Required for Legacy Support]
	 string eventId  = 2; /// [Required for Legacy Support] Event ID shall be a unique number for each upload. Part of the unique number can include the last 8 digits of the VIN. The Event ID shall include TBM2_<Region>_<Service Name>:<8 digit VIN>-<YYYYMMDDTIME>. Ex: "eventId": "TBM2_E_DTC:GH100127-20160925000002"
	 int64 eventCreationTime =3;/// [Required for Legacy Support] This is Epoch time and must be converted by backend to SQDF required format
	 Location uploadVehicleLocation = 4;/// [Required for Legacy Support] Vehicle GPS Location during SQDF data upload

	 QuickScan quickScanData = 6;
	 DTCScan dtcScanData = 7;
	 Histogram histogram = 8;/// Protobuf format to support uploading Histogram data.
	 DataLog datalog = 9;/// Protobuf format to support uploading DataLog data.
	 GenericData genericData = 10;
	 SGWData sgwData = 11;
	 ServiceNameEnum serviceName = 12; /// Service Name of the type of SQDF Data
	 bytes histogramJsonData = 13;/// Support legacy approach for passing through Histogram data in JSON format.
	 bytes datalogJsonData = 14;/// Support legacy approach for passing through DataLog data in JSON format.

	message SGWData {
		 ECUData ecuData = 1;
		 int32 monthlyPayload = 2;
		 int32 uploadDayOfMonth = 3;
		 int64 uploadTimestamp = 4;
		 bytes gatewayLogs = 5;
		 bytes idsLogs = 6;
		 repeated ECUData ecuScanData = 7;
	}


/**
* A set of data values collected in response to a SQDFRequest with a command of SQDFCommand.SendData..
*<div class=exmsg-main>
* <h4>GenericData Example for SQDF.GenericData </h4>
* <div class=ex-msg>
*	<code>
*      timestamp: 1489075048380
*      messageId: 0
*      messages
*      {
*          [com.fca.uconnect.global.sQDFData] {
*			vehicleId:
*           }
*      }
*   </code>
* </div>
* </div>
*/
	message GenericData  {
	 VehicleData vehicleData = 1;
	}

	 message ECUData {
 		enum CanType {
			DEFAULT = 0;
	 		CCAN = 1;
			BHCAN_OR_I_CAN= 2;
			C1_CAN= 3;
			C2_CAN= 4;
 		}
		 string ecuId = 1;
		 CanType type = 2;
 		 int32 responseId = 3; /// depricated
 		 string responseIDHex = 5; /// response ID in Hex string
 		 bytes canFrame = 4; /// Depricated
 		 string canFrameHex = 6; /// CanFrame in Hex String
 	}

	message QuickScan {
	 	 int32 ODO = 1;
		 Location scanVehicleLocation = 2;
//		 double gpsLatitude = 3;
//		 double gpsLongitude = 4;
//		 double gpsAltitude = 5;
		 int64 scanTimestamp = 6;

	 	repeated ECUData  ecuData = 7;
//	 	repeated QuickScanECUData  ecuData = 7;
//	 	message QuickScanECUData {
// 		enum CanType {
//	 		CCAN = 1;
//			BHCAN_OR_I_CAN= 2;
//			C1_CAN= 3;
//			C2_CAN= 4;
// 		}
// 		 CanType type = 1;
//		 int32 responseId = 1;
// 		 bytes canFrame = 2;
// 	}

	}

/**
* The data generated by a DTCScan.
*<div class=exmsg-main>
* <h4>GenericData Example for SQDF.GenericData policy</h4>
* <div class=ex-msg>
*	<code>
*      timestamp: 1489075048380
*      messageId: 0
*      messages
*      {
*          [com.fca.uconnect.global.sQDFData] {
*			vehicleId:
*           }
*      }
*   </code>
* </div>
* </div>
*/
	message DTCScan {
	 	message DTCTrigger {
	 		enum DTCTriggerType {
				DEFAULT = 0;
	 			ECU = 1;
	 			LAMP = 2;
	 			ECU_SWAP = 3;
	 		}
	 		 DTCTriggerType trigger = 1;
	 		 string name = 2;
	 	}
	 	repeated string maskedDTCs = 1;///list of DTCs to not send - to squelch excessive traffic in the event of errors.
	 	 int64 triggerDTCDetectionTimestamp = 2;///time when dtc is detected
	 	 int64 DTCScanEndTimestamp = 7;
	 	repeated DTCTrigger triggers = 3;
		 VehicleData  vehicleData = 4;
		repeated ECUData dtcScanECUData = 5;
		 Location scanVehicleLocation = 6;
//		repeated DTCScanECUData dtcScanECUData = 6;
	}

/**
*<div class=exmsg-main>
* <h3 class=change-log-hdr>Histogram Ids</h3>
*
 *  <table class="change-log">
 *    <thead>
 *	<tr><td>Id</td><td>Name</td></tr>
 *    </thead>
 *    <tbody>
 *      <tr><td>1</td><td>EngTrq_Rq_ESC</td></tr>
*      <tr><td>2</td><td>BATT_VOLT</td></tr>
*      <tr><td>3</td><td>AvgFuelLvl</td></tr>
*      <tr><td>4</td><td>EngRPM</td></tr>
*      <tr><td>5</td><td>VEH_SPEED</td></tr>
*      <tr><td>6</td><td>IGN_OFF_TIME_LNG</td></tr>
*      <tr><td>7</td><td>INST_FUEL_ECO</td></tr>
*      <tr><td>8</td><td>AMB_TEMP_AVG_F</td></tr>
*      <tr><td>9</td><td>Gr</td></tr>
*      <tr><td>10</td><td>TirePressFL</td></tr>
*      <tr><td>11</td><td>TirePressFR</td></tr>
*      <tr><td>12</td><td>TirePressRL</td></tr>
*      <tr><td>13</td><td>TirePressRR</td></tr>
*      <tr><td>14</td><td>TirePressRL2</td></tr>
*      <tr><td>15</td><td>TirePressRR2</td></tr>
*      <tr><td>16</td><td>EngCoolTemp</td></tr>
*      <tr><td>17</td><td>DRV_SEATBELT</td></tr>
*      <tr><td>18</td><td>PSG_SEATBELT</td></tr>
*      <tr><td>19</td><td>E_Mode_Sts</td></tr>
*      <tr><td>20</td><td>EngLoad</td></tr>
*      <tr><td>21</td><td>IBS_V_BATT</td></tr>
*      <tr><td>22</td><td>IBS_T_BATT</td></tr>
*      <tr><td>23</td><td>EngineRunTime</td></tr>
*      <tr><td>24</td><td>FL_HS_STAT</td></tr>
*      <tr><td>25</td><td>FR_HS_STAT</td></tr>
*      <tr><td>26</td><td>EngTrqStatic</td></tr>
*      <tr><td>27</td><td>DAY_LGT_MD</td></tr>
*      <tr><td>28</td><td>DriveStyleSts</td></tr>
*      <tr><td>29</td><td>BoostPressureIndication</td></tr>
*      <tr><td>30</td><td>RainSensorLvl</td></tr>
*      <tr><td>31</td><td>PSG_AJAR</td></tr>
*      <tr><td>32</td><td>DRV_AJAR</td></tr>
*      <tr><td>33</td><td>R_R_AJAR</td></tr>
*      <tr><td>34</td><td>L_R_AJAR</td></tr>
*      <tr><td>35</td><td>TLG_AJAR</td></tr>
*      <tr><td>36</td><td>CmdIgnSts</td></tr>
*      <tr><td>37</td><td>AutoDfgStat</td></tr>
*      <tr><td>38</td><td>FT_FOG_RQ</td></tr>
*      <tr><td>39</td><td>AC_CLTCH_EGD</td></tr>
*      <tr><td>40</td><td>MdsAct</td></tr>
*      <tr><td>41</td><td>ActlAccelPdlPosn</td></tr>
*      <tr><td>42</td><td>AccelPdlPosn</td></tr>
*      <tr><td>43</td><td>VehPerfAccel_X</td></tr>
*      <tr><td>44</td><td>VehPerfAccel_Y</td></tr>
*      <tr><td>45</td><td>IBS_I_BATT</td></tr>
*      <tr><td>46</td><td>FUEL_cons</td></tr>
*      <tr><td>47</td><td>EngineStopTime</td></tr>
*      <tr><td>48</td><td>SpStSwStat</td></tr>
*      <tr><td>49</td><td>ESS_ENG_ST</td></tr>
*      <tr><td>50</td><td>HardBrake</td></tr>
*      <tr><td>51</td><td>MileBased</td></tr>
*      <tr><td>52</td><td>SpStDispstat</td></tr>
*      <tr><td>53</td><td>IBS_SOC</td></tr>
*      <tr><td>54</td><td>HVBatSOC_HCP</td></tr>
*      <tr><td>55</td><td>TCASE_STAT</td></tr>
*      <tr><td>56</td><td>TCaseAWD_DrvMdRq</td></tr>
*      <tr><td>57</td><td>SHFT_PROG</td></tr>
*      <tr><td>58</td><td>CC_SetSpdDsplMPH</td></tr>
*      <tr><td>59</td><td>CRUISE_EGD</td></tr>
*      <tr><td>100</td><td>EngSpeedToEngineTorque_0to100rpm</td></tr>
*      <tr><td>101</td><td>EngSpeedToEngineTorque_100to200rpm</td></tr>
*      <tr><td>102</td><td>EngSpeedToEngineTorque_200to300rpm</td></tr>
*      <tr><td>103</td><td>EngSpeedToEngineTorque_300to400rpm</td></tr>
*      <tr><td>104</td><td>EngSpeedToEngineTorque_400to500rpm</td></tr>
*      <tr><td>105</td><td>EngSpeedToEngineTorque_500to600rpm</td></tr>
*      <tr><td>106</td><td>EngSpeedToEngineTorque_600to700rpm</td></tr>
*      <tr><td>107</td><td>EngSpeedToEngineTorque_700to800rpm</td></tr>
*      <tr><td>108</td><td>EngSpeedToEngineTorque_800to900rpm</td></tr>
*      <tr><td>109</td><td>EngSpeedToEngineTorque_900to1000rpm</td></tr>
*      <tr><td>110</td><td>EngSpeedToEngineTorque_1000to1100rpm</td></tr>
*      <tr><td>111</td><td>EngSpeedToEngineTorque_1100to1200rpm</td></tr>
*      <tr><td>112</td><td>EngSpeedToEngineTorque_1200to1300rpm</td></tr>
*      <tr><td>113</td><td>EngSpeedToEngineTorque_1300to1400rpm</td></tr>
*      <tr><td>114</td><td>EngSpeedToEngineTorque_1400to1500rpm</td></tr>
*      <tr><td>115</td><td>EngSpeedToEngineTorque_1500to1600rpm</td></tr>
*      <tr><td>116</td><td>EngSpeedToEngineTorque_1600to1700rpm</td></tr>
*      <tr><td>117</td><td>EngSpeedToEngineTorque_1700to1800rpm</td></tr>
*      <tr><td>118</td><td>EngSpeedToEngineTorque_1800to1900rpm</td></tr>
*      <tr><td>119</td><td>EngSpeedToEngineTorque_1900to2000rpm</td></tr>
*      <tr><td>120</td><td>EngSpeedToEngineTorque_2000to2100rpm</td></tr>
*      <tr><td>121</td><td>EngSpeedToEngineTorque_2100to2200rpm</td></tr>
*      <tr><td>122</td><td>EngSpeedToEngineTorque_2200to2300rpm</td></tr>
*      <tr><td>123</td><td>EngSpeedToEngineTorque_2300to2400rpm</td></tr>
*      <tr><td>124</td><td>EngSpeedToEngineTorque_2400to2500rpm</td></tr>
*      <tr><td>125</td><td>EngSpeedToEngineTorque_2500to2600rpm</td></tr>
*      <tr><td>126</td><td>EngSpeedToEngineTorque_2600to2700rpm</td></tr>
*      <tr><td>127</td><td>EngSpeedToEngineTorque_2700to2800rpm</td></tr>
*      <tr><td>128</td><td>EngSpeedToEngineTorque_2800to2900rpm</td></tr>
*      <tr><td>129</td><td>EngSpeedToEngineTorque_2900to3000rpm</td></tr>
*      <tr><td>130</td><td>EngSpeedToEngineTorque_3000to3100rpm</td></tr>
*      <tr><td>131</td><td>EngSpeedToEngineTorque_3100to3200rpm</td></tr>
*      <tr><td>132</td><td>EngSpeedToEngineTorque_3200to3300rpm</td></tr>
*      <tr><td>133</td><td>EngSpeedToEngineTorque_3300to3400rpm</td></tr>
*      <tr><td>134</td><td>EngSpeedToEngineTorque_3400to3500rpm</td></tr>
*      <tr><td>135</td><td>EngSpeedToEngineTorque_3500to3600rpm</td></tr>
*      <tr><td>136</td><td>EngSpeedToEngineTorque_3600to3700rpm</td></tr>
*      <tr><td>137</td><td>EngSpeedToEngineTorque_3700to3800rpm</td></tr>
*      <tr><td>138</td><td>EngSpeedToEngineTorque_3800to3900rpm</td></tr>
*      <tr><td>139</td><td>EngSpeedToEngineTorque_3900to4000rpm</td></tr>
*      <tr><td>140</td><td>EngSpeedToEngineTorque_4000to4100rpm</td></tr>
*      <tr><td>141</td><td>EngSpeedToEngineTorque_4100to4200rpm</td></tr>
*      <tr><td>142</td><td>EngSpeedToEngineTorque_4200to4300rpm</td></tr>
*      <tr><td>143</td><td>EngSpeedToEngineTorque_4300to4400rpm</td></tr>
*      <tr><td>144</td><td>EngSpeedToEngineTorque_4400to4500rpm</td></tr>
*      <tr><td>145</td><td>EngSpeedToEngineTorque_4500to4600rpm</td></tr>
*      <tr><td>146</td><td>EngSpeedToEngineTorque_4600to4700rpm</td></tr>
*      <tr><td>147</td><td>EngSpeedToEngineTorque_4700to4800rpm</td></tr>
*      <tr><td>148</td><td>EngSpeedToEngineTorque_4800to4900rpm</td></tr>
*      <tr><td>149</td><td>EngSpeedToEngineTorque_4900to5000rpm</td></tr>
*      <tr><td>150</td><td>EngSpeedToEngineTorque_5000to5100rpm</td></tr>
*      <tr><td>151</td><td>EngSpeedToEngineTorque_5100to5200rpm</td></tr>
*      <tr><td>152</td><td>EngSpeedToEngineTorque_5200to5300rpm</td></tr>
*      <tr><td>153</td><td>EngSpeedToEngineTorque_5300to5400rpm</td></tr>
*      <tr><td>154</td><td>EngSpeedToEngineTorque_5400to5500rpm</td></tr>
*      <tr><td>155</td><td>EngSpeedToEngineTorque_5500to5600rpm</td></tr>
*      <tr><td>156</td><td>EngSpeedToEngineTorque_5600to5700rpm</td></tr>
*      <tr><td>157</td><td>EngSpeedToEngineTorque_5700to5800rpm</td></tr>
*      <tr><td>158</td><td>EngSpeedToEngineTorque_5800to5900rpm</td></tr>
*      <tr><td>159</td><td>EngSpeedToEngineTorque_5900to6000rpm</td></tr>
*      <tr><td>160</td><td>EngSpeedToEngineTorque_6000to6100rpm</td></tr>
*      <tr><td>161</td><td>EngSpeedToEngineTorque_6100to6200rpm</td></tr>
*      <tr><td>162</td><td>EngSpeedToEngineTorque_6200to6300rpm</td></tr>
*      <tr><td>163</td><td>EngSpeedToEngineTorque_6300to6400rpm</td></tr>
*      <tr><td>164</td><td>EngSpeedToEngineTorque_6400to6500rpm</td></tr>
*      <tr><td>165</td><td>EngSpeedToEngineTorque_6500to6600rpm</td></tr>
*      <tr><td>166</td><td>EngSpeedToEngineTorque_6600to6700rpm</td></tr>
*      <tr><td>167</td><td>EngSpeedToEngineTorque_6700to6800rpm</td></tr>
*      <tr><td>168</td><td>EngSpeedToEngineTorque_6800to6900rpm</td></tr>
* 		<tr><td>168</td><td>EngSpeedToEngineTorque_6900to7000rpm</td></tr>
*      <tr><td>169</td><td>EngSpeedToEngineTorque_7000toOrphanrpm</td></tr>
*      <tr><td>200</td><td>MilesAtTransTorqueToGear_1</td></tr>
*      <tr><td>201</td><td>MilesAtTransTorqueToGear_2</td></tr>
*      <tr><td>202</td><td>MilesAtTransTorqueToGear_3</td></tr>
*      <tr><td>203</td><td>MilesAtTransTorqueToGear_4</td></tr>
*      <tr><td>204</td><td>MilesAtTransTorqueToGear_5</td></tr>
*      <tr><td>205</td><td>MilesAtTransTorqueToGear_6</td></tr>
*      <tr><td>206</td><td>MilesAtTransTorqueToGear_7</td></tr>
*      <tr><td>207</td><td>MilesAtTransTorqueToGear_8</td></tr>
*      <tr><td>208</td><td>MilesAtTransTorqueToGear_9</td></tr>
*      <tr><td>209</td><td>MilesAtTransTorqueToGear_2ndPrime</td></tr>
*      <tr><td>210</td><td>MilesAtTransTorqueToGear_R</td></tr>
*      <tr><td>211</td><td>MilesAtTransTorqueToGear_R2</td></tr>
*      <tr><td>220</td><td>MilesAtPedalPositionAndVehspd_0</td></tr>
*      <tr><td>221</td><td>MilesAtPedalPositionAndVehspd_0-10</td></tr>
*      <tr><td>222</td><td>MilesAtPedalPositionAndVehspd_10-20</td></tr>
*      <tr><td>223</td><td>MilesAtPedalPositionAndVehspd_30-40</td></tr>
*      <tr><td>224</td><td>MilesAtPedalPositionAndVehspd_40-50</td></tr>
*      <tr><td>225</td><td>MilesAtPedalPositionAndVehspd_50-60</td></tr>
*      <tr><td>226</td><td>MilesAtPedalPositionAndVehspd_60-70</td></tr>
*      <tr><td>227</td><td>MilesAtPedalPositionAndVehspd_70-80</td></tr>
*      <tr><td>228</td><td>MilesAtPedalPositionAndVehspd_80-90</td></tr>
*      <tr><td>229</td><td>MilesAtPedalPositionAndVehspd_90-100</td></tr>
*      <tr><td>230</td><td>MilesAtPedalPositionAndVehspd_100-110</td></tr>
*      <tr><td>231</td><td>MilesAtPedalPositionAndVehspd_110-120</td></tr>
*      <tr><td>232</td><td>MilesAtPedalPositionAndVehspd_120-130</td></tr>
*      <tr><td>233</td><td>MilesAtPedalPositionAndVehspd_130-140</td></tr>
*      <tr><td>234</td><td>MilesAtPedalPositionAndVehspd_140-150</td></tr>
*      <tr><td>235</td><td>MilesAtPedalPositionAndVehspd_150-160</td></tr>
*      <tr><td>236</td><td>MilesAtPedalPositionAndVehspd_160-170</td></tr>
*      <tr><td>237</td><td>MilesAtPedalPositionAndVehspd_170-180</td></tr>
*      <tr><td>238</td><td>MilesAtPedalPositionAndVehspd_180-190</td></tr>
*      <tr><td>240</td><td>CountsSteeringAngle</td></tr>
*      <tr><td>260</td><td>Miles_AtTransOilTemp-40to-35_vs_torque</td></tr>
*      <tr><td>261</td><td>Miles_AtTransOilTemp-35to-30_vs_torque</td></tr>
*      <tr><td>262</td><td>Miles_AtTransOilTemp-30to-25_vs_torque</td></tr>
*      <tr><td>263</td><td>Miles_AtTransOilTemp-25to-20_vs_torque</td></tr>
*      <tr><td>264</td><td>Miles_AtTransOilTemp-20to-15_vs_torque</td></tr>
*      <tr><td>265</td><td>Miles_AtTransOilTemp-15to-10_vs_torque</td></tr>
*      <tr><td>266</td><td>Miles_AtTransOilTemp-10to-5_vs_torque</td></tr>
*      <tr><td>267</td><td>Miles_AtTransOilTemp-5to-0_vs_torque</td></tr>
*      <tr><td>268</td><td>Miles_AtTransOilTemp0to5_vs_torque</td></tr>
*      <tr><td>269</td><td>Miles_AtTransOilTemp5to10_vs_torque</td></tr>
*      <tr><td>270</td><td>Miles_AtTransOilTemp10to15_vs_torque</td></tr>
*      <tr><td>271</td><td>Miles_AtTransOilTemp15to20_vs_torque</td></tr>
*      <tr><td>272</td><td>Miles_AtTransOilTemp20to25_vs_torque</td></tr>
*      <tr><td>273</td><td>Miles_AtTransOilTemp25to30_vs_torque</td></tr>
*      <tr><td>274</td><td>Miles_AtTransOilTemp30to35_vs_torque</td></tr>
*      <tr><td>274</td><td>Miles_AtTransOilTemp35to40_vs_torque</td></tr>
*      <tr><td>275</td><td>Miles_AtTransOilTemp40to45_vs_torque</td></tr>
*      <tr><td>276</td><td>Miles_AtTransOilTemp45to50_vs_torque</td></tr>
*      <tr><td>277</td><td>Miles_AtTransOilTemp50to55_vs_torque</td></tr>
*      <tr><td>278</td><td>Miles_AtTransOilTemp55to60_vs_torque</td></tr>
*      <tr><td>279</td><td>Miles_AtTransOilTemp60to65_vs_torque</td></tr>
*      <tr><td>280</td><td>Miles_AtTransOilTemp65to70_vs_torque</td></tr>
*      <tr><td>281</td><td>Miles_AtTransOilTemp70to75_vs_torque</td></tr>
*      <tr><td>282</td><td>Miles_AtTransOilTemp75to80_vs_torque</td></tr>
*      <tr><td>283</td><td>Miles_AtTransOilTemp80to85_vs_torque</td></tr>
*      <tr><td>284</td><td>Miles_AtTransOilTemp85to90_vs_torque</td></tr>
*      <tr><td>285</td><td>Miles_AtTransOilTemp90to95_vs_torque</td></tr>
*      <tr><td>286</td><td>Miles_AtTransOilTemp95to100_vs_torque</td></tr>
*      <tr><td>287</td><td>Miles_AtTransOilTemp100to105_vs_torque</td></tr>
*      <tr><td>288</td><td>Miles_AtTransOilTemp105to110_vs_torque</td></tr>
*      <tr><td>289</td><td>Miles_AtTransOilTemp110to115_vs_torque</td></tr>
*      <tr><td>290</td><td>Miles_AtTransOilTemp115to120_vs_torque</td></tr>
*      <tr><td>291</td><td>Miles_AtTransOilTemp120to125_vs_torque</td></tr>
*      <tr><td>292</td><td>Miles_AtTransOilTemp125to130_vs_torque</td></tr>
*      <tr><td>293</td><td>Miles_AtTransOilTemp130to135_vs_torque</td></tr>
*      <tr><td>294</td><td>Miles_AtTransOilTemp135to140_vs_torque</td></tr>
*      <tr><td>295</td><td>Miles_AtTransOilTemp140to145_vs_torque</td></tr>
*      <tr><td>296</td><td>Miles_AtTransOilTemp145to150_vs_torque</td></tr>
*      <tr><td>297</td><td>Miles_AtTransOilTemp150to155_vs_torque</td></tr>
*      <tr><td>298</td><td>Miles_AtTransOilTemp155to160_vs_torque</td></tr>
*      <tr><td>299</td><td>Miles_AtTransOilTemp160to165_vs_torque</td></tr>
*      <tr><td>300</td><td>Miles_AtTransOilTemp165to170_vs_torque</td></tr>
*      <tr><td>301</td><td>Miles_AtTransOilTemp170to175_vs_torque</td></tr>
*      <tr><td>302</td><td>Miles_AtTransOilTemp175to180_vs_torque</td></tr>
*      <tr><td>303</td><td>Miles_AtTransOilTemp180to185_vs_torque</td></tr>
*      <tr><td>304</td><td>Miles_AtTransOilTemp185to190_vs_torque</td></tr>
*      <tr><td>305</td><td>Miles_AtTransOilTemp190to195_vs_torque</td></tr>
*      <tr><td>306</td><td>Miles_AtTransOilTemp195to200_vs_torque</td></tr>
*      <tr><td>307</td><td>Miles_AtTransOilTemp200to205_vs_torque</td></tr>
*      <tr><td>320</td><td>Time_AtTransOilTemp-40to-35_vs_torque</td></tr>
*      <tr><td>321</td><td>Time_AtTransOilTemp-35to-30_vs_torque</td></tr>
*      <tr><td>322</td><td>Time_AtTransOilTemp-30to-25_vs_torque</td></tr>
*      <tr><td>323</td><td>Time_AtTransOilTemp-25to-20_vs_torque</td></tr>
*      <tr><td>324</td><td>Time_AtTransOilTemp-20to-15_vs_torque</td></tr>
*      <tr><td>325</td><td>Time_AtTransOilTemp-15to-10_vs_torque</td></tr>
*      <tr><td>326</td><td>Time_AtTransOilTemp-10to-5_vs_torque</td></tr>
*      <tr><td>327</td><td>Time_AtTransOilTemp-5to0_vs_torque</td></tr>
*      <tr><td>328</td><td>Time_AtTransOilTemp0to5_vs_torque</td></tr>
*      <tr><td>329</td><td>Time_AtTransOilTemp5to10_vs_torque</td></tr>
*      <tr><td>330</td><td>Time_AtTransOilTemp10to15_vs_torque</td></tr>
*      <tr><td>331</td><td>Time_AtTransOilTemp15to20_vs_torque</td></tr>
*      <tr><td>332</td><td>Time_AtTransOilTemp20to25_vs_torque</td></tr>
*      <tr><td>333</td><td>Time_AtTransOilTemp25to30_vs_torque</td></tr>
*      <tr><td>334</td><td>Time_AtTransOilTemp30to35_vs_torque</td></tr>
*      <tr><td>335</td><td>Time_AtTransOilTemp35to40_vs_torque</td></tr>
*      <tr><td>336</td><td>Time_AtTransOilTemp40to45_vs_torque</td></tr>
*      <tr><td>337</td><td>Time_AtTransOilTemp45to50_vs_torque</td></tr>
*      <tr><td>338</td><td>Time_AtTransOilTemp50to55_vs_torque</td></tr>
*      <tr><td>339</td><td>Time_AtTransOilTemp55to60_vs_torque</td></tr>
*      <tr><td>340</td><td>Time_AtTransOilTemp60to65_vs_torque</td></tr>
*      <tr><td>341</td><td>Time_AtTransOilTemp65to70_vs_torque</td></tr>
*      <tr><td>342</td><td>Time_AtTransOilTemp70to75_vs_torque</td></tr>
*      <tr><td>343</td><td>Time_AtTransOilTemp75to80_vs_torque</td></tr>
*      <tr><td>344</td><td>Time_AtTransOilTemp80to85_vs_torque</td></tr>
*      <tr><td>345</td><td>Time_AtTransOilTemp85to90_vs_torque</td></tr>
*      <tr><td>346</td><td>Time_AtTransOilTemp90to95_vs_torque</td></tr>
*      <tr><td>347</td><td>Time_AtTransOilTemp95to100_vs_torque</td></tr>
*      <tr><td>348</td><td>Time_AtTransOilTemp100to105_vs_torque</td></tr>
*      <tr><td>349</td><td>Time_AtTransOilTemp105to110_vs_torque</td></tr>
*      <tr><td>350</td><td>Time_AtTransOilTemp110to115_vs_torque</td></tr>
*      <tr><td>351</td><td>Time_AtTransOilTemp115to120_vs_torque</td></tr>
*      <tr><td>352</td><td>Time_AtTransOilTemp120to125_vs_torque</td></tr>
*      <tr><td>353</td><td>Time_AtTransOilTemp125to130_vs_torque</td></tr>
*      <tr><td>354</td><td>Time_AtTransOilTemp130to135_vs_torque</td></tr>
*      <tr><td>355</td><td>Time_AtTransOilTemp135to140_vs_torque</td></tr>
*      <tr><td>356</td><td>Time_AtTransOilTemp140to145_vs_torque</td></tr>
*      <tr><td>357</td><td>Time_AtTransOilTemp145to150_vs_torque</td></tr>
*      <tr><td>358</td><td>Time_AtTransOilTemp150to155_vs_torque</td></tr>
*      <tr><td>359</td><td>Time_AtTransOilTemp155to160_vs_torque</td></tr>
*      <tr><td>360</td><td>Time_AtTransOilTemp160to165_vs_torque</td></tr>
*      <tr><td>361</td><td>Time_AtTransOilTemp165to170_vs_torque</td></tr>
*      <tr><td>362</td><td>Time_AtTransOilTemp170to175_vs_torque</td></tr>
*      <tr><td>363</td><td>Time_AtTransOilTemp175to180_vs_torque</td></tr>
*      <tr><td>364</td><td>Time_AtTransOilTemp180to185_vs_torque</td></tr>
*      <tr><td>365</td><td>Time_AtTransOilTemp185to190_vs_torque</td></tr>
*      <tr><td>366</td><td>Time_AtTransOilTemp190to195_vs_torque</td></tr>
*      <tr><td>367</td><td>Time_AtTransOilTemp195to200_vs_torque</td></tr>
*      <tr><td>368</td><td>Time_AtTransOilTemp200to205_vs_torque</td></tr>
*      <tr><td>380</td><td>MilesAtT_case</td></tr>
*      <tr><td>400</td><td>CountsSteeringAngle_T_casePosition_SH_IPG</td></tr>
*      <tr><td>401</td><td>CountsSteeringAngle_T_casePosition_4LO</td></tr>
*      <tr><td>402</td><td>CountsSteeringAngle_T_casePosition_4HI</td></tr>
*      <tr><td>403</td><td>CountsSteeringAngle_T_casePosition_2WD</td></tr>
*      <tr><td>404</td><td>CountsSteeringAngle_T_casePosition_N</td></tr>
*      <tr><td>405</td><td>CountsSteeringAngle_T_casePosition_AUTO</td></tr>
*      <tr><td>406</td><td>CountsSteeringAngle_T_casePosition_PT</td></tr>
*      <tr><td>407</td><td>CountsSteeringAngle_T_casePosition_SNA</td></tr>
*     <tr><td>408</td><td>Output_Speed</td></tr>
*     <tr><td>409</td><td>TripCounts</td></tr>
* 		<tr><td>410</td><td>TripTime</td></tr>
*
*
*
 *    </tbody>
 *  </table>
 * </div>
 */
	message Histogram {
		 string version = 1;///Version for Histogram configuration file
		 int64  timestamp = 2;///Sender clock's time when the request is processed.
		repeated HistogramData histogramData = 3;
		message HistogramData{
			 int32 histogramId = 1;///Contains the Id associated with the specific Histogram.  See the table below:  			
			repeated HistogramBin histogramBins = 2;///Contains Histogram bins and its range defined in the cfg file like: [{"B1":"minus 100-minus 50"}, {"B2":"minus 50-minus20"}, {"B3":"minus 20-minus 10"}]
			message HistogramBin{
				 string binId = 1;
				 int32 count = 2;
			}
		}

	}

	message DataLog {
		 int64 timestamp = 1;
		 string version = 2;
		repeated DataLogData dataLogData = 3;
		message DataLogData{
			  int64 timestamp = 1;
//			 VehicleData vehicleData = 3;
			 Data logData = 4;///This includes additional data elements those are not in vehicleData
			message Data{
				 float batteryVoltage = 1;
				 float engineRPM = 2;
				 float vehicleSpeed = 3;
				 int32 ignitionOffTimeLong = 4;
				 int32 instantFuelEconomy = 5;
				 int32 Gr = 6;
				 bool isMILOnRq = 7;
				 int32 ODO = 8;
				 int32 avgFuelLvl = 9;
				 int32 engineOilTemperature = 10;
				 int32 engineCoolantTemperature = 11;
				 bool isDayLightMode = 12;
				 bytes isEModeSatus = 13;
				 bytes driverDoorSatus = 14;
				 bytes CmdIgnitionStatus = 15;
				 bytes frontLeftHeatedSeatStatus = 16;
				 bytes autoDfgStatus = 17;
				 bytes FT_FOG_RQ = 18;
				 bool isACClutchEngaged = 19;
				 float vehPerfAccelX = 20;
				 float VehPerfAccelY = 21; 
				 bytes frontRightHeatedSeatStatus = 22;
				 bytes spStSwStat = 23;
				 bytes essEngineStatus = 24;
				 int32 ambientTemperatureAvg = 25;/// Temperature in F.
				 TirePressure tirePressure = 26;
				 bytes mzrModeAct = 27;
				 bytes dpfDefWarningStatus = 28;
				 VehicleData.LampStateEnum absLampStatus = 29;
				 bytes brkIndLmpOnRqESC = 30;
				 bool isCheckFuelCap = 31;
				 VehicleData.LampStateEnum etcLmpIndSts = 32;
				 int32 oilPressure = 33;
				 bytes txTempExcess = 34; /// txTempWarn
				 string txTemp_Excess2=106; /// TxTempWarn2
				 VehicleData.LampStateEnum srsIndLmpSts = 35;
				 bool isBrakeFluidLow = 36;
				 bool isEngineOilLampOn = 37;
				 int32 oilTempIndicatorRq = 38; 
				 int32 engineTrqRqEsc = 40;
				 int32 engineLoad = 41;
				 sint32 IBS_T_BATT = 42;/// Range -40 to 105,  255 = SNA
 				 float IBS_V_BATT = 43;/// Range 3 to 18,  resolution 0.000977    16383 = SNA 
				 float IBS_SOC = 44;
				 bytes batterySTCrit = 45;
				 int32 BoostPressureIndication = 46;
				 int32 rainSensorLevel = 47;
				 int32 actlAcceleratorPedalPosition = 48;
				 int32 acceleratorPedalPosition = 49;
				 sint32 IBS_I_BATT = 50;/// Range -32768 to 32766,  65535 = SNA 
				 int32 fuelCons = 51;
				 int32 engineTorqueStatic = 52;
				 bytes brakeStatus = 53;
				 bytes absBrakeEvent = 54;
				 bytes spStDispstat = 55;
				 int32 VC_AS_ERS = 56;
				 int32 DrvRqShftROT = 57;
				 bytes EPBHoldSts = 58;
				 int32 Pad_Shft = 59;
				 int32 TCaseAWD_DrvMdRq = 60;
				 int32 TRNS_SPD_MC = 61;
				 int32 Trns_EMCC_Achvd = 62;
				 bytes outputSpdPolarity = 63;
				 int32 outputSpeed = 64;
				 int32 nTurb = 65;
				 int32 KS = 66; /// Not used - Not Required.
				 int32 K_STO_B = 67;
				 int32 K_S_B = 68;
				 int32 K_O_B = 69;
				 int32 K_G_B = 70;
				 int32 grTarget = 71;
				 bytes gearSwitchActiveStatus = 72;
				 bytes EngSt_Enbl_Rq_TCM = 73;
				 int32 TX_TEMP = 74;
				 int32 BrkPrss_TMC = 75;
				 int32 PrplsnSysAtv = 76;
				 bytes DriveReady = 77;
				 bytes PRND_STAT = 78;
				 bytes HVBatCntctrStat = 79;
				 bytes chargingSystemStatus = 80;
				 int32 chargingLevel = 81;
				 int32 HVBatSOC_HCP = 82;
				 int32 wheelRPMRearRight = 83;
				 int32 wheelRPMRearLeft = 84;
				 int32 wheelRPMFrontRight = 85;
				 int32 wheelRPMFrontLeft = 86;
				 bytes TCASE_STAT = 87;
				 bytes SHFT_PROG = 89;
				 int32 CC_SetSpdDsplMPH = 90;
				 bytes ACCOnOff = 91;
				 int32 CRUISE_EGD = 92;
				 int32 TrnsTrqReqSlow_2 = 93;
				 bytes ConsumptionUnit = 94;
				 bytes PFW_Stat = 95;
				 bytes Map_Eng = 96;
				 int32 adblue_FL_LVL = 97;
				 VehicleData.LampStateEnum SRS_LMP_STAT = 107;

			}
		}
	}

}


