Cell balancing calculation added. Fixed rounding of real numbers to the second decimal place
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
8
qml/Utils/MathHelper.qml
Normal file
@@ -0,0 +1,8 @@
|
||||
pragma Singleton
|
||||
import QtQuick 2.12
|
||||
|
||||
QtObject {
|
||||
function roundDouble(value) {
|
||||
return Math.round((value + Number.EPSILON) * 100) / 100
|
||||
}
|
||||
}
|
||||
@@ -22,5 +22,6 @@ QtObject {
|
||||
property color hoveredButtonColor: "#03AC61"
|
||||
property color pressedButtonColor: "#057845"
|
||||
|
||||
property color informationColor: "#4C68ED"
|
||||
property color invalidColor: "#A31C00"
|
||||
}
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
module utils
|
||||
singleton Palette 1.0 Palette.qml
|
||||
singleton MathHelper 1.0 MathHelper.qml
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user