From 8255f9834c4fb01ca835c9919448653374c27870 Mon Sep 17 00:00:00 2001 From: sashwinbalaji Date: Tue, 26 Mar 2024 17:10:42 +0800 Subject: [PATCH] thermal: Add VIRTUAL-SKIN-MODEL - Add vskin-model. - Rename existing vskin to vskin-legacy. - Add input validation for model and fallback on vskin-legacy for vskin-model. - Add abnormality and residency stats for vskin model. Bug: 315948438 Test: Local build and verify lshal and thermal logcat. Change-Id: I3930939b9ed3777ed6eb5bce745c9f099f639fb1 --- device-comet.mk | 5 ++ thermal/thermal_info_config_comet.json | 87 +++++++++++++++++++++-- thermal/vt_estimation_model_comet.tflite | Bin 0 -> 5684 bytes 3 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 thermal/vt_estimation_model_comet.tflite diff --git a/device-comet.mk b/device-comet.mk index e533c64..1de3f68 100644 --- a/device-comet.mk +++ b/device-comet.mk @@ -126,6 +126,10 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \ device/google/comet/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf +#Thermal VT estimator +PRODUCT_PACKAGES += \ + libthermal_tflite_wrapper + # Thermal Config ifeq (,$(TARGET_VENDOR_THERMAL_CONFIG_PATH)) TARGET_VENDOR_THERMAL_CONFIG_PATH := device/google/comet/thermal @@ -135,6 +139,7 @@ PRODUCT_COPY_FILES += \ $(TARGET_VENDOR_THERMAL_CONFIG_PATH)/thermal_info_config_charge_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_charge.json \ $(TARGET_VENDOR_THERMAL_CONFIG_PATH)/thermal_info_config_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \ $(TARGET_VENDOR_THERMAL_CONFIG_PATH)/thermal_info_config_backup_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_backup.json \ + $(TARGET_VENDOR_THERMAL_CONFIG_PATH)/vt_estimation_model_comet.tflite:$(TARGET_COPY_OUT_VENDOR)/etc/vt_estimation_model.tflite \ PRODUCT_PACKAGES += \ init_thermal_config diff --git a/thermal/thermal_info_config_comet.json b/thermal/thermal_info_config_comet.json index 285c5ee..cc23ca7 100644 --- a/thermal/thermal_info_config_comet.json +++ b/thermal/thermal_info_config_comet.json @@ -221,15 +221,64 @@ "Multiplier": 0.001 }, { - "Name": "VIRTUAL-SKIN", - "Type": "SKIN", + "Name": "VIRTUAL-SKIN-LEGACY", + "Type": "UNKNOWN", "Version": "2.0", "VirtualSensor": true, - "TriggerSensor": ["soc_therm", "rffe_therm", "charger_therm", "modem_therm", "gnss_tcxo_therm"], + "Hidden": true, "Formula": "WEIGHTED_AVG", "Combination": ["VIRTUAL-SKIN-OPEN", "VIRTUAL-SKIN-CLOSE"], "Coefficient": ["OPEN_WEIGHT", "CLOSE_WEIGHT"], "CoefficientType": ["SENSOR", "SENSOR"], + "Multiplier": 0.001 + }, + { + "Name":"VIRTUAL-SKIN-MODEL", + "Type":"UNKNOWN", + "Version": "1.0", + "VirtualSensor":true, + "Hidden": true, + "ModelPath":"vt_estimation_model.tflite", + "Formula": "USE_ML_MODEL", + "Combination":["soc_therm", "rffe_therm", "charger_therm", "usb_conn_therm", "modem_therm", "inner_display_therm", "display_therm", "gnss_tcxo_therm", "maxfg_base", "maxfg_secondary", "inner_brightness"], + "Multiplier":0.001, + "PreviousSampleCount": 3, + "BackupSensor": "VIRTUAL-SKIN-LEGACY", + "ValidateInput": true + }, + { + "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", + "Type": "UNKNOWN", + "VirtualSensor": true, + "Hidden": true, + "Formula": "WEIGHTED_AVG", + "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY"], + "Coefficient": [1.0, -1.0], + "Multiplier": 1 + }, + { + "Name": "STATS-UPDATOR", + "Type": "UNKNOWN", + "VirtualSensor": true, + "Hidden": true, + "TriggerSensor": ["soc_therm", "rffe_therm", "charger_therm", "modem_therm", "gnss_tcxo_therm"], + "Formula": "WEIGHTED_AVG", + "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF"], + "Coefficient": [0.0, 0.0, 0.0], + "Multiplier": 1, + "SendPowerHint": true, + "PollingDelay": 300000, + "PassiveDelay": 7000 + }, + { + "Name": "VIRTUAL-SKIN", + "Type": "SKIN", + "Version": "2.1", + "VirtualSensor": true, + "TriggerSensor": ["soc_therm", "rffe_therm", "charger_therm", "modem_therm", "gnss_tcxo_therm"], + "Formula": "MAXIMUM", + "Combination": ["VIRTUAL-SKIN-LEGACY"], + "Coefficient": [1.0], "HotThreshold": ["NAN", 39.0, 43.0, 45.0, 46.5, 53.0, 57.0], "HotHysteresis": [0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9], "Multiplier": 0.001, @@ -1056,6 +1105,26 @@ "Name": "VIRTUAL-SKIN", "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 55] }, + { + "Name": "VIRTUAL-SKIN-MODEL", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 55] + }, + { + "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", + "LoggingName": "MODEL-LEGACY-0.5", + "Thresholds": [ + -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0, + 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500 + ] + }, + { + "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", + "LoggingName": "MODEL-LEGACY-1", + "Thresholds": [ + -13000, -12000, -11000, -10000, -9000, -8000, -7000, -6000, -5000, + -4000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000 + ] + }, { "Name": "VIRTUAL-SKIN-SPEAKER", "Thresholds": [35, 37] @@ -1065,8 +1134,16 @@ "Outlier": { "Configs": [ { - "Monitor": ["VIRTUAL-SKIN"], - "TempRange": [0.0, 55.0] + "Monitor": ["VIRTUAL-SKIN-LEGACY"], + "TempRange": [0.0, 57.0] + }, + { + "Monitor": ["VIRTUAL-SKIN-MODEL"], + "TempRange": [0.0, 57.0] + }, + { + "Monitor": ["VIRTUAL-SKIN-MODEL-LEGACY-DIFF"], + "TempRange": [-12000, 12000] } ] }, diff --git a/thermal/vt_estimation_model_comet.tflite b/thermal/vt_estimation_model_comet.tflite new file mode 100644 index 0000000000000000000000000000000000000000..4283a3086545c626e2161ad8df418e70d041364b GIT binary patch literal 5684 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 c{^u09yW&r