summaryrefslogtreecommitdiff
path: root/static/redfish/v1
diff options
context:
space:
mode:
authorJames Feist <james.feist@linux.intel.com>2018-09-15 02:02:44 +0300
committerEd Tanous <ed.tanous@intel.com>2018-10-29 21:43:37 +0300
commitaf996fe4d12668d1a096e36e791c49690e54c9bb (patch)
tree0dfc5ea705ec65cd0184482678e917d797b3906f /static/redfish/v1
parent35a62c7ca3990858cc2e04b10c4754e92c4a3e41 (diff)
downloadbmcweb-af996fe4d12668d1a096e36e791c49690e54c9bb.tar.xz
Add Pid Oem Redfish Schema
This adds a xml and generated json redfish schema for OemManager. Change-Id: Ic2d42c4326ba02a423ffecc0bfa8c6872c3b389b Signed-off-by: James Feist <james.feist@linux.intel.com>
Diffstat (limited to 'static/redfish/v1')
-rw-r--r--static/redfish/v1/$metadata/index.xml3
-rw-r--r--static/redfish/v1/JsonSchemas/OemManager/index.json413
-rw-r--r--static/redfish/v1/schema/OemManager_v1.xml232
3 files changed, 648 insertions, 0 deletions
diff --git a/static/redfish/v1/$metadata/index.xml b/static/redfish/v1/$metadata/index.xml
index 9e85280cc0..fd9707fad6 100644
--- a/static/redfish/v1/$metadata/index.xml
+++ b/static/redfish/v1/$metadata/index.xml
@@ -486,6 +486,9 @@
<edmx:Reference Uri="/redfish/v1/schema/NetworkPortCollection_v1.xml">
<edmx:Include Namespace="NetworkPortCollection"/>
</edmx:Reference>
+ <edmx:Reference Uri="/redfish/v1/schema/OemManager_v1.xml">
+ <edmx:Include Namespace="OemManager"/>
+ </edmx:Reference>
<edmx:Reference Uri="/redfish/v1/schema/PCIeDevice_v1.xml">
<edmx:Include Namespace="PCIeDevice"/>
<edmx:Include Namespace="PCIeDevice.v1_0_0"/>
diff --git a/static/redfish/v1/JsonSchemas/OemManager/index.json b/static/redfish/v1/JsonSchemas/OemManager/index.json
new file mode 100644
index 0000000000..c3b4bf40a3
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/OemManager/index.json
@@ -0,0 +1,413 @@
+{
+ "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
+ "definitions": {
+ "Fan": {
+ "additionalProperties": true,
+ "description": "OpenBmc oem fan properties.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "FanControllers": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FanControllers"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "FanZones": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/FanZones"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "PidControllers": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/PidControllers"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "FanController": {
+ "additionalProperties": false,
+ "description": "Configuration data for Fan Controllers.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "FFGainCoefficient": {
+ "description": "Feed forward gain coefficent for the PID.",
+ "longDescription": "Feed forward gain coefficent for the PID.",
+ "type": "number"
+ },
+ "FFOffCoefficient": {
+ "description": "Feed forward offset coefficent for the PID.",
+ "longDescription": "Feed forward offset coefficent for the PID.",
+ "type": "number"
+ },
+ "ICoefficient": {
+ "description": "Integral Coefficent for the PID.",
+ "longDescription": "Integral Coefficent for the PID.",
+ "type": "number"
+ },
+ "ILimitMax": {
+ "description": "Integral limit maxiumum for the PID.",
+ "longDescription": "Integral limit maxiumum for the PID.",
+ "type": "number"
+ },
+ "ILimitMin": {
+ "description": "Integral limit miniumum for the PID.",
+ "longDescription": "Integral limit miniumum for the PID.",
+ "type": "number"
+ },
+ "Inputs": {
+ "description": "Input sensors to the PID controller.",
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "longDescription": "Input sensors to the PID controller.",
+ "type": "array"
+ },
+ "OutLimitMax": {
+ "description": "Output limit maxiumum for the pwm.",
+ "longDescription": "Output limit maxiumum for the pwm.",
+ "type": "number"
+ },
+ "OutLimitMin": {
+ "description": "Output limit minimum for the pwm.",
+ "longDescription": "Output limit minimum for the pwm.",
+ "type": "number"
+ },
+ "Outputs": {
+ "description": "Output sensors to the PID controller.",
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "longDescription": "Output sensors to the PID controller.",
+ "type": "array"
+ },
+ "PCoefficient": {
+ "description": "Polynomial coefficent for the PID.",
+ "longDescription": "Polynomial coefficent for the PID.",
+ "type": "number"
+ },
+ "SlewNeg": {
+ "description": "Negative slew rate for the PID.",
+ "longDescription": "Negative slew rate for the PID.",
+ "type": "number"
+ },
+ "SlewPos": {
+ "description": "Positive slew rate for the PID.",
+ "longDescription": "Positive slew rate for the PID.",
+ "type": "number"
+ },
+ "Zones": {
+ "description": "Contains the Zones that this PID contributes to.",
+ "items": {
+ "$ref": "#/definitions/FanZone"
+ },
+ "readonly": true,
+ "type": "array"
+ },
+ "Zones@odata.count": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+ }
+ },
+ "type": "object"
+ },
+ "FanControllers": {
+ "additionalProperties": true,
+ "description": "OpenBmc FanControllers.",
+ "longDescription": "Container for OpenBmc fan controllers.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {},
+ "type": "object"
+ },
+ "FanZone": {
+ "additionalProperties": false,
+ "description": "Configuration data for Fan Controllers.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "Chassis": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The Chassis that enables this Zone.",
+ "readonly": true
+ },
+ "FailSafePercent": {
+ "description": "If the sensors are in fail-safe mode, this is the percentage to use.",
+ "longDescription": "If the sensors are in fail-safe mode, this is the percentage to use.",
+ "type": "number"
+ },
+ "MinThermalRpm": {
+ "description": "Minimum thermal RPM that can be set in this Zone.",
+ "longDescription": "Minimum thermal RPM that can be set in this Zone.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "FanZones": {
+ "additionalProperties": true,
+ "description": "OpenBmc FanZones.",
+ "longDescription": "Container for OpenBmc fan zones.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {},
+ "type": "object"
+ },
+ "Oem": {
+ "additionalProperties": true,
+ "description": "OemManager Oem properties.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "OpenBmc": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/OpenBmc"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "OpenBmc": {
+ "additionalProperties": true,
+ "description": "Oem properties for OpenBmc.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "Fan": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/Fan"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "PidController": {
+ "additionalProperties": false,
+ "description": "Configuration data for Fan Controllers.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "FFGainCoefficient": {
+ "description": "Feed forward gain coefficent for the PID.",
+ "longDescription": "Feed forward gain coefficent for the PID.",
+ "type": "number"
+ },
+ "FFOffCoefficient": {
+ "description": "Feed forward offset coefficent for the PID.",
+ "longDescription": "Feed forward offset coefficent for the PID.",
+ "type": "number"
+ },
+ "ICoefficient": {
+ "description": "Integral Coefficent for the PID.",
+ "longDescription": "Integral Coefficent for the PID.",
+ "type": "number"
+ },
+ "ILimitMax": {
+ "description": "Integral limit maxiumum for the PID.",
+ "longDescription": "Integral limit maxiumum for the PID.",
+ "type": "number"
+ },
+ "ILimitMin": {
+ "description": "Integral limit miniumum for the PID.",
+ "longDescription": "Integral limit miniumum for the PID.",
+ "type": "number"
+ },
+ "Inputs": {
+ "description": "Input sensors to the PID controller.",
+ "items": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "longDescription": "Input sensors to the PID controller.",
+ "type": "array"
+ },
+ "OutLimitMax": {
+ "description": "Output limit maxiumum for the pwm.",
+ "longDescription": "Output limit maxiumum for the pwm.",
+ "type": "number"
+ },
+ "OutLimitMin": {
+ "description": "Output limit minimum for the pwm.",
+ "longDescription": "Output limit minimum for the pwm.",
+ "type": "number"
+ },
+ "PCoefficient": {
+ "description": "Polynomial coefficent for the PID.",
+ "longDescription": "Polynomial coefficent for the PID.",
+ "type": "number"
+ },
+ "SlewNeg": {
+ "description": "Negative slew rate for the PID.",
+ "longDescription": "Negative slew rate for the PID.",
+ "type": "number"
+ },
+ "SlewPos": {
+ "description": "Positive slew rate for the PID.",
+ "longDescription": "Positive slew rate for the PID.",
+ "type": "number"
+ },
+ "Zones": {
+ "description": "Contains the Zones that this PID contributes to.",
+ "items": {
+ "$ref": "#/definitions/FanZone"
+ },
+ "readonly": true,
+ "type": "array"
+ },
+ "Zones@odata.count": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+ }
+ },
+ "type": "object"
+ },
+ "PidControllers": {
+ "additionalProperties": true,
+ "description": "OpenBmc PidControllers.",
+ "longDescription": "Container for OpenBmc pid controllers.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {},
+ "type": "object"
+ }
+ },
+ "title": "#OemManager"
+}
diff --git a/static/redfish/v1/schema/OemManager_v1.xml b/static/redfish/v1/schema/OemManager_v1.xml
new file mode 100644
index 0000000000..267aad306c
--- /dev/null
+++ b/static/redfish/v1/schema/OemManager_v1.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
+ <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
+ <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData" />
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
+ <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
+ <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Manager_v1.xml">
+ <edmx:Include Namespace="Manager"/>
+ <edmx:Include Namespace="Manager.v1_4_0"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
+ <edmx:Include Namespace="Resource"/>
+ <edmx:Include Namespace="Resource.v1_0_0"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Chassis_v1.xml">
+ <edmx:Include Namespace="Chassis"/>
+ </edmx:Reference>
+
+ <edmx:DataServices>
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemManager">
+ <ComplexType Name="Oem" BaseType="Resource.OemObject" ContainsTarget="true">
+ <Annotation Term="OData.AdditionalProperties" Bool="true" />
+ <Annotation Term="OData.Description" String="OemManager Oem properties." />
+ <Annotation Term="OData.AutoExpand"/>
+ <NavigationProperty Name="OpenBmc" Type="OemManager.OpenBmc"/>
+ </ComplexType>
+
+ <EntityType Name="OpenBmc" BaseType="Resource.OemObject" ContainsTarget="true">
+ <Annotation Term="OData.AdditionalProperties" Bool="true" />
+ <Annotation Term="OData.Description" String="Oem properties for OpenBmc." />
+ <Annotation Term="OData.AutoExpand"/>
+ <NavigationProperty Name="Fan" Type="OemManager.Fan"/>
+ </EntityType>
+
+ <EntityType Name="Fan" BaseType="Resource.OemObject" ContainsTarget="true">
+ <Annotation Term="OData.AdditionalProperties" Bool="true" />
+ <Annotation Term="OData.Description" String="OpenBmc oem fan properties." />
+ <Annotation Term="OData.AutoExpand"/>
+ <NavigationProperty Name="FanControllers" Type="OemManager.FanControllers"/>
+ <NavigationProperty Name="PidControllers" Type="OemManager.PidControllers"/>
+ <NavigationProperty Name="FanZones" Type="OemManager.FanZones"/>
+ </EntityType>
+
+ <EntityType Name="FanControllers" BaseType="Resource.OemObject" ContainsTarget="true">
+ <Annotation Term="OData.AdditionalProperties" Bool="true" />
+ <Annotation Term="OData.Description" String="OpenBmc FanControllers." />
+ <Annotation Term="OData.LongDescription" String="Container for OpenBmc fan controllers." />
+ <Annotation Term="Redfish.DynamicPropertyPatterns">
+ <Annotation Term="OData.AutoExpand"/>
+ <Collection ContainsTarget="true">
+ <NavigationProperty Type="OemManager.FanController">
+ <Annotation Term="OData.AutoExpand"/>
+ <PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
+ <PropertyValue Property="Type" String="OemManager.FanController" />
+ </NavigationProperty>
+ </Collection>
+ </Annotation>
+ </EntityType>
+
+ <EntityType Name="PidControllers" BaseType="Resource.OemObject" ContainsTarget="true">
+ <Annotation Term="OData.AdditionalProperties" Bool="true" />
+ <Annotation Term="OData.Description" String="OpenBmc PidControllers." />
+ <Annotation Term="OData.LongDescription" String="Container for OpenBmc pid controllers." />
+ <Annotation Term="Redfish.DynamicPropertyPatterns">
+ <Annotation Term="OData.AutoExpand"/>
+ <Collection ContainsTarget="true">
+ <NavigationProperty>
+ <Annotation Term="OData.AutoExpand"/>
+ <PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
+ <PropertyValue Property="Type" String="OemManager.PidController" />
+ </NavigationProperty>
+ </Collection>
+ </Annotation>
+ </EntityType>
+
+ <EntityType Name="FanZones" BaseType="Resource.OemObject" ContainsTarget="true">
+ <Annotation Term="OData.AdditionalProperties" Bool="true" />
+ <Annotation Term="OData.Description" String="OpenBmc FanZones." />
+ <Annotation Term="OData.LongDescription" String="Container for OpenBmc fan zones." />
+ <Annotation Term="Redfish.DynamicPropertyPatterns">
+ <Annotation Term="OData.AutoExpand"/>
+ <Collection ContainsTarget="true">
+ <NavigationProperty>
+ <Annotation Term="OData.AutoExpand"/>
+ <PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
+ <PropertyValue Property="Type" String="OemManager.FanZone" />
+ </NavigationProperty>
+ </Collection>
+ </Annotation>
+ </EntityType>
+
+ <!-- In reality we'd like these all to be entities, but the Pattern Expansion for
+ Navigation Properties doesn't seem to quite work right. As FanZones should always have
+ some FanController / PidController, the navigation properties in those fields sould let
+ the conformance test find them. However FanControllers / PidControllers are only linked to
+ by the pattern expansion, as that's not working they are complex types -->
+
+ <ComplexType Name="FanController" BaseType="Resource.OemObject">
+ <Annotation Term="OData.AdditionalProperties" Bool="false" />
+ <Annotation Term="OData.Description" String="Configuration data for Fan Controllers." />
+ <Property Name="FFGainCoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Feed forward gain coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Feed forward gain coefficent for the PID." />
+ </Property>
+ <Property Name="FFOffCoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Feed forward offset coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Feed forward offset coefficent for the PID." />
+ </Property>
+ <Property Name="ICoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Integral Coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Integral Coefficent for the PID." />
+ </Property>
+ <Property Name="ILimitMax" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Integral limit maxiumum for the PID." />
+ <Annotation Term="OData.LongDescription" String="Integral limit maxiumum for the PID." />
+ </Property>
+ <Property Name="ILimitMin" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Integral limit miniumum for the PID." />
+ <Annotation Term="OData.LongDescription" String="Integral limit miniumum for the PID." />
+ </Property>
+ <Property Name="Inputs" Type="Collection(Edm.String)">
+ <Annotation Term="OData.Description" String="Input sensors to the PID controller."/>
+ <Annotation Term="OData.LongDescription" String="Input sensors to the PID controller."/>
+ </Property>
+ <Property Name="OutLimitMax" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Output limit maxiumum for the pwm." />
+ <Annotation Term="OData.LongDescription" String="Output limit maxiumum for the pwm." />
+ </Property>
+ <Property Name="OutLimitMin" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Output limit minimum for the pwm." />
+ <Annotation Term="OData.LongDescription" String="Output limit minimum for the pwm." />
+ </Property>
+ <Property Name="Outputs" Type="Collection(Edm.String)">
+ <Annotation Term="OData.Description" String="Output sensors to the PID controller."/>
+ <Annotation Term="OData.LongDescription" String="Output sensors to the PID controller."/>
+ </Property>
+ <Property Name="PCoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Polynomial coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Polynomial coefficent for the PID." />
+ </Property>
+ <Property Name="SlewNeg" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Negative slew rate for the PID." />
+ <Annotation Term="OData.LongDescription" String="Negative slew rate for the PID." />
+ </Property>
+ <Property Name="SlewPos" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Positive slew rate for the PID." />
+ <Annotation Term="OData.LongDescription" String="Positive slew rate for the PID." />
+ </Property>
+ <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)" ContainsTarget="true">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" />
+ <Annotation Term="OData.Description" String="Contains the Zones that this PID contributes to." />
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ </ComplexType>
+
+ <EntityType Name="FanZone" BaseType="Resource.OemObject">
+ <Annotation Term="OData.AdditionalProperties" Bool="false" />
+ <Annotation Term="OData.Description" String="Configuration data for Fan Controllers." />
+ <Property Name="FailSafePercent" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="If the sensors are in fail-safe mode, this is the percentage to use." />
+ <Annotation Term="OData.LongDescription" String="If the sensors are in fail-safe mode, this is the percentage to use." />
+ </Property>
+ <Property Name="MinThermalRpm" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Minimum thermal RPM that can be set in this Zone." />
+ <Annotation Term="OData.LongDescription" String="Minimum thermal RPM that can be set in this Zone." />
+ </Property>
+ <NavigationProperty Name="Chassis" Type="Chassis.Chassis" ContainsTarget="true">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The Chassis that enables this Zone."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ </EntityType>
+
+ <ComplexType Name="PidController" BaseType="Resource.OemObject">
+ <Annotation Term="OData.AdditionalProperties" Bool="false" />
+ <Annotation Term="OData.Description" String="Configuration data for Fan Controllers." />
+ <Property Name="FFGainCoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Feed forward gain coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Feed forward gain coefficent for the PID." />
+ </Property>
+ <Property Name="FFOffCoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Feed forward offset coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Feed forward offset coefficent for the PID." />
+ </Property>
+ <Property Name="ICoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Integral Coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Integral Coefficent for the PID." />
+ </Property>
+ <Property Name="ILimitMax" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Integral limit maxiumum for the PID." />
+ <Annotation Term="OData.LongDescription" String="Integral limit maxiumum for the PID." />
+ </Property>
+ <Property Name="ILimitMin" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Integral limit miniumum for the PID." />
+ <Annotation Term="OData.LongDescription" String="Integral limit miniumum for the PID." />
+ </Property>
+ <Property Name="Inputs" Type="Collection(Edm.String)">
+ <Annotation Term="OData.Description" String="Input sensors to the PID controller."/>
+ <Annotation Term="OData.LongDescription" String="Input sensors to the PID controller."/>
+ </Property>
+ <Property Name="OutLimitMax" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Output limit maxiumum for the pwm." />
+ <Annotation Term="OData.LongDescription" String="Output limit maxiumum for the pwm." />
+ </Property>
+ <Property Name="OutLimitMin" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Output limit minimum for the pwm." />
+ <Annotation Term="OData.LongDescription" String="Output limit minimum for the pwm." />
+ </Property>
+ <Property Name="PCoefficient" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Polynomial coefficent for the PID." />
+ <Annotation Term="OData.LongDescription" String="Polynomial coefficent for the PID." />
+ </Property>
+ <Property Name="SlewNeg" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Negative slew rate for the PID." />
+ <Annotation Term="OData.LongDescription" String="Negative slew rate for the PID." />
+ </Property>
+ <Property Name="SlewPos" Type="Edm.Decimal" Nullable="false">
+ <Annotation Term="OData.Description" String="Positive slew rate for the PID." />
+ <Annotation Term="OData.LongDescription" String="Positive slew rate for the PID." />
+ </Property>
+ <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)" ContainsTarget="true">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" />
+ <Annotation Term="OData.Description" String="Contains the Zones that this PID contributes to." />
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ </ComplexType>
+ </Schema>
+ </edmx:DataServices>
+</edmx:Edmx>