TSI_Config/ethconfig.cpp

48 lines
1.5 KiB
C++
Raw Normal View History

2025-04-27 10:05:00 +08:00
#include "ethconfig.h"
#include "ui_ethconfig.h"
#include <QRegularExpression>
#include <QRegularExpressionValidator>
EthConfig::EthConfig(QWidget *parent) :
QWidget(parent),
ui(new Ui::EthConfig)
{
ui->setupUi(this);
QRegularExpression ipRegex(R"(^(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$)");
QRegularExpressionValidator *ipValidator = new QRegularExpressionValidator(ipRegex, this);
ui->lineEdit_IP->setValidator(ipValidator);
ui->lineEdit_netmask->setValidator(ipValidator);
ui->lineEdit_gw->setValidator(ipValidator);
}
EthConfig::~EthConfig()
{
delete ui;
}
void EthConfig::on_pushButton_confirm_clicked()
{
2025-05-14 23:14:50 +08:00
ConfigIPv4Req config_ip = { {0xAA, 0x55, 0xAA}, kRebootCard, 1,0,{},{},{} };
2025-04-27 10:05:00 +08:00
config_ip.ethn = ui->comboBox_eth->currentIndex();
memcpy(config_ip.ip,ui->lineEdit_IP->text().toStdString().c_str(),sizeof(config_ip.ip));
memcpy(config_ip.netmask,ui->lineEdit_netmask->text().toStdString().c_str(),sizeof(config_ip.netmask));
memcpy(config_ip.gw,ui->lineEdit_gw->text().toStdString().c_str(),sizeof(config_ip.gw));
char send_buf[100] ={0};
2025-05-14 23:14:50 +08:00
memcpy(send_buf, (char*)&config_ip, sizeof(ConfigIPv4Req));
2025-04-27 10:05:00 +08:00
2025-05-14 23:14:50 +08:00
int length = sizeof(ConfigIPv4Req);
2025-04-27 10:05:00 +08:00
qint64 bytesWritten = m_tcpClient->sendData(send_buf, length);
m_tcpClient->waitForRead();
qDebug() << "bytesWritten: " << bytesWritten;
this->close();
}
void EthConfig::on_pushButton_cancel_clicked()
{
this->close();
}