-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathQtSoundModem.h
More file actions
161 lines (133 loc) · 3.66 KB
/
Copy pathQtSoundModem.h
File metadata and controls
161 lines (133 loc) · 3.66 KB
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_QtSoundModem.h"
#include "ui_calibrateDialog.h"
#include "ui_devicesDialog.h"
#include "ui_filterWindow.h"
#include "ui_ModemDialog.h"
#include "QThread"
#include <QLabel>
#include <QTableWidget>
#include <QTcpServer>
#include <QTcpSocket>
#include <QUdpSocket>
#include <QSystemTrayIcon>
#include <QtMultimedia/QAudioDeviceInfo>
#include <QtMultimedia/QAudioOutput>
#include <QtMultimedia/QAudioInput>
#include "tcpCode.h"
class QtSoundModem : public QMainWindow
{
Q_OBJECT
public:
QtSoundModem(QWidget *parent = Q_NULLPTR);
void changeEvent(QEvent * e);
void closeEvent(QCloseEvent * event);
~QtSoundModem();
void RefreshWaterfall(int snd_ch, unsigned char * Data);
void initWaterfall(int state);
void show_grid();
void checkforCWID();
public slots:
private slots:
void CWIDTimer();
void doDevices();
void mysetstyle();
void updateFont();
void MinimizetoTray();
void TrayActivated(QSystemTrayIcon::ActivationReason reason);
void StatsTimer();
void MyTimerSlot();
void returnPressed();
void clickedSlotI(int i);
void doModems();
void doFilter(int Chan, int Filter);
void SoundModeChanged(bool State);
void DualPTTChanged(bool State);
void CATChanged(bool State);
void PTTPortChanged(int);
void deviceaccept();
void devicereject();
void modemaccept();
void modemSave();
void modemreject();
void doRSIDA();
void doRSIDB();
void doRSIDC();
void doRSIDD();
void handleButton(int Port, int Act);
void doCalibrate();
void RefreshSpectrum(unsigned char * Data);
void doAbout();
void doRestartWF();
void doupdateDCD(int, int);
void sendtoTrace(char * Msg, int tx);
void preEmphAllAChanged(int);
void preEmphAllBChanged(int);
void preEmphAllCChanged(int state);
void preEmphAllDChanged(int state);
void menuChecked();
void onTEselectionChanged();
void StartWatchdog();
void StopWatchdog();
void PTTWatchdogExpired();
void showRequest(QByteArray Data);
void GetAudioDevices();
void audioInStateChanged(QAudio::State newState);
void audioOutStateChanged(QAudio::State newState);
void QtSoundInit();
void initializeAudioIn(const QAudioDeviceInfo & deviceInfo);
void initializeAudioOut(const QAudioDeviceInfo & deviceInfo);
void closeQSound();
void clickedSlot();
void startCWIDTimerSlot();
void setWaterfallImage();
void setLevelImage();
void setConstellationImage(int chan, int Qual);
protected:
bool eventFilter(QObject * obj, QEvent * evt);
void resizeEvent(QResizeEvent *event) override;
private:
Ui::QtSoundModemClass ui;
QTableWidget* sessionTable;
QStringList m_TableHeader;
QMenu *setupMenu;
QMenu *viewMenu;
QAction *actDevices;
QAction *actModems;
QAction *actFont;
QAction *actMintoTray;
QAction *actCalib;
QAction *actAbout;
QAction *actRestartWF;
QAction *actWaterfall1;
QAction *actWaterfall2;
signals:
};
class myResize : public QObject
{
Q_OBJECT
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
};
#define WaterfallDisplayPixels 80
#define WaterfallHeaderPixels 38
#define WaterfallTotalPixels WaterfallDisplayPixels + WaterfallHeaderPixels
#define WaterfallImageHeight (WaterfallTotalPixels + WaterfallTotalPixels)
class serialThread : public QThread
{
Q_OBJECT
public:
void run() Q_DECL_OVERRIDE;
void startSlave(const QString &portName, int waitTimeout, const QString &response);
signals:
void request(const QByteArray &s);
void error(const QString &s);
void timeout(const QString &s);
private:
QString portName;
QString response;
int waitTimeout;
QMutex mutex;
bool quit;
};