-
Notifications
You must be signed in to change notification settings - Fork 5
/
constdef.h
403 lines (376 loc) · 11.9 KB
/
constdef.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
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
//
// C++ Interface: Constdef
//
// Description:
//
// Author: Andreas Lindenau <[email protected]>, (C) 2009
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef KONSTDEF_H
#define KONSTDEF_H
#ifdef QT_DEBUG
//#define LDEBUG
//#define VERDEBUG
//#define DEBUG_INTERFACE
//#define TTYDEBUG
//#define PAINTDEBUG //paint and resize
//#define DDSDEBUG
//#define SWEEPDEBUG
#define CMDDEBUG
//#define TIMERDEBUG
#include <QtDebug>
#endif
#include <QPen>
#include <QColor>
#include <QDir>
#include "Attenuator.h"
const int maxmessstep = 600; //Limit for Measurable Progress wattmeter
const int maxmesspunkte = 9999; //maximum measuring points 0-9998
const int profilanz = 20; // maximum of 20 profiles 0-19
const int calmaxindex = 10000; //maximum index of the SAV calibration arrays 0-9999
const double savcalkonst = 755.0; //Constatns for index calculation
const double eteiler=60000.0; //For index calculation frequency calibration correction
const double ydisplayteilung_lin=11.0; //Display division Y for lin. Measuring probes
const double yaufloesung = 1023.0;//maximum dissolution of the AD converter
const int antdia_db_teilung = 5; // 5 db steps in antenna diagram representation
const char schnittstelle1[]="/dev/ttyS0";
const char schnittstelle2[]="/dev/ttyS1";
const char schnittstelle3[]="/dev/ttyS2";
const char schnittstelle4[]="/dev/ttyS3";
const char schnittstelle5[]="/dev/ttyUSB0";
const char schnittstelle6[]="/dev/ttyUSB1";
const char schnittstelle7[]="/dev/ttyUSB2";
const char schnittstelle8[]="/dev/ttyUSB3";
enum efrqbereich {hz, khz, mhz, ghz};
enum esabereich {bkein, bsa1, bsa2, bsa3, bwobbeln};
enum eSaBandWith {bwkein, bw30kHz, bw7kHz, bw300Hz};
enum enumOperateMode {eGainSweep, eSWR, eSWRfeeder, eImpedance, eSpectrumAnalyser, eSpectrumDisplayShift, eSmithDiagramm};
enum enumsavbandbreite {ekeinebandbreite, e300b1, e7kb1, e30kb1, e300b2, e7kb2, e30kb2};
enum enumkurvenversion {ekvkeine, ekvabbruch, ekv305, ekv404, ekv405, ekv410};
enum emenuenable{
emPrint,
emPrintPdf,
emSavePNG,
emSpeichernpng,
emEnd,
emLoadNewConfig,
emSaveConfToFile,
emInfo,
emOption,
emFirmware,
emCurveLoad,
emCurveSave,
emSweep,
emOnce,
emStop,
emCalibrateK1,
emCalibrateK2,
emLoadCallibrateK1,
emLoadCallibrateK2,
emSaveCallibrateK1,
emSaveCallibrateK2,
emFontInfo,
emFrequencyMark,
emWattFont,
emWattCallibrateK1,
emWattCallibrateK2,
emWattSave,
emWattEditSonde1,
emWattEditSonde2,
emTableAsFileSave,
emSaveToDefault,
emVersion,
emTooltip,
#ifdef fzaehlen
emZaehlen,
#endif
emenuFile,
emenuSetting,
emenuCurves,
emenuSweep,
// emmenuvfo,
emenuMeasure,
eshowMinimized,
eshowNormal
};
typedef struct {
int posx;
int posy;
int fontsize;
bool infoanzeigen;
}TBildinfo;
typedef struct {
QString name;//Text in the ComboBox
QString fqstart;//initial frequency
QString fqend;//end frequency
QString cntpoints;//Number of measuring points
}TFProfile;
typedef struct {
double offsetwatt; //Offset je nach Frequenz
QString str_offsetwatt; //Bezeichnung des Offsets
}TWattOffset;
//Constants for measuring window
typedef struct TBaseData {
double calibrate_start_freq;
double calibrate_end_freq;
long kalibrierstep;
double dds_core_freq;
double max_sweep_freq;
QString str_tty;
bool kalibrierk1;
bool kalibrierk2;
bool numberchanel;
QString strsonde1;
QString strsonde1lin;
QString strsonde2;
QString kurvendir;
int pll;
bool pllmodeenable;
bool bswriteration;
QPen penkanal1;
QPen penkanal2;
int penwidth;
QColor colorhintergrund;
AttenuatorType attenuatorType;
QString attenuatorCustomConfig;
Attenuator attenuator;
int attenuatorDelay_ms;
bool binvers;
double wanfang; //Wobbeln
double wende; //Wobbeln
int wschritte; //Wobbeln
bool bsendalways; //Always send config params to device
//SA
double sa1anfang; //SA Bereich1
double sa1ende; //SA Bereich1
int sa1schritte; //SA Bereich1
double sa2anfang; //SA Bereich2
double sa2ende; //SA Bereich2
int sa2schritte; //SA Bereich2
double sa3anfang; //SA Bereich3 Umsetzer
double sa3ende; //SA Bereich3 Umsetzer
int sa3schritte; //SA Bereich3 Umsetzer
double frqa1; //SA Grenzwerte Bereich1
double frqb1; //SA Grenzwerte Bereich1
double frqa2; //SA Grenzwerte Bereich2
double frqb2; //SA Grenzwerte Bereich2
double frqzf1; //SA ZF Bereich1
double frqzf2; //SA ZF Bereich2
double frqshift; //SA Frequenzverschiebung mit Konverter-Vorsatz
double bw300_max; //Bandweitengrenzen fuer die automatische Schrittkorrektur
double bw300_min; //Bandweitengrenzen fuer die automatische Schrittkorrektur
double bw7kHz_max; //Bandweitengrenzen fuer die automatische Schrittkorrektur
double bw7kHz_min; //Bandweitengrenzen fuer die automatische Schrittkorrektur
double bw30kHz_max; //Bandweitengrenzen fuer die automatische Schrittkorrektur
double bw30kHz_min; //Bandweitengrenzen fuer die automatische Schrittkorrektur
double psavabs1; //Pegelabweichung SA Bereich 1
double psavabs2; //Pegelabweichung SAV Bereich 2
double psavabs3; //Pegelabweichung SAV Bereich 3
double psav300; //Pegelabweichung SAV 300hz
double psav7k; //Pegelabweichung SAV 7khz
double psav30k; //Pegelabweichung SAV 30khz
int safehlermax; //Eingrauung des oberen Bereiches
int safehlermin; //Eingrauung des unteren Bereiches
int saminschritte; //Schritteanzahl Minimum bei Schrittautomatik
bool bsavdbm; //dBm Anzeige
bool bsavuv; //uV Anzeige
bool bsavwatt; //Watt Anzeige
bool bsavdbuv; //dbuV Anzeige
bool bschrittkorr; //BIT fuer automatische Schrittkorrektur
bool sastatus; //SA Statusmeldung
bool bwarnsavbw; //Warnung EIN/AUS bei SAV keine auto. Schrittkorr
bool bwarnsavbwmax; //Warnung EIN/AUS bei SAV keine auto. Schrittkorr
bool fwWrong;
int pfsize;
bool grperwobbeln; //BIT fuer Focusumschaltung
bool grpereinmal; //BIT fuer Focusumschaltung
bool grperstop; //BIT fuer Focusumschaltung
bool bfliessend; //fliessende Wobbeldarstellung
bool bset0hz; //NWT auf 0 Hz setzen
int freq_faktor;
int stime; //Timerzeiten
int vtime; //Timerzeiten
int idletime; //Timerzeiten
int audioztime; //neu FW120 NF-Audio Zeit fuer einen Wobbeldurchlauf
int audiosens; //neu FW120 NF-Audio Sensibilitaet
int wmprezision; //neu FW120 Nachkommastellen im Wattmeter
TBaseData() : attenuatorDelay_ms(200)
{
}
}TBaseData;
typedef struct {
bool b160m;
bool b80m;
bool b40m;
bool b30m;
bool b20m;
bool b17m;
bool b15m;
bool b12m;
bool b10m;
bool b6m;
bool b2m;
bool bu1;
bool bu2;
bool bu3;
qlonglong f1160m;
qlonglong f180m;
qlonglong f140m;
qlonglong f130m;
qlonglong f120m;
qlonglong f117m;
qlonglong f115m;
qlonglong f112m;
qlonglong f110m;
qlonglong f16m;
qlonglong f12m;
qlonglong f1u1;
qlonglong f1u2;
qlonglong f1u3;
qlonglong f2160m;
qlonglong f280m;
qlonglong f240m;
qlonglong f230m;
qlonglong f220m;
qlonglong f217m;
qlonglong f215m;
qlonglong f212m;
qlonglong f210m;
qlonglong f26m;
qlonglong f22m;
qlonglong f2u1;
qlonglong f2u2;
qlonglong f2u3;
QString st160m;
QString st80m;
QString st40m;
QString st30m;
QString st20m;
QString st17m;
QString st15m;
QString st12m;
QString st10m;
QString st6m;
QString st2m;
QString stu1;
QString stu2;
QString stu3;
}TFrqMarkers;
typedef struct {
bool aktiv;
QString fqstart;
QString fqend;
QString cntpoints;
QString beschr;
}TProfile;
typedef struct {
QString dname;
QString sname;
double offset[30];
QString stroffset[30];
}TProbe;
typedef struct{
double p[calmaxindex];
}TSavcalarray;
typedef struct{
// QDate date; //Datum der letzten Speicherung
double arrayk1[maxmesspunkte];
double arrayk2[maxmesspunkte];
}TCalibrateArray;
typedef struct{
double arrayk1[maxmesspunkte];
double arrayk2[maxmesspunkte];
}TSWRCalibrateArray;
typedef struct{
unsigned int k1[maxmesspunkte];
unsigned int k2[maxmesspunkte];
bool daten_enable; //gueltige Daten in Kanal 1+2
}TMessure;
typedef struct{
double k[1024];
}TDiagramArray;
typedef struct{
int dbmin; //10dBm..-80dBm
int dbmax; //10dBm..-80dBm
int adbegin; //0..1023
int adend; //0..1023
int diabegin; //0..360
int diaend; //0..360
}TAntDiagram;
typedef struct {
TMessure mess;
double absanfang; //Anfangsfrequenz im Wobbelfenster
double absende; //Endfrequenz im Wobbelfenster
double anfangsfrequenz;//Anfangsfrequenz der Kurve
double schrittfrequenz;//Frequenzsprung
int cntpoints; //Anzahl der Messpunkte
int ztime; //Zeit zwischen den Messpunkten
double faktor1; //Korrektur Kurvensteilheit
double shift1; //Kanal 1
double faktor2; //Korrektur Kurvensteilheit
double shift2; //Kanal 2
bool bkanal1; //Kanal1 darstellen
bool bkanal2; //Kanal2 darstellen
bool linear1; //ob linear AD8361 Kanal 1
bool linear2; //ob linear AD8361 Kanal 2
bool bandbreite3db; //Bandbreiteninformation 3db
bool bandbreite6db; //Bandbreiteninformation 6db/60dB
bool bandbreitegrafik;//Bandbreite grafische Darstellung
int freq_faktor; //Einsatz von Frequenzvervielfacher
QString namesonde1, //Dateiname der Messsonde
namesonde2;
QString beschreibung1,//Name der Messsonde
beschreibung2;
double mfaktor1; //Correction probe as a watt meter factor Electrode1
double mshift1; //Correction probe as a wattmeter Shift Electrode1
double mfaktor2; //Correction probe as a watt meter factor Electrode2
double mshift2; //Correction probe as a wattmeter Shift Electrode2
double dbshift1; //Korrektur der Wobbelkurve an 0db
double dbshift2; //Korrektur der Wobbelkurve an 0db
int display_shift; //Korrektur der Wobbelkurvenansicht
double hline; //horizontale Linie
QString hlinelabel;
bool bkalibrierkorrk1; //Eichkorrektur Kanal 1
bool bkalibrierkorrk2; //Eichkorrektur Kanal 2
bool numberchanel; //HFM9 original verwendet nur einen Kanal
enumOperateMode eoperatemode; //Betriebsart
bool bkalibrierswrk1; //Eichlinie fuer SWR neu
bool bkalibrierswrk2; //Eichlinie fuer SWR neu
int swraufloesung; //Aufloesung im SWR fenster
bool bswriteration; //math. Korrektur der SWR-Kurve
bool bswrrelais; //SWR-Kurve
bool bswrkanal2; //SWR mit Kanal 2 ermitteln
double a_100; //Kabeldaempfung auf 100m
double kabellaenge; //Kabellaenge
bool mousesperre; //sperren der Mouseaktivitaet
int kurvennr; //Nr der Hintergrundkurve nur fuer WKManager
QPen penkanal1; //Stift fuer Kanal 1
QPen penkanal2; //Stift fuer Kanal 2
int penwidth; //Stiftbreite
bool bhintergrund; //ob Hintergrund oder nicht fuer WKManager
QColor colorhintergrund; //Wobbelfenster Hintergrundfarbe
int safehlermax; // Ungenauigkeit von MAX in den Plusbereich
int safehlermin; // Ungenauigkeit von MIN bis Unendlich
//QString layoutlabel; //Wobbellabel
bool binvers; //inverse Ermittlung der Bandbreite
int ydbmax; // Y-Skala obere Grenze
int ydbmin; // Y-Skala untere Grenze
enumsavbandbreite ebbsav; //Bandbreitenrueckmeldung vom SAV
double psavabs; //Pegelabweichung SAV
double psav300; //Pegelabweichung SAV 300hz
double psav7k; //Pegelabweichung SAV 7khz
double psav30k; //Pegelabweichung SAV 30khz
bool bsavdbm; // SA Kursorwert dBm
bool bsavuv; //SAV Kursorwert Volt
bool bsavwatt; //SAV Kursorwert Leistung an 50Ohm
bool bsavdbuv; //SAV Kursorwert dBuv an 50Ohm
bool maudio1; //Kanal1 ab FW 1.20 Audiomesskopf
bool maudio2; //Kanal2 ab FW 1.20 Audiomesskopf
TSWRCalibrateArray swrkalibrierarray;
TCalibrateArray kalibrierarray;
TSavcalarray savcalarray;
TAntDiagram antdiagramm;
}TSweep;
#endif