1{
2    "Sensors":[
3        {
4            "Name":"north_therm",
5            "Type":"UNKNOWN",
6            "HotThreshold":["NAN", 32.1, "NAN", "NAN", "NAN", "NAN", "NAN"],
7            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
8            "Multiplier":0.001,
9            "PollingDelay":300000,
10            "PassiveDelay":7000
11        },
12        {
13            "Name":"rfpa_therm",
14            "Type":"UNKNOWN",
15            "HotThreshold":["NAN", 33.7, "NAN", "NAN", "NAN", "NAN", "NAN"],
16            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
17            "Multiplier":0.001,
18            "PollingDelay":300000,
19            "PassiveDelay":7000
20        },
21        {
22            "Name":"soc_therm",
23            "Type":"UNKNOWN",
24            "HotThreshold":["NAN", 47.2, "NAN", "NAN", "NAN", "NAN", "NAN"],
25            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
26            "Multiplier":0.001,
27            "PollingDelay":300000,
28            "PassiveDelay":7000
29        },
30        {
31            "Name":"charging_therm",
32            "Type":"UNKNOWN",
33            "HotThreshold":["NAN", 48.4, "NAN", "NAN", "NAN", "NAN", "NAN"],
34            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
35            "Multiplier":0.001,
36            "PollingDelay":300000,
37            "PassiveDelay":7000
38        },
39        {
40            "Name":"disp_therm",
41            "Type":"UNKNOWN",
42            "HotThreshold":["NAN", 31.7, "NAN", "NAN", "NAN", "NAN", "NAN"],
43            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
44            "Multiplier":0.001,
45            "PollingDelay":300000,
46            "PassiveDelay":7000
47        },
48        {
49            "Name":"battery",
50            "Type":"BATTERY",
51            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 60.0],
52            "Multiplier":0.001
53        },
54        {
55            "Name":"btmspkr_therm",
56            "Type":"UNKNOWN",
57            "HotThreshold":["NAN", 44.1, "NAN", "NAN", "NAN", "NAN", "NAN"],
58            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
59            "Multiplier":0.001,
60            "PollingDelay":300000,
61            "PassiveDelay":7000
62        },
63        {
64            "Name":"quiet_therm",
65            "Type":"UNKNOWN",
66            "HotThreshold":["NAN", 34.6, "NAN", "NAN", "NAN", "NAN", "NAN"],
67            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
68            "Multiplier":0.001,
69            "PollingDelay":300000,
70            "PassiveDelay":7000
71        },
72        {
73            "Name":"usb_pwr_therm",
74            "Type":"UNKNOWN",
75            "HotThreshold":["NAN", 35.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
76            "Multiplier":0.001,
77            "PollingDelay":300000,
78            "PassiveDelay":7000
79        },
80        {
81            "Name":"battery_cycle",
82            "Type":"BCL_VOLTAGE"
83        },
84        {
85            "Name":"soc",
86            "Type":"BCL_PERCENTAGE",
87            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
88            "Multiplier":1
89        },
90        {
91            "Name":"BCL_AUDIO_BAACL",
92            "Type":"BCL_VOLTAGE",
93            "VirtualSensor":true,
94            "Formula":"COUNT_THRESHOLD",
95            "TriggerSensor": "soc",
96            "Combination":["battery", "soc"],
97            "Coefficient":[-25000, 80],
98            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
99            "PollingDelay":0,
100            "PassiveDelay":1000,
101            "Multiplier":1,
102            "SendCallback":true
103        },
104        {
105            "Name":"VIRTUAL-BTS-WINDOW-PARTIAL",
106            "Type":"UNKNOWN",
107            "VirtualSensor":true,
108            "Formula":"WEIGHTED_AVG",
109            "Combination":["quiet_therm"],
110            "Coefficient":[0.051],
111            "Offset":780,
112            "Multiplier":0.001
113        },
114        {
115            "Name": "VIRTUAL-SKIN-SUB-0",
116            "Type": "UNKNOWN",
117            "Hidden": true,
118            "VirtualSensor": true,
119            "Formula": "WEIGHTED_AVG",
120            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
121            "Coefficient": [0.015, 0.039, 0.052, 0.292, 0.272, 0.21, 0.084, 0.036],
122            "Offset": -439.0,
123            "Multiplier": 0.001
124        },
125        {
126            "Name": "VIRTUAL-SKIN-SUB-1",
127            "Type": "UNKNOWN",
128            "Hidden": true,
129            "VirtualSensor": true,
130            "Formula": "WEIGHTED_AVG",
131            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
132            "Coefficient": [0.031, 0.013, 0.021, 0.073, 0.024, 0.205, 0.295, 0.339],
133            "Offset": -790.0,
134            "Multiplier": 0.001
135        },
136        {
137            "Name": "VIRTUAL-SKIN-SUB-2",
138            "Type": "UNKNOWN",
139            "Hidden": true,
140            "VirtualSensor": true,
141            "Formula": "WEIGHTED_AVG",
142            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
143            "Coefficient": [0.03, 0.021, 0.041, 0.129, 0.125, 0.356, 0.023, 0.352],
144            "Offset": -2588.0,
145            "Multiplier": 0.001
146        },
147        {
148            "Name": "VIRTUAL-SKIN-SUB-3",
149            "Type": "UNKNOWN",
150            "Hidden": true,
151            "VirtualSensor": true,
152            "Formula": "WEIGHTED_AVG",
153            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
154            "Coefficient": [0.112, 0.12, 0.119, 0.108, 0.115, 0.108, 0.114, 0.108],
155            "Offset": 2059.0,
156            "Multiplier": 0.001
157        },
158        {
159            "Name": "VIRTUAL-SKIN-SUB-4",
160            "Type": "UNKNOWN",
161            "Hidden": true,
162            "VirtualSensor": true,
163            "Formula": "WEIGHTED_AVG",
164            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
165            "Coefficient": [0.011, 0.048, 0.047, 0.551, 0.034, 0.257, 0.025, 0.06],
166            "Offset": -1537.0,
167            "Multiplier": 0.001
168        },
169        {
170            "Name": "VIRTUAL-SKIN-SUB-5",
171            "Type": "UNKNOWN",
172            "Hidden": true,
173            "VirtualSensor": true,
174            "Formula": "WEIGHTED_AVG",
175            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
176            "Coefficient": [0.294, 0.006, 0.063, 0.048, 0.006, 0.093, 0.207, 0.282],
177            "Offset": -673.0,
178            "Multiplier": 0.001
179        },
180        {
181            "Name": "VIRTUAL-SKIN-LEGACY",
182            "Type": "UNKNOWN",
183            "Version":"5.1",
184            "VirtualSensor": true,
185            "Formula": "MAXIMUM",
186            "Combination": ["VIRTUAL-SKIN-SUB-0", "VIRTUAL-SKIN-SUB-1", "VIRTUAL-SKIN-SUB-2", "VIRTUAL-SKIN-SUB-3", "VIRTUAL-SKIN-SUB-4", "VIRTUAL-SKIN-SUB-5"],
187            "Coefficient": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
188            "Multiplier": 0.001
189        },
190        {
191            "Name": "VIRTUAL-SKIN-LEGACY-SHUTDOWN",
192            "Type": "UNKNOWN",
193            "Hidden": true,
194            "VirtualSensor": true,
195            "Formula": "COUNT_THRESHOLD",
196            "Combination": ["VIRTUAL-SKIN-LEGACY"],
197            "Coefficient": [55000.0],
198            "Multiplier": 1.0
199        },
200        {
201            "Name": "VIRTUAL-SKIN-MODEL",
202            "Type": "UNKNOWN",
203            "VirtualSensor": true,
204            "ModelPath": "vt_estimation_model.tflite",
205            "Formula": "USE_ML_MODEL",
206            "Combination": ["btmspkr_therm", "charging_therm", "disp_therm", "north_therm", "quiet_therm", "rfpa_therm", "soc_therm", "usb_pwr_therm"],
207            "Multiplier": 0.001,
208            "Offset": 500,
209            "PreviousSampleCount": 3,
210            "OffsetThresholds" : [50000, 53000],
211            "OffsetValues" : [500, 1000],
212            "BackupSensor" : "VIRTUAL-SKIN-LEGACY",
213            "TimeResolution": 7000
214        },
215        {
216            "Name": "VIRTUAL-SKIN-MODEL-UPPER-CLAMPED",
217            "Type": "UNKNOWN",
218            "VirtualSensor": true,
219            "Hidden": true,
220            "Formula": "MINIMUM",
221            "Combination": ["55000", "VIRTUAL-SKIN-MODEL"],
222            "CombinationType": ["CONSTANT", "SENSOR"],
223            "Coefficient": [1.0, 1.0],
224            "Multiplier": 1
225        },
226        {
227            "Name": "VIRTUAL-SKIN-MODEL-CLAMPED",
228            "Type": "UNKNOWN",
229            "VirtualSensor": true,
230            "Hidden": true,
231            "Formula": "MAXIMUM",
232            "Combination": ["20000", "VIRTUAL-SKIN-MODEL-UPPER-CLAMPED"],
233            "CombinationType": ["CONSTANT", "SENSOR"],
234            "Coefficient": [1.0, 1.0],
235            "Multiplier": 1
236        },
237        {
238            "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF",
239            "Type": "UNKNOWN",
240            "VirtualSensor": true,
241            "Hidden": true,
242            "Formula": "WEIGHTED_AVG",
243            "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY"],
244            "Coefficient": [1.0, -1.0],
245            "Multiplier": 1
246        },
247        {
248            "Name": "VIRTUAL-SKIN-LEGACY-MODEL-DIFF",
249            "Type": "UNKNOWN",
250            "VirtualSensor": true,
251            "Hidden": true,
252            "Formula": "WEIGHTED_AVG",
253            "Combination": ["VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL"],
254            "Coefficient": [1.0, -1.0],
255            "Multiplier": 1
256        },
257        {
258            "Name": "VT_LEGACY_WEIGHT",
259            "Type": "UNKNOWN",
260            "Hidden": true,
261            "VirtualSensor": true,
262            "Formula": "COUNT_THRESHOLD",
263            "StepRatio": 0.2,
264            "Combination": ["VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "VIRTUAL-SKIN-LEGACY-MODEL-DIFF"],
265            "Coefficient": [10000, 7000],
266            "Multiplier": 1,
267            "PassiveDelay": 7000
268        },
269        {
270            "Name": "VT_MODEL_WEIGHT",
271            "Type": "UNKNOWN",
272            "Hidden": true,
273            "VirtualSensor": true,
274            "Formula": "WEIGHTED_AVG",
275            "Combination": ["1", "VT_LEGACY_WEIGHT"],
276            "CombinationType": ["CONSTANT", "SENSOR"],
277            "Coefficient": [1.0, -1.0],
278            "Multiplier": 1
279        },
280        {
281            "Name": "VIRTUAL-SKIN-MODEL-UPDATED",
282            "Type": "UNKNOWN",
283            "VirtualSensor": true,
284            "Hidden": true,
285            "Formula": "WEIGHTED_AVG",
286            "Combination": ["VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-CLAMPED"],
287            "Coefficient": ["VT_LEGACY_WEIGHT", "VT_MODEL_WEIGHT"],
288            "CoefficientType": ["SENSOR", "SENSOR"],
289            "Multiplier": 1,
290            "StepRatio": 0.4,
291            "PassiveDelay": 7000
292        },
293        {
294            "Name": "VIRTUAL-SKIN-LSTM-MODEL",
295            "Type": "UNKNOWN",
296            "VirtualSensor": true,
297            "ModelPath": "vt_prediction_lstm_model.tflite",
298            "Formula": "USE_ML_MODEL",
299            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
300            "PreviousSampleCount": 11,
301            "OutputLabelCount": 6,
302            "Multiplier": 0.001,
303            "SupportUnderSampling": true,
304            "ValidateInput": true
305        },
306        {
307            "Name": "STATS-UPDATOR",
308            "Type": "UNKNOWN",
309            "VirtualSensor": true,
310            "Hidden": true,
311            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
312            "Formula": "WEIGHTED_AVG",
313            "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "VIRTUAL-SKIN-LSTM-MODEL"],
314            "Coefficient": [0.0, 0.0, 0.0, 0.0],
315            "Multiplier": 1,
316            "SendPowerHint": true,
317            "PollingDelay": 300000,
318            "PassiveDelay": 7000
319        },
320        {
321            "Name": "VIRTUAL-SKIN",
322            "Type": "SKIN",
323            "Version": "6.1",
324            "VirtualSensor": true,
325            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
326            "Formula": "MAXIMUM",
327            "Combination": ["VIRTUAL-SKIN-MODEL-UPDATED", "VIRTUAL-SKIN-LEGACY"],
328            "Coefficient": [1.0, "VIRTUAL-SKIN-LEGACY-SHUTDOWN"],
329            "CoefficientType":["CONSTANT", "SENSOR"],
330            "HotThreshold": ["NAN", 39.0, 43.0, 45.0, 46.5, 52.0, 55.0],
331            "HotHysteresis": [0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
332            "Multiplier": 0.001,
333            "SendCallback": true,
334            "PollingDelay": 300000,
335            "PassiveDelay": 7000,
336            "PredictorInfo": {
337                "Sensor": "VIRTUAL-SKIN-LSTM-MODEL"
338            },
339            "BindedCdevInfo": [
340                {
341                    "CdevRequest": "gxp-cooling",
342                    "LimitInfo": [0, 0, 0, 0, 0, 6, 6]
343                }
344            ]
345        },
346        {
347            "Name":"VIRTUAL-SKIN-HINT",
348            "Type":"UNKNOWN",
349            "Hidden":true,
350            "VirtualSensor":true,
351            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
352            "Formula":"MAXIMUM",
353            "Combination":["VIRTUAL-SKIN"],
354            "Coefficient":[1.0],
355            "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
356            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
357            "Multiplier":0.001,
358            "SendPowerHint":true,
359            "PollingDelay":300000,
360            "PassiveDelay":7000
361        },
362        {
363            "Name":"VIRTUAL-SKIN-CPU-LIGHT-ODPM",
364            "Type":"UNKNOWN",
365            "Hidden":true,
366            "VirtualSensor":true,
367            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
368            "Formula":"MAXIMUM",
369            "Combination":["VIRTUAL-SKIN"],
370            "Coefficient":[1.0],
371            "HotThreshold":["NAN", 37.0, 39.0, "NAN", "NAN", "NAN", "NAN"],
372            "HotHysteresis":[0.0, 1.9, 1.9, 0.0, 0.0, 0.0, 0.0],
373            "Multiplier":0.001,
374            "PollingDelay":300000,
375            "PassiveDelay":7000,
376            "PIDInfo": {
377                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
378                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
379                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
380                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
381                "I_Max":["NAN", "NAN", 2200, "NAN", "NAN", "NAN", "NAN"],
382                "S_Power":["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"],
383                "MinAllocPower":["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"],
384                "MaxAllocPower":["NAN", "NAN", 4600, "NAN", "NAN", "NAN", "NAN"],
385                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
386            },
387            "BindedCdevInfo": [
388                {
389                    "CdevRequest": "thermal-cpufreq-0",
390                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
391                    "MaxReleaseStep": 1,
392                    "MaxThrottleStep": 1,
393                    "BindedPowerRail": "S4M_VDD_CPUCL0",
394                    "CdevCeilingFrequency": [1950000, 1696000, 1696000, 1696000, 1696000, 1696000, 1696000]
395                },
396                {
397                    "CdevRequest": "thermal-cpufreq-1",
398                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
399                    "MaxReleaseStep": 1,
400                    "MaxThrottleStep": 2,
401                    "BindedPowerRail": "S2M_VDD_CPUCL1",
402                    "CdevCeilingFrequency": [2600000, 1795000, 1795000, 1795000, 1795000, 1795000, 1795000]
403                },
404                {
405                    "CdevRequest": "thermal-cpufreq-2",
406                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
407                    "MaxReleaseStep": 1,
408                    "MaxThrottleStep": 2,
409                    "BindedPowerRail": "S3M_VDD_CPUCL2",
410                    "CdevCeilingFrequency": [3105000, 1396000, 1396000, 1396000, 1396000, 1396000, 1396000]
411                }
412            ],
413            "Profile": [
414                {
415                    "Mode": "game",
416                    "BindedCdevInfo": [
417                        {
418                           "CdevRequest": "thermal-cpufreq-0",
419                           "BindedPowerRail": "S4M_VDD_CPUCL0",
420                           "MaxReleaseStep": 1,
421                           "Disabled":true
422                        },
423                        {
424                           "CdevRequest": "thermal-cpufreq-1",
425                           "BindedPowerRail": "S2M_VDD_CPUCL1",
426                           "MaxReleaseStep": 1,
427                           "Disabled":true
428                        },
429                        {
430                           "CdevRequest": "thermal-cpufreq-2",
431                           "BindedPowerRail": "S3M_VDD_CPUCL2",
432                           "MaxReleaseStep": 1,
433                           "Disabled":true
434                        }
435                    ]
436                }
437            ]
438        },
439        {
440            "Name":"VIRTUAL-SKIN-CPU-MID",
441            "Type":"UNKNOWN",
442            "Hidden":true,
443            "VirtualSensor":true,
444            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
445            "Formula":"MAXIMUM",
446            "Combination":["VIRTUAL-SKIN"],
447            "Coefficient":[1.0],
448            "HotThreshold":["NAN", 39.0, 41.0, "NAN", "NAN", "NAN", "NAN"],
449            "HotHysteresis":[0.0, 0.0, 1.9, 0.0, 0.0, 0.0, 0.0],
450            "Multiplier":0.001,
451            "PollingDelay":300000,
452            "PassiveDelay":7000,
453            "PIDInfo": {
454                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
455                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
456                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
457                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
458                "I_Max":["NAN", "NAN", 1500, "NAN", "NAN", "NAN", "NAN"],
459                "S_Power":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
460                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
461                "MaxAllocPower":["NAN", "NAN", 2800, "NAN", "NAN", "NAN", "NAN"],
462                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
463            },
464            "BindedCdevInfo": [
465                {
466                    "CdevRequest": "thermal-cpufreq-0",
467                    "CdevWeightForPID": [0.292, 0.292, 0.292, 0.292, 0.292, 0.292, 0.292],
468                    "MaxReleaseStep": 1,
469                    "MaxThrottleStep": 1,
470                    "CdevCeilingFrequency": [1950000, 1098000, 1098000, 1098000, 1098000, 1098000, 1098000]
471                },
472                {
473                    "CdevRequest": "thermal-cpufreq-1",
474                    "CdevWeightForPID": [0.804, 0.804, 0.804, 0.804, 0.804, 0.804, 0.804],
475                    "MaxReleaseStep": 1,
476                    "MaxThrottleStep": 2,
477                    "CdevCeilingFrequency": [2600000, 1221000, 1221000, 1221000, 1221000, 1221000, 1221000]
478                },
479                {
480                    "CdevRequest": "thermal-cpufreq-2",
481                    "CdevWeightForPID": [0.342, 0.342, 0.342, 0.342, 0.342, 0.342, 0.342],
482                    "MaxReleaseStep": 1,
483                    "MaxThrottleStep": 2,
484                    "CdevCeilingFrequency": [3105000, 700000, 700000, 700000, 700000, 700000, 700000]
485                }
486            ],
487            "Profile": [
488                {
489                    "Mode": "game",
490                    "BindedCdevInfo": [
491                        {
492                           "CdevRequest": "thermal-cpufreq-0",
493                           "MaxReleaseStep": 1,
494                           "Disabled":true
495                        },
496                        {
497                           "CdevRequest": "thermal-cpufreq-1",
498                           "MaxReleaseStep": 1,
499                           "Disabled":true
500                        },
501                        {
502                           "CdevRequest": "thermal-cpufreq-2",
503                           "MaxReleaseStep": 1,
504                           "Disabled":true
505                        }
506                    ]
507                },
508                {
509                    "Mode": "camera",
510                    "BindedCdevInfo": [
511                        {
512                           "CdevRequest": "thermal-cpufreq-0",
513                           "MaxReleaseStep": 1,
514                           "Disabled":true
515                        },
516                        {
517                           "CdevRequest": "thermal-cpufreq-1",
518                           "MaxReleaseStep": 1,
519                           "Disabled":true
520                        },
521                        {
522                           "CdevRequest": "thermal-cpufreq-2",
523                           "MaxReleaseStep": 1,
524                           "Disabled":true
525                        }
526                    ]
527                }
528            ]
529        },
530        {
531            "Name":"VIRTUAL-SKIN-CPU-HIGH",
532            "Type":"UNKNOWN",
533            "Hidden":true,
534            "VirtualSensor":true,
535            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
536            "Formula":"MAXIMUM",
537            "Combination":["VIRTUAL-SKIN"],
538            "Coefficient":[1.0],
539            "HotThreshold":["NAN", 41.0, 43.0, 52.0, "NAN", "NAN", "NAN"],
540            "HotHysteresis":[0.0, 0.0, 1.9, 1.9, 0.0, 0.0, 0.0],
541            "Multiplier":0.001,
542            "PollingDelay":300000,
543            "PassiveDelay":7000,
544            "PIDInfo": {
545                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
546                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
547                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
548                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
549                "I_Max":["NAN", "NAN", 1000, "NAN", "NAN", "NAN", "NAN"],
550                "S_Power":["NAN", "NAN", 600, "NAN", "NAN", "NAN", "NAN"],
551                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
552                "MaxAllocPower":["NAN", "NAN", 1600, "NAN", "NAN", "NAN", "NAN"],
553                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
554            },
555            "BindedCdevInfo": [
556                {
557                    "CdevRequest": "thermal-cpufreq-0",
558                    "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
559                    "MaxReleaseStep": 1,
560                    "MaxThrottleStep": 1,
561                    "CdevCeilingFrequency": [1950000, 820000, 820000, 820000, 820000, 820000, 820000]
562                },
563                {
564                    "CdevRequest": "thermal-cpufreq-1",
565                    "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
566                    "MaxReleaseStep": 1,
567                    "MaxThrottleStep": 2,
568                    "CdevCeilingFrequency": [2600000, 787000, 787000, 787000, 787000, 787000, 787000]
569                },
570                {
571                    "CdevRequest": "thermal-cpufreq-2",
572                    "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
573                    "MaxReleaseStep": 1,
574                    "MaxThrottleStep": 2,
575                    "CdevCeilingFrequency": [3105000, 700000, 700000, 700000, 700000, 700000, 700000]
576                }
577            ],
578            "Profile": [
579                {
580                    "Mode": "game",
581                    "BindedCdevInfo": [
582                        {
583                           "CdevRequest": "thermal-cpufreq-0",
584                           "MaxReleaseStep": 1,
585                           "Disabled":true
586                        },
587                        {
588                           "CdevRequest": "thermal-cpufreq-1",
589                           "MaxReleaseStep": 1,
590                           "Disabled":true
591                        },
592                        {
593                           "CdevRequest": "thermal-cpufreq-2",
594                           "MaxReleaseStep": 1,
595                           "Disabled":true
596                        }
597                    ]
598                },
599                {
600                    "Mode": "camera",
601                    "BindedCdevInfo": [
602                        {
603                            "CdevRequest": "thermal-cpufreq-0",
604                            "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
605                            "MaxReleaseStep": 1,
606                            "MaxThrottleStep": 1,
607                            "CdevCeilingFrequency": [1950000, 1696000, 1696000, 1696000, 1696000, 1696000, 1696000]
608                         },
609                         {
610                            "CdevRequest": "thermal-cpufreq-1",
611                            "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
612                            "MaxReleaseStep": 1,
613                            "MaxThrottleStep": 2,
614                            "CdevCeilingFrequency": [2600000, 1795000, 1795000, 1795000, 1795000, 1795000, 1795000]
615                         },
616                         {
617                            "CdevRequest": "thermal-cpufreq-2",
618                            "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
619                            "MaxReleaseStep": 1,
620                            "MaxThrottleStep": 2,
621                            "CdevCeilingFrequency": [3105000, 1396000, 1396000, 1396000, 1396000, 1396000, 1396000]
622                         }
623                    ]
624                }
625            ]
626        },
627        {
628            "Name":"VIRTUAL-SKIN-SOC",
629            "Type":"UNKNOWN",
630            "Hidden":true,
631            "VirtualSensor":true,
632            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
633            "Formula":"MAXIMUM",
634            "Combination":["VIRTUAL-SKIN"],
635            "Coefficient":[1.0],
636            "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
637            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
638            "Multiplier":0.001,
639            "PollingDelay":300000,
640            "PassiveDelay":7000,
641            "PIDInfo": {
642                "K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
643                "K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
644                "K_I":["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"],
645                "K_D":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"],
646                "I_Max":["NAN", "NAN", "NAN", 2600, "NAN", "NAN", "NAN"],
647                "S_Power":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
648                "MinAllocPower":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
649                "MaxAllocPower":["NAN", "NAN", "NAN", 3900, "NAN", "NAN", "NAN"],
650                "I_Cutoff":["NAN", "NAN", "NAN", 8, "NAN", "NAN", "NAN"]
651            },
652            "BindedCdevInfo": [
653                {
654                    "CdevRequest": "thermal-cpufreq-0",
655                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
656                    "MaxReleaseStep": 1,
657                    "MaxThrottleStep": 1,
658                    "BindedPowerRail": "S4M_VDD_CPUCL0",
659                    "CdevCeilingFrequency": [1950000, 820000, 820000, 820000, 820000, 820000, 820000],
660                    "LimitInfoFrequency": [1950000, 1950000, 1950000, 1950000, 1950000, 820000, 820000]
661                },
662                {
663                    "CdevRequest": "thermal-cpufreq-1",
664                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
665                    "MaxReleaseStep": 1,
666                    "MaxThrottleStep": 2,
667                    "BindedPowerRail": "S2M_VDD_CPUCL1",
668                    "CdevCeilingFrequency": [2600000, 787000, 787000, 787000, 648000, 357000, 357000],
669                    "LimitInfoFrequency": [2600000, 2600000, 2600000, 2600000, 2600000, 357000, 357000]
670                },
671                {
672                    "CdevRequest": "thermal-cpufreq-2",
673                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
674                    "MaxReleaseStep": 1,
675                    "MaxThrottleStep": 2,
676                    "BindedPowerRail": "S3M_VDD_CPUCL2",
677                    "CdevCeilingFrequency": [3105000, 700000, 700000, 700000, 700000, 700000, 700000],
678                    "LimitInfoFrequency": [3105000, 3105000, 3105000, 3105000, 3105000, 700000, 700000]
679                },
680                {
681                    "CdevRequest": "thermal-gpufreq-0",
682                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
683                    "MaxReleaseStep": 1,
684                    "MaxThrottleStep": 1,
685                    "BindedPowerRail": "S2S_VDD_G3D",
686                    "CdevCeilingFrequency": [940000, 419000, 419000, 419000, 376000, 302000, 302000],
687                    "LimitInfoFrequency": [940000, 940000, 940000, 940000, 940000, 302000, 302000]
688                },
689                {
690                    "CdevRequest": "tpu_cooling",
691                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
692                    "MaxReleaseStep": 1,
693                    "MaxThrottleStep": 1,
694                    "BindedPowerRail": "S7M_VDD_TPU",
695                    "CdevCeiling": [0, 7, 7, 7, 7, 7, 7],
696                    "LimitInfo": [0, 0, 0, 0, 0, 7, 7]
697                }
698            ]
699        },
700        {
701            "Name":"VIRTUAL-SKIN-GPU",
702            "Type":"UNKNOWN",
703            "Hidden":true,
704            "VirtualSensor":true,
705            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
706            "Formula":"MAXIMUM",
707            "Combination":["VIRTUAL-SKIN"],
708            "Coefficient":[1.0],
709            "HotThreshold":["NAN", 43.0, 45.0, 46.5, 52.0, "NAN", "NAN"],
710            "HotHysteresis":[0.0, 1.9, 1.9, 1.4, 1.9, 0.0, 0.0],
711            "Multiplier":0.001,
712            "PollingDelay":300000,
713            "PassiveDelay":7000,
714            "PIDInfo": {
715                "K_Po":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
716                "K_Pu":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
717                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
718                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
719                "I_Max":["NAN", "NAN", 1723, "NAN", "NAN", "NAN", "NAN"],
720                "S_Power":["NAN", "NAN", 473, "NAN", "NAN", "NAN", "NAN"],
721                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
722                "MaxAllocPower":["NAN", "NAN", 2500, "NAN", "NAN", "NAN", "NAN"],
723                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
724            },
725            "BindedCdevInfo": [
726                {
727                    "CdevRequest": "thermal-gpufreq-0",
728                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
729                    "CdevCeilingFrequency": [940000, 419000, 419000, 376000, 302000, 302000, 302000]
730                }
731            ]
732        },
733        {
734            "Name":"cellular-emergency",
735            "Type":"POWER_AMPLIFIER",
736            "VirtualSensor":true,
737            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
738            "Formula":"MAXIMUM",
739            "Combination":["VIRTUAL-SKIN"],
740            "Coefficient":[1.0],
741            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 54.0, "NAN"],
742            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
743            "Multiplier":0.001,
744            "SendCallback":true,
745            "PollingDelay":300000,
746            "PassiveDelay":7000
747        },
748        {
749            "Name":"VIRTUAL-SKIN-SPEAKER-SUB-0",
750            "Type":"UNKNOWN",
751            "Hidden":true,
752            "VirtualSensor":true,
753            "Formula":"WEIGHTED_AVG",
754            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
755            "Coefficient": [0.092, 0.099, 0.098, 0.087, 0.093, 0.087, 0.095, 0.087],
756            "Offset": 5847.0,
757            "Multiplier":0.001
758        },
759        {
760            "Name":"VIRTUAL-SKIN-SPEAKER-SUB-1",
761            "Type":"UNKNOWN",
762            "Hidden":true,
763            "VirtualSensor":true,
764            "Formula":"WEIGHTED_AVG",
765            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
766            "Coefficient": [0.178, 0.061, 0.002, 0.029, 0.127, 0.249, 0.105, 0.249],
767            "Offset": -3446.0,
768            "Multiplier":0.001
769        },
770        {
771            "Name":"VIRTUAL-SKIN-SPEAKER",
772            "Type":"UNKNOWN",
773            "Version":"6.1",
774            "VirtualSensor":true,
775            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
776            "Formula":"MAXIMUM",
777            "Combination": ["VIRTUAL-SKIN-SPEAKER-SUB-0", "VIRTUAL-SKIN-SPEAKER-SUB-1"],
778            "Coefficient": [1.0, 1.0],
779            "HotThreshold":["NAN", 47.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
780            "HotHysteresis":[0.0, 1.9, 0.0, 0.0, 0.0, 0.0, 0.0],
781            "Multiplier":0.001,
782            "SendCallback":true,
783            "PollingDelay":300000,
784            "PassiveDelay":7000
785        },
786        {
787            "Name": "VIRTUAL-SKIN-FRONT-SUB-0",
788            "Type": "UNKNOWN",
789            "Hidden": true,
790            "VirtualSensor": true,
791            "Formula": "WEIGHTED_AVG",
792            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
793            "Coefficient": [0.176, 0.009, 0.034, 0.199, 0.02, 0.249, 0.08, 0.232],
794            "Offset": -763.0,
795            "Multiplier": 0.001
796        },
797        {
798            "Name": "VIRTUAL-SKIN-FRONT-SUB-1",
799            "Type": "UNKNOWN",
800            "Hidden": true,
801            "VirtualSensor": true,
802            "Formula": "WEIGHTED_AVG",
803            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
804            "Coefficient": [0.059, 0.256, 0.002, 0.215, 0.065, 0.078, 0.2, 0.125],
805            "Offset": -3546.0,
806            "Multiplier": 0.001
807        },
808        {
809            "Name": "VIRTUAL-SKIN-FRONT-SUB-2",
810            "Type": "UNKNOWN",
811            "Hidden": true,
812            "VirtualSensor": true,
813            "Formula": "WEIGHTED_AVG",
814            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
815            "Coefficient": [0.222, 0.186, 0.019, 0.111, 0.076, 0.183, 0.006, 0.196],
816            "Offset": -2401.0,
817            "Multiplier": 0.001
818        },
819        {
820            "Name": "VIRTUAL-SKIN-FRONT-SUB-3",
821            "Type": "UNKNOWN",
822            "Hidden": true,
823            "VirtualSensor": true,
824            "Formula": "WEIGHTED_AVG",
825            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
826            "Coefficient": [0.278, 0.099, 0.135, 0.004, 0.272, 0.084, 0.124, 0.004],
827            "Offset": -5273.0,
828            "Multiplier": 0.001
829        },
830        {
831            "Name": "VIRTUAL-SKIN-FRONT-SUB-4",
832            "Type": "UNKNOWN",
833            "Hidden": true,
834            "VirtualSensor": true,
835            "Formula": "WEIGHTED_AVG",
836            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
837            "Coefficient": [0.066, 0.053, 0.016, 0.262, 0.018, 0.322, 0.067, 0.196],
838            "Offset": -169.0,
839            "Multiplier": 0.001
840        },
841        {
842            "Name": "VIRTUAL-SKIN-FRONT-SUB-5",
843            "Type": "UNKNOWN",
844            "Hidden": true,
845            "VirtualSensor": true,
846            "Formula": "WEIGHTED_AVG",
847            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
848            "Coefficient": [0.126, 0.113, 0.01, 0.035, 0.154, 0.244, 0.048, 0.269],
849            "Offset": -1066.0,
850            "Multiplier": 0.001
851        },
852        {
853            "Name":"VIRTUAL-SKIN-FRONT",
854            "Type":"UNKNOWN",
855            "Version":"4.0",
856            "VirtualSensor":true,
857            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
858            "Formula":"MAXIMUM",
859            "Combination": ["VIRTUAL-SKIN-FRONT-SUB-0", "VIRTUAL-SKIN-FRONT-SUB-1", "VIRTUAL-SKIN-FRONT-SUB-2", "VIRTUAL-SKIN-FRONT-SUB-3", "VIRTUAL-SKIN-FRONT-SUB-4", "VIRTUAL-SKIN-FRONT-SUB-5"],
860            "Coefficient": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
861            "Multiplier":0.001
862        },
863        {
864            "Name": "VIRTUAL-SKIN-CHARGE-SUB-0",
865            "Type": "UNKNOWN",
866            "Hidden": true,
867            "VirtualSensor": true,
868            "Formula": "WEIGHTED_AVG",
869            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
870            "Coefficient": [0.221, 0.009, 0.01, 0.032, 0.14, 0.069, 0.192, 0.325],
871            "Offset": -927.0,
872            "Multiplier": 0.001
873        },
874        {
875            "Name": "VIRTUAL-SKIN-CHARGE-SUB-1",
876            "Type": "UNKNOWN",
877            "Hidden": true,
878            "VirtualSensor": true,
879            "Formula": "WEIGHTED_AVG",
880            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
881            "Coefficient": [0.019, 0.015, 0.225, 0.08, 0.027, 0.281, 0.018, 0.334],
882            "Offset": -713.0,
883            "Multiplier": 0.001
884        },
885        {
886            "Name": "VIRTUAL-SKIN-CHARGE-SUB-2",
887            "Type": "UNKNOWN",
888            "Hidden": true,
889            "VirtualSensor": true,
890            "Formula": "WEIGHTED_AVG",
891            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
892            "Coefficient": [0.127, 0.056, 0.01, 0.019, 0.373, 0.247, 0.013, 0.156],
893            "Offset": -877.0,
894            "Multiplier": 0.001
895        },
896        {
897            "Name": "VIRTUAL-SKIN-CHARGE-SUB-3",
898            "Type": "UNKNOWN",
899            "Hidden": true,
900            "VirtualSensor": true,
901            "Formula": "WEIGHTED_AVG",
902            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
903            "Coefficient": [0.018, 0.033, 0.043, 0.358, 0.034, 0.287, 0.054, 0.213],
904            "Offset": -1722.0,
905            "Multiplier": 0.001
906        },
907        {
908            "Name": "VIRTUAL-SKIN-CHARGE-SUB-4",
909            "Type": "UNKNOWN",
910            "Hidden": true,
911            "VirtualSensor": true,
912            "Formula": "WEIGHTED_AVG",
913            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
914            "Coefficient": [0.109, 0.015, 0.003, 0.129, 0.05, 0.282, 0.265, 0.147],
915            "Offset": -995.0,
916            "Multiplier": 0.001
917        },
918        {
919            "Name": "VIRTUAL-SKIN-CHARGE-SUB-5",
920            "Type": "UNKNOWN",
921            "Hidden": true,
922            "VirtualSensor": true,
923            "Formula": "WEIGHTED_AVG",
924            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
925            "Coefficient": [0.348, 0.025, 0.081, 0.086, 0.062, 0.213, 0.172, 0.013],
926            "Offset": -1998.0,
927            "Multiplier": 0.001
928        },
929        {
930            "Name": "VIRTUAL-SKIN-CHARGE-SUB-6",
931            "Type": "UNKNOWN",
932            "Hidden": true,
933            "VirtualSensor": true,
934            "Formula": "WEIGHTED_AVG",
935            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
936            "Coefficient": [0.007, 0.038, 0.013, 0.225, 0.103, 0.09, 0.372, 0.154],
937            "Offset": -2627.0,
938            "Multiplier": 0.001
939        },
940        {
941            "Name":"VIRTUAL-SKIN-CHARGE",
942            "Type":"UNKNOWN",
943            "Version":"9.0",
944            "Hidden":true,
945            "VirtualSensor":true,
946            "Formula":"MAXIMUM",
947            "Combination": ["VIRTUAL-SKIN-CHARGE-SUB-0", "VIRTUAL-SKIN-CHARGE-SUB-1", "VIRTUAL-SKIN-CHARGE-SUB-2", "VIRTUAL-SKIN-CHARGE-SUB-3", "VIRTUAL-SKIN-CHARGE-SUB-4", "VIRTUAL-SKIN-CHARGE-SUB-5", "VIRTUAL-SKIN-CHARGE-SUB-6"],
948            "Coefficient": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
949            "Multiplier":0.001
950        },
951        {
952            "Name":"thb_hda",
953            "Type":"UNKNOWN",
954            "Multiplier":1
955        },
956        {
957            "Name":"WLC_CHECK",
958            "Type":"UNKNOWN",
959            "Hidden":true,
960            "VirtualSensor":true,
961            "Formula":"COUNT_THRESHOLD",
962            "Combination":["thb_hda", "thb_hda"],
963            "Coefficient":[1, -51],
964            "Multiplier":1
965        },
966        {
967            "Name":"NO_WLC",
968            "Type":"UNKNOWN",
969            "Hidden":true,
970            "VirtualSensor":true,
971            "Formula":"COUNT_THRESHOLD",
972            "Combination":["WLC_CHECK"],
973            "Coefficient":[-2],
974            "Multiplier":1
975        },
976        {
977            "Name":"VIRTUAL-SKIN-CHARGE-WIRED",
978            "Type":"UNKNOWN",
979            "VirtualSensor":true,
980            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
981            "Formula":"WEIGHTED_AVG",
982            "Combination":["VIRTUAL-SKIN-CHARGE"],
983            "Coefficient":["NO_WLC"],
984            "CoefficientType": ["SENSOR"],
985            "HotThreshold":["NAN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
986            "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
987            "Multiplier":0.001,
988            "PollingDelay":300000,
989            "PassiveDelay":7000,
990            "PIDInfo": {
991                "K_Po":["NAN", "NAN", 119, "NAN", "NAN", "NAN", "NAN"],
992                "K_Pu":["NAN", "NAN", 119, "NAN", "NAN", "NAN", "NAN"],
993                "K_I":["NAN", "NAN", 50, "NAN", "NAN", "NAN", "NAN"],
994                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
995                "I_Max":["NAN", "NAN", 1302, "NAN", "NAN", "NAN", "NAN"],
996                "S_Power":["NAN", "NAN", 2527, "NAN", "NAN", "NAN", "NAN"],
997                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
998                "MaxAllocPower":["NAN", "NAN", 6219, "NAN", "NAN", "NAN", "NAN"],
999                "I_Cutoff":["NAN", "NAN", 6, "NAN", "NAN", "NAN", "NAN"],
1000                "I_Default":846
1001            },
1002            "ExcludedPowerInfo": [
1003                {
1004                    "PowerRail": "PARTIAL_SYSTEM_POWER",
1005                    "PowerWeight": [0.12, 0.12, 1.0, 1.0, 1.0, 1.0, 1.0]
1006                }
1007            ],
1008            "BindedCdevInfo": [
1009                {
1010                    "CdevRequest": "chg_mdis",
1011                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
1012                    "MaxReleaseStep": 1,
1013                    "MaxThrottleStep": 1,
1014                    "CdevCeiling": [0, 25, 25, 25, 26, 26, 26],
1015                    "LimitInfo": [0, 0, 1, 1, 1, 26, 26]
1016                }
1017            ]
1018        },
1019        {
1020            "Name":"VIRTUAL-SKIN-CHARGE-PERSIST",
1021            "Type":"UNKNOWN",
1022            "VirtualSensor":true,
1023            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
1024            "Formula":"WEIGHTED_AVG",
1025            "Combination":["VIRTUAL-SKIN-CHARGE"],
1026            "Coefficient":[1.0],
1027            "HotThreshold":["NaN", 35.0, 41.0, 45.0, 47.0, 51.0, 55.0],
1028            "HotHysteresis":[0.0, 1.9, 1.9, 3.9, 1.9, 1.9, 1.9],
1029            "Multiplier":0.001,
1030            "PollingDelay":300000,
1031            "PassiveDelay":7000,
1032            "PIDInfo": {
1033                "K_Po":["NaN", "NaN", 213, "NaN", "NaN", "NaN", "NaN"],
1034                "K_Pu":["NaN", "NaN", 213, "NaN", "NaN", "NaN", "NaN"],
1035                "K_I":["NaN", "NaN", 27, "NaN", "NaN", "NaN", "NaN"],
1036                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
1037                "I_Max":["NaN", "NaN", 1383, "NaN", "NaN", "NaN", "NaN"],
1038                "S_Power":["NaN", "NaN", 2383, "NaN", "NaN", "NaN", "NaN"],
1039                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
1040                "MaxAllocPower":["NaN", "NaN", 8022, "NaN", "NaN", "NaN", "NaN"],
1041                "I_Cutoff":["NaN", "NaN", 8, "NaN", "NaN", "NaN", "NaN"],
1042                "I_Default":1383
1043            },
1044            "ExcludedPowerInfo": [
1045                {
1046                    "PowerRail": "PARTIAL_SYSTEM_POWER",
1047                    "PowerWeight": [0.21, 0.21, 0.21, 0.21, 0.42, 0.42, 0.42]
1048                }
1049            ],
1050            "BindedCdevInfo": [
1051                {
1052                    "CdevRequest": "chg_mdis",
1053                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
1054                    "MaxReleaseStep": 1,
1055                    "MaxThrottleStep": 1,
1056                    "CdevCeiling": [0, 25, 25, 26, 26, 26, 26],
1057                    "LimitInfo": [0, 0, 1, 1, 26, 26, 26]
1058                }
1059            ]
1060        },
1061        {
1062            "Name": "VIRTUAL-USB-THROTTLING",
1063            "Type": "UNKNOWN",
1064            "VirtualSensor": true,
1065            "Formula": "WEIGHTED_AVG",
1066            "TriggerSensor": "usb_pwr_therm",
1067            "Combination": ["usb_pwr_therm"],
1068            "Coefficient": [1.0],
1069            "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
1070            "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
1071            "BindedCdevInfo": [
1072                {
1073                    "CdevRequest": "usbc-port",
1074                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
1075                }
1076            ],
1077            "Multiplier": 0.001,
1078            "PollingDelay": 300000,
1079            "PassiveDelay": 7000
1080        },
1081        {
1082            "Name": "VIRTUAL-USB-UI",
1083            "Type": "USB_PORT",
1084            "VirtualSensor": true,
1085            "Formula": "WEIGHTED_AVG",
1086            "TriggerSensor": "usb_pwr_therm",
1087            "Combination": ["usb_pwr_therm"],
1088            "Coefficient": [1.0],
1089            "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 57.0, "NaN"],
1090            "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
1091            "Multiplier": 0.001,
1092            "PollingDelay": 300000,
1093            "PassiveDelay": 7000,
1094            "SendCallback": true
1095        },
1096        {
1097            "Name":"LITTLE",
1098            "Type":"CPU",
1099            "Multiplier":0.001
1100        },
1101        {
1102            "Name":"MID",
1103            "Type":"CPU",
1104            "Multiplier":0.001
1105        },
1106        {
1107            "Name":"BIG",
1108            "Type":"CPU",
1109            "Multiplier":0.001
1110        },
1111        {
1112            "Name":"G3D",
1113            "Type":"GPU",
1114            "Multiplier":0.001
1115        },
1116        {
1117            "Name":"TPU",
1118            "Type":"NPU",
1119            "Multiplier":0.001
1120        },
1121        {
1122            "Name": "IS_WLC",
1123            "Type": "UNKNOWN",
1124            "Hidden": true,
1125            "VirtualSensor": true,
1126            "Formula":"COUNT_THRESHOLD",
1127            "Combination":["WLC_CHECK"],
1128            "Coefficient":[2],
1129            "Multiplier":1
1130        },
1131        {
1132            "Name": "VIRTUAL-SKIN-CHARGE-DURING-WLC-STATS",
1133            "Type":"UNKNOWN",
1134            "Hidden": true,
1135            "VirtualSensor":true,
1136            "Formula":"WEIGHTED_AVG",
1137            "Combination":["VIRTUAL-SKIN-CHARGE", -1000000],
1138            "CombinationType": ["SENSOR", "CONSTANT"],
1139            "Coefficient":["IS_WLC", "NO_WLC"],
1140            "CoefficientType": ["SENSOR", "SENSOR"],
1141            "Multiplier": 0.001
1142        },
1143        {
1144            "Name": "IS_WIRED_SUB5W_CHECK",
1145            "Type": "UNKNOWN",
1146            "Hidden": true,
1147            "VirtualSensor": true,
1148            "Formula":"COUNT_THRESHOLD",
1149            "Combination":["thb_hda", "thb_hda"],
1150            "Coefficient":[51, -52],
1151            "Multiplier":1
1152        },
1153        {
1154            "Name":"IS_WIRED_SUB5W",
1155            "Type":"UNKNOWN",
1156            "Hidden":true,
1157            "VirtualSensor":true,
1158            "Formula":"COUNT_THRESHOLD",
1159            "Combination":["IS_WIRED_SUB5W_CHECK"],
1160            "Coefficient":[2],
1161            "Multiplier":1
1162        },
1163        {
1164            "Name":"NO_WIRED_SUB5W",
1165            "Type":"UNKNOWN",
1166            "Hidden":true,
1167            "VirtualSensor":true,
1168            "Formula":"COUNT_THRESHOLD",
1169            "Combination":["IS_WIRED_SUB5W_CHECK"],
1170            "Coefficient":[-2],
1171            "Multiplier":1
1172        },
1173        {
1174            "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-SUB5W-STATS",
1175            "Type":"UNKNOWN",
1176            "Hidden": true,
1177            "VirtualSensor":true,
1178            "Formula":"WEIGHTED_AVG",
1179            "Combination":["VIRTUAL-SKIN-CHARGE", -1000000],
1180            "CombinationType": ["SENSOR", "CONSTANT"],
1181            "Coefficient":["IS_WIRED_SUB5W", "NO_WIRED_SUB5W"],
1182            "CoefficientType": ["SENSOR", "SENSOR"],
1183            "Multiplier": 0.001
1184        },
1185        {
1186            "Name": "IS_WIRED_5W_CHECK",
1187            "Type": "UNKNOWN",
1188            "Hidden": true,
1189            "VirtualSensor": true,
1190            "Formula":"COUNT_THRESHOLD",
1191            "Combination":["thb_hda", "thb_hda"],
1192            "Coefficient":[52, -53],
1193            "Multiplier":1
1194        },
1195        {
1196            "Name":"IS_WIRED_5W",
1197            "Type":"UNKNOWN",
1198            "Hidden":true,
1199            "VirtualSensor":true,
1200            "Formula":"COUNT_THRESHOLD",
1201            "Combination":["IS_WIRED_5W_CHECK"],
1202            "Coefficient":[2],
1203            "Multiplier":1
1204        },
1205        {
1206            "Name":"NO_WIRED_5W",
1207            "Type":"UNKNOWN",
1208            "Hidden":true,
1209            "VirtualSensor":true,
1210            "Formula":"COUNT_THRESHOLD",
1211            "Combination":["IS_WIRED_5W_CHECK"],
1212            "Coefficient":[-2],
1213            "Multiplier":1
1214        },
1215        {
1216            "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-5W-STATS",
1217            "Type":"UNKNOWN",
1218            "Hidden": true,
1219            "VirtualSensor":true,
1220            "Formula":"WEIGHTED_AVG",
1221            "Combination":["VIRTUAL-SKIN-CHARGE", -1000000],
1222            "CombinationType": ["SENSOR", "CONSTANT"],
1223            "Coefficient":["IS_WIRED_5W", "NO_WIRED_5W"],
1224            "CoefficientType": ["SENSOR", "SENSOR"],
1225            "Multiplier": 0.001
1226        },
1227        {
1228            "Name": "IS_WIRED_7_5W_CHECK",
1229            "Type": "UNKNOWN",
1230            "Hidden": true,
1231            "VirtualSensor": true,
1232            "Formula":"COUNT_THRESHOLD",
1233            "Combination":["thb_hda", "thb_hda"],
1234            "Coefficient":[53, -54],
1235            "Multiplier":1
1236        },
1237        {
1238            "Name":"IS_WIRED_7_5W",
1239            "Type":"UNKNOWN",
1240            "Hidden":true,
1241            "VirtualSensor":true,
1242            "Formula":"COUNT_THRESHOLD",
1243            "Combination":["IS_WIRED_7_5W_CHECK"],
1244            "Coefficient":[2],
1245            "Multiplier":1
1246        },
1247        {
1248            "Name":"NO_WIRED_7_5W",
1249            "Type":"UNKNOWN",
1250            "Hidden":true,
1251            "VirtualSensor":true,
1252            "Formula":"COUNT_THRESHOLD",
1253            "Combination":["IS_WIRED_7_5W_CHECK"],
1254            "Coefficient":[-2],
1255            "Multiplier":1
1256        },
1257        {
1258            "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-7-5W-STATS",
1259            "Type":"UNKNOWN",
1260            "Hidden": true,
1261            "VirtualSensor":true,
1262            "Formula":"WEIGHTED_AVG",
1263            "Combination":["VIRTUAL-SKIN-CHARGE", -1000000],
1264            "CombinationType": ["SENSOR", "CONSTANT"],
1265            "Coefficient":["IS_WIRED_7_5W", "NO_WIRED_7_5W"],
1266            "CoefficientType": ["SENSOR", "SENSOR"],
1267            "Multiplier": 0.001
1268        },
1269        {
1270            "Name": "IS_WIRED_15W_CHECK",
1271            "Type": "UNKNOWN",
1272            "Hidden": true,
1273            "VirtualSensor": true,
1274            "Formula":"COUNT_THRESHOLD",
1275            "Combination":["thb_hda", "thb_hda"],
1276            "Coefficient":[54, -55],
1277            "Multiplier":1
1278        },
1279        {
1280            "Name":"IS_WIRED_15W",
1281            "Type":"UNKNOWN",
1282            "Hidden":true,
1283            "VirtualSensor":true,
1284            "Formula":"COUNT_THRESHOLD",
1285            "Combination":["IS_WIRED_15W_CHECK"],
1286            "Coefficient":[2],
1287            "Multiplier":1
1288        },
1289        {
1290            "Name":"NO_WIRED_15W",
1291            "Type":"UNKNOWN",
1292            "Hidden":true,
1293            "VirtualSensor":true,
1294            "Formula":"COUNT_THRESHOLD",
1295            "Combination":["IS_WIRED_15W_CHECK"],
1296            "Coefficient":[-2],
1297            "Multiplier":1
1298        },
1299        {
1300            "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-15W-STATS",
1301            "Type":"UNKNOWN",
1302            "Hidden": true,
1303            "VirtualSensor":true,
1304            "Formula":"WEIGHTED_AVG",
1305            "Combination":["VIRTUAL-SKIN-CHARGE", -1000000],
1306            "CombinationType": ["SENSOR", "CONSTANT"],
1307            "Coefficient":["IS_WIRED_15W", "NO_WIRED_15W"],
1308            "CoefficientType": ["SENSOR", "SENSOR"],
1309            "Multiplier": 0.001
1310        },
1311        {
1312            "Name": "IS_WIRED_18W_CHECK",
1313            "Type": "UNKNOWN",
1314            "Hidden": true,
1315            "VirtualSensor": true,
1316            "Formula":"COUNT_THRESHOLD",
1317            "Combination":["thb_hda", "thb_hda"],
1318            "Coefficient":[55, -56],
1319            "Multiplier":1
1320        },
1321        {
1322            "Name":"IS_WIRED_18W",
1323            "Type":"UNKNOWN",
1324            "Hidden":true,
1325            "VirtualSensor":true,
1326            "Formula":"COUNT_THRESHOLD",
1327            "Combination":["IS_WIRED_18W_CHECK"],
1328            "Coefficient":[2],
1329            "Multiplier":1
1330        },
1331        {
1332            "Name":"NO_WIRED_18W",
1333            "Type":"UNKNOWN",
1334            "Hidden":true,
1335            "VirtualSensor":true,
1336            "Formula":"COUNT_THRESHOLD",
1337            "Combination":["IS_WIRED_18W_CHECK"],
1338            "Coefficient":[-2],
1339            "Multiplier":1
1340        },
1341        {
1342            "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-18W-STATS",
1343            "Type":"UNKNOWN",
1344            "Hidden": true,
1345            "VirtualSensor":true,
1346            "Formula":"WEIGHTED_AVG",
1347            "Combination":["VIRTUAL-SKIN-CHARGE", -1000000],
1348            "CombinationType": ["SENSOR", "CONSTANT"],
1349            "Coefficient":["IS_WIRED_18W", "NO_WIRED_18W"],
1350            "CoefficientType": ["SENSOR", "SENSOR"],
1351            "Multiplier": 0.001
1352        },
1353        {
1354            "Name": "IS_WIRED_GT18W_CHECK",
1355            "Type": "UNKNOWN",
1356            "Hidden": true,
1357            "VirtualSensor": true,
1358            "Formula":"COUNT_THRESHOLD",
1359            "Combination":["thb_hda", "thb_hda"],
1360            "Coefficient":[56, -57],
1361            "Multiplier":1
1362        },
1363        {
1364            "Name":"IS_WIRED_GT18W",
1365            "Type":"UNKNOWN",
1366            "Hidden":true,
1367            "VirtualSensor":true,
1368            "Formula":"COUNT_THRESHOLD",
1369            "Combination":["IS_WIRED_GT18W_CHECK"],
1370            "Coefficient":[2],
1371            "Multiplier":1
1372        },
1373        {
1374            "Name":"NO_WIRED_GT18W",
1375            "Type":"UNKNOWN",
1376            "Hidden":true,
1377            "VirtualSensor":true,
1378            "Formula":"COUNT_THRESHOLD",
1379            "Combination":["IS_WIRED_GT18W_CHECK"],
1380            "Coefficient":[-2],
1381            "Multiplier":1
1382        },
1383        {
1384            "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-GT18W-STATS",
1385            "Type":"UNKNOWN",
1386            "Hidden": true,
1387            "VirtualSensor":true,
1388            "Formula":"WEIGHTED_AVG",
1389            "Combination":["VIRTUAL-SKIN-CHARGE", -1000000],
1390            "CombinationType": ["SENSOR", "CONSTANT"],
1391            "Coefficient":["IS_WIRED_GT18W", "NO_WIRED_GT18W"],
1392            "CoefficientType": ["SENSOR", "SENSOR"],
1393            "Multiplier": 0.001
1394        },
1395        {
1396            "Name": "CHARGING-STATS-UPDATOR",
1397            "Type": "UNKNOWN",
1398            "VirtualSensor": true,
1399            "Hidden": true,
1400            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
1401            "Formula": "WEIGHTED_AVG",
1402            "Combination": ["VIRTUAL-SKIN-CHARGE-DURING-WLC-STATS", "VIRTUAL-SKIN-CHARGE-DURING-WIRED-SUB5W-STATS", "VIRTUAL-SKIN-CHARGE-DURING-WIRED-5W-STATS",
1403                "VIRTUAL-SKIN-CHARGE-DURING-WIRED-7-5W-STATS", "VIRTUAL-SKIN-CHARGE-DURING-WIRED-15W-STATS", "VIRTUAL-SKIN-CHARGE-DURING-WIRED-18W-STATS",
1404                "VIRTUAL-SKIN-CHARGE-DURING-WIRED-GT18W-STATS"],
1405            "Coefficient": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
1406            "Multiplier": 1,
1407            "SendPowerHint": true,
1408            "PollingDelay": 300000,
1409            "PassiveDelay": 7000
1410        }
1411    ],
1412    "CoolingDevices":[
1413        {
1414            "Name":"thermal-cpufreq-0",
1415            "Type":"CPU",
1416            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
1417            "ScalingAvailableFrequenciesPath": "/sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies"
1418        },
1419        {
1420            "Name":"thermal-cpufreq-1",
1421            "Type":"CPU",
1422            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
1423            "ScalingAvailableFrequenciesPath": "/sys/devices/system/cpu/cpufreq/policy4/scaling_available_frequencies"
1424        },
1425        {
1426            "Name":"thermal-cpufreq-2",
1427            "Type":"CPU",
1428            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
1429            "ScalingAvailableFrequenciesPath": "/sys/devices/system/cpu/cpufreq/policy7/scaling_available_frequencies"
1430        },
1431        {
1432            "Name":"thermal-gpufreq-0",
1433            "Type":"GPU",
1434            "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
1435            "ScalingAvailableFrequenciesPath": "/sys/devices/platform/1f000000.mali/available_frequencies"
1436        },
1437        {
1438            "Name":"chg_mdis",
1439            "Type":"BATTERY"
1440        },
1441        {
1442            "Name":"usbc-port",
1443            "Type":"BATTERY"
1444        },
1445        {
1446            "Name":"tpu_cooling",
1447            "Type":"NPU",
1448            "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
1449        },
1450        {
1451            "Name":"gxp-cooling",
1452            "Type":"NPU",
1453            "WritePath":"/dev/thermal/cdev-by-name/gxp-cooling/user_vote"
1454        }
1455    ],
1456    "PowerRails":[
1457        {
1458            "Name":"VSYS_PWR_CAMERA",
1459            "PowerSampleDelay":7000,
1460            "PowerSampleCount":15
1461        },
1462        {
1463            "Name":"S2M_VDD_CPUCL1",
1464            "PowerSampleDelay":7000,
1465            "PowerSampleCount":1
1466        },
1467        {
1468            "Name":"S3M_VDD_CPUCL2",
1469            "PowerSampleDelay":7000,
1470            "PowerSampleCount":1
1471        },
1472        {
1473            "Name":"S4M_VDD_CPUCL0",
1474            "PowerSampleDelay":7000,
1475            "PowerSampleCount":1
1476        },
1477        {
1478            "Name":"S2S_VDD_G3D",
1479            "PowerSampleDelay":7000,
1480            "PowerSampleCount":1
1481        },
1482        {
1483            "Name":"S7M_VDD_TPU",
1484            "PowerSampleDelay":7000,
1485            "PowerSampleCount":1
1486        },
1487        {
1488            "Name":"PARTIAL_SYSTEM_POWER",
1489            "VirtualRails":true,
1490            "Formula":"WEIGHTED_AVG",
1491            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL1", "S3M_VDD_CPUCL2", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "VSYS_PWR_MODEM"],
1492            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
1493            "PowerSampleDelay":7000,
1494            "PowerSampleCount":5
1495        }
1496    ],
1497    "Stats": {
1498        "Sensors": {
1499            "RecordWithDefaultThreshold": ["VIRTUAL-SKIN"],
1500            "RecordWithThreshold": [
1501                {
1502                    "Name": "VIRTUAL-SKIN-SPEAKER",
1503                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1504                },
1505                {
1506                    "Name": "VIRTUAL-SKIN",
1507                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 55]
1508                },
1509                {
1510                    "Name": "VIRTUAL-SKIN-LEGACY",
1511                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1512                },
1513                {
1514                    "Name": "VIRTUAL-SKIN-MODEL",
1515                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1516                },
1517                {
1518                    "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF",
1519                    "LoggingName": "MODEL-LEGACY-0.5",
1520                    "Thresholds": [
1521                        -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
1522                        500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
1523                    ]
1524                },
1525                {
1526                    "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF",
1527                    "LoggingName": "MODEL-LEGACY-1",
1528                    "Thresholds": [
1529                        -13000, -12000, -11000, -10000, -9000, -8000, -7000, -6000, -5000,
1530                        -4000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000
1531                    ]
1532                },
1533                {
1534                    "Name": "VIRTUAL-SKIN-CHARGE-DURING-WLC-STATS",
1535                    "Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1536                },
1537                {
1538                    "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-SUB5W-STATS",
1539                    "Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1540                },
1541                {
1542                    "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-5W-STATS",
1543                    "Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1544                },
1545                {
1546                    "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-7-5W-STATS",
1547                    "Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1548                },
1549                {
1550                    "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-15W-STATS",
1551                    "Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1552                },
1553                {
1554                    "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-18W-STATS",
1555                    "Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1556                },
1557                {
1558                    "Name": "VIRTUAL-SKIN-CHARGE-DURING-WIRED-GT18W-STATS",
1559                    "Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
1560                }
1561            ],
1562            "Abnormality": {
1563                "Outlier": {
1564                    "Configs": [
1565                        {
1566                            "Monitor": ["VIRTUAL-SKIN-MODEL"],
1567                            "TempRange": [0.0, 55.0]
1568                        },
1569                        {
1570                            "Monitor": ["VIRTUAL-SKIN-MODEL-LEGACY-DIFF"],
1571                            "TempRange": [-7000, 7000]
1572                        }
1573                    ]
1574                }
1575            }
1576        },
1577        "CoolingDevices": {
1578            "RecordVotePerSensor": {
1579                "DefaultThresholdEnableAll": true
1580            }
1581        }
1582    }
1583}
1584