Unverified Commit a3e6e48b authored by Don Gagne's avatar Don Gagne Committed by GitHub

Add support for BAT#_SOURCE (#9156)

parent 02216607
......@@ -26,15 +26,17 @@ QtObject {
property var controller ///< FactPanelController
property int batteryIndex ///< 1-based battery index
property bool battVoltageDividerAvailable: controller.parameterExists(-1, "BAT#_V_DIV".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property bool battAmpsPerVoltAvailable: controller.parameterExists(-1, "BAT#_A_PER_V".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battNumCells: controller.getParameterFact(-1, "BAT#_N_CELLS".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battHighVolt: controller.getParameterFact(-1, "BAT#_V_CHARGED".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battLowVolt: controller.getParameterFact(-1, "BAT#_V_EMPTY".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battVoltLoadDrop: controller.getParameterFact(-1, "BAT#_V_LOAD_DROP".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battVoltageDivider: controller.getParameterFact(-1, "BAT#_V_DIV".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""), false)
property Fact battAmpsPerVolt: controller.getParameterFact(-1, "BAT#_A_PER_V".replace("#", _indexedBatteryParamsAvailable ? batteryIndex : ""), false)
property Fact battSource: controller.getParameterFact(-1, "BAT#_SOURCE".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battNumCells: controller.getParameterFact(-1, "BAT#_N_CELLS".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battHighVolt: controller.getParameterFact(-1, "BAT#_V_CHARGED".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battLowVolt: controller.getParameterFact(-1, "BAT#_V_EMPTY".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battVoltLoadDrop: controller.getParameterFact(-1, "BAT#_V_LOAD_DROP".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property Fact battVoltageDivider: controller.getParameterFact(-1, "BAT#_V_DIV".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""), false)
property Fact battAmpsPerVolt: controller.getParameterFact(-1, "BAT#_A_PER_V".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""), false)
property bool battVoltageDividerAvailable: controller.parameterExists(-1, "BAT#_V_DIV".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property bool battAmpsPerVoltAvailable: controller.parameterExists(-1, "BAT#_A_PER_V".replace ("#", _indexedBatteryParamsAvailable ? batteryIndex : ""))
property string _batNCellsIndexedParamName: "BAT#_N_CELLS"
property bool _indexedBatteryParamsAvailable: controller.parameterExists(-1, _batNCellsIndexedParamName.replace("#", 1))
......
......@@ -214,7 +214,7 @@ SetupPage {
id: batterySetupComponent
QGCGroupBox {
id: batteryGroup
Layout.fillWidth: true
title: qsTr("Battery ") + (showBatteryIndex ? batteryIndex : "")
property var _controller: controller
......@@ -229,6 +229,7 @@ SetupPage {
property bool battVoltageDividerAvailable: batParams.battVoltageDividerAvailable
property bool battAmpsPerVoltAvailable: batParams.battAmpsPerVoltAvailable
property Fact battSource: batParams.battSource
property Fact battNumCells: batParams.battNumCells
property Fact battHighVolt: batParams.battHighVolt
property Fact battLowVolt: batParams.battLowVolt
......@@ -248,23 +249,37 @@ SetupPage {
}
}
ColumnLayout {
RowLayout {
spacing: ScreenTools.defaultFontPixelWidth
visible: battSource.rawValue == -1
QGCLabel { text: qsTr("Source") }
FactComboBox {
width: _textEditWidth
fact: battSource
indexModel: false
sizeToContents: true
}
}
GridLayout {
id: batteryGrid
columns: 5
columnSpacing: ScreenTools.defaultFontPixelWidth
visible: battSource.rawValue != -1
QGCLabel {
text: qsTr("Number of Cells (in Series)")
}
FactTextField {
QGCLabel { text: qsTr("Source") }
FactComboBox {
width: _textEditWidth
fact: battNumCells
showUnits: true
fact: battSource
indexModel: false
sizeToContents: true
}
QGCColoredImage {
Layout.rowSpan: 3
Layout.rowSpan: 4
width: height * 0.75
height: 100
sourceSize.height: height
......@@ -277,58 +292,46 @@ SetupPage {
Item { width: 1; height: 1; Layout.columnSpan: 2 }
QGCLabel {
text: qsTr("Full Voltage (per cell)")
}
QGCLabel { text: qsTr("Number of Cells (in Series)") }
FactTextField {
width: _textEditWidth
fact: battHighVolt
fact: battNumCells
showUnits: true
}
QGCLabel { text: qsTr("Battery Max:") }
QGCLabel { text: (battNumCells.value * battHighVolt.value).toFixed(1) + ' V' }
QGCLabel {
text: qsTr("Battery Max:")
}
QGCLabel {
text: (battNumCells.value * battHighVolt.value).toFixed(1) + ' V'
}
QGCLabel {
text: qsTr("Empty Voltage (per cell)")
}
QGCLabel { text: qsTr("Empty Voltage (per cell)") }
FactTextField {
width: _textEditWidth
fact: battLowVolt
showUnits: true
}
QGCLabel { text: qsTr("Battery Min:") }
QGCLabel { text: (battNumCells.value * battLowVolt.value).toFixed(1) + ' V' }
QGCLabel {
text: qsTr("Battery Min:")
}
QGCLabel {
text: (battNumCells.value * battLowVolt.value).toFixed(1) + ' V'
QGCLabel { text: qsTr("Full Voltage (per cell)") }
FactTextField {
width: _textEditWidth
fact: battHighVolt
showUnits: true
}
Item { width: 1; height: 1; Layout.columnSpan: 2 }
QGCLabel {
text: qsTr("Voltage divider")
visible: battVoltageDividerAvailable
}
FactTextField {
fact: battVoltageDivider
visible: battVoltageDividerAvailable
}
QGCButton {
text: qsTr("Calculate")
visible: battVoltageDividerAvailable
onClicked: mainWindow.showPopupDialogFromComponent(calcVoltageDividerDlgComponent, { batteryIndex: _batteryIndex })
}
Item { width: 1; height: 1; Layout.columnSpan: 2; visible: battVoltageDividerAvailable }
QGCLabel {
......@@ -340,23 +343,19 @@ SetupPage {
qsTr("Click the Calculate button for help with calculating a new value.")
visible: battVoltageDividerAvailable
}
QGCLabel {
text: qsTr("Amps per volt")
visible: battAmpsPerVoltAvailable
}
FactTextField {
fact: battAmpsPerVolt
visible: battAmpsPerVoltAvailable
}
QGCButton {
text: qsTr("Calculate")
visible: battAmpsPerVoltAvailable
onClicked: mainWindow.showPopupDialogFromComponent(calcAmpsPerVoltDlgComponent, { batteryIndex: _batteryIndex })
}
Item { width: 1; height: 1; Layout.columnSpan: 2; visible: battAmpsPerVoltAvailable }
QGCLabel {
......@@ -408,6 +407,7 @@ SetupPage {
}
Item { width: 1; height: 1; Layout.columnSpan: 3; visible: showAdvanced.checked }
} // Grid
}
} // QGCGroupBox - Battery settings
} // Component - batterySetupComponent
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment