Cell balancing calculation added. Fixed rounding of real numbers to the second decimal place

This commit is contained in:
Yury Shuvakin
2022-08-26 09:30:07 +03:00
parent 6ae4386b37
commit 046d1f55ce
7 changed files with 34 additions and 14 deletions

View File

@@ -3,6 +3,7 @@ import QtQuick.Layouts 1.12
import Controls 1.0 as Controls
import Cubo 1.0
import Utils 1.0
Item {
ColumnLayout {
@@ -299,27 +300,27 @@ Item {
target: BmsInterface.commands()
onValuesReceived: {
batteryChargeLevelLabel.text = values.soC
batteryVoltageLabel.text = values.packVoltage
batteryVoltageLabel.text = MathHelper.roundDouble(values.packVoltage)
batteryTemperatureLabel.text = values.tempBattHigh
bmsTemperatureLabel.text = values.tempBMSHigh
batteryTemperatureLabel.text = MathHelper.roundDouble(values.tempBattHigh)
bmsTemperatureLabel.text = MathHelper.roundDouble(values.tempBMSHigh)
maximumCellVoltageLabel.text = values.cVHigh
minimumCellVoltageLabel.text = values.cVLow
maximumCellVoltageLabel.text = MathHelper.roundDouble(values.cVHigh)
minimumCellVoltageLabel.text = MathHelper.roundDouble(values.cVLow)
currentLabel.text = values.packCurrent
currentLabel.text = MathHelper.roundDouble(values.packCurrent)
}
}
Connections {
target: BmsInterface.bmsConfig()
onUpdated: {
serialNumberField.text = BmsInterface.bmsConfig().getParamDouble("notUsedCurrentThreshold") // TODO
serialNumberField.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("notUsedCurrentThreshold")) // TODO
numberOfModulesLabel.text = BmsInterface.bmsConfig().getParamInt("cellMonitorICCount")
numberOfCellsLabel.text = BmsInterface.bmsConfig().getParamInt("noOfCellsSeries")
nominalCapacityLabel.text = BmsInterface.bmsConfig().getParamDouble("batteryCapacity")
nominalCapacityLabel.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("batteryCapacity"))
actualCapacityLabel.text = nominalCapacityLabel.text // TODO
}
}

View File

@@ -70,7 +70,7 @@ Item {
}
Controls.SubtitleLabel {
text: index + 1
id: indexLabel
color: Palette.tableHeaderTextColor
Layout.preferredWidth: 25
Layout.alignment: Qt.AlignCenter
@@ -97,6 +97,10 @@ Item {
Item {
Layout.preferredWidth: parent.width / 6 - 20
}
Component.onCompleted: {
indexLabel.text = index + ListView.view.indexOffset
}
}
}
@@ -113,6 +117,9 @@ Item {
clip: true
model: []
spacing: 0
boundsBehavior: Flickable.StopAtBounds
property int indexOffset: 1
header: cellListHeader
delegate: cellListDelegate
@@ -132,6 +139,9 @@ Item {
clip: true
model: []
spacing: 0
boundsBehavior: Flickable.StopAtBounds
property int indexOffset: 17
header: cellListHeader
delegate: cellListDelegate
@@ -149,7 +159,7 @@ Item {
var firstModel = []
for (var i = 0; i < Math.min(cellCount, 16); ++i) {
firstModel.push({"voltage": cellVoltageArray[i], "balancing": true})
firstModel.push({"voltage": MathHelper.roundDouble(cellVoltageArray[i]), "balancing": cellVoltageArray[i] < 0})
}
firstCellGroup.model = firstModel
@@ -158,7 +168,7 @@ Item {
var secondModel = []
for (var j = 16; j < Math.min(cellCount, 32); ++j) {
secondModel.push({"voltage": cellVoltageArray[j], "balancing": true})
secondModel.push({"voltage": MathHelper.roundDouble(cellVoltageArray[j]), "balancing": cellVoltageArray[i] < 0})
}
secondCellGroup.model = secondModel
}

View File

@@ -23,9 +23,7 @@ Popup {
background: Rectangle {
radius: 6
color: good ? Palette.alternativeBackgroundColor : Palette.invalidColor
border.width: 1
border.color: Palette.borderColor
color: good ? Palette.informationColor : Palette.invalidColor
}
enter: Transition {

8
qml/Utils/MathHelper.qml Normal file
View File

@@ -0,0 +1,8 @@
pragma Singleton
import QtQuick 2.12
QtObject {
function roundDouble(value) {
return Math.round((value + Number.EPSILON) * 100) / 100
}
}

View File

@@ -22,5 +22,6 @@ QtObject {
property color hoveredButtonColor: "#03AC61"
property color pressedButtonColor: "#057845"
property color informationColor: "#4C68ED"
property color invalidColor: "#A31C00"
}

View File

@@ -1,2 +1,3 @@
module utils
singleton Palette 1.0 Palette.qml
singleton MathHelper 1.0 MathHelper.qml

View File

@@ -37,5 +37,6 @@
<file>Controls/DialogBackground.qml</file>
<file>Screens/MessageDialog.qml</file>
<file>Screens/StatusPopup.qml</file>
<file>Utils/MathHelper.qml</file>
</qresource>
</RCC>