summaryrefslogtreecommitdiff
path: root/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json
blob: 981d3f5a83ba731afd766f53a4fae069fb160e25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[
    {
        "Desc":
        {
            "Name": "Virtual_CFM_Sensor",
            "SensorType": "airflow"
        },
        "Params":
        {
            "DbusParam":
            [
                {
                    "ParamName": "fan0",
                    "Desc":
                    {
                        "Name": "FAN0_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                },
                {
                    "ParamName": "fan1",
                    "Desc":
                    {
                        "Name": "FAN1_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                },
                {
                    "ParamName": "fan2",
                    "Desc":
                    {
                        "Name": "FAN2_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                },
                {
                    "ParamName": "fan3",
                    "Desc":
                    {
                        "Name": "FAN3_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                }
            ]
        },
        "Expression": "max(0, (avg(fan0, fan1, fan2, fan3) * 0.0478) - 11.467)"
    },
    {
        "Desc":
        {
            "Name": "Virtual_Inlet_Temp",
            "SensorType": "temperature"
        },
        "Threshold":{
            "CriticalHigh": 40,
            "CriticalLow": 0
        },
        "Params":
        {
            "DbusParam":
            [
                {
                    "ParamName": "inlet_temp",
                    "Desc":
                    {
                        "Name": "FRONT_PANEL_TEMP",
                        "SensorType": "temperature"
                    }
                },
                {
                    "ParamName": "fan0",
                    "Desc":
                    {
                        "Name": "FAN0_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                },
                {
                    "ParamName": "fan1",
                    "Desc":
                    {
                        "Name": "FAN1_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                },
                {
                    "ParamName": "fan2",
                    "Desc":
                    {
                        "Name": "FAN2_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                },
                {
                    "ParamName": "fan3",
                    "Desc":
                    {
                        "Name": "FAN3_TACH_IL",
                        "SensorType": "fan_tach"
                    }
                }
            ]
        },
        "Expression": "if(avg(fan0, fan1, fan2, fan3) > 0, inlet_temp - (((avg(fan0, fan1, fan2, fan3)^2) * (5e-8)) - (avg(fan0, fan1, fan2, fan3) * (6e-4)) + 1.5841), inlet_temp)"
    },
    {
        "Desc":
        {
            "Name": "Virtual_P12V_AUX_HSC_Input_Power",
            "SensorType": "power"
        },
        "Params":
        {
            "DbusParam":
            [
                {
                    "ParamName": "HSC_PWR",
                    "Desc":
                    {
                        "Name": "P12V_AUX_HSC_Input_Power",
                        "SensorType": "power"
                    }
                }
            ]
        },
        "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]);}"
    }
]