summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen.Wang <Allen_Wang@quantatw.com>2022-04-13 12:21:32 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-04-29 22:18:05 +0300
commit65db670cf484dd79ea49032900ed3fe1674f8966 (patch)
tree086a428a51952046079d5572bdf22d06c1b00456
parent0e13ec500ed240581d984aef8e78b0e44f1f3bf5 (diff)
downloadopenbmc-65db670cf484dd79ea49032900ed3fe1674f8966.tar.xz
meta-bletchley: phosphor-virtual-sensor: Update virtual HSC_Input_Power
- Virtual_P12V_AUX_HSC_Input_Power Update calibration equation to adjust HSC Input Power, According to latest measurement from Power team update PWR to {68.082,131.899,194.753,256.391,316.721,376.108,433.569,490.850,546.187} ERR to {0.0425,0.0497,0.0537,0.0555,0.0565,0.0577,0.0587,0.0597,0.0603} Also update expression format to array of strings for better readability. related change: https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-virtual-sensor/+/52975 TESTED on Bletchley: Virtual_P12V_AUX_HSC_Input_Power is reporting calibrated value from P12V_AUX_HSC_Input_Power: 'busctl get-property xyz.openbmc_project.VirtualSensor /xyz/openbmc_project/sensors/power/Virtual_P12V_AUX_HSC_Input_Power xyz.openbmc_project.Sensor.Value Value' d 26.9588 'busctl get-property xyz.openbmc_project.PSUSensor /xyz/openbmc_project/sensors/power/P12V_AUX_HSC_Input_Power xyz.openbmc_project.Sensor.Value Value' d 28.1046 Signed-off-by: Allen.Wang <Allen_Wang@quantatw.com> Change-Id: If934a3c6a1e5ebb8a9a870202e51953261fb1248
-rw-r--r--meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json18
1 files changed, 17 insertions, 1 deletions
diff --git a/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json
index 981d3f5a83..b2fcf0841f 100644
--- a/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json
+++ b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json
@@ -123,6 +123,22 @@
}
]
},
- "Expression": "var PWR[9]:={71.786,130.828,193.845,255.12,315.468,374.183,427.233,486.983,545.588};var ERR[9]:={0.1002,0.04141,0.04927,0.05102,0.05308,0.05359,0.04437,0.05245,0.06011};switch { case HSC_PWR<PWR[0]:HSC_PWR/(1+ERR[0]);case inrange(PWR[0],HSC_PWR,PWR[1]) : HSC_PWR/(1+ERR[0]+(HSC_PWR-PWR[0])*(ERR[1]-ERR[0])/(PWR[1]-PWR[0]));case inrange(PWR[1],HSC_PWR,PWR[2]) : HSC_PWR/(1+ERR[1]+(HSC_PWR-PWR[1])*(ERR[2]-ERR[1])/(PWR[2]-PWR[1]));case inrange(PWR[2],HSC_PWR,PWR[3]) : HSC_PWR/(1+ERR[2]+(HSC_PWR-PWR[2])*(ERR[3]-ERR[2])/(PWR[3]-PWR[2]));case inrange(PWR[3],HSC_PWR,PWR[4]) : HSC_PWR/(1+ERR[3]+(HSC_PWR-PWR[3])*(ERR[4]-ERR[3])/(PWR[4]-PWR[3]));case inrange(PWR[4],HSC_PWR,PWR[5]) : HSC_PWR/(1+ERR[4]+(HSC_PWR-PWR[4])*(ERR[5]-ERR[4])/(PWR[5]-PWR[4]));case inrange(PWR[5],HSC_PWR,PWR[6]) : HSC_PWR/(1+ERR[5]+(HSC_PWR-PWR[5])*(ERR[6]-ERR[5])/(PWR[6]-PWR[5]));case inrange(PWR[6],HSC_PWR,PWR[7]) : HSC_PWR/(1+ERR[6]+(HSC_PWR-PWR[6])*(ERR[7]-ERR[6])/(PWR[7]-PWR[6]));case inrange(PWR[7],HSC_PWR,PWR[8]) : HSC_PWR/(1+ERR[7]+(HSC_PWR-PWR[7])*(ERR[8]-ERR[7])/(PWR[8]-PWR[7]));default : HSC_PWR/(1+ERR[8]);}"
+ "Expression":
+ [
+ "var PWR[9]:={68.082,131.899,194.753,256.391,316.721,376.108,433.569,490.850,546.187};",
+ "var ERR[9]:={0.0425,0.0497,0.0537,0.0555,0.0565,0.0577,0.0587,0.0597,0.0603};",
+ "switch {",
+ "case HSC_PWR<PWR[0]:HSC_PWR/(1+ERR[0]);",
+ "case inrange(PWR[0],HSC_PWR,PWR[1]) : HSC_PWR/(1+ERR[0]+(HSC_PWR-PWR[0])*(ERR[1]-ERR[0])/(PWR[1]-PWR[0]));",
+ "case inrange(PWR[1],HSC_PWR,PWR[2]) : HSC_PWR/(1+ERR[1]+(HSC_PWR-PWR[1])*(ERR[2]-ERR[1])/(PWR[2]-PWR[1]));",
+ "case inrange(PWR[2],HSC_PWR,PWR[3]) : HSC_PWR/(1+ERR[2]+(HSC_PWR-PWR[2])*(ERR[3]-ERR[2])/(PWR[3]-PWR[2]));",
+ "case inrange(PWR[3],HSC_PWR,PWR[4]) : HSC_PWR/(1+ERR[3]+(HSC_PWR-PWR[3])*(ERR[4]-ERR[3])/(PWR[4]-PWR[3]));",
+ "case inrange(PWR[4],HSC_PWR,PWR[5]) : HSC_PWR/(1+ERR[4]+(HSC_PWR-PWR[4])*(ERR[5]-ERR[4])/(PWR[5]-PWR[4]));",
+ "case inrange(PWR[5],HSC_PWR,PWR[6]) : HSC_PWR/(1+ERR[5]+(HSC_PWR-PWR[5])*(ERR[6]-ERR[5])/(PWR[6]-PWR[5]));",
+ "case inrange(PWR[6],HSC_PWR,PWR[7]) : HSC_PWR/(1+ERR[6]+(HSC_PWR-PWR[6])*(ERR[7]-ERR[6])/(PWR[7]-PWR[6]));",
+ "case inrange(PWR[7],HSC_PWR,PWR[8]) : HSC_PWR/(1+ERR[7]+(HSC_PWR-PWR[7])*(ERR[8]-ERR[7])/(PWR[8]-PWR[7]));",
+ "default : HSC_PWR/(1+ERR[8]);",
+ "}"
+ ]
}
]