Added board firmware update functionality
This commit is contained in:
@@ -70,9 +70,9 @@ release_android {
|
|||||||
UI_DIR = build/android/obj
|
UI_DIR = build/android/obj
|
||||||
}
|
}
|
||||||
|
|
||||||
build_mobile {
|
#build_mobile {
|
||||||
DEFINES += USE_MOBILE
|
# DEFINES += USE_MOBILE
|
||||||
}
|
#}
|
||||||
|
|
||||||
SOURCES += main.cpp\
|
SOURCES += main.cpp\
|
||||||
# akbmonitorpage.cpp \
|
# akbmonitorpage.cpp \
|
||||||
@@ -104,6 +104,7 @@ SOURCES += main.cpp\
|
|||||||
utility.cpp \
|
utility.cpp \
|
||||||
bmsinterface.cpp \
|
bmsinterface.cpp \
|
||||||
translator.cpp \
|
translator.cpp \
|
||||||
|
firmwareupdatehelper.cpp \
|
||||||
# visualizationchart.cpp \
|
# visualizationchart.cpp \
|
||||||
# visualizationpage.cpp
|
# visualizationpage.cpp
|
||||||
|
|
||||||
@@ -138,6 +139,7 @@ HEADERS += \ #mainwindow.h \
|
|||||||
utility.h \
|
utility.h \
|
||||||
bmsinterface.h \
|
bmsinterface.h \
|
||||||
translator.h \
|
translator.h \
|
||||||
|
firmwareupdatehelper.h \
|
||||||
# visualizationchart.h \
|
# visualizationchart.h \
|
||||||
# visualizationpage.h
|
# visualizationpage.h
|
||||||
|
|
||||||
|
|||||||
@@ -113,8 +113,8 @@ BMSInterface::BMSInterface(QObject *parent) : QObject(parent)
|
|||||||
connect(mCommands, SIGNAL(dataToSend(QByteArray&)),this, SLOT(cmdDataToSend(QByteArray&)));
|
connect(mCommands, SIGNAL(dataToSend(QByteArray&)),this, SLOT(cmdDataToSend(QByteArray&)));
|
||||||
connect(mCommands, SIGNAL(fwVersionReceived(int,int,QString,QByteArray)),this, SLOT(fwVersionReceived(int,int,QString,QByteArray)));
|
connect(mCommands, SIGNAL(fwVersionReceived(int,int,QString,QByteArray)),this, SLOT(fwVersionReceived(int,int,QString,QByteArray)));
|
||||||
connect(mCommands, SIGNAL(ackReceived(QString)), this, SLOT(ackReceived(QString)));
|
connect(mCommands, SIGNAL(ackReceived(QString)), this, SLOT(ackReceived(QString)));
|
||||||
connect(mbmsConfig, SIGNAL(updated()), this, SLOT(bmsconfUpdated()));
|
connect(mbmsConfig, SIGNAL(updated()), this, SLOT(bmsConfUpdated()));
|
||||||
connect(mbmsConfig, SIGNAL(stored()), this, SLOT(bmsconfStored()));
|
connect(mbmsConfig, SIGNAL(stored()), this, SLOT(bmsConfStored()));
|
||||||
}
|
}
|
||||||
|
|
||||||
BMSInterface::~BMSInterface()
|
BMSInterface::~BMSInterface()
|
||||||
@@ -628,7 +628,6 @@ void BMSInterface::ignoreCanChange(bool ignore)
|
|||||||
#ifdef HAS_SERIALPORT
|
#ifdef HAS_SERIALPORT
|
||||||
void BMSInterface::serialDataAvailable()
|
void BMSInterface::serialDataAvailable()
|
||||||
{
|
{
|
||||||
bool b = true;
|
|
||||||
while (mSerialPort->bytesAvailable() > 0) {
|
while (mSerialPort->bytesAvailable() > 0) {
|
||||||
mPacket->processData(mSerialPort->readAll());
|
mPacket->processData(mSerialPort->readAll());
|
||||||
}
|
}
|
||||||
@@ -660,7 +659,6 @@ void BMSInterface::serialPortError(QSerialPort::SerialPortError error)
|
|||||||
|
|
||||||
void BMSInterface::tcpInputConnected()
|
void BMSInterface::tcpInputConnected()
|
||||||
{
|
{
|
||||||
bool b = true;
|
|
||||||
mTcpConnected = true;
|
mTcpConnected = true;
|
||||||
updateFwRx(false);
|
updateFwRx(false);
|
||||||
}
|
}
|
||||||
@@ -673,7 +671,6 @@ void BMSInterface::tcpInputDisconnected()
|
|||||||
|
|
||||||
void BMSInterface::tcpInputDataAvailable()
|
void BMSInterface::tcpInputDataAvailable()
|
||||||
{
|
{
|
||||||
bool b = true;
|
|
||||||
while (mTcpSocket->bytesAvailable() > 0) {
|
while (mTcpSocket->bytesAvailable() > 0) {
|
||||||
mPacket->processData(mTcpSocket->readAll());
|
mPacket->processData(mTcpSocket->readAll());
|
||||||
}
|
}
|
||||||
@@ -748,9 +745,13 @@ void BMSInterface::timerSlot()
|
|||||||
if (mIsUploadingFw) {
|
if (mIsUploadingFw) {
|
||||||
updateFwRx(false);
|
updateFwRx(false);
|
||||||
mFwRetries = 0;
|
mFwRetries = 0;
|
||||||
if (fwStatus.compare("FW Upload Done") == 0) {
|
if (mCommands->getFirmwareUploadSuccess())
|
||||||
|
{
|
||||||
|
disconnectPort();
|
||||||
emit fwUploadStatus(fwStatus, 1.0, false);
|
emit fwUploadStatus(fwStatus, 1.0, false);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
emit fwUploadStatus(fwStatus, 0.0, false);
|
emit fwUploadStatus(fwStatus, 0.0, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -796,7 +797,7 @@ void BMSInterface::fwVersionReceived(int major, int minor, QString hw, QByteArra
|
|||||||
{
|
{
|
||||||
QList<QPair<int, int> > fwPairs = getSupportedFirmwarePairs();
|
QList<QPair<int, int> > fwPairs = getSupportedFirmwarePairs();
|
||||||
|
|
||||||
QString strUuid = Utility::uuid2Str(uuid, true);
|
QString strUuid = uuid.toHex().toUpper();
|
||||||
|
|
||||||
if (fwPairs.isEmpty()) {
|
if (fwPairs.isEmpty()) {
|
||||||
emit messageDialog(tr("Not Supported Firmwares"),
|
emit messageDialog(tr("Not Supported Firmwares"),
|
||||||
@@ -862,17 +863,6 @@ void BMSInterface::fwVersionReceived(int major, int minor, QString hw, QByteArra
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto fwStr = tr("Firmware version: %1.%2, Hardware: %3, UUID: %4").arg(major).arg(minor).arg(hw).arg(strUuid);
|
auto fwStr = tr("Firmware version: %1.%2, Hardware: %3, UUID: %4").arg(major).arg(minor).arg(hw).arg(strUuid);
|
||||||
|
|
||||||
// QString fwStr;
|
|
||||||
// fwStr.sprintf("ENNOID-BMS Firmware Version %d.%d", major, minor);
|
|
||||||
// if (!hw.isEmpty()) {
|
|
||||||
// fwStr += ", Hardware: " + hw;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (!strUuid.isEmpty()) {
|
|
||||||
// fwStr += ", UUID: " + strUuid;
|
|
||||||
// }
|
|
||||||
|
|
||||||
emit statusMessage(fwStr, true);
|
emit statusMessage(fwStr, true);
|
||||||
#if 0
|
#if 0
|
||||||
}
|
}
|
||||||
@@ -891,13 +881,15 @@ void BMSInterface::fwVersionReceived(int major, int minor, QString hw, QByteArra
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BMSInterface::bmsconfUpdated()
|
void BMSInterface::bmsConfUpdated()
|
||||||
{
|
{
|
||||||
emit statusMessage(tr("BMS configuration updated"), true);
|
emit statusMessage(tr("BMS configuration updated"), true);
|
||||||
|
emit bmsConfigurationUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BMSInterface::bmsconfStored() {
|
void BMSInterface::bmsConfStored() {
|
||||||
emit statusMessage(tr("BMS configuration stored to Flash"), true);
|
emit statusMessage(tr("BMS configuration stored to Flash"), true);
|
||||||
|
emit bmsConfigurationStored();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BMSInterface::ackReceived(QString ackType)
|
void BMSInterface::ackReceived(QString ackType)
|
||||||
|
|||||||
@@ -127,6 +127,8 @@ signals:
|
|||||||
void autoConnectProgressUpdated(double progress, bool isOngoing);
|
void autoConnectProgressUpdated(double progress, bool isOngoing);
|
||||||
void autoConnectFinished();
|
void autoConnectFinished();
|
||||||
void pairingListUpdated();
|
void pairingListUpdated();
|
||||||
|
void bmsConfigurationUpdated();
|
||||||
|
void bmsConfigurationStored();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
@@ -150,8 +152,8 @@ private slots:
|
|||||||
void packetReceived(QByteArray &data);
|
void packetReceived(QByteArray &data);
|
||||||
void cmdDataToSend(QByteArray &data);
|
void cmdDataToSend(QByteArray &data);
|
||||||
void fwVersionReceived(int major, int minor, QString hw, QByteArray uuid);
|
void fwVersionReceived(int major, int minor, QString hw, QByteArray uuid);
|
||||||
void bmsconfUpdated();
|
void bmsConfUpdated();
|
||||||
void bmsconfStored();
|
void bmsConfStored();
|
||||||
void ackReceived(QString ackType);
|
void ackReceived(QString ackType);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
31
commands.cpp
31
commands.cpp
@@ -39,6 +39,8 @@ Commands::Commands(QObject *parent) : QObject(parent)
|
|||||||
mFimwarePtr = 0;
|
mFimwarePtr = 0;
|
||||||
mFirmwareTimer = 0;
|
mFirmwareTimer = 0;
|
||||||
mFirmwareRetries = 0;
|
mFirmwareRetries = 0;
|
||||||
|
mFirmwareIsBootloader = false;
|
||||||
|
mFirmwareUploadSuccess = false;
|
||||||
mFirmwareUploadStatus = "FW Upload Status";
|
mFirmwareUploadStatus = "FW Upload Status";
|
||||||
mCheckNextbmsConfig = false;
|
mCheckNextbmsConfig = false;
|
||||||
|
|
||||||
@@ -457,12 +459,12 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
|||||||
const int timeout = 350;
|
const int timeout = 350;
|
||||||
|
|
||||||
if (mFirmwareState == 0) {
|
if (mFirmwareState == 0) {
|
||||||
mFirmwareUploadStatus = "Buffer Erase";
|
mFirmwareUploadStatus = tr("Buffer erase");
|
||||||
if (isTimeout) {
|
if (isTimeout) {
|
||||||
// Erase timed out, abort.
|
// Erase timed out, abort.
|
||||||
mFirmwareIsUploading = false;
|
mFirmwareIsUploading = false;
|
||||||
mFimwarePtr = 0;
|
mFimwarePtr = 0;
|
||||||
mFirmwareUploadStatus = "Buffer Erase Timeout";
|
mFirmwareUploadStatus = tr("Buffer erase timeout");
|
||||||
} else {
|
} else {
|
||||||
mFirmwareState++;
|
mFirmwareState++;
|
||||||
mFirmwareRetries = retries;
|
mFirmwareRetries = retries;
|
||||||
@@ -470,7 +472,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
|||||||
firmwareUploadUpdate(true);
|
firmwareUploadUpdate(true);
|
||||||
}
|
}
|
||||||
} else if (mFirmwareState == 1) {
|
} else if (mFirmwareState == 1) {
|
||||||
mFirmwareUploadStatus = "CRC/Size Write";
|
mFirmwareUploadStatus = tr("CRC/Size write");
|
||||||
if (isTimeout) {
|
if (isTimeout) {
|
||||||
if (mFirmwareRetries > 0) {
|
if (mFirmwareRetries > 0) {
|
||||||
mFirmwareRetries--;
|
mFirmwareRetries--;
|
||||||
@@ -479,7 +481,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
|||||||
mFirmwareIsUploading = false;
|
mFirmwareIsUploading = false;
|
||||||
mFimwarePtr = 0;
|
mFimwarePtr = 0;
|
||||||
mFirmwareState = 0;
|
mFirmwareState = 0;
|
||||||
mFirmwareUploadStatus = "CRC/Size Write Timeout";
|
mFirmwareUploadStatus = tr("CRC/Size write timeout");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -498,7 +500,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
|||||||
firmwareUploadUpdate(true);
|
firmwareUploadUpdate(true);
|
||||||
}
|
}
|
||||||
} else if (mFirmwareState == 2) {
|
} else if (mFirmwareState == 2) {
|
||||||
mFirmwareUploadStatus = "FW Data Write";
|
mFirmwareUploadStatus = tr("Firmware data write");
|
||||||
if (isTimeout) {
|
if (isTimeout) {
|
||||||
if (mFirmwareRetries > 0) {
|
if (mFirmwareRetries > 0) {
|
||||||
mFirmwareRetries--;
|
mFirmwareRetries--;
|
||||||
@@ -507,7 +509,7 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
|||||||
mFirmwareIsUploading = false;
|
mFirmwareIsUploading = false;
|
||||||
mFimwarePtr = 0;
|
mFimwarePtr = 0;
|
||||||
mFirmwareState = 0;
|
mFirmwareState = 0;
|
||||||
mFirmwareUploadStatus = "FW Data Write Timeout";
|
mFirmwareUploadStatus = tr("Firmware data write timeout");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,7 +536,8 @@ void Commands::firmwareUploadUpdate(bool isTimeout)
|
|||||||
mFirmwareIsUploading = false;
|
mFirmwareIsUploading = false;
|
||||||
mFimwarePtr = 0;
|
mFimwarePtr = 0;
|
||||||
mFirmwareState = 0;
|
mFirmwareState = 0;
|
||||||
mFirmwareUploadStatus = "FW Upload Done";
|
mFirmwareUploadSuccess = true;
|
||||||
|
mFirmwareUploadStatus = tr("Firmware update completed!\n\nReconnect to the board if you want to continue working with it.");
|
||||||
|
|
||||||
// Upload done. Enter bootloader!
|
// Upload done. Enter bootloader!
|
||||||
if (!mFirmwareIsBootloader) {
|
if (!mFirmwareIsBootloader) {
|
||||||
@@ -616,7 +619,8 @@ void Commands::startFirmwareUpload(QByteArray &newFirmware, bool isBootloader)
|
|||||||
mFirmwareRetries = 5;
|
mFirmwareRetries = 5;
|
||||||
mNewFirmware.clear();
|
mNewFirmware.clear();
|
||||||
mNewFirmware.append(newFirmware);
|
mNewFirmware.append(newFirmware);
|
||||||
mFirmwareUploadStatus = "Buffer Erase";
|
mFirmwareUploadSuccess = false;
|
||||||
|
mFirmwareUploadStatus = tr("Buffer erase");
|
||||||
|
|
||||||
if (mFirmwareIsBootloader) {
|
if (mFirmwareIsBootloader) {
|
||||||
firmwareUploadUpdate(true);
|
firmwareUploadUpdate(true);
|
||||||
@@ -628,7 +632,12 @@ void Commands::startFirmwareUpload(QByteArray &newFirmware, bool isBootloader)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double Commands::getFirmwareUploadProgress()
|
bool Commands::getFirmwareUploadSuccess() const
|
||||||
|
{
|
||||||
|
return mFirmwareUploadSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
|
double Commands::getFirmwareUploadProgress() const
|
||||||
{
|
{
|
||||||
if (mFirmwareIsUploading) {
|
if (mFirmwareIsUploading) {
|
||||||
return (double)mFimwarePtr / (double)mNewFirmware.size();
|
return (double)mFimwarePtr / (double)mNewFirmware.size();
|
||||||
@@ -637,7 +646,7 @@ double Commands::getFirmwareUploadProgress()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Commands::getFirmwareUploadStatus()
|
QString Commands::getFirmwareUploadStatus() const
|
||||||
{
|
{
|
||||||
return mFirmwareUploadStatus;
|
return mFirmwareUploadStatus;
|
||||||
}
|
}
|
||||||
@@ -648,7 +657,7 @@ void Commands::cancelFirmwareUpload()
|
|||||||
mFirmwareIsUploading = false;
|
mFirmwareIsUploading = false;
|
||||||
mFimwarePtr = 0;
|
mFimwarePtr = 0;
|
||||||
mFirmwareState = 0;
|
mFirmwareState = 0;
|
||||||
mFirmwareUploadStatus = "Cancelled";
|
mFirmwareUploadStatus = tr("Cancelled");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,8 +47,9 @@ public:
|
|||||||
Q_INVOKABLE int getCanSendId();
|
Q_INVOKABLE int getCanSendId();
|
||||||
void setbmsConfig(ConfigParams *bmsConfig);
|
void setbmsConfig(ConfigParams *bmsConfig);
|
||||||
Q_INVOKABLE void startFirmwareUpload(QByteArray &newFirmware, bool isBootloader = false);
|
Q_INVOKABLE void startFirmwareUpload(QByteArray &newFirmware, bool isBootloader = false);
|
||||||
Q_INVOKABLE double getFirmwareUploadProgress();
|
Q_INVOKABLE double getFirmwareUploadProgress() const;
|
||||||
Q_INVOKABLE QString getFirmwareUploadStatus();
|
Q_INVOKABLE QString getFirmwareUploadStatus() const;
|
||||||
|
Q_INVOKABLE bool getFirmwareUploadSuccess() const;
|
||||||
Q_INVOKABLE void cancelFirmwareUpload();
|
Q_INVOKABLE void cancelFirmwareUpload();
|
||||||
void checkbmsConfig();
|
void checkbmsConfig();
|
||||||
Q_INVOKABLE void storeBMSConfig();
|
Q_INVOKABLE void storeBMSConfig();
|
||||||
@@ -112,6 +113,7 @@ private:
|
|||||||
int mFirmwareTimer;
|
int mFirmwareTimer;
|
||||||
int mFirmwareRetries;
|
int mFirmwareRetries;
|
||||||
bool mFirmwareIsBootloader;
|
bool mFirmwareIsBootloader;
|
||||||
|
bool mFirmwareUploadSuccess;
|
||||||
QString mFirmwareUploadStatus;
|
QString mFirmwareUploadStatus;
|
||||||
|
|
||||||
ConfigParams *mbmsConfig;
|
ConfigParams *mbmsConfig;
|
||||||
|
|||||||
29
firmwareupdatehelper.cpp
Normal file
29
firmwareupdatehelper.cpp
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#include "firmwareupdatehelper.h"
|
||||||
|
|
||||||
|
#include "bmsinterface.h"
|
||||||
|
|
||||||
|
#include <QFile>
|
||||||
|
#include <QByteArray>
|
||||||
|
|
||||||
|
|
||||||
|
FirmwareUpdateHelper::FirmwareUpdateHelper(QObject *parent) : QObject(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FirmwareUpdateHelper::uploadFirmware(QString filename, BMSInterface *interface)
|
||||||
|
{
|
||||||
|
QFile file(filename);
|
||||||
|
|
||||||
|
if (!file.open(QIODevice::ReadOnly))
|
||||||
|
{
|
||||||
|
interface->emitMessageDialog(tr("Upload error"),
|
||||||
|
tr("Could not open file. Make sure that the path is valid."),
|
||||||
|
false);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto data = file.readAll();
|
||||||
|
interface->commands()->startFirmwareUpload(data, false);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
17
firmwareupdatehelper.h
Normal file
17
firmwareupdatehelper.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef FIRMWAREUPDATEHELPER_H
|
||||||
|
#define FIRMWAREUPDATEHELPER_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
class BMSInterface;
|
||||||
|
|
||||||
|
class FirmwareUpdateHelper : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit FirmwareUpdateHelper(QObject *parent = nullptr);
|
||||||
|
Q_INVOKABLE bool uploadFirmware(QString filename, BMSInterface *interface);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FIRMWAREUPDATEHELPER_H
|
||||||
2
main.cpp
2
main.cpp
@@ -21,6 +21,7 @@
|
|||||||
#include "bmsinterface.h"
|
#include "bmsinterface.h"
|
||||||
#include "utility.h"
|
#include "utility.h"
|
||||||
#include "translator.h"
|
#include "translator.h"
|
||||||
|
#include "firmwareupdatehelper.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QFontDatabase>
|
#include <QFontDatabase>
|
||||||
@@ -73,6 +74,7 @@ int main(int argc, char *argv[])
|
|||||||
qmlRegisterSingletonType<Translator>("Cubo", 1, 0, "Translator", translatorSingletontypeProvider);
|
qmlRegisterSingletonType<Translator>("Cubo", 1, 0, "Translator", translatorSingletontypeProvider);
|
||||||
qmlRegisterType<Commands>("Cubo", 1, 0, "Commands");
|
qmlRegisterType<Commands>("Cubo", 1, 0, "Commands");
|
||||||
qmlRegisterType<ConfigParams>("Cubo", 1, 0, "ConfigParams");
|
qmlRegisterType<ConfigParams>("Cubo", 1, 0, "ConfigParams");
|
||||||
|
qmlRegisterType<FirmwareUpdateHelper>("Cubo", 1, 0, "FirmwareUpdateHelper");
|
||||||
|
|
||||||
engine.addImportPath(QStringLiteral("qrc:/"));
|
engine.addImportPath(QStringLiteral("qrc:/"));
|
||||||
engine.load(QUrl(QStringLiteral("qrc:/MainWindow.qml")));
|
engine.load(QUrl(QStringLiteral("qrc:/MainWindow.qml")));
|
||||||
|
|||||||
38
qml/Controls/ProgressBar.qml
Normal file
38
qml/Controls/ProgressBar.qml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Controls 2.12
|
||||||
|
|
||||||
|
import Utils 1.0
|
||||||
|
|
||||||
|
ProgressBar {
|
||||||
|
id: control
|
||||||
|
padding: 2
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
implicitWidth: 250
|
||||||
|
implicitHeight: 26
|
||||||
|
border.width: 1
|
||||||
|
border.color: Palette.borderColor
|
||||||
|
color: Palette.screenBackgroundColor
|
||||||
|
radius: 5
|
||||||
|
}
|
||||||
|
|
||||||
|
contentItem: Item {
|
||||||
|
implicitWidth: 250
|
||||||
|
implicitHeight: 24
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: control.visualPosition * parent.width
|
||||||
|
height: parent.height
|
||||||
|
radius: 5
|
||||||
|
color: Palette.alternativeBackgroundColor
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: Math.floor((control.value / control.to) * 100) + '%'
|
||||||
|
anchors.centerIn: parent
|
||||||
|
color: Palette.textColor
|
||||||
|
font.pixelSize: 18
|
||||||
|
font.weight: Font.Bold
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -25,3 +25,4 @@ MenuItemDelegate 1.0 MenuItemDelegate.qml
|
|||||||
ScrollIndicator 1.0 ScrollIndicator.qml
|
ScrollIndicator 1.0 ScrollIndicator.qml
|
||||||
OutlineImageButton 1.0 OutlineImageButton.qml
|
OutlineImageButton 1.0 OutlineImageButton.qml
|
||||||
ImageButton 1.0 ImageButton.qml
|
ImageButton 1.0 ImageButton.qml
|
||||||
|
ProgressBar 1.0 ProgressBar.qml
|
||||||
|
|||||||
@@ -131,17 +131,8 @@ ApplicationWindow {
|
|||||||
RowLayout {
|
RowLayout {
|
||||||
id: topBar
|
id: topBar
|
||||||
|
|
||||||
property var labels: [
|
|
||||||
qsTr("AKB monitor"),
|
|
||||||
qsTr("Cell monitor"),
|
|
||||||
qsTr("BMS settings"),
|
|
||||||
qsTr("Visualization"),
|
|
||||||
qsTr("Information output"),
|
|
||||||
qsTr("Terminal"),
|
|
||||||
]
|
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
text: topBar.labels[stack.currentIndex]
|
text: stack.itemAt(stack.currentIndex).title
|
||||||
font.pixelSize: 38
|
font.pixelSize: 38
|
||||||
font.weight: Font.Bold
|
font.weight: Font.Bold
|
||||||
color: Palette.textColor
|
color: Palette.textColor
|
||||||
@@ -316,12 +307,15 @@ ApplicationWindow {
|
|||||||
Layout.bottomMargin: 30
|
Layout.bottomMargin: 30
|
||||||
|
|
||||||
Screens.AkbMonitorScreen {
|
Screens.AkbMonitorScreen {
|
||||||
|
property string title: qsTr("AKB monitor")
|
||||||
}
|
}
|
||||||
|
|
||||||
Screens.CellMonitorScreen {
|
Screens.CellMonitorScreen {
|
||||||
|
property string title: qsTr("Cell monitor")
|
||||||
}
|
}
|
||||||
|
|
||||||
Screens.BmsSettingsScreen {
|
Screens.BmsSettingsScreen {
|
||||||
|
property string title: qsTr("BMS settings")
|
||||||
onNeedWait: {
|
onNeedWait: {
|
||||||
if (active) {
|
if (active) {
|
||||||
busyPopup.text = text
|
busyPopup.text = text
|
||||||
@@ -333,10 +327,12 @@ ApplicationWindow {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Screens.VisualizationScreen {
|
Screens.VisualizationScreen {
|
||||||
|
property string title: qsTr("Visualization")
|
||||||
}
|
}
|
||||||
|
|
||||||
Screens.DebugInformationScreen {
|
Screens.DebugInformationScreen {
|
||||||
id: debugScreen
|
id: debugScreen
|
||||||
|
property string title: qsTr("Information output")
|
||||||
}
|
}
|
||||||
|
|
||||||
Screens.BmsServiceScreen {
|
Screens.BmsServiceScreen {
|
||||||
@@ -357,8 +353,6 @@ ApplicationWindow {
|
|||||||
serialLabel.text = "-"
|
serialLabel.text = "-"
|
||||||
firmwareLabel.text = "-"
|
firmwareLabel.text = "-"
|
||||||
}
|
}
|
||||||
|
|
||||||
debugScreen.printMessage(BmsInterface.getConnectedPortName(), true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onMessageDialog: {
|
onMessageDialog: {
|
||||||
@@ -389,6 +383,22 @@ ApplicationWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onFwUploadStatus: {
|
||||||
|
if (isOngoing) {
|
||||||
|
if (!progressPopup.opened) {
|
||||||
|
progressPopup.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
progressPopup.text = status
|
||||||
|
progressPopup.progress = progress
|
||||||
|
} else {
|
||||||
|
progressPopup.close()
|
||||||
|
BmsInterface.emitMessageDialog(qsTr("Firmware update"), status, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onBmsConfigurationStored: busyPopup.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
@@ -440,7 +450,6 @@ ApplicationWindow {
|
|||||||
|
|
||||||
onOpened: {
|
onOpened: {
|
||||||
hideStatusTimer.start()
|
hideStatusTimer.start()
|
||||||
busyPopup.close()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -477,6 +486,8 @@ ApplicationWindow {
|
|||||||
font.pixelSize: 20
|
font.pixelSize: 20
|
||||||
Layout.alignment: Qt.AlignCenter
|
Layout.alignment: Qt.AlignCenter
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
leftPadding: 10
|
||||||
|
rightPadding: 10
|
||||||
|
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
color: Palette.textColor
|
color: Palette.textColor
|
||||||
@@ -490,6 +501,48 @@ ApplicationWindow {
|
|||||||
onClosed: hideBusyTimer.stop()
|
onClosed: hideBusyTimer.stop()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Popup {
|
||||||
|
id: progressPopup
|
||||||
|
x: (parent.width - width) / 2
|
||||||
|
y: (parent.height - height) / 2
|
||||||
|
modal: true
|
||||||
|
closePolicy: Popup.NoAutoClose
|
||||||
|
|
||||||
|
property alias text: progressText.text
|
||||||
|
property alias progress: progressBar.value
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
color: "transparent"
|
||||||
|
}
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
Controls.ProgressBar {
|
||||||
|
id: progressBar
|
||||||
|
Layout.alignment: Qt.AlignCenter
|
||||||
|
Layout.preferredWidth: 500
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.SubtitleLabel {
|
||||||
|
text: "asdfzasdf"
|
||||||
|
id: progressText
|
||||||
|
color: Palette.alternativeTextColor
|
||||||
|
maximumLineCount: 3
|
||||||
|
wrapMode: Text.Wrap
|
||||||
|
font.pixelSize: 20
|
||||||
|
Layout.alignment: Qt.AlignCenter
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
leftPadding: 10
|
||||||
|
rightPadding: 10
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
color: Palette.textColor
|
||||||
|
opacity: 0.3
|
||||||
|
radius: 6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
id: hideBusyTimer
|
id: hideBusyTimer
|
||||||
interval: 30000
|
interval: 30000
|
||||||
|
|||||||
@@ -1,74 +1,46 @@
|
|||||||
import QtQuick 2.12
|
import QtQuick 2.12
|
||||||
import QtQuick.Controls 2.12
|
|
||||||
import QtQuick.Layouts 1.12
|
import QtQuick.Layouts 1.12
|
||||||
|
|
||||||
import Controls 1.0 as Controls
|
import Controls 1.0 as Controls
|
||||||
import Cubo 1.0
|
import Screens 1.0 as Screens
|
||||||
|
|
||||||
ColumnLayout {
|
RowLayout {
|
||||||
spacing: 20
|
spacing: 20
|
||||||
|
|
||||||
Keys.onReturnPressed: sendButton.clicked()
|
property string title: stack.itemAt(stack.currentIndex).title
|
||||||
Keys.onEnterPressed: sendButton.clicked()
|
|
||||||
|
|
||||||
Controls.Frame {
|
StackLayout {
|
||||||
Flickable {
|
id: stack
|
||||||
id: outputFlickable
|
|
||||||
clip: true
|
|
||||||
anchors.fill: parent
|
|
||||||
boundsBehavior: Flickable.StopAtBounds
|
|
||||||
|
|
||||||
TextArea.flickable: Controls.TextArea {
|
Screens.TerminalScreen {
|
||||||
id: outputArea
|
id: terminalScreen
|
||||||
}
|
property string title: qsTr("Terminal")
|
||||||
|
}
|
||||||
|
|
||||||
ScrollBar.horizontal: Controls.ScrollBar {}
|
Screens.FirmwareUpdateScreen {
|
||||||
ScrollBar.vertical: Controls.ScrollBar {}
|
id: firmwareUpdateScreen
|
||||||
|
property string title: qsTr("Firmware update")
|
||||||
}
|
}
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout {
|
ColumnLayout {
|
||||||
spacing: 20
|
spacing: 20
|
||||||
|
|
||||||
Controls.Button {
|
Repeater {
|
||||||
text: qsTr("Clear")
|
model: [terminalScreen.title, firmwareUpdateScreen.title]
|
||||||
Layout.preferredWidth: 120
|
delegate: Controls.LinkLabel {
|
||||||
onClicked: outputArea.clear()
|
text: modelData
|
||||||
}
|
onClicked: stack.currentIndex = index
|
||||||
|
|
||||||
Controls.TextField {
|
|
||||||
id: commandField
|
|
||||||
implicitHeight: 52
|
|
||||||
Layout.fillWidth: true
|
|
||||||
}
|
|
||||||
|
|
||||||
Controls.Button {
|
|
||||||
id: sendButton
|
|
||||||
text: qsTr("Send")
|
|
||||||
Layout.preferredWidth: 120
|
|
||||||
onClicked: {
|
|
||||||
BmsInterface.commands().sendTerminalCmd(commandField.text)
|
|
||||||
commandField.clear()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Controls.Button {
|
Item {
|
||||||
text: qsTr("Help")
|
Layout.fillHeight: true
|
||||||
Layout.preferredWidth: 120
|
|
||||||
onClicked: BmsInterface.commands().sendTerminalCmd("help")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.preferredWidth: 180
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: BmsInterface.commands()
|
|
||||||
onPrintReceived: {
|
|
||||||
outputArea.append(str)
|
|
||||||
outputArea.cursorPosition = outputArea.length
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ ColumnLayout {
|
|||||||
Connections {
|
Connections {
|
||||||
target: BmsInterface
|
target: BmsInterface
|
||||||
onStatusMessage: printMessage(msg, isGood)
|
onStatusMessage: printMessage(msg, isGood)
|
||||||
|
onPortConnectedChanged: printMessage(BmsInterface.getConnectedPortName(), true)
|
||||||
}
|
}
|
||||||
|
|
||||||
function printMessage(msg, isGood) {
|
function printMessage(msg, isGood) {
|
||||||
|
|||||||
126
qml/Screens/FirmwareUpdateScreen.qml
Normal file
126
qml/Screens/FirmwareUpdateScreen.qml
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Layouts 1.12
|
||||||
|
import QtQuick.Dialogs 1.2
|
||||||
|
import Qt.labs.settings 1.1
|
||||||
|
|
||||||
|
import Controls 1.0 as Controls
|
||||||
|
import Cubo 1.0
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
spacing: 20
|
||||||
|
|
||||||
|
Controls.Frame {
|
||||||
|
padding: 35
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
anchors.fill: parent
|
||||||
|
spacing: 20
|
||||||
|
|
||||||
|
Controls.TitleLabel {
|
||||||
|
text: qsTr("Board information")
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: 10
|
||||||
|
|
||||||
|
Controls.ContentLabel {
|
||||||
|
text: qsTr("Firmware")
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.DotSeparator {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.ContentLabel {
|
||||||
|
id: firmwareLabel
|
||||||
|
}
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: 10
|
||||||
|
|
||||||
|
Controls.ContentLabel {
|
||||||
|
text: qsTr("Hardware")
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.DotSeparator {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.ContentLabel {
|
||||||
|
id: hardwareLabel
|
||||||
|
}
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: 10
|
||||||
|
|
||||||
|
Controls.ContentLabel {
|
||||||
|
text: qsTr("UUID")
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.DotSeparator {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.ContentLabel {
|
||||||
|
id: uuidLabel
|
||||||
|
}
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.Button {
|
||||||
|
text: qsTr("Upload firmware")
|
||||||
|
onClicked: firmwareFileDialog.open()
|
||||||
|
|
||||||
|
FileDialog {
|
||||||
|
id: firmwareFileDialog
|
||||||
|
title: qsTr("Select firmware file")
|
||||||
|
folder: shortcuts.documents
|
||||||
|
nameFilters: [ qsTr("Firmware files (*.bin)"), qsTr("All files (*)") ]
|
||||||
|
onAccepted: {
|
||||||
|
if (BmsInterface.isPortConnected()) {
|
||||||
|
updateHelper.uploadFirmware(firmwareFileDialog.fileUrl.toString().replace(/^(file:\/{3})/, ""), BmsInterface)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Settings {
|
||||||
|
category: "firmwareUpdate"
|
||||||
|
property alias folder: firmwareFileDialog.folder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
FirmwareUpdateHelper {
|
||||||
|
id: updateHelper
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: BmsInterface.commands()
|
||||||
|
onFwVersionReceived: {
|
||||||
|
firmwareLabel.text = major + "." + minor
|
||||||
|
hardwareLabel.text = hw
|
||||||
|
uuidLabel.text = bufferToHex(uuid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function bufferToHex(buffer) {
|
||||||
|
return [...new Uint8Array(buffer)]
|
||||||
|
.map(b => b.toString(16).padStart(2, "0"))
|
||||||
|
.join("").toUpperCase();
|
||||||
|
}
|
||||||
|
}
|
||||||
74
qml/Screens/TerminalScreen.qml
Normal file
74
qml/Screens/TerminalScreen.qml
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
import QtQuick 2.12
|
||||||
|
import QtQuick.Controls 2.12
|
||||||
|
import QtQuick.Layouts 1.12
|
||||||
|
|
||||||
|
import Controls 1.0 as Controls
|
||||||
|
import Cubo 1.0
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
spacing: 20
|
||||||
|
|
||||||
|
Keys.onReturnPressed: sendButton.clicked()
|
||||||
|
Keys.onEnterPressed: sendButton.clicked()
|
||||||
|
|
||||||
|
Controls.Frame {
|
||||||
|
Flickable {
|
||||||
|
id: outputFlickable
|
||||||
|
clip: true
|
||||||
|
anchors.fill: parent
|
||||||
|
boundsBehavior: Flickable.StopAtBounds
|
||||||
|
|
||||||
|
TextArea.flickable: Controls.TextArea {
|
||||||
|
id: outputArea
|
||||||
|
}
|
||||||
|
|
||||||
|
ScrollBar.horizontal: Controls.ScrollBar {}
|
||||||
|
ScrollBar.vertical: Controls.ScrollBar {}
|
||||||
|
}
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
spacing: 20
|
||||||
|
|
||||||
|
Controls.Button {
|
||||||
|
text: qsTr("Clear")
|
||||||
|
Layout.preferredWidth: 120
|
||||||
|
onClicked: outputArea.clear()
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.TextField {
|
||||||
|
id: commandField
|
||||||
|
implicitHeight: 52
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.Button {
|
||||||
|
id: sendButton
|
||||||
|
text: qsTr("Send")
|
||||||
|
Layout.preferredWidth: 120
|
||||||
|
onClicked: {
|
||||||
|
BmsInterface.commands().sendTerminalCmd(commandField.text)
|
||||||
|
commandField.clear()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Controls.Button {
|
||||||
|
text: qsTr("Help")
|
||||||
|
Layout.preferredWidth: 120
|
||||||
|
onClicked: BmsInterface.commands().sendTerminalCmd("help")
|
||||||
|
}
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: BmsInterface.commands()
|
||||||
|
onPrintReceived: {
|
||||||
|
outputArea.append(str)
|
||||||
|
outputArea.cursorPosition = outputArea.length
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,3 +8,5 @@ DebugInformationScreen 1.0 DebugInformationScreen.qml
|
|||||||
ConnectionDialog 1.0 ConnectionDialog.qml
|
ConnectionDialog 1.0 ConnectionDialog.qml
|
||||||
MessageDialog 1.0 MessageDialog.qml
|
MessageDialog 1.0 MessageDialog.qml
|
||||||
StatusPopup 1.0 StatusPopup.qml
|
StatusPopup 1.0 StatusPopup.qml
|
||||||
|
TerminalScreen 1.0 TerminalScreen.qml
|
||||||
|
FirmwareUpdateScreen 1.0 FirmwareUpdateScreen.qml
|
||||||
|
|||||||
@@ -41,5 +41,8 @@
|
|||||||
<file>Controls/ScrollIndicator.qml</file>
|
<file>Controls/ScrollIndicator.qml</file>
|
||||||
<file>Controls/OutlineImageButton.qml</file>
|
<file>Controls/OutlineImageButton.qml</file>
|
||||||
<file>Controls/ImageButton.qml</file>
|
<file>Controls/ImageButton.qml</file>
|
||||||
|
<file>Screens/TerminalScreen.qml</file>
|
||||||
|
<file>Screens/FirmwareUpdateScreen.qml</file>
|
||||||
|
<file>Controls/ProgressBar.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|||||||
@@ -128,80 +128,80 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="645"/>
|
<location filename="../bmsinterface.cpp" line="644"/>
|
||||||
<source>Serial port error: </source>
|
<source>Serial port error: </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="687"/>
|
<location filename="../bmsinterface.cpp" line="684"/>
|
||||||
<source>TCP Error</source>
|
<source>TCP Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="724"/>
|
<location filename="../bmsinterface.cpp" line="721"/>
|
||||||
<source>No firmware read response</source>
|
<source>No firmware read response</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="725"/>
|
<location filename="../bmsinterface.cpp" line="722"/>
|
||||||
<source>Read Firmware Version</source>
|
<source>Read Firmware Version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="726"/>
|
<location filename="../bmsinterface.cpp" line="723"/>
|
||||||
<source>Could not read firmware version. Make sure that selected port really belongs to the ENNOID-BMS. </source>
|
<source>Could not read firmware version. Make sure that selected port really belongs to the ENNOID-BMS. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="802"/>
|
<location filename="../bmsinterface.cpp" line="803"/>
|
||||||
<source>Not Supported Firmwares</source>
|
<source>Not Supported Firmwares</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="803"/>
|
<location filename="../bmsinterface.cpp" line="804"/>
|
||||||
<source>This version of ENNOID-BMS Tool does not seem to have any supported firmwares. Something is probably wrong with the BMS configuration file.</source>
|
<source>This version of ENNOID-BMS Tool does not seem to have any supported firmwares. Something is probably wrong with the BMS configuration file.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="823"/>
|
<location filename="../bmsinterface.cpp" line="824"/>
|
||||||
<location filename="../bmsinterface.cpp" line="851"/>
|
<location filename="../bmsinterface.cpp" line="852"/>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="823"/>
|
<location filename="../bmsinterface.cpp" line="824"/>
|
||||||
<location filename="../bmsinterface.cpp" line="851"/>
|
<location filename="../bmsinterface.cpp" line="852"/>
|
||||||
<source>The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer.</source>
|
<source>The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="828"/>
|
<location filename="../bmsinterface.cpp" line="829"/>
|
||||||
<location filename="../bmsinterface.cpp" line="840"/>
|
<location filename="../bmsinterface.cpp" line="841"/>
|
||||||
<source>Warning</source>
|
<source>Warning</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="828"/>
|
<location filename="../bmsinterface.cpp" line="829"/>
|
||||||
<source>The connected ENNOID-BMS has newer firmware than this version of the ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS Tool to the latest version. Alternatively, the firmware on the connected ENNOID-BMS can be downgraded in the firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
<source>The connected ENNOID-BMS has newer firmware than this version of the ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS Tool to the latest version. Alternatively, the firmware on the connected ENNOID-BMS can be downgraded in the firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="840"/>
|
<location filename="../bmsinterface.cpp" line="841"/>
|
||||||
<source>The connected ENNOID-BMS has too old firmware. Since the connected ENNOID-BMS has firmware with bootloader support, it can be updated from the Firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
<source>The connected ENNOID-BMS has too old firmware. Since the connected ENNOID-BMS has firmware with bootloader support, it can be updated from the Firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="864"/>
|
<location filename="../bmsinterface.cpp" line="865"/>
|
||||||
<source>Firmware version: %1.%2, Hardware: %3, UUID: %4</source>
|
<source>Firmware version: %1.%2, Hardware: %3, UUID: %4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="896"/>
|
<location filename="../bmsinterface.cpp" line="886"/>
|
||||||
<source>BMS configuration updated</source>
|
<source>BMS configuration updated</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="900"/>
|
<location filename="../bmsinterface.cpp" line="891"/>
|
||||||
<source>BMS configuration stored to Flash</source>
|
<source>BMS configuration stored to Flash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,18 +209,13 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>BmsServiceScreen</name>
|
<name>BmsServiceScreen</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="37"/>
|
<location filename="../qml/Screens/BmsServiceScreen.qml" line="17"/>
|
||||||
<source>Clear</source>
|
<source>Terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="50"/>
|
<location filename="../qml/Screens/BmsServiceScreen.qml" line="22"/>
|
||||||
<source>Send</source>
|
<source>Firmware update</source>
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="59"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@@ -482,10 +477,53 @@ Wait, please.</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Commands</name>
|
<name>Commands</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../commands.cpp" line="237"/>
|
<location filename="../commands.cpp" line="239"/>
|
||||||
<source>BMS configuration is set</source>
|
<source>BMS configuration is set</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="462"/>
|
||||||
|
<location filename="../commands.cpp" line="623"/>
|
||||||
|
<source>Buffer erase</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="467"/>
|
||||||
|
<source>Buffer erase timeout</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="475"/>
|
||||||
|
<source>CRC/Size write</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="484"/>
|
||||||
|
<source>CRC/Size write timeout</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="503"/>
|
||||||
|
<source>Firmware data write</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="512"/>
|
||||||
|
<source>Firmware data write timeout</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="540"/>
|
||||||
|
<source>Firmware update completed!
|
||||||
|
|
||||||
|
Reconnect to the board if you want to continue working with it.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="660"/>
|
||||||
|
<source>Cancelled</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConfigParams</name>
|
<name>ConfigParams</name>
|
||||||
@@ -550,6 +588,62 @@ Wait, please.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>FirmwareUpdateHelper</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../firmwareupdatehelper.cpp" line="19"/>
|
||||||
|
<source>Upload error</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../firmwareupdatehelper.cpp" line="20"/>
|
||||||
|
<source>Could not open file. Make sure that the path is valid.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>FirmwareUpdateScreen</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="20"/>
|
||||||
|
<source>Board information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="28"/>
|
||||||
|
<source>Firmware</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="46"/>
|
||||||
|
<source>Hardware</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="64"/>
|
||||||
|
<source>UUID</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="83"/>
|
||||||
|
<source>Upload firmware</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="88"/>
|
||||||
|
<source>Select firmware file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
|
||||||
|
<source>Firmware files (*.bin)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
|
||||||
|
<source>All files (*)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -564,13 +658,13 @@ Wait, please.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="79"/>
|
<location filename="../qml/MainWindow.qml" line="79"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="135"/>
|
<location filename="../qml/MainWindow.qml" line="310"/>
|
||||||
<source>AKB monitor</source>
|
<source>AKB monitor</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="80"/>
|
<location filename="../qml/MainWindow.qml" line="80"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="136"/>
|
<location filename="../qml/MainWindow.qml" line="314"/>
|
||||||
<source>Cell monitor</source>
|
<source>Cell monitor</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -581,7 +675,7 @@ Wait, please.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="82"/>
|
<location filename="../qml/MainWindow.qml" line="82"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="138"/>
|
<location filename="../qml/MainWindow.qml" line="330"/>
|
||||||
<source>Visualization</source>
|
<source>Visualization</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -601,38 +695,38 @@ Wait, please.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="137"/>
|
<location filename="../qml/MainWindow.qml" line="318"/>
|
||||||
<source>BMS settings</source>
|
<source>BMS settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="139"/>
|
<location filename="../qml/MainWindow.qml" line="335"/>
|
||||||
<source>Information output</source>
|
<source>Information output</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="140"/>
|
<location filename="../qml/MainWindow.qml" line="156"/>
|
||||||
<source>Terminal</source>
|
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../qml/MainWindow.qml" line="165"/>
|
|
||||||
<location filename="../qml/MainWindow.qml" line="352"/>
|
|
||||||
<source>Disconnected</source>
|
<source>Disconnected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="189"/>
|
<location filename="../qml/MainWindow.qml" line="180"/>
|
||||||
<source>Serial number</source>
|
<source>Serial number</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="352"/>
|
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||||
<source>Connected</source>
|
<source>Connected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="505"/>
|
<location filename="../qml/MainWindow.qml" line="397"/>
|
||||||
|
<source>Firmware update</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/MainWindow.qml" line="558"/>
|
||||||
<source>Tool started</source>
|
<source>Tool started</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -658,6 +752,24 @@ Wait, please.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>TerminalScreen</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="37"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="50"/>
|
||||||
|
<source>Send</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="59"/>
|
||||||
|
<source>Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Translator</name>
|
<name>Translator</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
@@ -128,80 +128,80 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="645"/>
|
<location filename="../bmsinterface.cpp" line="644"/>
|
||||||
<source>Serial port error: </source>
|
<source>Serial port error: </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="687"/>
|
<location filename="../bmsinterface.cpp" line="684"/>
|
||||||
<source>TCP Error</source>
|
<source>TCP Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="724"/>
|
<location filename="../bmsinterface.cpp" line="721"/>
|
||||||
<source>No firmware read response</source>
|
<source>No firmware read response</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="725"/>
|
<location filename="../bmsinterface.cpp" line="722"/>
|
||||||
<source>Read Firmware Version</source>
|
<source>Read Firmware Version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="726"/>
|
<location filename="../bmsinterface.cpp" line="723"/>
|
||||||
<source>Could not read firmware version. Make sure that selected port really belongs to the ENNOID-BMS. </source>
|
<source>Could not read firmware version. Make sure that selected port really belongs to the ENNOID-BMS. </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="802"/>
|
<location filename="../bmsinterface.cpp" line="803"/>
|
||||||
<source>Not Supported Firmwares</source>
|
<source>Not Supported Firmwares</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="803"/>
|
<location filename="../bmsinterface.cpp" line="804"/>
|
||||||
<source>This version of ENNOID-BMS Tool does not seem to have any supported firmwares. Something is probably wrong with the BMS configuration file.</source>
|
<source>This version of ENNOID-BMS Tool does not seem to have any supported firmwares. Something is probably wrong with the BMS configuration file.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="823"/>
|
<location filename="../bmsinterface.cpp" line="824"/>
|
||||||
<location filename="../bmsinterface.cpp" line="851"/>
|
<location filename="../bmsinterface.cpp" line="852"/>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="823"/>
|
<location filename="../bmsinterface.cpp" line="824"/>
|
||||||
<location filename="../bmsinterface.cpp" line="851"/>
|
<location filename="../bmsinterface.cpp" line="852"/>
|
||||||
<source>The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer.</source>
|
<source>The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="828"/>
|
<location filename="../bmsinterface.cpp" line="829"/>
|
||||||
<location filename="../bmsinterface.cpp" line="840"/>
|
<location filename="../bmsinterface.cpp" line="841"/>
|
||||||
<source>Warning</source>
|
<source>Warning</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="828"/>
|
<location filename="../bmsinterface.cpp" line="829"/>
|
||||||
<source>The connected ENNOID-BMS has newer firmware than this version of the ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS Tool to the latest version. Alternatively, the firmware on the connected ENNOID-BMS can be downgraded in the firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
<source>The connected ENNOID-BMS has newer firmware than this version of the ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS Tool to the latest version. Alternatively, the firmware on the connected ENNOID-BMS can be downgraded in the firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="840"/>
|
<location filename="../bmsinterface.cpp" line="841"/>
|
||||||
<source>The connected ENNOID-BMS has too old firmware. Since the connected ENNOID-BMS has firmware with bootloader support, it can be updated from the Firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
<source>The connected ENNOID-BMS has too old firmware. Since the connected ENNOID-BMS has firmware with bootloader support, it can be updated from the Firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="864"/>
|
<location filename="../bmsinterface.cpp" line="865"/>
|
||||||
<source>Firmware version: %1.%2, Hardware: %3, UUID: %4</source>
|
<source>Firmware version: %1.%2, Hardware: %3, UUID: %4</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="896"/>
|
<location filename="../bmsinterface.cpp" line="886"/>
|
||||||
<source>BMS configuration updated</source>
|
<source>BMS configuration updated</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="900"/>
|
<location filename="../bmsinterface.cpp" line="891"/>
|
||||||
<source>BMS configuration stored to Flash</source>
|
<source>BMS configuration stored to Flash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,18 +209,13 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>BmsServiceScreen</name>
|
<name>BmsServiceScreen</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="37"/>
|
<location filename="../qml/Screens/BmsServiceScreen.qml" line="17"/>
|
||||||
<source>Clear</source>
|
<source>Terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="50"/>
|
<location filename="../qml/Screens/BmsServiceScreen.qml" line="22"/>
|
||||||
<source>Send</source>
|
<source>Firmware update</source>
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="59"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@@ -482,10 +477,53 @@ Wait, please.</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Commands</name>
|
<name>Commands</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../commands.cpp" line="237"/>
|
<location filename="../commands.cpp" line="239"/>
|
||||||
<source>BMS configuration is set</source>
|
<source>BMS configuration is set</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="462"/>
|
||||||
|
<location filename="../commands.cpp" line="623"/>
|
||||||
|
<source>Buffer erase</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="467"/>
|
||||||
|
<source>Buffer erase timeout</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="475"/>
|
||||||
|
<source>CRC/Size write</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="484"/>
|
||||||
|
<source>CRC/Size write timeout</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="503"/>
|
||||||
|
<source>Firmware data write</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="512"/>
|
||||||
|
<source>Firmware data write timeout</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="540"/>
|
||||||
|
<source>Firmware update completed!
|
||||||
|
|
||||||
|
Reconnect to the board if you want to continue working with it.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="660"/>
|
||||||
|
<source>Cancelled</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConfigParams</name>
|
<name>ConfigParams</name>
|
||||||
@@ -550,6 +588,62 @@ Wait, please.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>FirmwareUpdateHelper</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../firmwareupdatehelper.cpp" line="19"/>
|
||||||
|
<source>Upload error</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../firmwareupdatehelper.cpp" line="20"/>
|
||||||
|
<source>Could not open file. Make sure that the path is valid.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>FirmwareUpdateScreen</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="20"/>
|
||||||
|
<source>Board information</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="28"/>
|
||||||
|
<source>Firmware</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="46"/>
|
||||||
|
<source>Hardware</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="64"/>
|
||||||
|
<source>UUID</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="83"/>
|
||||||
|
<source>Upload firmware</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="88"/>
|
||||||
|
<source>Select firmware file</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
|
||||||
|
<source>Firmware files (*.bin)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
|
||||||
|
<source>All files (*)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -564,13 +658,13 @@ Wait, please.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="79"/>
|
<location filename="../qml/MainWindow.qml" line="79"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="135"/>
|
<location filename="../qml/MainWindow.qml" line="310"/>
|
||||||
<source>AKB monitor</source>
|
<source>AKB monitor</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="80"/>
|
<location filename="../qml/MainWindow.qml" line="80"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="136"/>
|
<location filename="../qml/MainWindow.qml" line="314"/>
|
||||||
<source>Cell monitor</source>
|
<source>Cell monitor</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -581,7 +675,7 @@ Wait, please.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="82"/>
|
<location filename="../qml/MainWindow.qml" line="82"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="138"/>
|
<location filename="../qml/MainWindow.qml" line="330"/>
|
||||||
<source>Visualization</source>
|
<source>Visualization</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -601,38 +695,38 @@ Wait, please.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="137"/>
|
<location filename="../qml/MainWindow.qml" line="318"/>
|
||||||
<source>BMS settings</source>
|
<source>BMS settings</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="139"/>
|
<location filename="../qml/MainWindow.qml" line="335"/>
|
||||||
<source>Information output</source>
|
<source>Information output</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="140"/>
|
<location filename="../qml/MainWindow.qml" line="156"/>
|
||||||
<source>Terminal</source>
|
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../qml/MainWindow.qml" line="165"/>
|
|
||||||
<location filename="../qml/MainWindow.qml" line="352"/>
|
|
||||||
<source>Disconnected</source>
|
<source>Disconnected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="189"/>
|
<location filename="../qml/MainWindow.qml" line="180"/>
|
||||||
<source>Serial number</source>
|
<source>Serial number</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="352"/>
|
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||||
<source>Connected</source>
|
<source>Connected</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="505"/>
|
<location filename="../qml/MainWindow.qml" line="397"/>
|
||||||
|
<source>Firmware update</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/MainWindow.qml" line="558"/>
|
||||||
<source>Tool started</source>
|
<source>Tool started</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -658,6 +752,24 @@ Wait, please.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>TerminalScreen</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="37"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="50"/>
|
||||||
|
<source>Send</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="59"/>
|
||||||
|
<source>Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Translator</name>
|
<name>Translator</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
Binary file not shown.
@@ -128,80 +128,80 @@
|
|||||||
<translation>Поддержка последовательного порта не включена в этой сборке утилиты.</translation>
|
<translation>Поддержка последовательного порта не включена в этой сборке утилиты.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="645"/>
|
<location filename="../bmsinterface.cpp" line="644"/>
|
||||||
<source>Serial port error: </source>
|
<source>Serial port error: </source>
|
||||||
<translation>Ошибка последовательного порта: </translation>
|
<translation>Ошибка последовательного порта: </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="687"/>
|
<location filename="../bmsinterface.cpp" line="684"/>
|
||||||
<source>TCP Error</source>
|
<source>TCP Error</source>
|
||||||
<translation>Ошибка TCP</translation>
|
<translation>Ошибка TCP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="724"/>
|
<location filename="../bmsinterface.cpp" line="721"/>
|
||||||
<source>No firmware read response</source>
|
<source>No firmware read response</source>
|
||||||
<translation>Нет ответа на чтение прошивки</translation>
|
<translation>Нет ответа на чтение прошивки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="725"/>
|
<location filename="../bmsinterface.cpp" line="722"/>
|
||||||
<source>Read Firmware Version</source>
|
<source>Read Firmware Version</source>
|
||||||
<translation>Чтение версии прошивки</translation>
|
<translation>Чтение версии прошивки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="726"/>
|
<location filename="../bmsinterface.cpp" line="723"/>
|
||||||
<source>Could not read firmware version. Make sure that selected port really belongs to the ENNOID-BMS. </source>
|
<source>Could not read firmware version. Make sure that selected port really belongs to the ENNOID-BMS. </source>
|
||||||
<translation>Не удалось прочитать версию прошивки. Убедитесь, что выбранный порт действительно принадлежит ENNOID-BMS. </translation>
|
<translation>Не удалось прочитать версию прошивки. Убедитесь, что выбранный порт действительно принадлежит ENNOID-BMS. </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="802"/>
|
<location filename="../bmsinterface.cpp" line="803"/>
|
||||||
<source>Not Supported Firmwares</source>
|
<source>Not Supported Firmwares</source>
|
||||||
<translation>Не поддерживаемые прошивки</translation>
|
<translation>Не поддерживаемые прошивки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="803"/>
|
<location filename="../bmsinterface.cpp" line="804"/>
|
||||||
<source>This version of ENNOID-BMS Tool does not seem to have any supported firmwares. Something is probably wrong with the BMS configuration file.</source>
|
<source>This version of ENNOID-BMS Tool does not seem to have any supported firmwares. Something is probably wrong with the BMS configuration file.</source>
|
||||||
<translation>Эта версия утилиты не имеет поддерживаемых прошивок. Вероятно, что-то не так с файлом конфигурации BMS.</translation>
|
<translation>Эта версия утилиты не имеет поддерживаемых прошивок. Вероятно, что-то не так с файлом конфигурации BMS.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="823"/>
|
<location filename="../bmsinterface.cpp" line="824"/>
|
||||||
<location filename="../bmsinterface.cpp" line="851"/>
|
<location filename="../bmsinterface.cpp" line="852"/>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation>Ошибка</translation>
|
<translation>Ошибка</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="823"/>
|
<location filename="../bmsinterface.cpp" line="824"/>
|
||||||
<location filename="../bmsinterface.cpp" line="851"/>
|
<location filename="../bmsinterface.cpp" line="852"/>
|
||||||
<source>The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer.</source>
|
<source>The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer.</source>
|
||||||
<translation>Прошивка подключенного ENNOID-BMS устарела. Пожалуйста, обновите его с помощью программатора.</translation>
|
<translation>Прошивка подключенного ENNOID-BMS устарела. Пожалуйста, обновите его с помощью программатора.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="828"/>
|
<location filename="../bmsinterface.cpp" line="829"/>
|
||||||
<location filename="../bmsinterface.cpp" line="840"/>
|
<location filename="../bmsinterface.cpp" line="841"/>
|
||||||
<source>Warning</source>
|
<source>Warning</source>
|
||||||
<translation>Внимание</translation>
|
<translation>Внимание</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="828"/>
|
<location filename="../bmsinterface.cpp" line="829"/>
|
||||||
<source>The connected ENNOID-BMS has newer firmware than this version of the ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS Tool to the latest version. Alternatively, the firmware on the connected ENNOID-BMS can be downgraded in the firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
<source>The connected ENNOID-BMS has newer firmware than this version of the ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS Tool to the latest version. Alternatively, the firmware on the connected ENNOID-BMS can be downgraded in the firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
||||||
<translation>Подключенный ENNOID-BMS имеет более новую прошивку, чем поддерживает эта версия инструмента ENNOID-BMS. Рекомендуется обновить инструмент ENNOID-BMS до последней версии. Кроме того, прошивку подключенного ENNOID-BMS можно понизить на странице прошивки. До тех пор будет использоваться ограниченный режим связи, при котором можно будет изменить только прошивку.</translation>
|
<translation>Подключенный ENNOID-BMS имеет более новую прошивку, чем поддерживает эта версия инструмента ENNOID-BMS. Рекомендуется обновить инструмент ENNOID-BMS до последней версии. Кроме того, прошивку подключенного ENNOID-BMS можно понизить на странице прошивки. До тех пор будет использоваться ограниченный режим связи, при котором можно будет изменить только прошивку.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="840"/>
|
<location filename="../bmsinterface.cpp" line="841"/>
|
||||||
<source>The connected ENNOID-BMS has too old firmware. Since the connected ENNOID-BMS has firmware with bootloader support, it can be updated from the Firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
<source>The connected ENNOID-BMS has too old firmware. Since the connected ENNOID-BMS has firmware with bootloader support, it can be updated from the Firmware page. Until then, limited communication mode will be used where only the firmware can be changed.</source>
|
||||||
<translation>Подключенный ENNOID-BMS имеет слишком старую прошивку. Поскольку подключенный ENNOID-BMS имеет встроенное ПО с поддержкой загрузчика, его можно обновить со страницы встроенного ПО. До тех пор будет использоваться ограниченный режим связи, при котором можно будет изменить только прошивку.</translation>
|
<translation>Подключенный ENNOID-BMS имеет слишком старую прошивку. Поскольку подключенный ENNOID-BMS имеет встроенное ПО с поддержкой загрузчика, его можно обновить со страницы встроенного ПО. До тех пор будет использоваться ограниченный режим связи, при котором можно будет изменить только прошивку.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="864"/>
|
<location filename="../bmsinterface.cpp" line="865"/>
|
||||||
<source>Firmware version: %1.%2, Hardware: %3, UUID: %4</source>
|
<source>Firmware version: %1.%2, Hardware: %3, UUID: %4</source>
|
||||||
<translation>Версия прошивки: %1.%2, Оборудование: %3, UUID: %4</translation>
|
<translation>Версия прошивки: %1.%2, Оборудование: %3, UUID: %4</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="896"/>
|
<location filename="../bmsinterface.cpp" line="886"/>
|
||||||
<source>BMS configuration updated</source>
|
<source>BMS configuration updated</source>
|
||||||
<translation>Конфигурация BMS обновлена</translation>
|
<translation>Конфигурация BMS обновлена</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../bmsinterface.cpp" line="900"/>
|
<location filename="../bmsinterface.cpp" line="891"/>
|
||||||
<source>BMS configuration stored to Flash</source>
|
<source>BMS configuration stored to Flash</source>
|
||||||
<translation>Конфигурация BMS сохранена во флэш-памяти</translation>
|
<translation>Конфигурация BMS сохранена во флэш-памяти</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -209,19 +209,26 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>BmsServiceScreen</name>
|
<name>BmsServiceScreen</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="37"/>
|
|
||||||
<source>Clear</source>
|
<source>Clear</source>
|
||||||
<translation>Очистить</translation>
|
<translation type="vanished">Очистить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="50"/>
|
|
||||||
<source>Send</source>
|
<source>Send</source>
|
||||||
<translation>Отправить</translation>
|
<translation type="vanished">Отправить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/Screens/BmsServiceScreen.qml" line="59"/>
|
|
||||||
<source>Help</source>
|
<source>Help</source>
|
||||||
<translation>Помощь</translation>
|
<translation type="vanished">Помощь</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/BmsServiceScreen.qml" line="17"/>
|
||||||
|
<source>Terminal</source>
|
||||||
|
<translation>Терминал</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/BmsServiceScreen.qml" line="22"/>
|
||||||
|
<source>Firmware update</source>
|
||||||
|
<translation>Обновление прошивки</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -487,10 +494,59 @@ Wait, please.</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>Commands</name>
|
<name>Commands</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../commands.cpp" line="237"/>
|
<location filename="../commands.cpp" line="239"/>
|
||||||
<source>BMS configuration is set</source>
|
<source>BMS configuration is set</source>
|
||||||
<translation>Конфигурация BMS установлена</translation>
|
<translation>Конфигурация BMS установлена</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="462"/>
|
||||||
|
<location filename="../commands.cpp" line="623"/>
|
||||||
|
<source>Buffer erase</source>
|
||||||
|
<translation>Стирание буфера</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="467"/>
|
||||||
|
<source>Buffer erase timeout</source>
|
||||||
|
<translation>Таймаут стирания буфера</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="475"/>
|
||||||
|
<source>CRC/Size write</source>
|
||||||
|
<translation>Запись контрольной суммы</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="484"/>
|
||||||
|
<source>CRC/Size write timeout</source>
|
||||||
|
<translation>Таймаут записи контрольной суммы</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="503"/>
|
||||||
|
<source>Firmware data write</source>
|
||||||
|
<translation>Запись данных прошивки</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="512"/>
|
||||||
|
<source>Firmware data write timeout</source>
|
||||||
|
<translation>Таймаут записи данных прошивки</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="540"/>
|
||||||
|
<source>Firmware update completed!
|
||||||
|
|
||||||
|
Reconnect to the board if you want to continue working with it.</source>
|
||||||
|
<translation>Обновление прошивки завершено!
|
||||||
|
|
||||||
|
Выполните повторное подключение к плате, если хотите продолжить работу с ней.</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Firmware update completed</source>
|
||||||
|
<translation type="vanished">Обновление прошивки завершено</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../commands.cpp" line="660"/>
|
||||||
|
<source>Cancelled</source>
|
||||||
|
<translation>Отменено</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ConfigParams</name>
|
<name>ConfigParams</name>
|
||||||
@@ -555,6 +611,62 @@ Wait, please.</source>
|
|||||||
<translation>Очистить</translation>
|
<translation>Очистить</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>FirmwareUpdateHelper</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../firmwareupdatehelper.cpp" line="19"/>
|
||||||
|
<source>Upload error</source>
|
||||||
|
<translation>Ошибка загрузки</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../firmwareupdatehelper.cpp" line="20"/>
|
||||||
|
<source>Could not open file. Make sure that the path is valid.</source>
|
||||||
|
<translation>Не удалось открыть файл. Убедитесь что путь валидный.</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>FirmwareUpdateScreen</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="20"/>
|
||||||
|
<source>Board information</source>
|
||||||
|
<translation>Информация о плате</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="28"/>
|
||||||
|
<source>Firmware</source>
|
||||||
|
<translation>Прошивка</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="46"/>
|
||||||
|
<source>Hardware</source>
|
||||||
|
<translation>Оборудование</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="64"/>
|
||||||
|
<source>UUID</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="83"/>
|
||||||
|
<source>Upload firmware</source>
|
||||||
|
<translation>Загрузить прошивку</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="88"/>
|
||||||
|
<source>Select firmware file</source>
|
||||||
|
<translation>Выберите файл прошивки</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
|
||||||
|
<source>Firmware files (*.bin)</source>
|
||||||
|
<translation>Файлы прошивок (*.bin)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/FirmwareUpdateScreen.qml" line="90"/>
|
||||||
|
<source>All files (*)</source>
|
||||||
|
<translation>Все файлы (*)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
@@ -573,13 +685,13 @@ Wait, please.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="79"/>
|
<location filename="../qml/MainWindow.qml" line="79"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="135"/>
|
<location filename="../qml/MainWindow.qml" line="310"/>
|
||||||
<source>AKB monitor</source>
|
<source>AKB monitor</source>
|
||||||
<translation>Монитор АКБ</translation>
|
<translation>Монитор АКБ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="80"/>
|
<location filename="../qml/MainWindow.qml" line="80"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="136"/>
|
<location filename="../qml/MainWindow.qml" line="314"/>
|
||||||
<source>Cell monitor</source>
|
<source>Cell monitor</source>
|
||||||
<translation>Монитор ячеек</translation>
|
<translation>Монитор ячеек</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -590,7 +702,7 @@ Wait, please.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="82"/>
|
<location filename="../qml/MainWindow.qml" line="82"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="138"/>
|
<location filename="../qml/MainWindow.qml" line="330"/>
|
||||||
<source>Visualization</source>
|
<source>Visualization</source>
|
||||||
<translation>Визуализация</translation>
|
<translation>Визуализация</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -610,22 +722,26 @@ Wait, please.</source>
|
|||||||
<translation>Подключение</translation>
|
<translation>Подключение</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="137"/>
|
<location filename="../qml/MainWindow.qml" line="318"/>
|
||||||
<source>BMS settings</source>
|
<source>BMS settings</source>
|
||||||
<translation>Настройка BMS</translation>
|
<translation>Настройка BMS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="139"/>
|
<location filename="../qml/MainWindow.qml" line="335"/>
|
||||||
<source>Information output</source>
|
<source>Information output</source>
|
||||||
<translation>Вывод информации</translation>
|
<translation>Вывод информации</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="140"/>
|
<location filename="../qml/MainWindow.qml" line="397"/>
|
||||||
<source>Terminal</source>
|
<source>Firmware update</source>
|
||||||
<translation>Терминал</translation>
|
<translation>Обновление прошивки</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="505"/>
|
<source>Terminal</source>
|
||||||
|
<translation type="vanished">Терминал</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/MainWindow.qml" line="558"/>
|
||||||
<source>Tool started</source>
|
<source>Tool started</source>
|
||||||
<translation>Утилита запущена</translation>
|
<translation>Утилита запущена</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -634,18 +750,18 @@ Wait, please.</source>
|
|||||||
<translation type="vanished">Выход</translation>
|
<translation type="vanished">Выход</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="165"/>
|
<location filename="../qml/MainWindow.qml" line="156"/>
|
||||||
<location filename="../qml/MainWindow.qml" line="352"/>
|
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||||
<source>Disconnected</source>
|
<source>Disconnected</source>
|
||||||
<translation>Отключено</translation>
|
<translation>Отключено</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="189"/>
|
<location filename="../qml/MainWindow.qml" line="180"/>
|
||||||
<source>Serial number</source>
|
<source>Serial number</source>
|
||||||
<translation>Серийный номер</translation>
|
<translation>Серийный номер</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../qml/MainWindow.qml" line="352"/>
|
<location filename="../qml/MainWindow.qml" line="348"/>
|
||||||
<source>Connected</source>
|
<source>Connected</source>
|
||||||
<translation>Подключено</translation>
|
<translation>Подключено</translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -671,6 +787,24 @@ Wait, please.</source>
|
|||||||
<translation>Не удалось автоматически подключиться. Убедитесь, что USB-кабель подключен и ENNOID-BMS включен.</translation>
|
<translation>Не удалось автоматически подключиться. Убедитесь, что USB-кабель подключен и ENNOID-BMS включен.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>TerminalScreen</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="37"/>
|
||||||
|
<source>Clear</source>
|
||||||
|
<translation>Очистить</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="50"/>
|
||||||
|
<source>Send</source>
|
||||||
|
<translation>Отправить</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../qml/Screens/TerminalScreen.qml" line="59"/>
|
||||||
|
<source>Help</source>
|
||||||
|
<translation>Помощь</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Translator</name>
|
<name>Translator</name>
|
||||||
<message>
|
<message>
|
||||||
|
|||||||
Reference in New Issue
Block a user