void SphereBot::sendNextLine(){ if(state!=Spherebot::SB_Printing) return; if(fileStream->atEnd()){ state=Spherebot::SB_Idle; file->close(); fileStream->reset(); disableSteppers(); emit printDone(); return; } QString line=fileStream->readLine(); QString stripped = QString(line); stripped.remove(QRegExp("\\((.*)\\)")); if (stripped.length()>1){ if (stripped.startsWith("M01")){ state=Spherebot::SB_WaitUserOk; emit printPause(line); return; } else { state=Spherebot::SB_WaitPrinterOk; serial->write(stripped.append("\n").toUtf8()); return; } } sendNextLine(); }
printerObj->moveToThread(qthread); qthread->start(QThread::HighestPriority); this->portEnum = new QextSerialEnumerator(this); this->portEnum->setUpNotifications(); QList<QextPortInfo> ports = this->portEnum->getPorts(); //finding avalible ports foreach (QextPortInfo info, ports) { ui->portCombo->addItem(info.portName); } //connecting travel moves checkbox connect(ui->showTravelChkBox, SIGNAL(toggled(bool)),ui->glWidget, SLOT(showTravel(bool))); //disable steppers btn connect(ui->disableStpBtn, SIGNAL(clicked()), printerObj, SLOT(disableSteppers()), Qt::QueuedConnection); //connect head move widget connect(ui->headControlWidget, SIGNAL(clicked(QPoint)), this, SLOT(moveHead(QPoint))); connect(ui->headControlWidget, SIGNAL(hovered(QPoint)), this, SLOT(updateHeadGoToXY(QPoint))); ui->printBtn->setDisabled(true); ui->pauseBtn->setDisabled(true); ui->axisControlGroup->setDisabled(true); ui->headControlWidget->hidePoints(true); ui->temperatureGroupBox->setDisabled(true); this->calibrateDialog->setDisabled(true); ui->macroGroup->setDisabled(true); ui->progressBar->hide(); ui->baudCombo->addItem("1200", BAUD1200); ui->baudCombo->addItem("2400", BAUD2400); ui->baudCombo->addItem("4800", BAUD4800);