准备更新temp_avg相关字段能力
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user