-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.h
105 lines (92 loc) · 3.77 KB
/
mainwindow.h
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
//==========================================================================================
// + + + This Software is released under the "Simplified BSD License" + + +
// Copyright F4GKR Sylvain AZARIAN . All rights reserved.
//
//Redistribution and use in source and binary forms, with or without modification, are
//permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this list of
// conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
// of conditions and the following disclaimer in the documentation and/or other materials
// provided with the distribution.
//
//THIS SOFTWARE IS PROVIDED BY Sylvain AZARIAN F4GKR ``AS IS'' AND ANY EXPRESS OR IMPLIED
//WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
//FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Sylvain AZARIAN OR
//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
//SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
//ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
//ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
//The views and conclusions contained in the software and documentation are those of the
//authors and should not be interpreted as representing official policies, either expressed
//or implied, of Sylvain AZARIAN F4GKR.
//==========================================================================================
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QLCDNumber>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include "common/tuningpolicy.h"
#include "ui/plotter.h"
#include "hardware/rxdevice.h"
#include "ui/freqctrl.h"
#include "ui/spectrumplot.h"
#include "ui/indicatorwidget.h"
#include "ui/qcustomplot.h"
#include "ui/gkdial.h"
#include "ui/gkpushbutton.h"
#include "webinterface/webservice.h"
#include "common/constants.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
void setRadio( RxDevice* device );
void setWebService( WebService *service );
public slots:
void SLOT_powerLevel( float level ) ;
void SLOT_hasGpsFix(double latitude, double longitude );
void SLOT_hasGpsTime( int year, int month, int day,
int hour, int min, int sec, int msec );
private slots:
void SLOT_userChangesFFTRate(int value);
void SLOT_userTunesFreqWidget(qint64 newFrequency);
void SLOT_NewDemodFreq(qint64 freq, qint64 delta);
void SLOT_newSpectrum(int len , TuningPolicy *tp);
void SLOT_frameDetectorStateChanged( QString stateName );
void SLOT_startPressed();
void SLOT_stopPressed();
void SLOT_setRxGain(int) ;
void SLOT_setDetectionThreshold(int);
void SLOT_NewSNRThreshold( float value );
void SLOT_gpsdAsError( int code );
void endProgram();
private:
int received_frame ;
int msg_count ;
CPlotter *wf ;
CFreqCtrl *mainFDisplay ;
gkDial *fft_update_rate ;
gkDial *gain_rx ;
QVBoxLayout *crlayout ;
gkDial *detection_threshold ;
QLCDNumber *zuluDisplay ;
QLineEdit* decoderStatus ;
WebService *webservice;
RxDevice* radio ;
#ifndef USE_CORRELATOR
IndicatorWidget *levelWidget ;
#endif
QCustomPlot *levelplot ;
float min_level ;
float max_level ;
};
#endif // MAINWINDOW_H