2014-10-27 21:22:29 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "wx/frame.h"
|
|
|
|
#include "PrimaryGLContext.h"
|
2014-11-04 18:39:08 -05:00
|
|
|
#include "SDRThread.h"
|
2014-11-16 16:51:45 -05:00
|
|
|
#include "AudioThread.h"
|
2014-11-17 22:58:56 -05:00
|
|
|
#include "DemodulatorMgr.h"
|
2014-11-16 16:51:45 -05:00
|
|
|
|
2014-11-12 21:55:11 -05:00
|
|
|
#include "ScopeCanvas.h"
|
2014-11-15 23:41:41 -05:00
|
|
|
#include "SpectrumCanvas.h"
|
|
|
|
#include "WaterfallCanvas.h"
|
2014-11-21 21:50:14 -05:00
|
|
|
#include "ThreadQueue.h"
|
2014-11-19 17:41:49 -05:00
|
|
|
|
2014-10-27 21:22:29 -04:00
|
|
|
// Define a new frame type
|
2014-10-28 21:39:59 -04:00
|
|
|
class AppFrame: public wxFrame {
|
2014-10-27 21:22:29 -04:00
|
|
|
public:
|
|
|
|
AppFrame();
|
2014-11-04 18:39:08 -05:00
|
|
|
~AppFrame();
|
2014-11-22 22:33:32 -05:00
|
|
|
void OnThread(wxCommandEvent& event);
|
2014-10-28 21:39:59 -04:00
|
|
|
void OnEventInput(wxThreadEvent& event);
|
2014-11-16 16:51:45 -05:00
|
|
|
|
2014-11-04 19:52:11 -05:00
|
|
|
void setFrequency(unsigned int freq);
|
|
|
|
int getFrequency();
|
|
|
|
|
2014-10-27 21:22:29 -04:00
|
|
|
private:
|
|
|
|
void OnClose(wxCommandEvent& event);
|
|
|
|
void OnNewWindow(wxCommandEvent& event);
|
2014-10-28 21:39:59 -04:00
|
|
|
void OnIdle(wxIdleEvent& event);
|
2014-10-27 21:22:29 -04:00
|
|
|
|
2014-11-15 23:41:41 -05:00
|
|
|
ScopeCanvas *scopeCanvas;
|
|
|
|
SpectrumCanvas *spectrumCanvas;
|
|
|
|
WaterfallCanvas *waterfallCanvas;
|
2014-11-16 16:51:45 -05:00
|
|
|
|
2014-11-17 22:58:56 -05:00
|
|
|
DemodulatorMgr demodMgr;
|
2014-11-16 16:51:45 -05:00
|
|
|
|
2014-11-04 17:25:04 -05:00
|
|
|
wxCriticalSection m_pThreadCS;
|
2014-11-04 19:52:11 -05:00
|
|
|
unsigned int frequency;
|
2014-11-04 18:39:08 -05:00
|
|
|
|
2014-11-17 22:58:56 -05:00
|
|
|
DemodulatorInstance *demodulatorTest;
|
|
|
|
|
2014-11-22 20:57:06 -05:00
|
|
|
AudioThreadInputQueue *audioInputQueue;
|
|
|
|
AudioThread *audioThread;
|
|
|
|
|
|
|
|
SDRThread *sdrThread;
|
|
|
|
SDRThreadCommandQueue* threadCmdQueueSDR;
|
|
|
|
SDRThreadIQDataQueue* iqVisualQueue;
|
2014-11-22 22:17:33 -05:00
|
|
|
DemodulatorThreadOutputQueue* audioVisualQueue;
|
2014-11-22 20:57:06 -05:00
|
|
|
|
2014-11-22 22:33:32 -05:00
|
|
|
std::thread *threadAudio;
|
|
|
|
std::thread *threadSDR;
|
2014-11-22 20:57:06 -05:00
|
|
|
|
2014-11-15 23:41:41 -05:00
|
|
|
// event table
|
2014-10-28 21:39:59 -04:00
|
|
|
wxDECLARE_EVENT_TABLE();
|
2014-10-27 21:22:29 -04:00
|
|
|
};
|