From 47581e0d0c518be24383a2b4275c80e09af94bf9 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 8 Aug 2019 10:21:30 +0200
Subject: [PATCH] updatgin engineering schema, updating manufacturer report
 (added whr type)

---
 .../XSD/VectoEngineeringDefinitions.1.0.xsd   | 42 ++++++---
 .../XSD/VectoEngineeringDefinitions.1.1.xsd   | 87 +++++++++++++++++++
 .../XSD/VectoOutputManufacturer.0.8.xsd       |  1 +
 VectoCore/VectoXML.spp                        |  1 +
 4 files changed, 121 insertions(+), 10 deletions(-)
 create mode 100644 VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd

diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd
index 475e3ed238..80bea36ec6 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.0.xsd
@@ -29,7 +29,7 @@
 			<xs:extension base="tns:EngineeringPowertrainComponentType"/>
 		</xs:complexContent>
 	</xs:complexType>
-	<xs:complexType name="AbstractEngineStartStopEngineeringType" abstract="true"/>
+	<xs:complexType name="AbstractEngineStartStopParametersEngineeringType" abstract="true"/>
 	<xs:complexType name="AbstractGearboxDataEngineeringType" abstract="true">
 		<xs:complexContent>
 			<xs:extension base="tns:EngineeringPowertrainComponentType"/>
@@ -95,7 +95,9 @@
 		<xs:complexContent>
 			<xs:extension base="tns:AbstractAdvancedDriverAssistEngineeringType">
 				<xs:sequence>
-					<xs:element name="EngineStartStop" type="tns:AbstractEngineStartStopEngineeringType" minOccurs="0"/>
+					<xs:element name="EngineStopStart" type="xs:boolean"/>
+					<xs:element name="EcoRoll" type="tns:EcoRollType"/>
+					<xs:element name="PredictiveCruiseControl" type="tns:PredictiveCruiseControlType"/>
 				</xs:sequence>
 			</xs:extension>
 		</xs:complexContent>
@@ -403,6 +405,7 @@
 					<xs:element name="Overspeed" type="tns:AbstractOverspeedEngineeringType"/>
 					<xs:element name="DriverAccelerationCurve" type="tns:AbstractDriverAccelerationCurveEngineeringType" minOccurs="0"/>
 					<xs:element name="ShiftStrategyParameters" type="tns:AbstractShiftStrategyParametersEngineeringType" minOccurs="0"/>
+					<xs:element name="EngineStopStartParameters" type="tns:AbstractEngineStartStopParametersEngineeringType" minOccurs="0"/>
 				</xs:sequence>
 			</xs:extension>
 		</xs:complexContent>
@@ -481,14 +484,20 @@
 			</xs:simpleType>
 		</xs:attribute>
 	</xs:complexType>
-	<xs:complexType name="EngineStartStopEngineeringType">
+	<xs:complexType name="EngineStartStopParametersEngineeringType">
 		<xs:complexContent>
-			<xs:extension base="tns:AbstractEngineStartStopEngineeringType">
+			<xs:extension base="tns:AbstractEngineStartStopParametersEngineeringType">
 				<xs:sequence>
-					<xs:element name="Enabled" type="vdecdef:ADASEngineStartStopEnabled"/>
-					<xs:element name="MaxSpeed" type="tns:EngineStartStopMaxSpeedType" minOccurs="0"/>
-					<xs:element name="MinOnTime" type="tns:EngineStartStopMinOnTimeType" minOccurs="0"/>
-					<xs:element name="ActivationDelay" type="tns:EngineStartStopActivationDelayType" minOccurs="0"/>
+					<xs:element name="ActivationDelay" type="tns:EngineStartStopActivationDelayType"/>
+					<xs:element name="MaxEngineOffTime" type="tns:EngineStartStopMaxOffTimeType"/>
+					<xs:element name="UtilityFactor">
+						<xs:simpleType>
+							<xs:restriction base="xs:double">
+								<xs:minInclusive value="0"/>
+								<xs:maxInclusive value="1"/>
+							</xs:restriction>
+						</xs:simpleType>
+					</xs:element>
 				</xs:sequence>
 			</xs:extension>
 		</xs:complexContent>
@@ -1486,7 +1495,7 @@
 			<xs:maxInclusive value="120"/>
 		</xs:restriction>
 	</xs:simpleType>
-	<xs:simpleType name="EngineStartStopMinOnTimeType">
+	<xs:simpleType name="EngineStartStopMaxOffTimeType">
 		<xs:annotation>
 			<xs:appinfo>
 				<vectoParam:description>
@@ -1500,7 +1509,6 @@
 		</xs:annotation>
 		<xs:restriction base="xs:double">
 			<xs:minInclusive value="0"/>
-			<xs:maxInclusive value="100"/>
 		</xs:restriction>
 	</xs:simpleType>
 	<xs:simpleType name="GearboxEarlyShiftUpType">
@@ -2014,4 +2022,18 @@
 			</xs:element>
 		</xs:sequence>
 	</xs:complexType>
+	<xs:simpleType name="EcoRollType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none"/>
+			<xs:enumeration value="without engine stop"/>
+			<xs:enumeration value="with engine stop"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:simpleType name="PredictiveCruiseControlType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="none"/>
+			<xs:enumeration value="1,2"/>
+			<xs:enumeration value="1,2,3"/>
+		</xs:restriction>
+	</xs:simpleType>
 </xs:schema>
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
new file mode 100644
index 0000000000..2d8c33d32d
--- /dev/null
+++ b/VectoCore/VectoCore/Resources/XSD/VectoEngineeringDefinitions.1.1.xsd
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com) by Helmut Eichlseder (TU Graz/Inst. f. VKM und THD) -->
+<xs:schema xmlns:tns="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vectoParam="urn:tugraz:ivt:VectoAPI:ParameterDocumentation" xmlns:vdecdef="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:ve1.0="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" targetNamespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:ParameterDocumentation ParameterDocumentation.xsd">
+	<xs:import namespace="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" schemaLocation="VectoDeclarationDefinitions.1.0.xsd"/>
+	<xs:import namespace="urn:tugraz:ivt:VectoAPI:EngineeringDefinitions:v1.0" schemaLocation="VectoEngineeringDefinitions.1.0.xsd"/>
+	<xs:complexType name="EngineDataEngineeringType">
+		<xs:complexContent>
+			<xs:extension base="ve1.0:AbstractEngineDataEngineeringType">
+				<xs:sequence>
+					<xs:element name="Displacement" type="vdecdef:EngineDisplacementType"/>
+					<xs:element name="IdlingSpeed" type="vdecdef:EngineDeclaredSpeedType"/>
+					<xs:element name="Inertia" type="ve1.0:EngineInertiaType" minOccurs="0"/>
+					<xs:element name="Mode" maxOccurs="unbounded">
+						<xs:complexType>
+							<xs:sequence>
+								<xs:sequence>
+									<xs:element name="FullLoadAndDragCurve">
+										<xs:complexType>
+											<xs:choice>
+												<xs:sequence>
+													<xs:element name="Entry" minOccurs="2" maxOccurs="unbounded">
+														<xs:complexType>
+															<xs:complexContent>
+																<xs:extension base="vdecdef:FullLoadAndDragCurveEntryType">
+																	<xs:attribute name="PT1" type="ve1.0:EngineFLDEntryPT1Type"/>
+																</xs:extension>
+															</xs:complexContent>
+														</xs:complexType>
+													</xs:element>
+												</xs:sequence>
+												<xs:element name="Resource" type="ve1.0:ExtResourceEngineeringType">
+													<xs:annotation>
+														<xs:documentation>P144 - ext. Resource</xs:documentation>
+													</xs:annotation>
+												</xs:element>
+											</xs:choice>
+										</xs:complexType>
+									</xs:element>
+									<xs:element name="Fuel" maxOccurs="unbounded">
+										<xs:complexType>
+											<xs:sequence>
+												<xs:element name="FuelType" type="vdecdef:FuelTypeType"/>
+												<xs:element name="FCCorrection" type="ve1.0:WHTCEngineeringType">
+													<xs:annotation>
+														<xs:documentation>P170 - [-]</xs:documentation>
+													</xs:annotation>
+												</xs:element>
+												<xs:element name="WHRCorrection" minOccurs="0">
+													<xs:simpleType>
+														<xs:restriction base="xs:double">
+															<xs:minExclusive value="0"/>
+														</xs:restriction>
+													</xs:simpleType>
+												</xs:element>
+												<xs:element name="FuelConsumptionMap">
+													<xs:complexType>
+														<xs:choice>
+															<xs:sequence>
+																<xs:element name="Entry" type="tns:FuelEntryWHREngineeringType" minOccurs="4" maxOccurs="unbounded"/>
+															</xs:sequence>
+															<xs:element name="Resource" type="ve1.0:ExtResourceEngineeringType">
+																<xs:annotation>
+																	<xs:documentation>P067 - ext. Resource</xs:documentation>
+																</xs:annotation>
+															</xs:element>
+														</xs:choice>
+													</xs:complexType>
+												</xs:element>
+											</xs:sequence>
+										</xs:complexType>
+									</xs:element>
+								</xs:sequence>
+							</xs:sequence>
+						</xs:complexType>
+					</xs:element>
+				</xs:sequence>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+	<xs:complexType name="FuelEntryWHREngineeringType">
+		<xs:complexContent>
+			<xs:extension base="vdecdef:FuelConsumptionEntryType">
+				<xs:attribute name="electricPower" type="vdecdef:Double2"/>
+			</xs:extension>
+		</xs:complexContent>
+	</xs:complexType>
+</xs:schema>
diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd
index 83f0a855d3..56b107c2bb 100644
--- a/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputManufacturer.0.8.xsd
@@ -263,6 +263,7 @@
 					</xs:simpleContent>
 				</xs:complexType>
 			</xs:element>
+			<xs:element name="WHRType" type="xs:string"/>
 			<xs:element name="Mode" maxOccurs="unbounded">
 				<xs:complexType>
 					<xs:sequence>
diff --git a/VectoCore/VectoXML.spp b/VectoCore/VectoXML.spp
index 8dde1f2a62..76bb2e2e10 100644
--- a/VectoCore/VectoXML.spp
+++ b/VectoCore/VectoXML.spp
@@ -84,6 +84,7 @@
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.0.7.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.1.0.TEST.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.1.0.xsd" HomeFolder="Yes"/>
+			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.1.1.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringDefinitions.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringInput.0.7.xsd" HomeFolder="Yes"/>
 			<File FilePath="VectoCore\Resources\XSD\VectoEngineeringInput.1.0.xsd" HomeFolder="Yes"/>
-- 
GitLab