Files
@ e9cebfbc996c
Branch filter:
Location: tempo-plotter/mainwindow.h - annotation
e9cebfbc996c
2.9 KiB
text/plain
replaced FindQwt.cmake with my version
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 649401566a84 58db5f6bf2b1 f38042ba2eb0 58db5f6bf2b1 4d74a5d375ab f38042ba2eb0 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 58db5f6bf2b1 649401566a84 9bae09bf73ab 0a2afa6ed583 71f772af835d 71f772af835d 649401566a84 58db5f6bf2b1 58db5f6bf2b1 f38042ba2eb0 f38042ba2eb0 f38042ba2eb0 f38042ba2eb0 4ff060c076ab f38042ba2eb0 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 649401566a84 bcd6b30d01d1 bcd6b30d01d1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 4d74a5d375ab 0a2afa6ed583 71f772af835d 71f772af835d 58db5f6bf2b1 58db5f6bf2b1 b12c2ff3d038 58db5f6bf2b1 bcd6b30d01d1 bcd6b30d01d1 a6e52579723b 90fb38350cfd 90fb38350cfd a6e52579723b 649401566a84 649401566a84 649401566a84 44b87d87610b 44b87d87610b 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 | /*
Copyright © 2015 Hasan Yavuz Özderya
This file is part of serialplot.
serialplot is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
serialplot is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with serialplot. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QButtonGroup>
#include <QString>
#include <QVector>
#include <QSerialPort>
#include <QSignalMapper>
#include <qwt_plot_curve.h>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
enum NumberFormat
{
NumberFormat_uint8,
NumberFormat_uint16,
NumberFormat_uint32,
NumberFormat_int8,
NumberFormat_int16,
NumberFormat_int32
};
Ui::MainWindow *ui;
QButtonGroup numberFormatButtons;
QButtonGroup parityButtons;
QButtonGroup dataBitsButtons;
QButtonGroup stopBitsButtons;
QButtonGroup flowControlButtons;
QSerialPort serialPort;
unsigned int numOfSamples;
QwtPlotCurve curve;
QVector<double> dataArray;
QVector<double> dataX;
void addData(QVector<double> data);
NumberFormat numberFormat;
unsigned int sampleSize; // number of bytes in the selected number format
double (MainWindow::*readSample)();
// note that serialPort should already have enough bytes present
template<typename T> double readSampleAs();
bool skipByteRequested;
private slots:
void loadPortList();
void loadBaudRateList();
void togglePort();
void selectPort(QString portName);
void onPortToggled(bool open);
void selectBaudRate(QString baudRate);
void selectParity(int parity); // parity must be one of QSerialPort::Parity
void selectDataBits(int dataBits); // bits must be one of QSerialPort::DataBits
void selectStopBits(int stopBits); // stopBits must be one of QSerialPort::StopBits
void selectFlowControl(int flowControl); // flowControl must be one of QSerialPort::FlowControl
void onDataReady();
void onPortError(QSerialPort::SerialPortError error);
void skipByte();
void onNumOfSamplesChanged(int value);
void onAutoScaleChecked(bool checked);
void onYScaleChanged();
void onNumberFormatButtonToggled(int numberFormatId, bool checked);
void selectNumberFormat(NumberFormat numberFormatId);
void clearPlot();
signals:
void portToggled(bool open);
};
#endif // MAINWINDOW_H
|