SerialManagerView::SerialManagerView(QWidget *parent) : QWidget(parent) { /// Timer for Polling timer = new QTimer(this); timer->setInterval(1000); PortSettings settings = {BAUD115200, DATA_8, PAR_NONE, STOP_1, FLOW_OFF, 10}; port = new QextSerialPort(QLatin1String("/dev/tty.usbmodem622"), settings, QextSerialPort::Polling); connect(timer, SIGNAL(timeout()), SLOT(onReadyRead())); /// protocoles connect(port, SIGNAL(readyRead()), SLOT(onReadyRead())); /// Enumerator /// enumerator = new QextSerialEnumerator(this); enumerator->setUpNotifications(); connect(enumerator, SIGNAL(deviceDiscovered(QextPortInfo)), SLOT(onPortAddedOrRemoved())); connect(enumerator, SIGNAL(deviceRemoved(QextPortInfo)), SLOT(onPortAddedOrRemoved())); message = new QLineEdit(this); setupGUI(); }
DialogBare::DialogBare(QWidget *parent) : QWidget(parent), loading(false), ui(new Ui::DialogBare), worker(NULL), boardFoundWidget(NULL) { ui->setupUi(this); foreach (QextPortInfo info, QextSerialEnumerator::getPorts()) if (!info.portName.isEmpty()) ui->portBox->addItem(info.portName); //make sure user can input their own port name! ui->portBox->setEditable(true); // ui->led->turnOff(); PortSettings settings = {BAUD9600, DATA_8, PAR_NONE, STOP_1, FLOW_OFF, 10}; port = new QextSerialPort(ui->portBox->currentText(), settings, QextSerialPort::Polling); enumerator = new QextSerialEnumerator(this); enumerator->setUpNotifications(); ui->boardComboBox->addItem("PX4FMU v1.6+", 5); ui->boardComboBox->addItem("PX4FLOW v1.1+", 6); ui->boardComboBox->addItem("PX4IO v1.3+", 7); ui->boardComboBox->addItem("PX4 board #8", 8); ui->boardComboBox->addItem("PX4 board #9", 9); ui->boardComboBox->addItem("PX4 board #10", 10); ui->boardComboBox->addItem("PX4 board #11", 11); connect(ui->portBox, SIGNAL(editTextChanged(QString)), SLOT(onPortNameChanged(QString))); connect(ui->flashButton, SIGNAL(clicked()), SLOT(onUploadButtonClicked())); connect(ui->scanButton, SIGNAL(clicked()), SLOT(onDetect())); connect(ui->selectFileButton, SIGNAL(clicked()), SLOT(onFileSelectRequested())); connect(ui->cancelButton, SIGNAL(clicked()), SLOT(onCancelButtonClicked())); connect(ui->advancedCheckBox, SIGNAL(clicked(bool)), this, SLOT(onToggleAdvancedMode(bool))); connect(enumerator, SIGNAL(deviceDiscovered(QextPortInfo)), SLOT(onPortAddedOrRemoved())); connect(enumerator, SIGNAL(deviceRemoved(QextPortInfo)), SLOT(onPortAddedOrRemoved())); setWindowTitle(tr("QUpgrade Firmware Upload / Configuration Tool")); // Adjust the size const int screenHeight = qMin(1000, QApplication::desktop()->height() - 100); resize(700, qMax(screenHeight, 550)); // load settings loadSettings(); // Set up initial state if (!lastFilename.isEmpty()) { ui->flashButton->setEnabled(true); } else { ui->flashButton->setEnabled(false); } }
Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); //! [0] foreach (QextPortInfo info, QextSerialEnumerator::getPorts()) ui->portBox->addItem(info.portName); //make sure user can input their own port name! ui->portBox->setEditable(true); ui->baudRateBox->addItem("1200", BAUD1200); ui->baudRateBox->addItem("2400", BAUD2400); ui->baudRateBox->addItem("4800", BAUD4800); ui->baudRateBox->addItem("9600", BAUD9600); ui->baudRateBox->addItem("19200", BAUD19200); ui->baudRateBox->addItem("115200", BAUD115200); ui->baudRateBox->setCurrentIndex(5); ui->parityBox->addItem("NONE", PAR_NONE); ui->parityBox->addItem("ODD", PAR_ODD); ui->parityBox->addItem("EVEN", PAR_EVEN); ui->dataBitsBox->addItem("5", DATA_5); ui->dataBitsBox->addItem("6", DATA_6); ui->dataBitsBox->addItem("7", DATA_7); ui->dataBitsBox->addItem("8", DATA_8); ui->dataBitsBox->setCurrentIndex(3); ui->stopBitsBox->addItem("1", STOP_1); ui->stopBitsBox->addItem("2", STOP_2); ui->queryModeBox->addItem("Polling", QextSerialPort::Polling); ui->queryModeBox->addItem("EventDriven", QextSerialPort::EventDriven); //! [0] ui->led_SerialOnOff->turnOff(); ui->led_MavlinkStatus->turnOff(); ui->led_Tx->turnOff(); ui->led_Rx->turnOff(); timer = new QTimer(this); timer->setInterval(40); timer_colck = new QTimer(this); connect(timer_colck, SIGNAL(timeout()), this, SLOT(onClockLabelUpdate())); timer_colck->start(1000); //! [1] PortSettings settings = {BAUD9600, DATA_8, PAR_NONE, STOP_1, FLOW_OFF, 10}; port = new QextSerialPort(ui->portBox->currentText(), settings, QextSerialPort::Polling); //! [1] enumerator = new QextSerialEnumerator(this); enumerator->setUpNotifications(); connect(ui->baudRateBox, SIGNAL(currentIndexChanged(int)), SLOT(onBaudRateChanged(int))); connect(ui->parityBox, SIGNAL(currentIndexChanged(int)), SLOT(onParityChanged(int))); connect(ui->dataBitsBox, SIGNAL(currentIndexChanged(int)), SLOT(onDataBitsChanged(int))); connect(ui->stopBitsBox, SIGNAL(currentIndexChanged(int)), SLOT(onStopBitsChanged(int))); connect(ui->queryModeBox, SIGNAL(currentIndexChanged(int)), SLOT(onQueryModeChanged(int))); connect(ui->timeoutBox, SIGNAL(valueChanged(int)), SLOT(onTimeoutChanged(int))); connect(ui->portBox, SIGNAL(editTextChanged(QString)), SLOT(onPortNameChanged(QString))); connect(ui->openCloseButton, SIGNAL(clicked()), SLOT(onOpenCloseButtonClicked())); connect(timer, SIGNAL(timeout()), SLOT(onReadyRead())); connect(port, SIGNAL(readyRead()), SLOT(onReadyRead())); connect(enumerator, SIGNAL(deviceDiscovered(QextPortInfo)), SLOT(onPortAddedOrRemoved())); connect(enumerator, SIGNAL(deviceRemoved(QextPortInfo)), SLOT(onPortAddedOrRemoved())); ui->tb_hexview->setRowCount(1); ui->tb_hexview->setColumnCount(1); ui->tb_hexview->setItem(0, 0, new QTableWidgetItem(" ")); QDateTime local(QDateTime::currentDateTime()); ui->label_13->setText(local.toString()); ui->progressBar_Status->setValue(100); setWindowTitle("OpenCR Firmware Downloader v1.0"); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); offcount = 0; datadisp = new DataDisplay(this); // this->setWindowFlags(Qt::WindowStaysOnTopHint); // this->setAttribute(Qt::WA_TranslucentBackground, true); setWindowTitle(tr("TMT Actuator Test Station Software")); ui->enccomboBox->addItem("10 seconds"); ui->enccomboBox->addItem("25 seconds"); ui->enccomboBox->addItem("50 seconds"); ui->enccomboBox->addItem("100 seconds"); ui->offcomboBox->addItem("1 mm"); ui->offcomboBox->addItem("3 mm"); ui->offcomboBox->addItem("6 mm"); ui->vcmcomboBox->addItem("20 seconds"); ui->vcmcomboBox->addItem("40 seconds"); ui->vcmcomboBox->addItem("80 seconds"); ui->vcmcomboBox->addItem("100 seconds"); ui->customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); // ui->customPlot->setBackground(Qt::transparent); ui->customPlot->legend->setVisible(true); ui->customPlot->legend->setFont(QFont("Helvetica", 7)); ui->customPlot->axisRect()->setBackground(Qt::darkGray); ui->customPlot->axisRect()->setupFullAxesBox(); ui->customPlot->addGraph(); // blue line ui->customPlot->graph(0)->setName("Encoder Count vs. Time"); ui->customPlot->graph(0)->setPen(QPen(Qt::blue)); ui->customPlot->graph(0)->setLineStyle(QCPGraph::lsLine); ui->customPlot->graph(0)->setAntialiasedFill(false); ui->customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime); ui->customPlot->xAxis->setDateTimeFormat("hh:mm:ss"); ui->customPlot->xAxis->setAutoTickStep(true); ui->customPlot->xAxis->setTickStep(1); ui->customPlot_1->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); ui->customPlot_1->legend->setVisible(true); ui->customPlot_1->legend->setFont(QFont("Helvetica", 7)); ui->customPlot_1->axisRect()->setBackground(Qt::darkGray); ui->customPlot_1->axisRect()->setupFullAxesBox(); ui->customPlot_1->addGraph(); // blue line ui->customPlot_1->graph(0)->setName("Sensor Data vs. Time"); ui->customPlot_1->graph(0)->setPen(QPen(Qt::green)); ui->customPlot_1->graph(0)->setLineStyle(QCPGraph::lsLine); ui->customPlot_1->graph(0)->setAntialiasedFill(false); ui->customPlot_1->xAxis->setTickLabelType(QCPAxis::ltDateTime); ui->customPlot_1->xAxis->setDateTimeFormat("hh:mm:ss"); ui->customPlot_1->xAxis->setAutoTickStep(true); foreach (QextPortInfo info, QextSerialEnumerator::getPorts()) ui->portBox->addItem(info.portName); ui->portBox->setEditable(true); ui->baudRateBox->addItem("9600", BAUD9600); ui->baudRateBox->addItem("115200", BAUD115200); ui->baudRateBox->setCurrentIndex(2); ui->parityBox->addItem("NONE", PAR_NONE); ui->parityBox->addItem("ODD", PAR_ODD); ui->parityBox->addItem("EVEN", PAR_EVEN); ui->dataBitsBox->addItem("5", DATA_5); ui->dataBitsBox->addItem("6", DATA_6); ui->dataBitsBox->addItem("7", DATA_7); ui->dataBitsBox->addItem("8", DATA_8); ui->dataBitsBox->setCurrentIndex(3); ui->stopBitsBox->addItem("1", STOP_1); ui->stopBitsBox->addItem("2", STOP_2); ui->queryModeBox->addItem("POLLING", QextSerialPort::Polling); ui->queryModeBox->addItem("EVENT DRIVEN", QextSerialPort::EventDriven); timer = new QTimer(this); timer->setInterval(40); PortSettings settings = {BAUD115200, DATA_8, PAR_NONE, STOP_1, FLOW_OFF, 10}; port = new QextSerialPort(ui->portBox->currentText(), settings, QextSerialPort::Polling); enumerator = new QextSerialEnumerator(this); enumerator->setUpNotifications(); connect(ui->connect_Button, SIGNAL(clicked()), SLOT(run())); connect(ui->disconnect_Button, SIGNAL(clicked()), SLOT(disconnectClient())); connect(ui->stop_Button, SIGNAL(clicked()), SLOT(stopplot())); connect(ui->reset_window_Button, SIGNAL(clicked()), SLOT(resetfun())); connect(ui->enc_test_run_Button, SIGNAL(clicked()), SLOT(encoderfun())); connect(ui->enc_test_run_Button, SIGNAL(clicked()), SLOT(showdatadisp())); connect(ui->off_up_Button, SIGNAL(clicked()), SLOT(offloaderfun())); connect(ui->off_down_Button, SIGNAL(clicked()), SLOT(offloaderfun_1())); connect(ui->vcm_test_run_Button, SIGNAL(clicked()), SLOT(vcmfun())); connect(ui->vcm_test_run_Button, SIGNAL(clicked()), SLOT(showdatadisp())); connect(ui->reset_drive_board_Button, SIGNAL(clicked()), SLOT(resetdrivefun())); connect(ui->save_plot_Button, SIGNAL(clicked()), SLOT(saveplot_fun())); connect(ui->baudRateBox, SIGNAL(currentIndexChanged(int)), SLOT(onBaudRateChanged(int))); connect(ui->parityBox, SIGNAL(currentIndexChanged(int)), SLOT(onParityChanged(int))); connect(ui->dataBitsBox, SIGNAL(currentIndexChanged(int)), SLOT(onDataBitsChanged(int))); connect(ui->stopBitsBox, SIGNAL(currentIndexChanged(int)), SLOT(onStopBitsChanged(int))); connect(ui->portBox, SIGNAL(editTextChanged(QString)), SLOT(onPortNameChanged(QString))); connect(ui->openCloseButton, SIGNAL(clicked()), SLOT(onOpenCloseButtonClicked())); connect(ui->sendButton, SIGNAL(clicked()), SLOT(onSendButtonClicked())); connect(ui->aboutButton, SIGNAL(clicked()), SLOT(about_fun())); connect(timer, SIGNAL(timeout()), SLOT(onReadyRead())); connect(port, SIGNAL(readyRead()), SLOT(onReadyRead())); connect(enumerator, SIGNAL(deviceDiscovered(QextPortInfo)), SLOT(onPortAddedOrRemoved())); connect(enumerator, SIGNAL(deviceRemoved(QextPortInfo)), SLOT(onPortAddedOrRemoved())); }
Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); //! [0] foreach (QextPortInfo info, QextSerialEnumerator::getPorts()) ui->portBox->addItem(info.portName); //make sure user can input their own port name! ui->portBox->setEditable(true); ui->baudRateBox->addItem("1200", BAUD1200); ui->baudRateBox->addItem("2400", BAUD2400); ui->baudRateBox->addItem("4800", BAUD4800); ui->baudRateBox->addItem("9600", BAUD9600); ui->baudRateBox->addItem("19200", BAUD19200); ui->baudRateBox->setCurrentIndex(3); ui->parityBox->addItem("NONE", PAR_NONE); ui->parityBox->addItem("ODD", PAR_ODD); ui->parityBox->addItem("EVEN", PAR_EVEN); ui->dataBitsBox->addItem("5", DATA_5); ui->dataBitsBox->addItem("6", DATA_6); ui->dataBitsBox->addItem("7", DATA_7); ui->dataBitsBox->addItem("8", DATA_8); ui->dataBitsBox->setCurrentIndex(3); ui->stopBitsBox->addItem("1", STOP_1); ui->stopBitsBox->addItem("2", STOP_2); ui->queryModeBox->addItem("Polling", QextSerialPort::Polling); ui->queryModeBox->addItem("EventDriven", QextSerialPort::EventDriven); //! [0] ui->led->turnOff(); timer = new QTimer(this); timer->setInterval(40); //! [1] PortSettings settings = {BAUD9600, DATA_8, PAR_NONE, STOP_1, FLOW_OFF, 10}; port = new QextSerialPort(ui->portBox->currentText(), settings, QextSerialPort::Polling); //! [1] enumerator = new QextSerialEnumerator(this); enumerator->setUpNotifications(); connect(ui->baudRateBox, SIGNAL(currentIndexChanged(int)), SLOT(onBaudRateChanged(int))); connect(ui->parityBox, SIGNAL(currentIndexChanged(int)), SLOT(onParityChanged(int))); connect(ui->dataBitsBox, SIGNAL(currentIndexChanged(int)), SLOT(onDataBitsChanged(int))); connect(ui->stopBitsBox, SIGNAL(currentIndexChanged(int)), SLOT(onStopBitsChanged(int))); connect(ui->queryModeBox, SIGNAL(currentIndexChanged(int)), SLOT(onQueryModeChanged(int))); connect(ui->timeoutBox, SIGNAL(valueChanged(int)), SLOT(onTimeoutChanged(int))); connect(ui->portBox, SIGNAL(editTextChanged(QString)), SLOT(onPortNameChanged(QString))); connect(ui->openCloseButton, SIGNAL(clicked()), SLOT(onOpenCloseButtonClicked())); connect(ui->sendButton, SIGNAL(clicked()), SLOT(onSendButtonClicked())); connect(timer, SIGNAL(timeout()), SLOT(onReadyRead())); connect(port, SIGNAL(readyRead()), SLOT(onReadyRead())); connect(enumerator, SIGNAL(deviceDiscovered(QextPortInfo)), SLOT(onPortAddedOrRemoved())); connect(enumerator, SIGNAL(deviceRemoved(QextPortInfo)), SLOT(onPortAddedOrRemoved())); setWindowTitle(tr("QextSerialPort Demo")); }
Dialog::Dialog(QWidget *parent) : QWidget(parent), loading(false), ui(new Ui::Dialog) { ui->setupUi(this); foreach (QextPortInfo info, QextSerialEnumerator::getPorts()) if (!info.portName.isEmpty()) ui->portBox->addItem(info.portName); //make sure user can input their own port name! ui->portBox->setEditable(true); // ui->led->turnOff(); PortSettings settings = {BAUD9600, DATA_8, PAR_NONE, STOP_1, FLOW_OFF, 10}; port = new QextSerialPort(ui->portBox->currentText(), settings, QextSerialPort::Polling); enumerator = new QextSerialEnumerator(this); enumerator->setUpNotifications(); ui->boardComboBox->addItem("PX4FMU v1.6+", 5); ui->boardComboBox->addItem("PX4FLOW v1.1+", 6); ui->boardComboBox->addItem("PX4IO v1.3+", 7); ui->boardComboBox->addItem("PX4 board #8", 8); ui->boardComboBox->addItem("PX4 board #9", 9); ui->boardComboBox->addItem("PX4 board #10", 10); ui->boardComboBox->addItem("PX4 board #11", 11); connect(ui->portBox, SIGNAL(editTextChanged(QString)), SLOT(onPortNameChanged(QString))); connect(ui->flashButton, SIGNAL(clicked()), SLOT(onUploadButtonClicked())); connect(ui->selectFileButton, SIGNAL(clicked()), SLOT(onFileSelectRequested())); connect(ui->cancelButton, SIGNAL(clicked()), SLOT(onCancelButtonClicked())); // disable JavaScript for Windows for faster startup #ifdef Q_OS_WIN QWebSettings *webViewSettings = ui->webView->settings(); webViewSettings->setAttribute(QWebSettings::JavascriptEnabled, false); #endif connect(ui->webView->page(), SIGNAL(downloadRequested(const QNetworkRequest&)), this, SLOT(onDownloadRequested(const QNetworkRequest&))); ui->webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); connect(ui->webView->page(), SIGNAL(linkClicked(const QUrl&)), this, SLOT(onLinkClicked(const QUrl&))); connect(ui->prevButton, SIGNAL(clicked()), ui->webView, SLOT(back())); connect(ui->homeButton, SIGNAL(clicked()), this, SLOT(onHomeRequested())); connect(ui->advancedCheckBox, SIGNAL(clicked(bool)), this, SLOT(onToggleAdvancedMode(bool))); connect(enumerator, SIGNAL(deviceDiscovered(QextPortInfo)), SLOT(onPortAddedOrRemoved())); connect(enumerator, SIGNAL(deviceRemoved(QextPortInfo)), SLOT(onPortAddedOrRemoved())); setWindowTitle(tr("QUpgrade Firmware Upload / Configuration Tool")); // Adjust the size const int screenHeight = qMin(1000, QApplication::desktop()->height() - 100); resize(700, qMax(screenHeight, 550)); // about:blank shouldn't be part of the history ui->webView->history()->clear(); onHomeRequested(); // load settings loadSettings(); // Set up initial state if (!lastFilename.isEmpty()) { ui->flashButton->setEnabled(true); } else { ui->flashButton->setEnabled(false); } }