[Add] English version work is done
This commit is contained in:
parent
d4ae45d1dc
commit
bfee5f9d49
|
@ -11,6 +11,7 @@ CONFIG += c++17
|
|||
|
||||
SOURCES += \
|
||||
appproto.cpp \
|
||||
appproto_english.cpp \
|
||||
batt.cpp \
|
||||
chartpaint.cpp \
|
||||
custom/delegate.cpp \
|
||||
|
@ -23,10 +24,12 @@ SOURCES += \
|
|||
mainwindow.cpp \
|
||||
modbusrtu.cpp \
|
||||
proto/battery.pb.cc \
|
||||
appserial.cpp
|
||||
appserial.cpp \
|
||||
proto/battery_english.pb.cc
|
||||
|
||||
HEADERS += \
|
||||
appproto.h \
|
||||
appproto_english.h \
|
||||
batt.h \
|
||||
chartpaint.h \
|
||||
custom/delegate.h \
|
||||
|
@ -42,7 +45,8 @@ HEADERS += \
|
|||
mainwindow.h \
|
||||
modbusrtu.h \
|
||||
proto/battery.pb.h \
|
||||
appserial.h
|
||||
appserial.h \
|
||||
proto/battery_english.pb.h
|
||||
|
||||
FORMS += \
|
||||
dialoglogin.ui \
|
||||
|
|
Binary file not shown.
32
appproto.cpp
32
appproto.cpp
|
@ -15,38 +15,6 @@ AppProto::~AppProto()
|
|||
|
||||
void AppProto::init()
|
||||
{
|
||||
// Battery::BCUList bcus;
|
||||
// std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
// if(!bcus.ParseFromIstream(&finBetteryData)) {
|
||||
// qDebug() << "Failed to parse BSU message.";
|
||||
// // config message
|
||||
// int bmuNum = 16;
|
||||
// int cellNum = 26;
|
||||
// for(int i = 0; i < bmuNum; i++) {
|
||||
// bcus.add_bmus();
|
||||
// bcus.mutable_bmus(i)->set_name("BUM" + QString("%1").arg(i+1).toStdString());
|
||||
// for(int j = 0; j < cellNum; j++) {
|
||||
// bcus.mutable_bmus(i)->add_cells();
|
||||
// bcus.mutable_bmus(i)->mutable_cells(j)->set_name("Cell" + QString("%1").arg(j+1).toStdString());
|
||||
// }
|
||||
// }
|
||||
// std::fstream foutBetteryData("battery.data",std::ios::out | std::ios::trunc | std::ios::binary);
|
||||
// if(!bcus.SerializePartialToOstream(&foutBetteryData)) {
|
||||
// qDebug() << "filed";
|
||||
// }
|
||||
// foutBetteryData.close();
|
||||
// foutBetteryData.clear();
|
||||
// }
|
||||
// else {
|
||||
// qDebug() << "bum num:" << bcus.bmus_size();
|
||||
// for(int i = 0; i < bcus.bmus_size(); i++) {
|
||||
// qDebug() << "bmu name:" << bcus.bmus(i).name().c_str() << "cell num:" << bcus.bmus(i).cells_size();
|
||||
// for(int j = 0; j < bcus.bmus(i).cells_size(); j++) {
|
||||
// qDebug() << "cell name:" << bcus.bmus(i).cells(j).name().c_str();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,30 @@
|
|||
#ifndef APPPROTO_ENGLISH_H
|
||||
#define APPPROTO_ENGLISH_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class Appproto_English : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit Appproto_English(QObject *parent = nullptr);
|
||||
~Appproto_English();
|
||||
|
||||
void init();
|
||||
|
||||
public:
|
||||
int itemCount = 0;
|
||||
int itemCount_balance = 0;
|
||||
int itemCount_DIDO = 0;
|
||||
int itemCount_SOX = 0;
|
||||
int itemCount_other = 0;
|
||||
int itemCount_alert_value = 0;
|
||||
int itemCount_alert_delay = 0;
|
||||
int itemCount_alert_release_value = 0;
|
||||
int itemCount_alert_release_delay = 0;
|
||||
int itemCount_alert_dropcurr_rate = 0;
|
||||
int itemCount_alert_solve_measure = 0;
|
||||
|
||||
};
|
||||
|
||||
#endif // APPPROTO_ENGLISH_H
|
|
@ -10,6 +10,7 @@
|
|||
#include "appserial.h"
|
||||
#include "modbusrtu.h"
|
||||
#include <windef.h>
|
||||
#include <QTranslator>
|
||||
#include <QThread>
|
||||
|
||||
DialogLogin::DialogLogin(QWidget *parent)
|
||||
|
@ -53,6 +54,9 @@ void DialogLogin::init()
|
|||
ini = new QSettings("config.ini", QSettings::IniFormat);
|
||||
connect(ui->btnConnect, &QPushButton::clicked, this, &DialogLogin::slot_btnConnect_clicked);
|
||||
|
||||
// //将背景设置为白色
|
||||
// ui->groupBox->setStyleSheet("background-color: #FFFFFF;");
|
||||
|
||||
// //传递BCU个数的信号与槽
|
||||
// BCUNumbers = ui->comboBoxBCUQuantity->currentText().toInt();
|
||||
// qDebug() << "the number of the BCU: " << BCUNumbers;
|
||||
|
@ -97,6 +101,11 @@ void DialogLogin::init()
|
|||
m_ModbusRTU->quit();
|
||||
});
|
||||
|
||||
|
||||
//主窗口接受语言选择number的信号与槽的连接
|
||||
connect(this, &DialogLogin::sendLanNumberSignals, m_MainWindow, &MainWindow::getLanNumberSlot);
|
||||
|
||||
|
||||
// QMetaObject::invokeMethod(m_ModbusRTU,"read_regs_slot",Qt::QueuedConnection);
|
||||
// connect(m_ModbusRTU, &ModbusRTU::sig_readMoveToThread, m_ModbusRTU, &ModbusRTU::read_regs_slot, Qt::QueuedConnection);
|
||||
// thread = new QThread;
|
||||
|
@ -117,6 +126,8 @@ void DialogLogin::serialInit()
|
|||
ui->comboBoxDataBits->setCurrentIndex(3);
|
||||
ui->comboBoxStopBits->setCurrentIndex(0);
|
||||
ui->comboBoxParity->setCurrentIndex(0);
|
||||
ui->comboBoxLanguage->setCurrentIndex(ini->value("System/Language").toUInt());
|
||||
// qDebug() << "lan currentIndex false:" << ini->value("System/Language").toUInt();
|
||||
}
|
||||
else {
|
||||
ui->comboBoxSerialPort->addItems(m_Serial->getAvailablePort());
|
||||
|
@ -124,6 +135,9 @@ void DialogLogin::serialInit()
|
|||
ui->comboBoxDataBits->setCurrentIndex(ini->value("Serial/DataBits").toUInt());
|
||||
ui->comboBoxStopBits->setCurrentIndex(ini->value("Serial/StopBits").toUInt());
|
||||
ui->comboBoxParity->setCurrentIndex(ini->value("Serial/Parity").toUInt());
|
||||
ui->comboBoxLanguage->setCurrentIndex(ini->value("System/Language").toUInt());
|
||||
// ui->comboBoxLanguage->setCurrentIndex(ini->value());
|
||||
// qDebug() << "lan currentIndex " << ini->value("System/Language").toUInt();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -174,6 +188,30 @@ void DialogLogin::slot_btnConnect_clicked()
|
|||
{
|
||||
BCUNumbers = ui->comboBoxBCUQuantity->currentText().toInt();
|
||||
|
||||
QString language = ui->comboBoxLanguage->currentText();
|
||||
if (language == "English")
|
||||
{
|
||||
qDebug() << "ini lanuage index" << ini->value("System/Language");
|
||||
ini->setValue("System/Language", 1);
|
||||
ini->sync();
|
||||
QTranslator trans;
|
||||
emit sendLanNumberSignals(0);
|
||||
trans.load(":/Language/BatteryMonitor_ENG.qm");
|
||||
QApplication::installTranslator(&trans);
|
||||
m_MainWindow->ui->retranslateUi(m_MainWindow);
|
||||
}
|
||||
else if (language == "Chinese")
|
||||
{
|
||||
qDebug() << "ini lanuage index" << ini->value("System/Language");
|
||||
ini->setValue("System/Language", 0);
|
||||
ini->sync();
|
||||
emit sendLanNumberSignals(1);
|
||||
QTranslator trans;
|
||||
trans.load(":/Language/BatteryMonitor_CHN.qm");
|
||||
QApplication::installTranslator(&trans);
|
||||
m_MainWindow->ui->retranslateUi(m_MainWindow);
|
||||
}
|
||||
|
||||
emit sendBCUNumberSignals(BCUNumbers);
|
||||
connect(this, &DialogLogin::sendBCUNumberSignals, m_MainWindow, &MainWindow::slot_getBcuNumberFromDialoglogin);
|
||||
ini->setValue("Serial/BaudRate", ui->comboBoxBaudRate->currentIndex());
|
||||
|
@ -263,6 +301,7 @@ void DialogLogin::slot_btnConnect_clicked()
|
|||
// m_MainWindow->showMaximized();
|
||||
// m_ModbusRTU->start();
|
||||
m_ModbusRTU->start();
|
||||
m_MainWindow->showMaximized();
|
||||
}
|
||||
else {
|
||||
if(ini->value("System/Language") == MainWindow::LANGUAGE_ENG) {
|
||||
|
|
|
@ -36,6 +36,7 @@ private:
|
|||
|
||||
signals:
|
||||
void sendBCUNumberSignals(int number);
|
||||
void sendLanNumberSignals(int number);
|
||||
|
||||
private slots:
|
||||
void slot_comChangeStatus(QString name, bool flag);
|
||||
|
|
263
dialoglogin.ui
263
dialoglogin.ui
|
@ -20,93 +20,33 @@
|
|||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="2" column="0" colspan="2">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="btnConnect">
|
||||
<property name="text">
|
||||
<string>Connect</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Communication</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="9" column="3">
|
||||
<widget class="QComboBox" name="comboBoxParity">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>None</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Odd</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Even</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QComboBox" name="comboBoxSerialPort"/>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QLabel" name="labelBaudRate">
|
||||
<property name="text">
|
||||
<string>Baud Rate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<widget class="QComboBox" name="comboBoxBaudRate">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1200</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2400</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4800</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>9600</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>19200</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>38400</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>57600</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>115200</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="labelSerialPort">
|
||||
<property name="text">
|
||||
<string>Serial Port</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<item row="8" column="3">
|
||||
<widget class="QComboBox" name="comboBoxDataBits">
|
||||
<item>
|
||||
<property name="text">
|
||||
|
@ -130,21 +70,10 @@
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<widget class="QLabel" name="labelStopBits">
|
||||
<property name="text">
|
||||
<string>Stop Bits</string>
|
||||
</property>
|
||||
</widget>
|
||||
<item row="4" column="3">
|
||||
<widget class="QComboBox" name="comboBoxSerialPort"/>
|
||||
</item>
|
||||
<item row="9" column="2">
|
||||
<widget class="QLabel" name="labelParity">
|
||||
<property name="text">
|
||||
<string>Parity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="3">
|
||||
<item row="10" column="3">
|
||||
<widget class="QComboBox" name="comboBoxStopBits">
|
||||
<item>
|
||||
<property name="text">
|
||||
|
@ -158,14 +87,7 @@
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QLabel" name="labelDataBits">
|
||||
<property name="text">
|
||||
<string>Data Bits</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<item row="2" column="3">
|
||||
<widget class="QComboBox" name="comboBoxBCUQuantity">
|
||||
<item>
|
||||
<property name="text">
|
||||
|
@ -249,36 +171,135 @@
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<item row="7" column="3">
|
||||
<widget class="QComboBox" name="comboBoxBaudRate">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1200</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>2400</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>4800</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>9600</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>19200</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>38400</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>57600</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>115200</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QLabel" name="labelBaudRate">
|
||||
<property name="text">
|
||||
<string>Baud Rate</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="2">
|
||||
<widget class="QLabel" name="labelStopBits">
|
||||
<property name="text">
|
||||
<string>Stop Bits</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="labelBCUQuantity">
|
||||
<property name="text">
|
||||
<string>BCU Quantity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<item row="4" column="2">
|
||||
<widget class="QLabel" name="labelSerialPort">
|
||||
<property name="text">
|
||||
<string>Serial Port</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QPushButton" name="btnConnect">
|
||||
<item row="11" column="2">
|
||||
<widget class="QLabel" name="labelParity">
|
||||
<property name="text">
|
||||
<string>Connect</string>
|
||||
<string>Parity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<widget class="QLabel" name="labelDataBits">
|
||||
<property name="text">
|
||||
<string>Data Bits</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="3">
|
||||
<widget class="QComboBox" name="comboBoxParity">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>None</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Odd</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Even</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="labelBCUQuantity_2">
|
||||
<property name="text">
|
||||
<string>Language</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QComboBox" name="comboBoxLanguage">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Chinese</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>English</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
|
|
529
mainwindow.cpp
529
mainwindow.cpp
|
@ -2,6 +2,7 @@
|
|||
#include "modbus-private.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include "appproto.h"
|
||||
#include "appproto_english.h"
|
||||
#include "delegate.h"
|
||||
#include <QApplication>
|
||||
#include <QTranslator>
|
||||
|
@ -16,6 +17,7 @@
|
|||
#include <QStandardItem>
|
||||
#include <QStandardItemModel>
|
||||
#include "proto/battery.pb.h"
|
||||
#include "proto/battery_english.pb.h"
|
||||
#include "chartpaint.h"
|
||||
#include <fstream>
|
||||
#include <QToolTip>
|
||||
|
@ -32,26 +34,11 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
: QMainWindow(parent)
|
||||
, ui(new Ui::MainWindow)
|
||||
{
|
||||
qDebug() << "mainwindow:进入线程:" << QThread::currentThread();
|
||||
// QMetaObject::invokeMethod(this, "write_regs_slot", Qt::QueuedConnection);
|
||||
// QMetaObject::invokeMethod(this, "read_regs_slot", Qt::QueuedConnection);
|
||||
ui->setupUi(this);
|
||||
this->init();
|
||||
this->setMenuStyle();
|
||||
m_AppProto = new AppProto;
|
||||
pageBatteryInit();
|
||||
pageParaSetInit();
|
||||
pageParaSetInit_alert_value();
|
||||
pageParaSetInit_alert_delay();
|
||||
pageParaSetInit_alert_release_value();
|
||||
pageParaSetInit_alert_release_delay();
|
||||
pageParaSetInit_alert_dropcurr_rate();
|
||||
pageParaSetInit_alert_solve_measure();
|
||||
pageParaSetInit_DIDO_setting();
|
||||
pageParaSetInit_balance_setting();
|
||||
pageParaSetInit_SOX_setting();
|
||||
pageParaSetInit_other_setting();
|
||||
|
||||
m_AppProto_English = new Appproto_English;
|
||||
connect(ui->tabWidget_paraset, SIGNAL(currentChanged(int)), this, SLOT(on_tabChanged(int)));
|
||||
}
|
||||
|
||||
|
@ -66,7 +53,7 @@ void MainWindow::init()
|
|||
setWindowTitle("Battery Monitor");
|
||||
/* 设置Logo */
|
||||
setWindowIcon(QIcon(":/Image/icon.png"));
|
||||
|
||||
// this->showMaximized();
|
||||
/* 读取配置文件 */
|
||||
ini = new QSettings("config.ini", QSettings::IniFormat);
|
||||
if(QFile::exists("config.ini")) {
|
||||
|
@ -89,34 +76,36 @@ void MainWindow::init()
|
|||
/* 设置初始界面语言 */
|
||||
if(ini->value("System/Language") == LANGUAGE_ENG) {
|
||||
QTranslator trans;
|
||||
qDebug() << "ini in the mainwindow :" << ini->value("System/Language");
|
||||
trans.load(":/Language/BatteryMonitor_ENG.qm");
|
||||
QApplication::installTranslator(&trans);
|
||||
ui->retranslateUi(this);
|
||||
}
|
||||
else if(ini->value("System/Language") == LANGUAGE_CHN) {
|
||||
qDebug() << "ini in the mainwindow :" << ini->value("System/Language");
|
||||
QTranslator trans;
|
||||
trans.load(":/Language/BatteryMonitor_CHN.qm");
|
||||
QApplication::installTranslator(&trans);
|
||||
ui->retranslateUi(this);
|
||||
}
|
||||
|
||||
connect(ui->actionChinese, &QAction::triggered, this, [=]{
|
||||
ini->setValue("System/Language", LANGUAGE_CHN);
|
||||
ini->sync();
|
||||
QTranslator trans;
|
||||
trans.load(":/Language/BatteryMonitor_CHN.qm");
|
||||
QApplication::installTranslator(&trans);
|
||||
ui->retranslateUi(this);
|
||||
});
|
||||
// connect(ui->actionChinese, &QAction::triggered, this, [=]{
|
||||
// ini->setValue("System/Language", LANGUAGE_CHN);
|
||||
// ini->sync();
|
||||
// QTranslator trans;
|
||||
// trans.load(":/Language/BatteryMonitor_CHN.qm");
|
||||
// QApplication::installTranslator(&trans);
|
||||
// ui->retranslateUi(this);
|
||||
// });
|
||||
|
||||
connect(ui->actionEnglish, &QAction::triggered, this, [=]{
|
||||
ini->setValue("System/Language", LANGUAGE_ENG);
|
||||
ini->sync();
|
||||
QTranslator trans;
|
||||
trans.load(":/Language/BatteryMonitor_ENG.qm");
|
||||
QApplication::installTranslator(&trans);
|
||||
ui->retranslateUi(this);
|
||||
});
|
||||
// connect(ui->actionEnglish, &QAction::triggered, this, [=]{
|
||||
// ini->setValue("System/Language", LANGUAGE_ENG);
|
||||
// ini->sync();
|
||||
// QTranslator trans;
|
||||
// trans.load(":/Language/BatteryMonitor_ENG.qm");
|
||||
// QApplication::installTranslator(&trans);
|
||||
// ui->retranslateUi(this);
|
||||
// });
|
||||
|
||||
/* 状态栏设置 */
|
||||
statusBarConnectedIcon = new QLabel();
|
||||
|
@ -202,8 +191,8 @@ void MainWindow::init()
|
|||
// ui->tab_charts->setLayout(hBoxLayout);
|
||||
|
||||
//绘制单体表格
|
||||
sglChartInit(7);
|
||||
ui->groupBox_color_sgl->setStyleSheet("QGroupBox { border: none; }");
|
||||
// sglChartInit(7);
|
||||
// ui->groupBox_color_sgl->setStyleSheet("QGroupBox { border: none; }");
|
||||
// ui->scrollArea_sgl_charts->setFrameShape(QFrame::NoFrame);
|
||||
ui->scrollAreaChart->setFrameShape(QFrame::NoFrame);
|
||||
|
||||
|
@ -264,11 +253,11 @@ void MainWindow::init()
|
|||
ui->color_trouble_3->setStyleSheet("background-image: url(:/Image/trouble-background-3.png);");
|
||||
ui->color_trouble_normal->setStyleSheet("background-image: url(:/Image/trouble-background-normal.png);");
|
||||
|
||||
ui->color_sgl_high->setStyleSheet("background-color: rgb(255, 0, 0);");
|
||||
ui->color_sgl_low->setStyleSheet("background-color: rgb(0, 255, 0);");
|
||||
ui->color_equilibrium->setStyleSheet("background-color: rgb(0, 0, 200);");
|
||||
ui->color_short_circuit->setStyleSheet("background-color: rgb(255, 165, 0);");
|
||||
ui->groupBox_color_sgl->setStyleSheet("QGroupBox { border: none; }");
|
||||
// ui->color_sgl_high->setStyleSheet("background-color: rgb(255, 0, 0);");
|
||||
// ui->color_sgl_low->setStyleSheet("background-color: rgb(0, 255, 0);");
|
||||
// ui->color_equilibrium->setStyleSheet("background-color: rgb(0, 0, 200);");
|
||||
// ui->color_short_circuit->setStyleSheet("background-color: rgb(255, 165, 0);");
|
||||
// ui->groupBox_color_sgl->setStyleSheet("QGroupBox { border: none; }");
|
||||
|
||||
ui->label_all_overVol->setStyleSheet("QLabel{"
|
||||
"background-image: url(:/Image/trouble-background-default.png);"
|
||||
|
@ -537,7 +526,7 @@ void MainWindow::init()
|
|||
|
||||
void MainWindow::sglChartInit(int bat_count)
|
||||
{
|
||||
ui->tabWidget_sgl_info->setCurrentWidget(ui->tab_vol);
|
||||
// ui->tabWidget_sgl_info->setCurrentWidget(ui->tab_vol);
|
||||
QStringList labels = {
|
||||
"Bmu", "C1", "C2",
|
||||
"C3", "C4", "C5", "C6", "C7",
|
||||
|
@ -617,8 +606,8 @@ void MainWindow::sglChartInit(int bat_count)
|
|||
hBoxLayout_vol->addWidget(page_paraset_sys_sgl_vol);
|
||||
hBoxLayout_tempt->addWidget(page_paraset_sys_sgl_temp);
|
||||
|
||||
ui->tab_vol->setLayout(hBoxLayout_vol);
|
||||
ui->tab_tempt->setLayout(hBoxLayout_tempt);
|
||||
// ui->tab_vol->setLayout(hBoxLayout_vol);
|
||||
// ui->tab_tempt->setLayout(hBoxLayout_tempt);
|
||||
}
|
||||
|
||||
void MainWindow::setMenuStyle()
|
||||
|
@ -1487,7 +1476,7 @@ void MainWindow::slot_pageHomeBaseInfo47_49_51_53_55(QList<int> byteArray, int d
|
|||
|
||||
void MainWindow::sgl_info_process(QList<int> sgl_info, QList<QLabel*> labelList)
|
||||
{
|
||||
ui->tabWidget_sgl_info->update();
|
||||
// ui->tabWidget_sgl_info->update();
|
||||
int MaxIndex = findMaxIndex(sgl_info);
|
||||
int MinIndex = findMinIndex(sgl_info);
|
||||
|
||||
|
@ -1549,6 +1538,24 @@ int MainWindow::findMinIndex(QList<int> sgl_info)
|
|||
return minIndex;
|
||||
}
|
||||
|
||||
void MainWindow::getLanNumberSlot(int number)
|
||||
{
|
||||
lan = number;
|
||||
qDebug() << "lan:" << lan;
|
||||
pageBatteryInit();
|
||||
pageParaSetInit();
|
||||
pageParaSetInit_alert_value();
|
||||
pageParaSetInit_alert_delay();
|
||||
pageParaSetInit_alert_release_value();
|
||||
pageParaSetInit_alert_release_delay();
|
||||
pageParaSetInit_alert_dropcurr_rate();
|
||||
pageParaSetInit_alert_solve_measure();
|
||||
pageParaSetInit_DIDO_setting();
|
||||
pageParaSetInit_balance_setting();
|
||||
pageParaSetInit_SOX_setting();
|
||||
pageParaSetInit_other_setting();
|
||||
}
|
||||
|
||||
void MainWindow::pageBatteryInit()
|
||||
{
|
||||
|
||||
|
@ -1610,7 +1617,7 @@ void MainWindow::pageParaSetInit()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -1638,6 +1645,37 @@ void MainWindow::pageParaSetInit()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_paraset_sys->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
qDebug() << "english_item size: 11111111111111" << item.itemattr_size();
|
||||
for(int i = 0; i < item.itemattr_size(); i++)
|
||||
{
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr(i).name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.itemattr(i).value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr(i).introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -1646,8 +1684,6 @@ void MainWindow::pageParaSetInit()
|
|||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
|
||||
|
||||
qDebug() << "item size: 11111111111111" << item.itemattr_size();
|
||||
|
||||
for(int i = 0; i < item.itemattr_size(); i++)
|
||||
|
@ -1664,28 +1700,12 @@ void MainWindow::pageParaSetInit()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// qDebug() << "item name:11111111111111" << item.itemattr(41).name().c_str() << "item value:" << item.itemattr(157).value() << "item introduce:" <<
|
||||
// item.itemattr(157).introduce().c_str() << "item scale" << item.itemattr(157).scale();
|
||||
|
||||
// qDebug() << "item name:11111111111111" << item.itemattr(42).name().c_str() << "item value:" << item.itemattr(161).value() << "item introduce:" <<
|
||||
// item.itemattr(161).introduce().c_str() << "item scale" << item.itemattr(161).scale();
|
||||
|
||||
// qDebug() << "item name:11111111111111" << item.itemattr(68).name().c_str() << "item value:" << item.itemattr(157).value() << "item introduce:" <<
|
||||
// item.itemattr(157).introduce().c_str() << "item scale" << item.itemattr(157).scale();
|
||||
|
||||
// qDebug() << "item name:11111111111111" << item.itemattr(75).name().c_str() << "item value:" << item.itemattr(161).value() << "item introduce:" <<
|
||||
// item.itemattr(161).introduce().c_str() << "item scale" << item.itemattr(161).scale();
|
||||
|
||||
// qDebug() << "item name:11111111111111" << item.itemattr(78).name().c_str() << "item value:" << item.itemattr(157).value() << "item introduce:" <<
|
||||
// item.itemattr(157).introduce().c_str() << "item scale" << item.itemattr(157).scale();
|
||||
|
||||
// qDebug() << "item name:11111111111111" << item.itemattr(85).name().c_str() << "item value:" << item.itemattr(161).value() << "item introduce:" <<
|
||||
// item.itemattr(161).introduce().c_str() << "item scale" << item.itemattr(161).scale();
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_alert_value()
|
||||
|
@ -1743,7 +1763,7 @@ void MainWindow::pageParaSetInit_alert_value()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -1771,18 +1791,16 @@ void MainWindow::pageParaSetInit_alert_value()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_paraset_alert_value->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
// qDebug() << "item name:" << item.itemattr(0).name().c_str() << "item value:" << item.itemattr(0).value() << "item introduce:" <<
|
||||
// item.itemattr(0).introduce().c_str() << "item scale" << item.itemattr(0).scale();
|
||||
|
||||
// qDebug() << "item size:" << item.itemattr_size();
|
||||
for(int i = 0; i < item.itemattr_alert_value_size(); i++) {
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
|
@ -1800,6 +1818,35 @@ void MainWindow::pageParaSetInit_alert_value()
|
|||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i < item.itemattr_alert_value_size(); i++) {
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_value(i)->name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.mutable_itemattr_alert_value(i)->value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_value(i)->introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_alert_delay()
|
||||
|
@ -1857,7 +1904,7 @@ void MainWindow::pageParaSetInit_alert_delay()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -1885,6 +1932,37 @@ void MainWindow::pageParaSetInit_alert_delay()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_paraset_alert_delay->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i < item.itemattr_alert_delay_size(); i++)
|
||||
{
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_delay(i)->name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.mutable_itemattr_alert_delay(i)->value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_delay(i)->introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -1906,10 +1984,11 @@ void MainWindow::pageParaSetInit_alert_delay()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_alert_release_value()
|
||||
|
@ -1967,7 +2046,7 @@ void MainWindow::pageParaSetInit_alert_release_value()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -1995,6 +2074,34 @@ void MainWindow::pageParaSetInit_alert_release_value()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_paraset_alert_release_value->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0) {
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i < item.itemattr_alert_release_value_size(); i++) {
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_release_value(i)->name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.mutable_itemattr_alert_release_value(i)->value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_release_value(i)->introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1) {
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2020,6 +2127,8 @@ void MainWindow::pageParaSetInit_alert_release_value()
|
|||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_alert_release_delay()
|
||||
|
@ -2077,7 +2186,7 @@ void MainWindow::pageParaSetInit_alert_release_delay()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -2105,6 +2214,35 @@ void MainWindow::pageParaSetInit_alert_release_delay()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_paraset_alert_release_delay->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i < item.itemattr_alert_release_delay_size(); i++) {
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_release_delay(i)->name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.mutable_itemattr_alert_release_delay(i)->value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_release_delay(i)->introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2126,10 +2264,10 @@ void MainWindow::pageParaSetInit_alert_release_delay()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_alert_dropcurr_rate()
|
||||
|
@ -2187,7 +2325,7 @@ void MainWindow::pageParaSetInit_alert_dropcurr_rate()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -2215,6 +2353,35 @@ void MainWindow::pageParaSetInit_alert_dropcurr_rate()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_paraset_alert_dropcurr_rate->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0) {
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i < item.itemattr_alert_dropcurr_rate_size(); i++) {
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_dropcurr_rate(i)->name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.mutable_itemattr_alert_dropcurr_rate(i)->value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_dropcurr_rate(i)->introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2240,6 +2407,7 @@ void MainWindow::pageParaSetInit_alert_dropcurr_rate()
|
|||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_alert_solve_measure()
|
||||
|
@ -2297,7 +2465,7 @@ void MainWindow::pageParaSetInit_alert_solve_measure()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -2325,6 +2493,35 @@ void MainWindow::pageParaSetInit_alert_solve_measure()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_paraset_alert_solve_mease->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0) {
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i < item.itemattr_alert_solve_measure_size(); i++) {
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_solve_measure(i)->name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.mutable_itemattr_alert_solve_measure(i)->value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.mutable_itemattr_alert_solve_measure(i)->introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2350,6 +2547,7 @@ void MainWindow::pageParaSetInit_alert_solve_measure()
|
|||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_DIDO_setting()
|
||||
|
@ -2407,7 +2605,7 @@ void MainWindow::pageParaSetInit_DIDO_setting()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -2435,6 +2633,36 @@ void MainWindow::pageParaSetInit_DIDO_setting()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_DIDO_setting->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i=0; i < item.itemattr_dido_size(); i++)
|
||||
{
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_dido(i).name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.itemattr_dido(i).value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_dido(i).introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2457,27 +2685,10 @@ void MainWindow::pageParaSetInit_DIDO_setting()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// int model_index = 0;
|
||||
// for(int i = 105; i <= 144; i++) {
|
||||
// for(int j = 0; j < 4; j++) {
|
||||
// if(j == 1) {
|
||||
// model->setItem(model_index, j, new QStandardItem(item.itemattr(i).name().c_str()));
|
||||
// }
|
||||
// else if(j == 2) {
|
||||
// model->setItem(model_index, j, new QStandardItem(QString::number(item.itemattr(i).value())));
|
||||
// }
|
||||
// else if(j == 3) {
|
||||
// model->setItem(model_index, j, new QStandardItem(item.itemattr(i).introduce().c_str()));
|
||||
// }
|
||||
// }
|
||||
// model_index++;
|
||||
// }
|
||||
// model_index = 0;
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_balance_setting()
|
||||
|
@ -2535,7 +2746,7 @@ void MainWindow::pageParaSetInit_balance_setting()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -2563,6 +2774,36 @@ void MainWindow::pageParaSetInit_balance_setting()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_balance_setting->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i< item.itemattr_balance_size(); i++)
|
||||
{
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_balance(i).name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.itemattr_balance(i).value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_balance(i).introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2585,28 +2826,10 @@ void MainWindow::pageParaSetInit_balance_setting()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// int model_index = 0;
|
||||
// for(int i = 157; i <= 161; i++) {
|
||||
// for(int j = 0; j < 4; j++) {
|
||||
// if(j == 1) {
|
||||
// model->setItem(model_index, j, new QStandardItem(item.itemattr(i).name().c_str()));
|
||||
// }
|
||||
// else if(j == 2) {
|
||||
// model->setItem(model_index, j, new QStandardItem(QString::number(item.itemattr(i).value())));
|
||||
// }
|
||||
// else if(j == 3) {
|
||||
// model->setItem(model_index, j, new QStandardItem(item.itemattr(i).introduce().c_str()));
|
||||
// }
|
||||
// }
|
||||
// model_index++;
|
||||
// }
|
||||
// model_index = 0;
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_SOX_setting()
|
||||
|
@ -2664,7 +2887,7 @@ void MainWindow::pageParaSetInit_SOX_setting()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -2692,6 +2915,36 @@ void MainWindow::pageParaSetInit_SOX_setting()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_SOX_setting->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for (int i=0; i < item.itemattr_sox_size(); i++)
|
||||
{
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_sox(i).name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.itemattr_sox(i).value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_sox(i).introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2714,10 +2967,10 @@ void MainWindow::pageParaSetInit_SOX_setting()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::pageParaSetInit_other_setting()
|
||||
|
@ -2775,7 +3028,7 @@ void MainWindow::pageParaSetInit_other_setting()
|
|||
QStringList columnNames;
|
||||
QList<int> columnWidths;
|
||||
columnNames << "check" << "name" << "value" << "introduce";
|
||||
columnWidths << 60 << 240 << 120 << 120;
|
||||
columnWidths << 60 << 420 << 120 << 120;
|
||||
|
||||
model = new QStandardItemModel;
|
||||
model->setHorizontalHeaderLabels(columnNames);
|
||||
|
@ -2803,6 +3056,35 @@ void MainWindow::pageParaSetInit_other_setting()
|
|||
lineEidtDelegate2->setDelegateType("QLineEdit");
|
||||
ui->tableView_other_setting->setItemDelegateForColumn(3,lineEidtDelegate2);
|
||||
|
||||
if(lan == 0)
|
||||
{
|
||||
BatteryConfig_English::Item item;
|
||||
std::ifstream finBetteryData("battery_english.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
qDebug() << __FUNCTION__ << __LINE__ << "proto parse failed";
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
else {
|
||||
for(int i = 0; i < item.itemattr_other_size(); i++) {
|
||||
for(int j = 0; j < 4; j++) {
|
||||
if(j == 1) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_other(i).name().c_str()));
|
||||
}
|
||||
else if(j == 2) {
|
||||
model->setItem(i, j, new QStandardItem(QString::number(item.itemattr_other(i).value())));
|
||||
}
|
||||
else if(j == 3) {
|
||||
model->setItem(i, j, new QStandardItem(item.itemattr_other(i).introduce().c_str()));
|
||||
}
|
||||
}
|
||||
}
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
else if(lan == 1)
|
||||
{
|
||||
BatteryConfig::Item item;
|
||||
std::ifstream finBetteryData("battery.data", std::ios::binary);
|
||||
if(!item.ParseFromIstream(&finBetteryData)) {
|
||||
|
@ -2824,11 +3106,10 @@ void MainWindow::pageParaSetInit_other_setting()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
finBetteryData.close();
|
||||
finBetteryData.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// void MainWindow::setNum(QString value)
|
||||
|
|
|
@ -13,6 +13,7 @@ class QSettings;
|
|||
class QLabel;
|
||||
class QFile;
|
||||
class AppProto;
|
||||
class Appproto_English;
|
||||
class ChartPaint;
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
@ -36,6 +37,7 @@ public:
|
|||
QStandardItemModel *model;
|
||||
ComLogin *m_ComLogin;
|
||||
AppProto *m_AppProto;
|
||||
Appproto_English *m_AppProto_English;
|
||||
QSettings *ini;
|
||||
QFile *logFile;
|
||||
QLabel *statusBarConnectedIcon;
|
||||
|
@ -58,6 +60,7 @@ public:
|
|||
QList<int> base_info83_106;
|
||||
int battery_count;
|
||||
ModbusRTU *m_modbusrtu_main;
|
||||
int lan;
|
||||
|
||||
int tabWidget_paraset_index = 0;
|
||||
|
||||
|
@ -113,6 +116,7 @@ private:
|
|||
|
||||
public slots:
|
||||
// void setNum(QString value);
|
||||
void getLanNumberSlot(int number);
|
||||
|
||||
signals:
|
||||
void showLogin();
|
||||
|
|
1493
mainwindow.ui
1493
mainwindow.ui
File diff suppressed because it is too large
Load Diff
|
@ -42,6 +42,7 @@ void ModbusRTU::run()
|
|||
QList<int> base_list_47_49_51_53_55;
|
||||
uint16_t sgl_vol[112]; // Buffer to store the registers
|
||||
uint16_t sgl_tempt[112];
|
||||
// uint16_t alarm[];
|
||||
|
||||
label: int ret_base1_45 = modbus_read_input_registers(m_ModbusRTUDevice, 1, 45, base1_45);
|
||||
if(MODBUS_ERR == ret_base1_45)
|
||||
|
@ -100,7 +101,7 @@ void ModbusRTU::run()
|
|||
if(MODBUS_ERR == ret_base57_78)
|
||||
{
|
||||
// qDebug() << "modbus no message";
|
||||
return;
|
||||
goto label;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -130,38 +131,38 @@ void ModbusRTU::run()
|
|||
free(m_ModbusRTUDevice->recvMsg);
|
||||
}
|
||||
|
||||
int ret_vol = modbus_read_input_registers(m_ModbusRTUDevice, 1001, 112, sgl_vol);
|
||||
if(MODBUS_ERR == ret_vol)
|
||||
{
|
||||
// qDebug() << "modbus no message";
|
||||
goto label;
|
||||
// int ret_vol = modbus_read_input_registers(m_ModbusRTUDevice, 1001, 112, sgl_vol);
|
||||
// if(MODBUS_ERR == ret_vol)
|
||||
// {
|
||||
// // qDebug() << "modbus no message";
|
||||
// goto label;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
QByteArray sendArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->sendMsg), m_ModbusRTUDevice->sendMsgLen);
|
||||
emit sig_showModbusData(sendArray, TypeSendData);
|
||||
free(m_ModbusRTUDevice->sendMsg);
|
||||
QByteArray recvArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->recvMsg), m_ModbusRTUDevice->recvMsgLen);
|
||||
emit sig_showModbusData(recvArray, TypeRecvData);
|
||||
free(m_ModbusRTUDevice->recvMsg);
|
||||
}
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// QByteArray sendArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->sendMsg), m_ModbusRTUDevice->sendMsgLen);
|
||||
// emit sig_showModbusData(sendArray, TypeSendData);
|
||||
// free(m_ModbusRTUDevice->sendMsg);
|
||||
// QByteArray recvArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->recvMsg), m_ModbusRTUDevice->recvMsgLen);
|
||||
// emit sig_showModbusData(recvArray, TypeRecvData);
|
||||
// free(m_ModbusRTUDevice->recvMsg);
|
||||
// }
|
||||
|
||||
int ret_tempt = modbus_read_input_registers(m_ModbusRTUDevice, 1601, 112, sgl_tempt);
|
||||
if(MODBUS_ERR == ret_tempt)
|
||||
{
|
||||
// qDebug() << "modbus no message";
|
||||
goto label;
|
||||
}
|
||||
else
|
||||
{
|
||||
QByteArray sendArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->sendMsg), m_ModbusRTUDevice->sendMsgLen);
|
||||
emit sig_showModbusData_sgl_tempt(sendArray, TypeSendData);
|
||||
free(m_ModbusRTUDevice->sendMsg);
|
||||
QByteArray recvArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->recvMsg), m_ModbusRTUDevice->recvMsgLen);
|
||||
emit sig_showModbusData_sgl_tempt(recvArray, TypeRecvData);
|
||||
free(m_ModbusRTUDevice->recvMsg);
|
||||
}
|
||||
// int ret_tempt = modbus_read_input_registers(m_ModbusRTUDevice, 1601, 112, sgl_tempt);
|
||||
// if(MODBUS_ERR == ret_tempt)
|
||||
// {
|
||||
// // qDebug() << "modbus no message";
|
||||
// goto label;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// QByteArray sendArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->sendMsg), m_ModbusRTUDevice->sendMsgLen);
|
||||
// emit sig_showModbusData_sgl_tempt(sendArray, TypeSendData);
|
||||
// free(m_ModbusRTUDevice->sendMsg);
|
||||
// QByteArray recvArray = QByteArray::fromRawData(reinterpret_cast<char *>(m_ModbusRTUDevice->recvMsg), m_ModbusRTUDevice->recvMsgLen);
|
||||
// emit sig_showModbusData_sgl_tempt(recvArray, TypeRecvData);
|
||||
// free(m_ModbusRTUDevice->recvMsg);
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
@echo off
|
||||
|
||||
set local
|
||||
:: 设置库路径
|
||||
SET LIB_PATH=..\library\libprotobuf\lib
|
||||
:: 设置环境变量
|
||||
SET PATH=%LIB_PATH%;%PATH%
|
||||
:: 设置protoc路径
|
||||
SET PROTOC_PATH=..\library\libprotobuf\bin\protoc.exe
|
||||
:: 编译proto文件
|
||||
%PROTOC_PATH% --cpp_out=.\ *.proto
|
||||
|
||||
pause
|
||||
endlocal
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,105 @@
|
|||
syntax = "proto3";
|
||||
|
||||
package BatteryConfig_English;
|
||||
|
||||
message Item{
|
||||
repeated Attributes ItemAttr = 1;
|
||||
repeated Attributes_balance ItemAttr_balance = 2;
|
||||
repeated Attributes_DIDO ItemAttr_DIDO = 3;
|
||||
repeated Attributes_SOX ItemAttr_SOX = 4;
|
||||
repeated Attributes_other ItemAttr_other = 5;
|
||||
repeated Attributes_alert_value ItemAttr_alert_value = 6;
|
||||
repeated Attributes_alert_delay ItemAttr_alert_delay = 7;
|
||||
repeated Attributes_alert_release_value ItemAttr_alert_release_value = 8;
|
||||
repeated Attributes_alert_release_delay ItemAttr_alert_release_delay = 9;
|
||||
repeated Attributes_alert_dropcurr_rate ItemAttr_alert_dropcurr_rate = 10;
|
||||
repeated Attributes_alert_solve_measure ItemAttr_alert_solve_measure = 11;
|
||||
}
|
||||
|
||||
message Attributes{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_balance{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_DIDO{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_SOX{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_other{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_alert_value{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_alert_delay{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_alert_release_value{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_alert_release_delay{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_alert_dropcurr_rate{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
||||
|
||||
message Attributes_alert_solve_measure{
|
||||
string name = 1;
|
||||
int32 addr = 2;
|
||||
int32 value = 3;
|
||||
float scale = 4;
|
||||
string introduce = 5;
|
||||
}
|
Loading…
Reference in New Issue