void BTReaderThread::run() { qDebug()<<"Reader Thread running"<<endl; if (serial!=NULL){ //Conexión a las notificaciones del objeto QSerialPort connect(serial, SIGNAL(error(QSerialPort::SerialPortError)), this,SLOT(handleError(QSerialPort::SerialPortError))); connect(serial, SIGNAL(readyRead()), this, SLOT(readData())); //Recepcion de señal de apertura de puerto. Conexión sin uso necesario. //connect(this->parent(),SIGNAL(openSignal()),this,SLOT(openSerialPort())); //connect(this->parent(),SIGNAL(closeSignal()),this,SLOT(closeSerialPort())); //Señal de recepcion de muestra, para estudio de retardo //connect(this,SIGNAL(FinishSignal()),this->parent(),SLOT(saveData())); } else { emit ShowErrorSignal("Error al iniciar el puerto serie"); } /*Sistema de simulación de recepción de datos. * Los datos se leen de un fichero como si se recibiesen y * se introduce un retardo artificial que simula el que * existe entre muestras. */ QFile file("DataSample_2_T100.txt"); for (int i = 0; i<1;i++){ if ( file.open(QIODevice::ReadOnly|QIODevice::Text) ) { QTextStream stream(&file); QString line = stream.readLine(); while (line.length()>0){ //for (int i=0; i<100 ; i++){ line.append("\n\r"); list<<line; line = stream.readLine(); } } file.close(); } for (int i=0; i<list.size();i++){ QByteArray data; data.append(list.at(i)); emit DataBytesSignal(data); this->usleep(sleeptime); } emit FinishSignal(); }
void Pack::Stop() { if (mpprocess != NULL){ QProcess killer; killer.start("taskkill", QStringList() << "/f" << "/im" << "java.exe"); if (!killer.waitForStarted()) return; if (!killer.waitForFinished()) return; mpprocess->terminate(); mpprocess->deleteLater(); mpprocess = NULL; } this->terminate(); this->wait(); if (!PathManager::RemoveDir(mtmpPath)){ emit GenerateError(QStringLiteral("error:清除缓存出错!渠道ID:%1,渠道名:%2\n").arg(mchannelId).arg(mchannelName)); } emit FinishSignal(2, mtaskId); }