Files
@ 5c9db4e54bbd
Branch filter:
Location: tempo-plotter/src/dataformatpanel.h - annotation
5c9db4e54bbd
2.3 KiB
text/plain
fix crash during update check #16
bdc33b5c53c6 a9a5e414ab54 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 151c8a6430b7 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 938f730ccdfe bdc33b5c53c6 bdc33b5c53c6 ecd02467c397 ecd02467c397 fdf5f056db8f 1bb06061a415 e0c6c43cbcf5 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 94b1aaec4e69 bdc33b5c53c6 bdc33b5c53c6 938f730ccdfe 94b1aaec4e69 94b1aaec4e69 94b1aaec4e69 151c8a6430b7 151c8a6430b7 938f730ccdfe 938f730ccdfe 938f730ccdfe 938f730ccdfe bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 94b1aaec4e69 94b1aaec4e69 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 ecd02467c397 ecd02467c397 1bb06061a415 ecd02467c397 ecd02467c397 ecd02467c397 ecd02467c397 ecd02467c397 9c7f8589ff84 151c8a6430b7 bdc33b5c53c6 fdf5f056db8f 7c5d07725a0a 326761aef909 326761aef909 bdc33b5c53c6 bdc33b5c53c6 bdc33b5c53c6 | /*
Copyright © 2019 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 DATAFORMATPANEL_H
#define DATAFORMATPANEL_H
#include <stdint.h>
#include <QWidget>
#include <QButtonGroup>
#include <QSerialPort>
#include <QList>
#include <QSettings>
#include <QtGlobal>
#include "binarystreamreader.h"
#include "asciireader.h"
#include "demoreader.h"
#include "framedreader.h"
#include "datarecorder.h"
namespace Ui {
class DataFormatPanel;
}
class DataFormatPanel : public QWidget
{
Q_OBJECT
public:
explicit DataFormatPanel(QSerialPort* port, QWidget* parent = 0);
~DataFormatPanel();
/// Returns currently selected number of channels
unsigned numChannels() const;
/// Returns active source (reader)
Source* activeSource();
/// Returns total number of bytes read
uint64_t bytesRead();
/// Stores data format panel settings into a `QSettings`
void saveSettings(QSettings* settings);
/// Loads data format panel settings from a `QSettings`.
void loadSettings(QSettings* settings);
public slots:
void pause(bool);
void enableDemo(bool); // demo shouldn't be enabled when port is open
signals:
/// Active (selected) reader has changed.
void sourceChanged(Source* source);
private:
Ui::DataFormatPanel *ui;
QSerialPort* serialPort;
BinaryStreamReader bsReader;
AsciiReader asciiReader;
FramedReader framedReader;
/// Currently selected reader
AbstractReader* currentReader;
/// Disable current reader and enable a another one
void selectReader(AbstractReader* reader);
bool paused;
uint64_t _bytesRead;
DemoReader demoReader;
AbstractReader* readerBeforeDemo;
bool isDemoEnabled() const;
};
#endif // DATAFORMATPANEL_H
|