Added temperature monitor screen. Added current factors for BMS configuration
This commit is contained in:
@@ -104,6 +104,7 @@ SOURCES += main.cpp\
|
||||
bmsinterface.cpp \
|
||||
translator.cpp \
|
||||
firmwareupdatehelper.cpp \
|
||||
currenttablemodel.cpp \
|
||||
# visualizationchart.cpp \
|
||||
# visualizationpage.cpp
|
||||
|
||||
@@ -139,6 +140,7 @@ HEADERS += \ #mainwindow.h \
|
||||
bmsinterface.h \
|
||||
translator.h \
|
||||
firmwareupdatehelper.h \
|
||||
currenttablemodel.h \
|
||||
# visualizationchart.h \
|
||||
# visualizationpage.h
|
||||
|
||||
|
||||
63
currenttablemodel.cpp
Normal file
63
currenttablemodel.cpp
Normal file
@@ -0,0 +1,63 @@
|
||||
#include "currenttablemodel.h"
|
||||
|
||||
CurrentTableModel::CurrentTableModel(QObject* parent) :
|
||||
QAbstractTableModel(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CurrentTableModel::~CurrentTableModel()
|
||||
{
|
||||
}
|
||||
|
||||
void CurrentTableModel::setCurrentData(const QVariantList& data)
|
||||
{
|
||||
beginResetModel();
|
||||
data_.clear();
|
||||
|
||||
for (const auto& row: data)
|
||||
{
|
||||
QList<float> rowData;
|
||||
for (const auto& column: row.toList())
|
||||
{
|
||||
rowData.push_back(column.toFloat());
|
||||
}
|
||||
data_.push_back(rowData);
|
||||
}
|
||||
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void CurrentTableModel::setCurrentData(const QList<QList<float>>& data)
|
||||
{
|
||||
beginResetModel();
|
||||
data_ = data;
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
int CurrentTableModel::rowCount(const QModelIndex&) const
|
||||
{
|
||||
return data_.size();
|
||||
}
|
||||
|
||||
int CurrentTableModel::columnCount(const QModelIndex&) const
|
||||
{
|
||||
return data_.empty() ? 0 : data_.at(0).size();
|
||||
}
|
||||
|
||||
QVariant CurrentTableModel::data(const QModelIndex& index, int role) const
|
||||
{
|
||||
switch (role)
|
||||
{
|
||||
case Qt::DisplayRole:
|
||||
return QString::number(data_.at(index.row()).at(index.column()));
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> CurrentTableModel::roleNames() const
|
||||
{
|
||||
return { {Qt::DisplayRole, "display"} };
|
||||
}
|
||||
27
currenttablemodel.h
Normal file
27
currenttablemodel.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef CURRENTTABLEMODEL_H
|
||||
#define CURRENTTABLEMODEL_H
|
||||
|
||||
#include <QAbstractTableModel>
|
||||
|
||||
class CurrentTableModel : public QAbstractTableModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CurrentTableModel(QObject* parent = nullptr);
|
||||
~CurrentTableModel();
|
||||
|
||||
Q_INVOKABLE void setCurrentData(const QVariantList& data);
|
||||
void setCurrentData(const QList<QList<float>>& data);
|
||||
|
||||
int rowCount(const QModelIndex& = QModelIndex()) const override;
|
||||
int columnCount(const QModelIndex& = QModelIndex()) const override;
|
||||
|
||||
QVariant data(const QModelIndex& index, int role) const override;
|
||||
QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
private:
|
||||
QList<QList<float>> data_;
|
||||
};
|
||||
|
||||
#endif // CURRENTTABLEMODEL_H
|
||||
2
main.cpp
2
main.cpp
@@ -22,6 +22,7 @@
|
||||
#include "utility.h"
|
||||
#include "translator.h"
|
||||
#include "firmwareupdatehelper.h"
|
||||
#include "currenttablemodel.h"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QFontDatabase>
|
||||
@@ -76,6 +77,7 @@ int main(int argc, char *argv[])
|
||||
qmlRegisterType<Commands>("Cubo", 1, 0, "Commands");
|
||||
qmlRegisterType<ConfigParams>("Cubo", 1, 0, "ConfigParams");
|
||||
qmlRegisterType<FirmwareUpdateHelper>("Cubo", 1, 0, "FirmwareUpdateHelper");
|
||||
qmlRegisterType<CurrentTableModel>("Cubo", 1, 0, "CurrentTableModel");
|
||||
|
||||
engine.addImportPath(QStringLiteral("qrc:/"));
|
||||
engine.load(QUrl(QStringLiteral("qrc:/MainWindow.qml")));
|
||||
|
||||
46
qml/Icons/temperature.svg
Normal file
46
qml/Icons/temperature.svg
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 250.189 250.189" style="enable-background:new 0 0 250.189 250.189;" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M159.845,147.251V34.744C159.845,15.586,144.255,0,125.093,0c-19.159,0-34.746,15.586-34.746,34.744v112.506
|
||||
c-14.234,10.843-22.617,27.59-22.617,45.575c0,31.631,25.732,57.364,57.363,57.364c31.633,0,57.367-25.733,57.367-57.364
|
||||
C182.46,174.842,174.077,158.095,159.845,147.251z M125.093,235.189c-23.359,0-42.363-19.004-42.363-42.364
|
||||
c0-14.294,7.188-27.537,19.228-35.425c2.115-1.386,3.39-3.745,3.39-6.273V34.744c0-10.887,8.858-19.744,19.746-19.744
|
||||
c10.892,0,19.752,8.857,19.752,19.744v116.383c0,2.529,1.274,4.887,3.39,6.273c12.038,7.889,19.226,21.132,19.226,35.425
|
||||
C167.46,216.185,148.454,235.189,125.093,235.189z"/>
|
||||
<path d="M132.595,169.042V69.924c0-4.142-3.357-7.5-7.5-7.5s-7.5,3.358-7.5,7.5v99.118c-10.104,3.183-17.43,12.622-17.43,23.783
|
||||
c0,13.767,11.16,24.931,24.93,24.931c13.773,0,24.932-11.164,24.932-24.931C150.026,181.663,142.7,172.223,132.595,169.042z"/>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -67,7 +67,7 @@ ApplicationWindow {
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.preferredHeight: 70
|
||||
Layout.preferredHeight: 40
|
||||
}
|
||||
|
||||
ListView {
|
||||
@@ -78,6 +78,7 @@ ApplicationWindow {
|
||||
property var menuModel: [
|
||||
{"text": qsTr("AKB monitor"), "icon": "qrc:/Icons/akb-monitor.svg"},
|
||||
{"text": qsTr("Cell monitor"), "icon": "qrc:/Icons/cell-monitor.svg"},
|
||||
{"text": qsTr("Temperature monitor"), "icon": "qrc:/Icons/temperature.svg"},
|
||||
{"text": qsTr("Configuration"), "icon": "qrc:/Icons/bms-configuration.svg"},
|
||||
{"text": qsTr("Visualization"), "icon": "qrc:/Icons/visualization.svg"},
|
||||
{"text": qsTr("History"), "icon": "qrc:/Icons/history.svg"},
|
||||
@@ -90,6 +91,7 @@ ApplicationWindow {
|
||||
width: ListView.view.width
|
||||
text: menuView.menuModel[modelData].text
|
||||
icon.source: menuView.menuModel[modelData].icon
|
||||
icon.color: "white"
|
||||
highlighted: ListView.isCurrentItem
|
||||
minimized: pane.minimized
|
||||
onClicked: menuView.currentIndex = index
|
||||
@@ -314,6 +316,10 @@ ApplicationWindow {
|
||||
property string title: qsTr("Cell monitor")
|
||||
}
|
||||
|
||||
Screens.TemperatureMonitorScreen {
|
||||
property string title: qsTr("Temperature monitor")
|
||||
}
|
||||
|
||||
Screens.BmsSettingsScreen {
|
||||
property string title: qsTr("BMS settings")
|
||||
onNeedWait: {
|
||||
|
||||
@@ -62,6 +62,7 @@ RowLayout {
|
||||
Layout.fillWidth: true
|
||||
|
||||
GridLayout {
|
||||
id: configurationLayout
|
||||
columns: 2
|
||||
rowSpacing: contentRowSpacing
|
||||
columnSpacing: contentColumnSpacing
|
||||
@@ -87,17 +88,137 @@ RowLayout {
|
||||
|
||||
Controls.TextField {
|
||||
id: numberOfBoardsField
|
||||
validator: IntValidator {}
|
||||
validator: IntValidator { bottom: 0 }
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
|
||||
onTextChanged: configurationLayout.recalculateSensorsMasks()
|
||||
}
|
||||
|
||||
Controls.TextField {
|
||||
id: numberOfCellsField
|
||||
validator: IntValidator {}
|
||||
validator: IntValidator { bottom: 0 }
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
Repeater {
|
||||
id: bmsSensorsMaskRepeater
|
||||
|
||||
property var bmsSensorsMaskModel: []
|
||||
|
||||
ColumnLayout {
|
||||
id: bmsSensorsMaskLayout
|
||||
Layout.fillWidth: true
|
||||
|
||||
property var boardIndex: index
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: index === 0 ? qsTr("BMS sensors mask for master board") : qsTr("BMS sensors mask for slave board #") + index
|
||||
maximumLineCount: 2
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.Frame {
|
||||
padding: 10
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
ColumnLayout {
|
||||
spacing: 10
|
||||
anchors.fill: parent
|
||||
|
||||
Repeater {
|
||||
model: 4
|
||||
Controls.CheckBox {
|
||||
text: qsTr("#") + (index + 1)
|
||||
opacity: (bmsSensorsMaskLayout.boardIndex === 0 && (index === 2 || index === 3)) ? 0 : 1
|
||||
enabled: opacity
|
||||
checked: bmsSensorsMaskRepeater.bmsSensorsMaskModel[bmsSensorsMaskLayout.boardIndex * 4 + index]
|
||||
onCheckedChanged: bmsSensorsMaskRepeater.bmsSensorsMaskModel[bmsSensorsMaskLayout.boardIndex * 4 + index] = checked
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
visible: index === 0
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
id: batterySensorsMaskRepeater
|
||||
|
||||
property var batterySensorsMaskModel: []
|
||||
|
||||
ColumnLayout {
|
||||
id: batterySensorsMaskLayout
|
||||
Layout.fillWidth: true
|
||||
|
||||
property var boardIndex: index
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: index === 0 ? qsTr("Battery sensors mask for master board") : qsTr("Battery sensors mask for slave board #") + index
|
||||
maximumLineCount: 2
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.Frame {
|
||||
padding: 10
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
ColumnLayout {
|
||||
spacing: 10
|
||||
anchors.fill: parent
|
||||
|
||||
Repeater {
|
||||
model: 4
|
||||
Controls.CheckBox {
|
||||
text: qsTr("#") + (index + 1)
|
||||
enabled: opacity
|
||||
opacity: (batterySensorsMaskLayout.boardIndex === 0 && (index === 2 || index === 3)) ? 0 : 1
|
||||
checked: batterySensorsMaskRepeater.batterySensorsMaskModel[batterySensorsMaskLayout.boardIndex * 4 + index]
|
||||
onCheckedChanged: batterySensorsMaskRepeater.batterySensorsMaskModel[batterySensorsMaskLayout.boardIndex * 4 + index] = checked
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
visible: index === 0
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function recalculateSensorsMasks() {
|
||||
const bmsSensorsModel = bmsSensorsMaskRepeater.bmsSensorsMaskModel
|
||||
const batterySensorsModel = batterySensorsMaskRepeater.batterySensorsMaskModel
|
||||
|
||||
const newSize = parseInt(numberOfBoardsField.text) * 4
|
||||
if (newSize) {
|
||||
arrayResize(bmsSensorsModel, newSize, false)
|
||||
arrayResize(batterySensorsModel, newSize, true)
|
||||
|
||||
bmsSensorsMaskRepeater.model = 0
|
||||
bmsSensorsMaskRepeater.bmsSensorsMaskModel = bmsSensorsModel
|
||||
bmsSensorsMaskRepeater.model = parseInt(numberOfBoardsField.text)
|
||||
|
||||
batterySensorsMaskRepeater.model = 0
|
||||
batterySensorsMaskRepeater.batterySensorsMaskModel = batterySensorsModel
|
||||
batterySensorsMaskRepeater.model = parseInt(numberOfBoardsField.text)
|
||||
}
|
||||
}
|
||||
|
||||
function arrayResize(array, size, value) {
|
||||
while (array.length > size) { array.pop(); }
|
||||
while (array.length < size) { array.push(value); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -363,6 +484,82 @@ RowLayout {
|
||||
}
|
||||
}
|
||||
|
||||
Controls.Frame {
|
||||
id: currentConfigurationFrame
|
||||
padding: contentPadding
|
||||
implicitWidth: parent.width
|
||||
Layout.fillWidth: true
|
||||
|
||||
GridLayout {
|
||||
columns: 2
|
||||
rowSpacing: contentRowSpacing
|
||||
columnSpacing: contentColumnSpacing
|
||||
anchors.fill: parent
|
||||
|
||||
Controls.TitleLabel {
|
||||
text: qsTr("Current configuration")
|
||||
Layout.fillWidth: true
|
||||
Layout.columnSpan: 2
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: qsTr("Current factor K1")
|
||||
maximumLineCount: 2
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: qsTr("Current factor K2")
|
||||
maximumLineCount: 2
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
Controls.TextField {
|
||||
id: currentFactorK1Field
|
||||
validator: DoubleValidator { decimals: 3; locale: "en-US"; notation: DoubleValidator.StandardNotation }
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
Controls.TextField {
|
||||
id: currentFactorK2Field
|
||||
validator: DoubleValidator { decimals: 3; locale: "en-US"; notation: DoubleValidator.StandardNotation }
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: qsTr("Current sensor value \"0\"")
|
||||
Layout.fillWidth: true
|
||||
Layout.columnSpan: 2
|
||||
}
|
||||
|
||||
Controls.TextField {
|
||||
id: zeroSensorValueField
|
||||
validator: DoubleValidator { decimals: 3; locale: "en-US"; notation: DoubleValidator.StandardNotation }
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
Layout.columnSpan: 2
|
||||
}
|
||||
|
||||
Controls.Button {
|
||||
id: zeroSensorValueCalibrationButton
|
||||
text: qsTr("Calibrate \"0\"")
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
Layout.columnSpan: 2
|
||||
onClicked: {
|
||||
BmsInterface.commands().sendTerminalCmd("setZeroCurrent")
|
||||
Qt.callLater(storeBmsConfigurationButton.clicked)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Controls.Frame {
|
||||
id: outputSettingsFrame
|
||||
padding: contentPadding
|
||||
@@ -581,43 +778,6 @@ RowLayout {
|
||||
}
|
||||
}
|
||||
|
||||
Controls.Frame {
|
||||
id: zeroSensorSettingsFrame
|
||||
padding: contentPadding
|
||||
implicitWidth: parent.width
|
||||
Layout.fillWidth: true
|
||||
|
||||
GridLayout {
|
||||
columns: 2
|
||||
rowSpacing: contentRowSpacing
|
||||
columnSpacing: contentColumnSpacing
|
||||
anchors.fill: parent
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: qsTr("Current sensor value \"0\"")
|
||||
Layout.fillWidth: true
|
||||
Layout.columnSpan: 2
|
||||
}
|
||||
|
||||
Controls.TextField {
|
||||
id: zeroSensorValueField
|
||||
validator: DoubleValidator { decimals: 2; locale: "en-US"; notation: DoubleValidator.StandardNotation }
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
Layout.columnSpan: 2
|
||||
}
|
||||
|
||||
Controls.Button {
|
||||
id: zeroSensorValueCalibrationButton
|
||||
text: qsTr("Calibrate \"0\"")
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
Layout.columnSpan: 2
|
||||
onClicked: BmsInterface.commands().sendTerminalCmd("setZeroCurrent")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Controls.OutlineButton {
|
||||
text: qsTr("Load settings from file")
|
||||
onClicked: loadFileDialog.open()
|
||||
@@ -710,14 +870,14 @@ RowLayout {
|
||||
}
|
||||
|
||||
Controls.LinkLabel {
|
||||
text: qsTr("Output settings")
|
||||
onClicked: settingsFlickable.contentY = outputSettingsFrame.mapToItem(settingsFlickable.contentItem, 0, 0).y
|
||||
text: qsTr("Current configuration")
|
||||
onClicked: settingsFlickable.contentY = currentConfigurationFrame.mapToItem(settingsFlickable.contentItem, 0, 0).y
|
||||
}
|
||||
|
||||
Controls.LinkLabel {
|
||||
text: qsTr("Current sensor value \"0\"")
|
||||
text: qsTr("Output settings")
|
||||
onClicked: {
|
||||
settingsFlickable.contentY = zeroSensorSettingsFrame.mapToItem(settingsFlickable.contentItem, 0, 0).y
|
||||
settingsFlickable.contentY = outputSettingsFrame.mapToItem(settingsFlickable.contentItem, 0, 0).y
|
||||
settingsFlickable.returnToBounds()
|
||||
}
|
||||
}
|
||||
@@ -746,6 +906,7 @@ RowLayout {
|
||||
}
|
||||
|
||||
Controls.OutlineButton {
|
||||
id: writeBmsConfigurationButton
|
||||
text: qsTr("Write current values to BMS")
|
||||
Layout.fillWidth: true
|
||||
onClicked: if (BmsInterface.isPortConnected()) {
|
||||
@@ -755,6 +916,7 @@ RowLayout {
|
||||
}
|
||||
|
||||
Controls.Button {
|
||||
id: storeBmsConfigurationButton
|
||||
text: qsTr("Write to non-volatile memory of BMS")
|
||||
Layout.fillWidth: true
|
||||
onClicked: if (BmsInterface.isPortConnected()) {
|
||||
@@ -777,6 +939,29 @@ RowLayout {
|
||||
BmsInterface.bmsConfig().setParamValue("cellMonitorICCount", parseInt(numberOfBoardsField.text))
|
||||
BmsInterface.bmsConfig().setParamValue("noOfCellsSeries", parseInt(numberOfCellsField.text))
|
||||
|
||||
const numberOfBoards = parseInt(numberOfBoardsField.text)
|
||||
const bmsSensorsModel = bmsSensorsMaskRepeater.bmsSensorsMaskModel
|
||||
const batterySensorsModel = batterySensorsMaskRepeater.batterySensorsMaskModel
|
||||
|
||||
let bmsSensorsMask = 0
|
||||
let batterySensorsMask = 0
|
||||
for (let i = 0; i < numberOfBoards * 4; ++i) {
|
||||
bmsSensorsMask |= Number(bmsSensorsModel[i]) << i
|
||||
batterySensorsMask |= Number(batterySensorsModel[i]) << i
|
||||
}
|
||||
|
||||
// disable 3 and 4 sensor for master
|
||||
bmsSensorsMask = bmsSensorsMask & ~(1 << 2)
|
||||
bmsSensorsMask = bmsSensorsMask & ~(1 << 3)
|
||||
|
||||
batterySensorsMask = batterySensorsMask & ~(1 << 2)
|
||||
batterySensorsMask = batterySensorsMask & ~(1 << 3)
|
||||
|
||||
print(bmsSensorsMask, batterySensorsMask)
|
||||
|
||||
BmsInterface.bmsConfig().setParamValue("tempEnableMaskBMS", bmsSensorsMask)
|
||||
BmsInterface.bmsConfig().setParamValue("tempEnableMaskBattery", batterySensorsMask)
|
||||
|
||||
BmsInterface.bmsConfig().setParamValue("noOfCellsParallel", parseInt(numberOfParallelCellsField.text))
|
||||
BmsInterface.bmsConfig().setParamValue("batteryCapacity", parseFloat(batteryCapacityField.text))
|
||||
|
||||
@@ -793,6 +978,8 @@ RowLayout {
|
||||
BmsInterface.bmsConfig().setParamValue("cellBalanceDifferenceThreshold", parseFloat(balancingStartDeltaVoltageField.text))
|
||||
BmsInterface.bmsConfig().setParamValue("cellBalanceUpdateInterval", parseInt(balancingCellIntervalField.text))
|
||||
|
||||
BmsInterface.bmsConfig().setParamValue("floatCurrentK1", parseFloat(currentFactorK1Field.text))
|
||||
BmsInterface.bmsConfig().setParamValue("floatCurrentK2", parseFloat(currentFactorK2Field.text))
|
||||
BmsInterface.bmsConfig().setParamValue("shuntLCFactor", parseFloat(zeroSensorValueField.text))
|
||||
|
||||
BmsInterface.bmsConfig().setParamValue("chargeBatteryOutputChecked", chargeBatteryOutputCheckBox.checked)
|
||||
@@ -819,6 +1006,21 @@ RowLayout {
|
||||
numberOfBoardsField.text = BmsInterface.bmsConfig().getParamInt("cellMonitorICCount")
|
||||
numberOfCellsField.text = BmsInterface.bmsConfig().getParamInt("noOfCellsSeries")
|
||||
|
||||
const numberOfBoards = BmsInterface.bmsConfig().getParamInt("cellMonitorICCount")
|
||||
const numberOfSensorsPerBoard = BmsInterface.bmsConfig().getParamInt("noOfTempSensorPerModule")
|
||||
const bmsSensorsMask = BmsInterface.bmsConfig().getParamInt("tempEnableMaskBMS")
|
||||
const batterySensorsMask = BmsInterface.bmsConfig().getParamInt("tempEnableMaskBattery")
|
||||
|
||||
const bmsSensorsModel = []
|
||||
const batterySensorsModel = []
|
||||
for (let i = 0; i < numberOfBoards * numberOfSensorsPerBoard; ++i) {
|
||||
bmsSensorsModel.push((bmsSensorsMask & (1 << i)) != 0)
|
||||
batterySensorsModel.push((batterySensorsMask & (1 << i)) != 0)
|
||||
}
|
||||
|
||||
bmsSensorsMaskRepeater.bmsSensorsMaskModel = bmsSensorsModel
|
||||
batterySensorsMaskRepeater.batterySensorsMaskModel = batterySensorsModel
|
||||
|
||||
numberOfParallelCellsField.text = BmsInterface.bmsConfig().getParamInt("noOfCellsParallel")
|
||||
batteryCapacityField.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("batteryCapacity"))
|
||||
|
||||
@@ -835,7 +1037,9 @@ RowLayout {
|
||||
balancingStartDeltaVoltageField.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("cellBalanceDifferenceThreshold"))
|
||||
balancingCellIntervalField.text = BmsInterface.bmsConfig().getParamInt("cellBalanceUpdateInterval")
|
||||
|
||||
zeroSensorValueField.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("shuntLCFactor"))
|
||||
currentFactorK1Field.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("floatCurrentK1"), 3)
|
||||
currentFactorK2Field.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("floatCurrentK2"), 3)
|
||||
zeroSensorValueField.text = MathHelper.roundDouble(BmsInterface.bmsConfig().getParamDouble("shuntLCFactor"), 3)
|
||||
|
||||
chargeBatteryOutputCheckBox.checked = BmsInterface.bmsConfig().getParamBool("chargeBatteryOutputChecked")
|
||||
|
||||
|
||||
102
qml/Screens/CanSettingsScreen.qml
Normal file
102
qml/Screens/CanSettingsScreen.qml
Normal file
@@ -0,0 +1,102 @@
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 1.4 as OldControls
|
||||
|
||||
import Controls 1.0 as Controls
|
||||
import Cubo 1.0
|
||||
|
||||
ColumnLayout {
|
||||
spacing: 10
|
||||
|
||||
Controls.Frame {
|
||||
padding: 35
|
||||
topPadding: 20
|
||||
bottomPadding: 20
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: 20
|
||||
|
||||
Controls.TitleLabel {
|
||||
text: qsTr("CAN availability state")
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
GridLayout {
|
||||
columns: 2
|
||||
|
||||
Controls.AvailabilityIndicator {
|
||||
neutral: false
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: qsTr("External CAN")
|
||||
}
|
||||
|
||||
Controls.AvailabilityIndicator {
|
||||
neutral: false
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: qsTr("Charging CAN")
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
Controls.CheckBox {
|
||||
leftPadding: 0
|
||||
text: qsTr("External CAN")
|
||||
}
|
||||
|
||||
Controls.CheckBox {
|
||||
leftPadding: 0
|
||||
text: qsTr("Charging CAN")
|
||||
}
|
||||
|
||||
Controls.Button {
|
||||
text: qsTr("Apply")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.Frame {
|
||||
padding: 35
|
||||
topPadding: 20
|
||||
bottomPadding: 20
|
||||
|
||||
OldControls.TableView {
|
||||
id: currentTable
|
||||
anchors.fill: parent
|
||||
// columnSpacing: 1
|
||||
// rowSpacing: 1
|
||||
clip: true
|
||||
|
||||
property var currentModel: CurrentTableModel{}
|
||||
|
||||
model: currentModel
|
||||
|
||||
// delegate: Rectangle {
|
||||
// implicitWidth: 100
|
||||
// implicitHeight: 50
|
||||
// border.width: 1
|
||||
|
||||
// Text {
|
||||
// text: display
|
||||
// anchors.centerIn: parent
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
currentTable.currentModel.setCurrentData([[0.2, 0.5, 1],[0.2, 0.7, 1],[0.2, 0.6, 1]])
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
287
qml/Screens/TemperatureMonitorScreen.qml
Normal file
287
qml/Screens/TemperatureMonitorScreen.qml
Normal file
@@ -0,0 +1,287 @@
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
|
||||
import Controls 1.0 as Controls
|
||||
import Cubo 1.0
|
||||
import Utils 1.0
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property var numberOfBoards: 0
|
||||
property var auxSensorsModel: []
|
||||
property var expSensorsModel: []
|
||||
|
||||
ColumnLayout {
|
||||
spacing: 15
|
||||
anchors.fill: parent
|
||||
|
||||
Controls.Frame {
|
||||
padding: 25
|
||||
implicitWidth: parent.width
|
||||
Layout.fillWidth: true
|
||||
Layout.rightMargin: 10
|
||||
|
||||
GridLayout {
|
||||
columns: 2
|
||||
columnSpacing: 70
|
||||
rowSpacing: 15
|
||||
anchors.fill: parent
|
||||
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Controls.ContentLabel {
|
||||
text: qsTr("Minimum battery temperature, °C")
|
||||
}
|
||||
|
||||
Controls.DotSeparator {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
id: minBatteryTemperatureLabel
|
||||
text: "-"
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Controls.ContentLabel {
|
||||
text: qsTr("Minimum BMS temperature, °C")
|
||||
}
|
||||
|
||||
Controls.DotSeparator {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
id: minBmsTemperatureLabel
|
||||
text: "-"
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Controls.ContentLabel {
|
||||
text: qsTr("Average battery temperature, °C")
|
||||
}
|
||||
|
||||
Controls.DotSeparator {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
id: avgBatteryTemperatureLabel
|
||||
text: "-"
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Controls.ContentLabel {
|
||||
text: qsTr("Average BMS temperature, °C")
|
||||
}
|
||||
|
||||
Controls.DotSeparator {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
id: avgBmsTemperatureLabel
|
||||
text: "-"
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Controls.ContentLabel {
|
||||
text: qsTr("Maximum battery temperature, °C")
|
||||
}
|
||||
|
||||
Controls.DotSeparator {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
id: maxBatteryTemperatureLabel
|
||||
text: "-"
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
|
||||
|
||||
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
Controls.ContentLabel {
|
||||
text: qsTr("Maximum BMS temperature, °C")
|
||||
}
|
||||
|
||||
Controls.DotSeparator {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
id: maxBmsTemperatureLabel
|
||||
text: "-"
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Flickable {
|
||||
id: settingsFlickable
|
||||
clip: true
|
||||
contentWidth: width - rightMargin - leftMargin
|
||||
contentHeight: boardsLayout.height
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
rightMargin: 10
|
||||
|
||||
GridLayout {
|
||||
id: boardsLayout
|
||||
width: parent.width
|
||||
columns: 2
|
||||
rowSpacing: 15
|
||||
columnSpacing: 15
|
||||
|
||||
Repeater {
|
||||
model: numberOfBoards
|
||||
|
||||
Controls.Frame {
|
||||
padding: 25
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
|
||||
ColumnLayout {
|
||||
id: sensorsLayout
|
||||
anchors.fill: parent
|
||||
spacing: 15
|
||||
|
||||
property var boardIndex: index
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: index === 0 ? qsTr("Sensors for master board") : qsTr("Sensors for slave board #") + index
|
||||
maximumLineCount: 2
|
||||
wrapMode: Text.WordWrap
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: 4
|
||||
|
||||
RowLayout {
|
||||
spacing: 10
|
||||
opacity: (sensorsLayout.boardIndex === 0 && (index === 2 || index === 3)) ? 0 : 1
|
||||
Controls.ContentLabel {
|
||||
text: qsTr("Sensor #") + (index + 1) + ", °C"
|
||||
}
|
||||
|
||||
Controls.DotSeparator {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Controls.SubtitleLabel {
|
||||
text: {
|
||||
var value = auxSensorsModel[sensorsLayout.boardIndex * 4 + index]
|
||||
return value ? value : 0
|
||||
}
|
||||
}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.maximumWidth: (parent.width - parent.columnSpacing) / 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ScrollBar.vertical: Controls.ScrollBar {}
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: BmsInterface.commands()
|
||||
enabled: root.visible
|
||||
|
||||
onValuesReceived: {
|
||||
maxBatteryTemperatureLabel.text = MathHelper.roundDouble(values.tempBattHigh)
|
||||
avgBatteryTemperatureLabel.text = MathHelper.roundDouble(values.tempBattAverage)
|
||||
minBatteryTemperatureLabel.text = MathHelper.roundDouble(values.tempBattLow)
|
||||
|
||||
maxBmsTemperatureLabel.text = MathHelper.roundDouble(values.tempBMSHigh)
|
||||
avgBmsTemperatureLabel.text = MathHelper.roundDouble(values.tempBMSAverage)
|
||||
minBmsTemperatureLabel.text = MathHelper.roundDouble(values.tempBMSLow)
|
||||
}
|
||||
|
||||
onAuxReceived: {
|
||||
let tempModel = []
|
||||
for (let temperature of auxVoltageArray) {
|
||||
tempModel.push(temperature)
|
||||
}
|
||||
|
||||
auxSensorsModel = []
|
||||
auxSensorsModel = tempModel
|
||||
}
|
||||
|
||||
onExpTempReceived: {
|
||||
let tempModel = []
|
||||
for (let temperature of expTempVoltageArray) {
|
||||
tempModel.push(temperature)
|
||||
}
|
||||
|
||||
expSensorsModel = []
|
||||
expSensorsModel = tempModel
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: BmsInterface.bmsConfig()
|
||||
onUpdated: {
|
||||
numberOfBoards = BmsInterface.bmsConfig().getParamInt("cellMonitorICCount")
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: BmsInterface
|
||||
onPortConnectedChanged: getValues()
|
||||
}
|
||||
|
||||
onVisibleChanged: getValues()
|
||||
|
||||
Timer {
|
||||
id: refreshValuesTimer
|
||||
interval: 1000
|
||||
onTriggered: getValues()
|
||||
}
|
||||
|
||||
function getValues() {
|
||||
if (BmsInterface.isPortConnected() && visible) {
|
||||
BmsInterface.commands().getValues()
|
||||
BmsInterface.commands().getAux()
|
||||
// BmsInterface.commands().getExpansionTemp()
|
||||
refreshValuesTimer.start()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,3 +12,5 @@ TerminalScreen 1.0 TerminalScreen.qml
|
||||
FirmwareUpdateScreen 1.0 FirmwareUpdateScreen.qml
|
||||
NetworkSettingsScreen 1.0 NetworkSettingsScreen.qml
|
||||
TimeSettingsScreen 1.0 TimeSettingsScreen.qml
|
||||
CanSettingsScreen 1.0 CanSettingsScreen.qml
|
||||
TemperatureMonitorScreen 1.0 TemperatureMonitorScreen.qml
|
||||
|
||||
@@ -18,5 +18,6 @@
|
||||
<file>Icons/italian-flag.svg</file>
|
||||
<file>Icons/russian-flag.svg</file>
|
||||
<file>Icons/refresh.svg</file>
|
||||
<file>Icons/temperature.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -47,5 +47,7 @@
|
||||
<file>Screens/NetworkSettingsScreen.qml</file>
|
||||
<file>Screens/TimeSettingsScreen.qml</file>
|
||||
<file>Controls/RadioButton.qml</file>
|
||||
<file>Screens/TemperatureMonitorScreen.qml</file>
|
||||
<file>Screens/CanSettingsScreen.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
||||
@@ -2622,6 +2622,50 @@ p, li { white-space: pre-wrap; }
|
||||
<suffix>°C</suffix>
|
||||
<vTx>4</vTx>
|
||||
</heatingStopThreshold>
|
||||
<floatCurrentK1>
|
||||
<longName>Current factor K1</longName>
|
||||
<type>1</type>
|
||||
<transmittable>1</transmittable>
|
||||
<description><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Current factor K1.</p></body></html></description>
|
||||
<cDefine>FLOAT_CURRENT_K1</cDefine>
|
||||
<editorDecimalsDouble>6</editorDecimalsDouble>
|
||||
<editorScale>1</editorScale>
|
||||
<editAsPercentage>0</editAsPercentage>
|
||||
<maxDouble>1.17549e-38</maxDouble>
|
||||
<minDouble>3.40282e+38</minDouble>
|
||||
<showDisplay>0</showDisplay>
|
||||
<stepDouble>0.05</stepDouble>
|
||||
<valDouble>0</valDouble>
|
||||
<vTxDoubleScale>100000</vTxDoubleScale>
|
||||
<suffix></suffix>
|
||||
<vTx>9</vTx>
|
||||
</floatCurrentK1>
|
||||
<floatCurrentK2>
|
||||
<longName>Current factor K2</longName>
|
||||
<type>1</type>
|
||||
<transmittable>1</transmittable>
|
||||
<description><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Current factor K2.</p></body></html></description>
|
||||
<cDefine>FLOAT_CURRENT_K1</cDefine>
|
||||
<editorDecimalsDouble>6</editorDecimalsDouble>
|
||||
<editorScale>1</editorScale>
|
||||
<editAsPercentage>0</editAsPercentage>
|
||||
<maxDouble>1.17549e-38</maxDouble>
|
||||
<minDouble>3.40282e+38</minDouble>
|
||||
<showDisplay>0</showDisplay>
|
||||
<stepDouble>0.05</stepDouble>
|
||||
<valDouble>0</valDouble>
|
||||
<vTxDoubleScale>100000</vTxDoubleScale>
|
||||
<suffix></suffix>
|
||||
<vTx>9</vTx>
|
||||
</floatCurrentK2>
|
||||
</Params>
|
||||
<SerOrder>
|
||||
<ser>noOfCellsSeries</ser>
|
||||
@@ -2729,5 +2773,7 @@ p, li { white-space: pre-wrap; }
|
||||
<ser>heatingOutputChecked</ser>
|
||||
<ser>heatingStartThreshold</ser>
|
||||
<ser>heatingStopThreshold</ser>
|
||||
<ser>floatCurrentK1</ser>
|
||||
<ser>floatCurrentK2</ser>
|
||||
</SerOrder>
|
||||
</ConfigParams>
|
||||
|
||||
@@ -233,259 +233,325 @@
|
||||
<name>BmsSettingsScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="44"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="683"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="843"/>
|
||||
<source>Serial number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="71"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="688"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="72"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="848"/>
|
||||
<source>Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="77"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="78"/>
|
||||
<source>Number of boards</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="83"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="84"/>
|
||||
<source>Number of cells</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/>
|
||||
<source>SOC</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="123"/>
|
||||
<source>Number of cells connected in parallel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="131"/>
|
||||
<source>Battery capacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="165"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="698"/>
|
||||
<source>Limits</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="171"/>
|
||||
<source>Maximum charge current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="179"/>
|
||||
<source>Maximum load current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="201"/>
|
||||
<source>Maximum temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="232"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="703"/>
|
||||
<source>Cell configuration</source>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="135"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="182"/>
|
||||
<source>#</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="238"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="853"/>
|
||||
<source>SOC</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="244"/>
|
||||
<source>Number of cells connected in parallel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="252"/>
|
||||
<source>Battery capacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="286"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="858"/>
|
||||
<source>Limits</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="292"/>
|
||||
<source>Maximum charge current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="300"/>
|
||||
<source>Maximum load current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="322"/>
|
||||
<source>Maximum temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="353"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="863"/>
|
||||
<source>Cell configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="359"/>
|
||||
<source>Lower disable threshold, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="246"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="367"/>
|
||||
<source>Upper disable threshold, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="268"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="389"/>
|
||||
<source>Lower enable threshold (should be higher than disable), V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="276"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="397"/>
|
||||
<source>Upper enable threshold (should be higher than disable), V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="312"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="708"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="433"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="868"/>
|
||||
<source>Balancing configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="318"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="439"/>
|
||||
<source>Balancing start voltage, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="326"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="447"/>
|
||||
<source>Cell voltage delta to start balancing, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="348"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="469"/>
|
||||
<source>Cell balancing interval, ms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="381"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="713"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="500"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="873"/>
|
||||
<source>Current configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="506"/>
|
||||
<source>Current factor K1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="514"/>
|
||||
<source>Current factor K2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="578"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="878"/>
|
||||
<source>Output settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="390"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="587"/>
|
||||
<source># 1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="415"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
|
||||
<source># 2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="422"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="619"/>
|
||||
<source>Active</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="433"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<source>Brush control</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="440"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="637"/>
|
||||
<source>Shunt charging contactor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="446"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="643"/>
|
||||
<source>SOC threshold, %</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="454"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="651"/>
|
||||
<source>Delay, s</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="484"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="681"/>
|
||||
<source># 3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="491"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="688"/>
|
||||
<source>Cooling activation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="535"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="732"/>
|
||||
<source># 4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="542"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="739"/>
|
||||
<source>Heating activation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="661"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="821"/>
|
||||
<source>BMS configuration saved to file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="733"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="893"/>
|
||||
<source>Read default settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="761"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="923"/>
|
||||
<source>The settings are written to non-volatile memory.
|
||||
Wait, please.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="501"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="552"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="698"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="749"/>
|
||||
<source>Closes at t<, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="397"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="594"/>
|
||||
<source>Use to control charger</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="507"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="558"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="704"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="755"/>
|
||||
<source>Opens at t>, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="597"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="718"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="536"/>
|
||||
<source>Current sensor value "0"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<source>BMS sensors mask for master board</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<source>BMS sensors mask for slave board #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="164"/>
|
||||
<source>Battery sensors mask for master board</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="164"/>
|
||||
<source>Battery sensors mask for slave board #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="551"/>
|
||||
<source>Calibrate "0"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="622"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="782"/>
|
||||
<source>Load settings from file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="628"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="652"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="788"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="812"/>
|
||||
<source>Select configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="790"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="815"/>
|
||||
<source>Configuration files (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="790"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="815"/>
|
||||
<source>All files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="646"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="806"/>
|
||||
<source>Save settings to file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="741"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="901"/>
|
||||
<source>Read current settings from BMS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="758"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="920"/>
|
||||
<source>Write to non-volatile memory of BMS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="749"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="910"/>
|
||||
<source>Write current values to BMS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CanSettingsScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="21"/>
|
||||
<source>CAN availability state</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="33"/>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="50"/>
|
||||
<source>External CAN</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="41"/>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="55"/>
|
||||
<source>Charging CAN</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="59"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CellMonitorScreen</name>
|
||||
<message>
|
||||
@@ -698,75 +764,81 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="79"/>
|
||||
<location filename="../qml/MainWindow.qml" line="310"/>
|
||||
<location filename="../qml/MainWindow.qml" line="312"/>
|
||||
<source>AKB monitor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="80"/>
|
||||
<location filename="../qml/MainWindow.qml" line="314"/>
|
||||
<location filename="../qml/MainWindow.qml" line="316"/>
|
||||
<source>Cell monitor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="81"/>
|
||||
<source>Configuration</source>
|
||||
<location filename="../qml/MainWindow.qml" line="320"/>
|
||||
<source>Temperature monitor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="82"/>
|
||||
<location filename="../qml/MainWindow.qml" line="330"/>
|
||||
<source>Visualization</source>
|
||||
<source>Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="83"/>
|
||||
<source>History</source>
|
||||
<location filename="../qml/MainWindow.qml" line="336"/>
|
||||
<source>Visualization</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="84"/>
|
||||
<source>History</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="85"/>
|
||||
<source>BMS service</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="103"/>
|
||||
<location filename="../qml/MainWindow.qml" line="105"/>
|
||||
<source>Connection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="318"/>
|
||||
<location filename="../qml/MainWindow.qml" line="324"/>
|
||||
<source>BMS settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="335"/>
|
||||
<location filename="../qml/MainWindow.qml" line="341"/>
|
||||
<source>Information output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="156"/>
|
||||
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||
<location filename="../qml/MainWindow.qml" line="158"/>
|
||||
<location filename="../qml/MainWindow.qml" line="354"/>
|
||||
<source>Disconnected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="180"/>
|
||||
<location filename="../qml/MainWindow.qml" line="182"/>
|
||||
<source>Serial number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||
<location filename="../qml/MainWindow.qml" line="354"/>
|
||||
<source>Connected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="397"/>
|
||||
<location filename="../qml/MainWindow.qml" line="403"/>
|
||||
<source>Firmware update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="558"/>
|
||||
<location filename="../qml/MainWindow.qml" line="564"/>
|
||||
<source>Tool started</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -830,6 +902,54 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemperatureMonitorScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="35"/>
|
||||
<source>Minimum battery temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="54"/>
|
||||
<source>Minimum BMS temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="73"/>
|
||||
<source>Average battery temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="92"/>
|
||||
<source>Average BMS temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="111"/>
|
||||
<source>Maximum battery temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="132"/>
|
||||
<source>Maximum BMS temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="181"/>
|
||||
<source>Sensors for master board</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="181"/>
|
||||
<source>Sensors for slave board #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="194"/>
|
||||
<source>Sensor #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TerminalScreen</name>
|
||||
<message>
|
||||
|
||||
@@ -233,259 +233,325 @@
|
||||
<name>BmsSettingsScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="44"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="683"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="843"/>
|
||||
<source>Serial number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="71"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="688"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="72"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="848"/>
|
||||
<source>Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="77"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="78"/>
|
||||
<source>Number of boards</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="83"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="84"/>
|
||||
<source>Number of cells</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/>
|
||||
<source>SOC</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="123"/>
|
||||
<source>Number of cells connected in parallel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="131"/>
|
||||
<source>Battery capacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="165"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="698"/>
|
||||
<source>Limits</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="171"/>
|
||||
<source>Maximum charge current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="179"/>
|
||||
<source>Maximum load current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="201"/>
|
||||
<source>Maximum temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="232"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="703"/>
|
||||
<source>Cell configuration</source>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="135"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="182"/>
|
||||
<source>#</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="238"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="853"/>
|
||||
<source>SOC</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="244"/>
|
||||
<source>Number of cells connected in parallel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="252"/>
|
||||
<source>Battery capacity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="286"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="858"/>
|
||||
<source>Limits</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="292"/>
|
||||
<source>Maximum charge current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="300"/>
|
||||
<source>Maximum load current, A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="322"/>
|
||||
<source>Maximum temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="353"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="863"/>
|
||||
<source>Cell configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="359"/>
|
||||
<source>Lower disable threshold, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="246"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="367"/>
|
||||
<source>Upper disable threshold, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="268"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="389"/>
|
||||
<source>Lower enable threshold (should be higher than disable), V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="276"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="397"/>
|
||||
<source>Upper enable threshold (should be higher than disable), V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="312"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="708"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="433"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="868"/>
|
||||
<source>Balancing configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="318"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="439"/>
|
||||
<source>Balancing start voltage, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="326"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="447"/>
|
||||
<source>Cell voltage delta to start balancing, V</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="348"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="469"/>
|
||||
<source>Cell balancing interval, ms</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="381"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="713"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="500"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="873"/>
|
||||
<source>Current configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="506"/>
|
||||
<source>Current factor K1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="514"/>
|
||||
<source>Current factor K2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="578"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="878"/>
|
||||
<source>Output settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="390"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="587"/>
|
||||
<source># 1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="415"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
|
||||
<source># 2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="422"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="619"/>
|
||||
<source>Active</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="433"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<source>Brush control</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="440"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="637"/>
|
||||
<source>Shunt charging contactor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="446"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="643"/>
|
||||
<source>SOC threshold, %</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="454"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="651"/>
|
||||
<source>Delay, s</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="484"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="681"/>
|
||||
<source># 3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="491"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="688"/>
|
||||
<source>Cooling activation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="535"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="732"/>
|
||||
<source># 4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="542"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="739"/>
|
||||
<source>Heating activation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="661"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="821"/>
|
||||
<source>BMS configuration saved to file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="733"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="893"/>
|
||||
<source>Read default settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="761"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="923"/>
|
||||
<source>The settings are written to non-volatile memory.
|
||||
Wait, please.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="501"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="552"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="698"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="749"/>
|
||||
<source>Closes at t<, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="397"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="594"/>
|
||||
<source>Use to control charger</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="507"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="558"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="704"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="755"/>
|
||||
<source>Opens at t>, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="597"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="718"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="536"/>
|
||||
<source>Current sensor value "0"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<source>BMS sensors mask for master board</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<source>BMS sensors mask for slave board #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="164"/>
|
||||
<source>Battery sensors mask for master board</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="164"/>
|
||||
<source>Battery sensors mask for slave board #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="551"/>
|
||||
<source>Calibrate "0"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="622"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="782"/>
|
||||
<source>Load settings from file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="628"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="652"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="788"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="812"/>
|
||||
<source>Select configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="790"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="815"/>
|
||||
<source>Configuration files (*.xml)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="790"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="815"/>
|
||||
<source>All files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="646"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="806"/>
|
||||
<source>Save settings to file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="741"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="901"/>
|
||||
<source>Read current settings from BMS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="758"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="920"/>
|
||||
<source>Write to non-volatile memory of BMS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="749"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="910"/>
|
||||
<source>Write current values to BMS</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CanSettingsScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="21"/>
|
||||
<source>CAN availability state</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="33"/>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="50"/>
|
||||
<source>External CAN</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="41"/>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="55"/>
|
||||
<source>Charging CAN</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="59"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CellMonitorScreen</name>
|
||||
<message>
|
||||
@@ -698,75 +764,81 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="79"/>
|
||||
<location filename="../qml/MainWindow.qml" line="310"/>
|
||||
<location filename="../qml/MainWindow.qml" line="312"/>
|
||||
<source>AKB monitor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="80"/>
|
||||
<location filename="../qml/MainWindow.qml" line="314"/>
|
||||
<location filename="../qml/MainWindow.qml" line="316"/>
|
||||
<source>Cell monitor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="81"/>
|
||||
<source>Configuration</source>
|
||||
<location filename="../qml/MainWindow.qml" line="320"/>
|
||||
<source>Temperature monitor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="82"/>
|
||||
<location filename="../qml/MainWindow.qml" line="330"/>
|
||||
<source>Visualization</source>
|
||||
<source>Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="83"/>
|
||||
<source>History</source>
|
||||
<location filename="../qml/MainWindow.qml" line="336"/>
|
||||
<source>Visualization</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="84"/>
|
||||
<source>History</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="85"/>
|
||||
<source>BMS service</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="103"/>
|
||||
<location filename="../qml/MainWindow.qml" line="105"/>
|
||||
<source>Connection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="318"/>
|
||||
<location filename="../qml/MainWindow.qml" line="324"/>
|
||||
<source>BMS settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="335"/>
|
||||
<location filename="../qml/MainWindow.qml" line="341"/>
|
||||
<source>Information output</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="156"/>
|
||||
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||
<location filename="../qml/MainWindow.qml" line="158"/>
|
||||
<location filename="../qml/MainWindow.qml" line="354"/>
|
||||
<source>Disconnected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="180"/>
|
||||
<location filename="../qml/MainWindow.qml" line="182"/>
|
||||
<source>Serial number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||
<location filename="../qml/MainWindow.qml" line="354"/>
|
||||
<source>Connected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="397"/>
|
||||
<location filename="../qml/MainWindow.qml" line="403"/>
|
||||
<source>Firmware update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="558"/>
|
||||
<location filename="../qml/MainWindow.qml" line="564"/>
|
||||
<source>Tool started</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -830,6 +902,54 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemperatureMonitorScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="35"/>
|
||||
<source>Minimum battery temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="54"/>
|
||||
<source>Minimum BMS temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="73"/>
|
||||
<source>Average battery temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="92"/>
|
||||
<source>Average BMS temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="111"/>
|
||||
<source>Maximum battery temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="132"/>
|
||||
<source>Maximum BMS temperature, °C</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="181"/>
|
||||
<source>Sensors for master board</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="181"/>
|
||||
<source>Sensors for slave board #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="194"/>
|
||||
<source>Sensor #</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TerminalScreen</name>
|
||||
<message>
|
||||
|
||||
Binary file not shown.
@@ -240,128 +240,170 @@
|
||||
<source>Time settings</source>
|
||||
<translation>Настройки времени</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CAN settings</source>
|
||||
<translation type="vanished">Настройки CAN</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>BmsSettingsScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="44"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="683"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="843"/>
|
||||
<source>Serial number</source>
|
||||
<translation>Серийный номер</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="71"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="688"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="72"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="848"/>
|
||||
<source>Configuration</source>
|
||||
<translation>Конфигурация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="77"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="78"/>
|
||||
<source>Number of boards</source>
|
||||
<translation>Количество плат</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="83"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="84"/>
|
||||
<source>Number of cells</source>
|
||||
<translation>Количество ячеек</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="693"/>
|
||||
<source>Number of sensors</source>
|
||||
<translation type="vanished">Количество сенсоров</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of temperature sensors</source>
|
||||
<translation type="vanished">Количество сенсоров температуры</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sensor mask for BMS temperature</source>
|
||||
<translation type="vanished">Маска сенсоров для температуры BMS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="135"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="182"/>
|
||||
<source>#</source>
|
||||
<translation>№</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sensor mask for battery temperature</source>
|
||||
<translation type="vanished">Маска сенсоров для температуры батареи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="238"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="853"/>
|
||||
<source>SOC</source>
|
||||
<translation>SOC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="123"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="244"/>
|
||||
<source>Number of cells connected in parallel</source>
|
||||
<translation>Количество параллельно включенных ячеек</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="131"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="252"/>
|
||||
<source>Battery capacity</source>
|
||||
<translation>Ёмкость батареи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="165"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="698"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="286"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="858"/>
|
||||
<source>Limits</source>
|
||||
<translation>Ограничения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="171"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="292"/>
|
||||
<source>Maximum charge current, A</source>
|
||||
<translation>Максимальный ток заряда, A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="179"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="300"/>
|
||||
<source>Maximum load current, A</source>
|
||||
<translation>Максимальный ток нагрузки, A</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="201"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="322"/>
|
||||
<source>Maximum temperature, °C</source>
|
||||
<translation>Максимальная температура, C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="232"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="703"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="353"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="863"/>
|
||||
<source>Cell configuration</source>
|
||||
<translation>Конфигурация ячеек</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="238"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="359"/>
|
||||
<source>Lower disable threshold, V</source>
|
||||
<translation>Нижний порог отключения, В</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="246"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="367"/>
|
||||
<source>Upper disable threshold, V</source>
|
||||
<translation>Верхний порог отключения, В</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="268"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="389"/>
|
||||
<source>Lower enable threshold (should be higher than disable), V</source>
|
||||
<translation>Нижний порог включения (должен быть выше отключения), В</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="276"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="397"/>
|
||||
<source>Upper enable threshold (should be higher than disable), V</source>
|
||||
<translation>Верхний порог включения (должен быть выше отключения), В</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="312"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="708"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="433"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="868"/>
|
||||
<source>Balancing configuration</source>
|
||||
<translation>Конфигурация балансировки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="318"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="439"/>
|
||||
<source>Balancing start voltage, V</source>
|
||||
<translation>Напряжение старта балансировки, В</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="326"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="447"/>
|
||||
<source>Cell voltage delta to start balancing, V</source>
|
||||
<translation>Дельта напряжения ячеек для старта балансировки, В</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="348"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="469"/>
|
||||
<source>Cell balancing interval, ms</source>
|
||||
<translation>Интервал балансировки ячейки, мс</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="381"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="713"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="500"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="873"/>
|
||||
<source>Current configuration</source>
|
||||
<translation>Конфигурация тока</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="506"/>
|
||||
<source>Current factor K1</source>
|
||||
<translation>Коэффициент тока К1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="514"/>
|
||||
<source>Current factor K2</source>
|
||||
<translation>Коэффициент тока К2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="578"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="878"/>
|
||||
<source>Output settings</source>
|
||||
<translation>Настройка выходов</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="390"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="587"/>
|
||||
<source># 1</source>
|
||||
<translation>№ 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="397"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="594"/>
|
||||
<source>Use to control charger</source>
|
||||
<translation>Использовать для управления ЗУ</translation>
|
||||
</message>
|
||||
@@ -370,67 +412,67 @@
|
||||
<translation type="vanished">Использовать для управления ЗУ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="415"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
|
||||
<source># 2</source>
|
||||
<translation>№ 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="422"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="619"/>
|
||||
<source>Active</source>
|
||||
<translation>Активный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="433"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<source>Brush control</source>
|
||||
<translation>Управление щетками</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="440"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="637"/>
|
||||
<source>Shunt charging contactor</source>
|
||||
<translation>Шунтирование зарядного контактора</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="446"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="643"/>
|
||||
<source>SOC threshold, %</source>
|
||||
<translation>Уровень SOC, %</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="454"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="651"/>
|
||||
<source>Delay, s</source>
|
||||
<translation>Задержка, с</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="484"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="681"/>
|
||||
<source># 3</source>
|
||||
<translation>№ 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="491"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="688"/>
|
||||
<source>Cooling activation</source>
|
||||
<translation>Активация охлаждения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="535"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="732"/>
|
||||
<source># 4</source>
|
||||
<translation>№ 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="542"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="739"/>
|
||||
<source>Heating activation</source>
|
||||
<translation>Активация обогрева</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="661"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="821"/>
|
||||
<source>BMS configuration saved to file</source>
|
||||
<translation>БМС конфигурация сохранена в файл</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="733"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="893"/>
|
||||
<source>Read default settings</source>
|
||||
<translation>Загрузить настройки по-умолчанию</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="761"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="923"/>
|
||||
<source>The settings are written to non-volatile memory.
|
||||
Wait, please.</source>
|
||||
<translation>Выполняется запись настроек в энергонезависимую память.
|
||||
@@ -445,53 +487,72 @@ Wait, please.</source>
|
||||
<translation type="vanished">Изменение значения при SOC</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="501"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="552"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="698"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="749"/>
|
||||
<source>Closes at t<, °C</source>
|
||||
<translation>Замыкается при t<, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="507"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="558"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="704"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="755"/>
|
||||
<source>Opens at t>, °C</source>
|
||||
<translation>Размыкается при t>, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="597"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="718"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="536"/>
|
||||
<source>Current sensor value "0"</source>
|
||||
<translation>Значение датчика тока «0»</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="612"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<source>BMS sensors mask for master board</source>
|
||||
<translation>Маска сенсоров BMS для основной платы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="117"/>
|
||||
<source>BMS sensors mask for slave board #</source>
|
||||
<translation>Маска сенсоров BMS для дополнительной платы №</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="164"/>
|
||||
<source>Battery sensors mask for master board</source>
|
||||
<translation>Маска сенсоров батареи для основной платы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="164"/>
|
||||
<source>Battery sensors mask for slave board #</source>
|
||||
<translation>Маска сенсоров батареи для дополнительной платы №</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="551"/>
|
||||
<source>Calibrate "0"</source>
|
||||
<translation>Калибровать «0»</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="622"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="782"/>
|
||||
<source>Load settings from file</source>
|
||||
<translation>Загрузить настройки из файла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="628"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="652"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="788"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="812"/>
|
||||
<source>Select configuration file</source>
|
||||
<translation>Выберите файл конфигурации</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="790"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="815"/>
|
||||
<source>Configuration files (*.xml)</source>
|
||||
<translation>Файлы конфигурации (*.xml)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="630"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="655"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="790"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="815"/>
|
||||
<source>All files (*)</source>
|
||||
<translation>Все файлы (*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="646"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="806"/>
|
||||
<source>Save settings to file</source>
|
||||
<translation>Сохранить настройки в файл</translation>
|
||||
</message>
|
||||
@@ -500,21 +561,46 @@ Wait, please.</source>
|
||||
<translation type="vanished">Загрузить настройки из файла</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="741"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="901"/>
|
||||
<source>Read current settings from BMS</source>
|
||||
<translation>Загрузить текущие настройки из BMS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="758"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="920"/>
|
||||
<source>Write to non-volatile memory of BMS</source>
|
||||
<translation>Записать в энергонезависимую память BMS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="749"/>
|
||||
<location filename="../qml/Screens/BmsSettingsScreen.qml" line="910"/>
|
||||
<source>Write current values to BMS</source>
|
||||
<translation>Записать текущие значения в BMS</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CanSettingsScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="21"/>
|
||||
<source>CAN availability state</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="33"/>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="50"/>
|
||||
<source>External CAN</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="41"/>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="55"/>
|
||||
<source>Charging CAN</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/CanSettingsScreen.qml" line="59"/>
|
||||
<source>Apply</source>
|
||||
<translation type="unfinished">Применить</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CellMonitorScreen</name>
|
||||
<message>
|
||||
@@ -737,54 +823,60 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="79"/>
|
||||
<location filename="../qml/MainWindow.qml" line="310"/>
|
||||
<location filename="../qml/MainWindow.qml" line="312"/>
|
||||
<source>AKB monitor</source>
|
||||
<translation>Монитор АКБ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="80"/>
|
||||
<location filename="../qml/MainWindow.qml" line="314"/>
|
||||
<location filename="../qml/MainWindow.qml" line="316"/>
|
||||
<source>Cell monitor</source>
|
||||
<translation>Монитор ячеек</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="81"/>
|
||||
<location filename="../qml/MainWindow.qml" line="320"/>
|
||||
<source>Temperature monitor</source>
|
||||
<translation>Монитор температур</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="82"/>
|
||||
<source>Configuration</source>
|
||||
<translation>Конфигурация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="82"/>
|
||||
<location filename="../qml/MainWindow.qml" line="330"/>
|
||||
<location filename="../qml/MainWindow.qml" line="83"/>
|
||||
<location filename="../qml/MainWindow.qml" line="336"/>
|
||||
<source>Visualization</source>
|
||||
<translation>Визуализация</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="83"/>
|
||||
<location filename="../qml/MainWindow.qml" line="84"/>
|
||||
<source>History</source>
|
||||
<translation>История</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="84"/>
|
||||
<location filename="../qml/MainWindow.qml" line="85"/>
|
||||
<source>BMS service</source>
|
||||
<translation>Сервис BMS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="103"/>
|
||||
<location filename="../qml/MainWindow.qml" line="105"/>
|
||||
<source>Connection</source>
|
||||
<translation>Подключение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="318"/>
|
||||
<location filename="../qml/MainWindow.qml" line="324"/>
|
||||
<source>BMS settings</source>
|
||||
<translation>Настройка BMS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="335"/>
|
||||
<location filename="../qml/MainWindow.qml" line="341"/>
|
||||
<source>Information output</source>
|
||||
<translation>Вывод информации</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="397"/>
|
||||
<location filename="../qml/MainWindow.qml" line="403"/>
|
||||
<source>Firmware update</source>
|
||||
<translation>Обновление прошивки</translation>
|
||||
</message>
|
||||
@@ -793,7 +885,7 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
<translation type="vanished">Терминал</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="558"/>
|
||||
<location filename="../qml/MainWindow.qml" line="564"/>
|
||||
<source>Tool started</source>
|
||||
<translation>Утилита запущена</translation>
|
||||
</message>
|
||||
@@ -802,18 +894,18 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
<translation type="vanished">Выход</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="156"/>
|
||||
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||
<location filename="../qml/MainWindow.qml" line="158"/>
|
||||
<location filename="../qml/MainWindow.qml" line="354"/>
|
||||
<source>Disconnected</source>
|
||||
<translation>Отключено</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="180"/>
|
||||
<location filename="../qml/MainWindow.qml" line="182"/>
|
||||
<source>Serial number</source>
|
||||
<translation>Серийный номер</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||
<location filename="../qml/MainWindow.qml" line="354"/>
|
||||
<source>Connected</source>
|
||||
<translation>Подключено</translation>
|
||||
</message>
|
||||
@@ -877,6 +969,54 @@ Reconnect to the board if you want to continue working with it.</source>
|
||||
<translation>Не удалось автоматически подключиться. Убедитесь, что USB-кабель подключен и ENNOID-BMS включен.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TemperatureMonitorScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="35"/>
|
||||
<source>Minimum battery temperature, °C</source>
|
||||
<translation>Минимальная температура батареи, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="54"/>
|
||||
<source>Minimum BMS temperature, °C</source>
|
||||
<translation>Минимальная температура BMS, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="73"/>
|
||||
<source>Average battery temperature, °C</source>
|
||||
<translation>Средняя температура батареи, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="92"/>
|
||||
<source>Average BMS temperature, °C</source>
|
||||
<translation>Средняя температура BMS, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="111"/>
|
||||
<source>Maximum battery temperature, °C</source>
|
||||
<translation>Максимальная температура батареи, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="132"/>
|
||||
<source>Maximum BMS temperature, °C</source>
|
||||
<translation>Максимальная температура BMS, °C</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="181"/>
|
||||
<source>Sensors for master board</source>
|
||||
<translation>Сенсоры для основной платы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="181"/>
|
||||
<source>Sensors for slave board #</source>
|
||||
<translation>Сенсоры для дополнительной платы №</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/Screens/TemperatureMonitorScreen.qml" line="194"/>
|
||||
<source>Sensor #</source>
|
||||
<translation>Сенсор №</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TerminalScreen</name>
|
||||
<message>
|
||||
|
||||
Reference in New Issue
Block a user