SDRAngel
4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
sdrbase
dsp
samplesinkfifodoublebuffered.h
Go to the documentation of this file.
1
// Copyright (C) 2016 Edouard Griffiths, F4EXB //
3
// //
4
// This program is free software; you can redistribute it and/or modify //
5
// it under the terms of the GNU General Public License as published by //
6
// the Free Software Foundation as version 3 of the License, or //
7
// (at your option) any later version. //
8
// //
9
// This program is distributed in the hope that it will be useful, //
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
12
// GNU General Public License V3 for more details. //
13
// //
14
// You should have received a copy of the GNU General Public License //
15
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
17
18
#ifndef SDRBASE_DSP_SAMPLESINKFIFODOUBLEBUFFERED_H_
19
#define SDRBASE_DSP_SAMPLESINKFIFODOUBLEBUFFERED_H_
20
21
#include <QObject>
22
#include <QMutex>
23
#include <stdint.h>
24
#include <assert.h>
25
#include "
export.h
"
26
#include "
dsp/dsptypes.h
"
27
28
class
SDRBASE_API
SampleSinkFifoDoubleBuffered
:
public
QObject {
29
Q_OBJECT
30
31
public
:
32
SampleSinkFifoDoubleBuffered
(
uint32_t
size,
uint32_t
signalThreshold);
33
~
SampleSinkFifoDoubleBuffered
();
34
35
void
getWriteIterator(SampleVector::iterator& it1);
36
void
bumpIndex(SampleVector::iterator& it1);
37
void
read(SampleVector::iterator& begin, SampleVector::iterator& end);
38
39
private
:
40
uint32_t
m_size
;
41
uint32_t
m_signalThreshold
;
42
SampleVector
m_data
;
43
uint32_t
m_i
;
44
uint32_t
m_count
;
45
uint32_t
m_readIndex
;
46
uint32_t
m_readCount
;
47
QMutex
m_mutex
;
48
49
signals:
50
void
dataReady();
51
};
52
53
#endif
/* SDRBASE_DSP_SAMPLESINKFIFODOUBLEBUFFERED_H_ */
SampleVector
std::vector< Sample > SampleVector
Definition:
dsptypes.h:96
SampleSinkFifoDoubleBuffered::m_readIndex
uint32_t m_readIndex
Definition:
samplesinkfifodoublebuffered.h:45
export.h
SampleSinkFifoDoubleBuffered::m_size
uint32_t m_size
Definition:
samplesinkfifodoublebuffered.h:40
uint32_t
unsigned int uint32_t
Definition:
rtptypes_win.h:46
dsptypes.h
SampleSinkFifoDoubleBuffered::m_count
uint32_t m_count
Definition:
samplesinkfifodoublebuffered.h:44
SampleSinkFifoDoubleBuffered::m_i
uint32_t m_i
Definition:
samplesinkfifodoublebuffered.h:43
SampleSinkFifoDoubleBuffered::m_mutex
QMutex m_mutex
Definition:
samplesinkfifodoublebuffered.h:47
SampleSinkFifoDoubleBuffered
Definition:
samplesinkfifodoublebuffered.h:28
SampleSinkFifoDoubleBuffered::m_data
SampleVector m_data
Definition:
samplesinkfifodoublebuffered.h:42
SampleSinkFifoDoubleBuffered::m_signalThreshold
uint32_t m_signalThreshold
Definition:
samplesinkfifodoublebuffered.h:41
SDRBASE_API
#define SDRBASE_API
Definition:
export.h:40
SampleSinkFifoDoubleBuffered::m_readCount
uint32_t m_readCount
Definition:
samplesinkfifodoublebuffered.h:46
Generated on Fri Aug 2 2019 17:56:33 for SDRAngel by
1.8.13