准备更新temp_avg相关字段能力

This commit is contained in:
2026-09-16 20:47:19 +08:00
parent 68e7be98ed
commit 75e9e85848
54 changed files with 106 additions and 1217 deletions
+18
View File
@@ -45,6 +45,7 @@ class _BatteryHealthPageState extends State<BatteryHealthPage> {
String _deviceModel = "魅族21 Pro (默认)";
double _maxTemp = 0;
double _minTemp = 0;
double _batteryTempAvg = 0;
double _maxVolt = 0;
double _minVolt = 0;
bool _hasData = false;
@@ -359,6 +360,7 @@ class _BatteryHealthPageState extends State<BatteryHealthPage> {
final volt = _extractVolt(lastLine);
final (maxTemp, minTemp) = _extractTempExtremes(validLines);
final (maxVolt, minVolt) = _extractVoltExtremes(validLines);
final tempAvg = _extractTempAvg(validLines);
dev.log(
'🔵 字段提取: cycle=$cycle, temp=$temp, volt=$volt',
@@ -390,6 +392,7 @@ class _BatteryHealthPageState extends State<BatteryHealthPage> {
_currentCap = (validatedCap ?? _currentCap).toDouble();
_cycleCount = cycle;
_batteryTemp = temp;
_batteryTempAvg = tempAvg;
_batteryVolt = volt;
_maxTemp = maxTemp;
_minTemp = minTemp;
@@ -494,6 +497,20 @@ class _BatteryHealthPageState extends State<BatteryHealthPage> {
return (maxTemp ?? 0, minTemp ?? 0);
}
double _extractTempAvg(List<String> lines) {
final reg = RegExp(r'tbat=(\d+)');
double sum = 0;
int count = 0;
for (String line in lines) {
final match = reg.firstMatch(line);
if (match != null) {
sum += double.parse(match.group(1)!);
count++;
}
}
return count > 0 ? sum / count : 0;
}
(double, double) _extractVoltExtremes(List<String> lines) {
final reg = RegExp(r'vbat=(\d+)');
double? maxVolt, minVolt;
@@ -773,6 +790,7 @@ class _BatteryHealthPageState extends State<BatteryHealthPage> {
child: BatteryInfoPanel(
batteryVolt: _batteryVolt,
batteryTemp: _batteryTemp,
tempAvg: _batteryTempAvg,
maxVolt: _maxVolt,
minVolt: _minVolt,
maxTemp: _maxTemp,