~ubuntu-branches/debian/squeeze/linpsk/squeeze

« back to all changes in this revision

Viewing changes to linpsk/linpskview.h

  • Committer: Bazaar Package Importer
  • Author(s): Hamish Moffatt
  • Date: 2005-04-10 18:17:27 UTC
  • mfrom: (1.1.1 upstream) (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20050410181727-3l9dnfg0sp7bhk13
Tags: 0.8.1-1
* New upstream release 0.8.1
  * Modified upstream configure.in to support FHS-compliant Qt
    installation! (ie /usr/include/qt3, not /usr/lib/qt3/include) :-(
  * Re-autotools with autoconf2.59 and automake-1.9
* linpsk is no longer a Debian-native package (dsc/tar.gz)
* Now maintained by the debian-hams group
* Switch to debhelper 4

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
                          linpskview.h  -  description
3
 
                             -------------------
4
 
    begin                : Sat Mar  4 22:29:25 /etc/localtime 2000
5
 
    copyright            : (C) 2000 by Volker Schroer
6
 
    email                : DL1KSV@gmx.de
7
 
 ***************************************************************************/
8
 
 
9
 
/***************************************************************************
10
 
 *                                                                         *
11
 
 *   This program is free software; you can redistribute it and/or modify  *
12
 
 *   it under the terms of the GNU General Public License as published by  *
13
 
 *   the Free Software Foundation; either version 2 of the License, or     *
14
 
 *   (at your option) any later version.                                   *
15
 
 *   based on the work of Moe Wheatley, AE4JY                              *
16
 
 ***************************************************************************/
17
 
 
18
 
#ifndef LINPSKVIEW_H
19
 
#define LINPSKVIEW_H
20
 
 
21
 
// include files for QT
22
 
#include <qwidget.h>
23
 
#include <qtimer.h>
24
 
#include <qstatusbar.h>
25
 
#include <qlabel.h>
26
 
#include <qdatetime.h>
27
 
 
28
 
#include <qmessagebox.h>
29
 
#include <qkeycode.h>
30
 
#include <qaccel.h>
31
 
 
32
 
#include <qfile.h>
33
 
#include <qtextstream.h>
34
 
#include <qregexp.h>
35
 
 
36
 
// application specific includes
37
 
 
38
 
//#include "crxdisplay.h"
39
 
#include "ctxdisplay.h"
40
 
#include "cpanel.h"
41
 
#include "parameter.h"
42
 
//#include "pskdet.h"
43
 
 
44
 
#include "csound.h"
45
 
#include "textinput.h"
46
 
#include "waveinput.h"
47
 
#include "cledbutton.h"
48
 
#include "bpskdemodulator.h"
49
 
#include "qpskdemodulator.h"
50
 
#include "rttydemodulator.h"
51
 
 
52
 
#include "cmodulator.h"
53
 
#include "rttymodulator.h"
54
 
 
55
 
 
56
 
extern Parameter settings;
57
 
 
58
 
class Input;
59
 
/**
60
 
 * This class defines the  application view.
61
 
 */
62
 
 
63
 
class LinPskView : public QWidget
64
 
{
65
 
  Q_OBJECT
66
 
  public:
67
 
 
68
 
     LinPskView(QWidget *parent=0);
69
 
    ~LinPskView();
70
 
void AddGaussian(double * pData, int n, double std);
71
 
                void initRxChannels(int from,int to);
72
 
                /* Stops the current activity */
73
 
                void stopAll();
74
 
Input *sound;
75
 
 
76
 
// Window - Components
77
 
 
78
 
CRxdisplay *rx[4];
79
 
CDemodulator *demodulator[4];
80
 
 
81
 
CTxdisplay      *tx;
82
 
CPanel          *controls;
83
 
 
84
 
QStatusBar *statusBar;
85
 
QLabel *msg;
86
 
// Timer for idle loop for receiving and Transmitting
87
 
 
88
 
QTimer *rxtimer;
89
 
QTimer *txtimer;
90
 
 
91
 
protected:
92
 
 
93
 
void resizeEvent(QResizeEvent *);
94
 
 
95
 
 
96
 
protected slots:
97
 
public slots: // Public slots
98
 
  /** Reading and processing Data from input source */
99
 
  void process_rxdata();
100
 
        /** Processing txdata and writing to Soundcard*/
101
 
        void process_txdata();
102
 
  /** Starting receiving/transmitting */
103
 
  void start_process_loop();
104
 
        /** Show Time */
105
 
        void setclock();
106
 
        /** excute Macr0 */
107
 
        void executeMacro(int);
108
 
        /** executeMacro0 */
109
 
        void executeMacro0();
110
 
        /** executeMacr01 */
111
 
        void executeMacro1();
112
 
        /** Send CW ID */
113
 
        void SendCWid();        
114
 
        /** Tune */
115
 
        void Tune();
116
 
        /** Select appropriate Rx- Window*/
117
 
        void selectRxWindow(int);
118
 
        /** Change RxFrequency of apprpriate RxWindow */
119
 
        void rxfreqchanged(int);
120
 
  /** changes the Demodulator to the new Mode */
121
 
  void setMode(Mode,int);
122
 
signals: // Signals
123
 
  /** Stop PSK31 in case of unrecoverable error */
124
 
  void abbruch();
125
 
private:
126
 
 
127
 
   /** Decimation Filter to reduce samplerate */
128
 
  void ProcDec2Fir(double *pIn, double *pOut,int BlockSize);
129
 
        void sendString(const char *);
130
 
 
131
 
 double *inbuf; //Input Buffer
132
 
 double *dec2fir; // queue for decimation by 2 filter
133
 
 double *outbuf; // outputbuffer
134
 
 double *m_pDec2InPtr;
135
 
 
136
 
 CModulator *Modulator;
137
 
        int txcount; // Number of transmitted Data; 0 if Soundcard Buffer is full;      
138
 
/** Some Labels in the Statusbar*/
139
 
#ifndef AFC_DEBUG
140
 
QLabel *clockadj;
141
 
#endif
142
 
QLabel *datum;
143
 
QLabel *zeit;
144
 
QLabel *IMD;
145
 
 
146
 
/** For Debugging AFC */
147
 
#ifdef AFC_DEBUG
148
 
QLabel *Error;          // Total
149
 
QLabel *Df;                             // Frequency component
150
 
QLabel *Dp;                             // Phase component
151
 
#endif
152
 
 
153
 
QAccel * functions;
154
 
 
155
 
QString prepareMacro(QString Macro);
156
 
 
157
 
bool processingMacros; // To ensure that Macro will be completly execute
158
 
};
159
 
 
160
 
#endif