Add PID Configurations
Initial PID configurations. For phosphor-pid-control
based off of yaml configuration examples.
Change-Id: Iaf9cce84f10259866594d516fdc1454f1fff6470
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/configurations/R1000 Chassis.json b/configurations/R1000 Chassis.json
index ed6ed64..9394579 100644
--- a/configurations/R1000 Chassis.json
+++ b/configurations/R1000 Chassis.json
@@ -239,6 +239,169 @@
}
],
"Type": "AspeedFan"
+ },
+ {
+ "Class": "fan",
+ "FFGainCoefficient": 0.01,
+ "FFOffCoefficient": 0.0,
+ "ICoefficient": 0.0,
+ "ILimit": {
+ "Max": 0.0,
+ "Min": 0.0
+ },
+ "Index": 1,
+ "Inputs": [
+ "Fan 1a",
+ "Fan 1b",
+ "Pwm 1"
+ ],
+ "Name": "Fan 1",
+ "OutLimit": {
+ "Max": 100.0,
+ "Min": 30.0
+ },
+ "PCoefficient": 0.0,
+ "SetPoint": 90.0,
+ "SlewNeg": 0.0,
+ "SlewPos": 0.0,
+ "Type": "Pid"
+ },
+ {
+ "Class": "fan",
+ "FFGainCoefficient": 0.01,
+ "FFOffCoefficient": 0.0,
+ "ICoefficient": 0.0,
+ "ILimit": {
+ "Max": 0.0,
+ "Min": 0.0
+ },
+ "Index": 1,
+ "Inputs": [
+ "Fan 2a",
+ "Fan 2b",
+ "Pwm 2"
+ ],
+ "Name": "Fan 2",
+ "OutLimit": {
+ "Max": 100.0,
+ "Min": 30.0
+ },
+ "PCoefficient": 0.0,
+ "SetPoint": 90.0,
+ "SlewNeg": 0.0,
+ "SlewPos": 0.0,
+ "Type": "Pid"
+ },
+ {
+ "Class": "fan",
+ "FFGainCoefficient": 0.01,
+ "FFOffCoefficient": 0.0,
+ "ICoefficient": 0.0,
+ "ILimit": {
+ "Max": 0.0,
+ "Min": 0.0
+ },
+ "Index": 1,
+ "Inputs": [
+ "Fan 3a",
+ "Fan 3b",
+ "Pwm 3"
+ ],
+ "Name": "Fan 3",
+ "OutLimit": {
+ "Max": 100.0,
+ "Min": 30.0
+ },
+ "PCoefficient": 0.0,
+ "SetPoint": 90.0,
+ "SlewNeg": 0.0,
+ "SlewPos": 0.0,
+ "Type": "Pid"
+ },
+ {
+ "Class": "fan",
+ "FFGainCoefficient": 0.01,
+ "FFOffCoefficient": 0.0,
+ "ICoefficient": 0.0,
+ "ILimit": {
+ "Max": 0.0,
+ "Min": 0.0
+ },
+ "Index": 1,
+ "Inputs": [
+ "Fan 4a",
+ "Fan 4b",
+ "Pwm 4"
+ ],
+ "Name": "Fan 4",
+ "OutLimit": {
+ "Max": 100.0,
+ "Min": 30.0
+ },
+ "PCoefficient": 0.0,
+ "SetPoint": 90.0,
+ "SlewNeg": 0.0,
+ "SlewPos": 0.0,
+ "Type": "Pid"
+ },
+ {
+ "Class": "fan",
+ "FFGainCoefficient": 0.01,
+ "FFOffCoefficient": 0.0,
+ "ICoefficient": 0.0,
+ "ILimit": {
+ "Max": 0.0,
+ "Min": 0.0
+ },
+ "Index": 1,
+ "Inputs": [
+ "Fan 5a",
+ "Fan 5b",
+ "Pwm 5"
+ ],
+ "Name": "Fan 5",
+ "OutLimit": {
+ "Max": 100.0,
+ "Min": 30.0
+ },
+ "PCoefficient": 0.0,
+ "SetPoint": 90.0,
+ "SlewNeg": 0.0,
+ "SlewPos": 0.0,
+ "Type": "Pid"
+ },
+ {
+ "Class": "fan",
+ "FFGainCoefficient": 0.01,
+ "FFOffCoefficient": 0.0,
+ "ICoefficient": 0.0,
+ "ILimit": {
+ "Max": 0.0,
+ "Min": 0.0
+ },
+ "Index": 1,
+ "Inputs": [
+ "Fan 6a",
+ "Fan 6b",
+ "Pwm 6"
+ ],
+ "Name": "Fan 6",
+ "OutLimit": {
+ "Max": 100.0,
+ "Min": 30.0
+ },
+ "PCoefficient": 0.0,
+ "SetPoint": 90.0,
+ "SlewNeg": 0.0,
+ "SlewPos": 0.0,
+ "Type": "Pid"
+ },
+ {
+ "Index": 1,
+ "MinThermalRpm": 3000,
+ "FailSafePercent": 90,
+ "Name": "Pid 1",
+ "Type": "Pid.Zone"
}
],
"Name": "R1000 Chassis",
diff --git a/configurations/WFT Baseboard.json b/configurations/WFT Baseboard.json
index 85ddfed..8e3a222 100644
--- a/configurations/WFT Baseboard.json
+++ b/configurations/WFT Baseboard.json
@@ -838,6 +838,30 @@
}
],
"Type": "SkylakeCPU"
+ },
+ {
+ "Class": "temp",
+ "FFGainCoefficient": 0.0,
+ "FFOffCoefficient": 0.0,
+ "ICoefficient": -20.0,
+ "ILimit": {
+ "Max": 7000,
+ "Min": 3000
+ },
+ "Index": 1,
+ "Inputs": [
+ "Core 0 CPU0"
+ ],
+ "Name": "Core 0 CPU0",
+ "OutLimit": {
+ "Max": 7000,
+ "Min": 3000
+ },
+ "PCoefficient": -300.0,
+ "SetPoint": 45.0,
+ "SlewNeg": -100,
+ "SlewPos": 0.0,
+ "Type": "Pid"
}
],
"Name": "WFP Baseboard",
diff --git a/src/EntityManager.cpp b/src/EntityManager.cpp
index a62c36f..36478d7 100644
--- a/src/EntityManager.cpp
+++ b/src/EntityManager.cpp
@@ -94,7 +94,7 @@
// todo: pass this through nicer
std::shared_ptr<sdbusplus::asio::connection> SYSTEM_BUS;
-const std::regex ILLEGAL_DBUS_REGEX("[^A-Za-z0-9_]");
+const std::regex ILLEGAL_DBUS_REGEX("[^A-Za-z0-9_.]");
void registerCallbacks(boost::asio::io_service &io,
std::vector<sdbusplus::bus::match::match> &dbusMatches,