Files
@ 71f772af835d
Branch filter:
Location: tempo-plotter/mainwindow.h - annotation
71f772af835d
2.2 KiB
text/plain
implemented stop bits and flow control selection buttons
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 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 4d74a5d375ab 0a2afa6ed583 71f772af835d 71f772af835d 58db5f6bf2b1 58db5f6bf2b1 b12c2ff3d038 58db5f6bf2b1 a6e52579723b 90fb38350cfd 90fb38350cfd a6e52579723b 649401566a84 649401566a84 649401566a84 44b87d87610b 44b87d87610b 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 | #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();
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 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
|