| 
									
										
										
										
											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(); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 |