BDTeset/src/cpp/testThread.cpp

86 lines
1.9 KiB
C++
Raw Normal View History

2025-06-30 16:27:41 +00:00
#include "testThread.h"
bool TestThread::setTestList(const QVector<TEST_TYPE> &list)
{
if(onTest){
return false;
}
testList = list;
return true;
}
void TestThread::stopTest()
{
quit = true;
}
bool TestThread::isOnTest()
{
return onTest;
}
TestThread::TestThread() {}
TestThread::~TestThread() {}
void TestThread::receiverSerialDataHandle(const QByteArray &data)
{
if(!onTest){
return;
}
unprocessData.append(data);
}
void TestThread::run()
{
onTest = true;
quit = false;
for(int i=0;i<testList.size();i++){
if(quit){
break;
}
TEST_TYPE type = testList[i];
switch (type) {
case SERIAL:
{
for(int i=0;i<11;i++){//等10秒后看看是否串口有输出
if(quit){
break;
}
emit curTestInfoSignal("串口接收",i);
if(i<9){//9秒前把数据清空
unprocessData.clear();
}
sleep(1);
}
if(unprocessData.size()>0){
emit serialRecvResultSignal(true);
}else{
emit serialRecvResultSignal(false);
}
unprocessData.clear();
//todo
bool bsend = false;
for(int i=0;i<5;i++){//测试串口发送
if(quit){
break;
}
emit curTestInfoSignal("串口发送",i);
emit writeDataSignal("version\r\n");
sleep(1);
QString txt = QString::fromLatin1(unprocessData);
if(txt.contains("v")){
bsend = true;
break;
}
}
emit serialSendResultSignal(bsend);
break;
}
default:
break;
}
}
onTest = false;
}