添加电池数据

This commit is contained in:
孙小云 2026-02-06 15:41:40 +08:00
parent 5eafcff343
commit 2dca7d780c
1 changed files with 28 additions and 7 deletions

View File

@ -603,15 +603,36 @@ public class TuohengBufferDeviceImpl implements IBufferDeviceService {
dto.setBatteryLevel(value.getValue());
});
// 优先使用 battery_totalVoltageBMS电池电压如果没有则使用 voltage无人机电压
Double voltageValue = telemetry.get(TuohengDeviceTelemetry.BATTERY_TOTAL_VOLTAGE)
.map(TelemetryValue::getValue)
.orElse(null);
if (voltageValue != null) {
log.info("BATTERY_TOTAL_VOLTAGE 总电压: {}", voltageValue);
dto.setVoltage(voltageValue.intValue());
} else {
telemetry.get(TuohengDeviceTelemetry.VOLTAGE)
.ifPresent(value -> {
log.info("VOLTAGE 电压原始值: {}", value.getValue());
log.info("VOLTAGE 电压(备用): {}", value.getValue());
Double voltage = value.getValue();
if (voltage != null) {
dto.setVoltage(voltage.intValue());
log.info("VOLTAGE 电压转换后: {}", voltage.intValue());
}
});
}
telemetry.get(TuohengDeviceTelemetry.BATTERY_CELL_TEMP)
.ifPresent(value -> {
log.info("BATTERY_CELL_TEMP 电池温度: {}", value.getValue());
dto.setBatteryTemperature(value.getValue());
});
telemetry.get(TuohengDeviceTelemetry.BATTERY_NUM_CYCLES)
.ifPresent(value -> {
log.info("BATTERY_NUM_CYCLES 循环次数: {}", value.getValue());
dto.setCycleCount(value.getValue());
});
// 设置飞行时长
log.info("---------- 解析飞行数据 ----------");