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.
|
#include <ambeworker.h>
Inherits QObject.
Classes | |
class | MsgMbeDecode |
class | MsgTest |
Public Slots | |
void | handleInputMessages () |
Signals | |
void | finished () |
Public Member Functions | |
AMBEWorker () | |
~AMBEWorker () | |
void | pushMbeFrame (const unsigned char *mbeFrame, int mbeRateIndex, int mbeVolumeIndex, unsigned char channels, bool useHP, int upsampling, AudioFifo *audioFifo) |
bool | open (const std::string &deviceRef) |
Either serial device or ip:port. More... | |
void | close () |
void | process () |
void | stop () |
bool | isAvailable () |
bool | hasFifo (AudioFifo *audioFifo) |
void | postTest () |
Public Attributes | |
MessageQueue | m_inputMessageQueue |
Queue for asynchronous inbound communication. More... | |
Private Member Functions | |
void | upsample (int upsampling, short *in, int nbSamplesIn, unsigned char channels) |
void | noUpsample (short *in, int nbSamplesIn, unsigned char channels) |
void | setVolumeFactors () |
Private Attributes | |
SerialDV::DVController | m_dvController |
AudioFifo * | m_audioFifo |
QDateTime | m_timestamp |
volatile bool | m_running |
int | m_currentGainIn |
int | m_currentGainOut |
short | m_dvAudioSamples [SerialDV::MBE_AUDIO_BLOCK_SIZE] |
AudioVector | m_audioBuffer |
uint | m_audioBufferFill |
float | m_upsamplerLastValue |
float | m_phase |
MBEAudioInterpolatorFilter | m_upsampleFilter |
int | m_upsampling |
float | m_volume |
float | m_upsamplingFactors [7] |
AudioCompressor | m_compressor |
Definition at line 37 of file ambeworker.h.
AMBEWorker::AMBEWorker | ( | ) |
Definition at line 29 of file ambeworker.cpp.
AMBEWorker::~AMBEWorker | ( | ) |
Definition at line 45 of file ambeworker.cpp.
void AMBEWorker::close | ( | ) |
Definition at line 53 of file ambeworker.cpp.
References m_dvController.
Referenced by AMBEEngine::scan().
|
signal |
|
slot |
Definition at line 77 of file ambeworker.cpp.
References MessageQueue::clear(), AMBEWorker::MsgMbeDecode::getAudioFifo(), AMBEWorker::MsgMbeDecode::getChannels(), AMBEWorker::MsgMbeDecode::getMbeFrame(), AMBEWorker::MsgMbeDecode::getMbeRate(), AMBEWorker::MsgMbeDecode::getUpsampling(), AMBEWorker::MsgMbeDecode::getUseHP(), AMBEWorker::MsgMbeDecode::getVolumeIndex(), m_audioBuffer, m_audioBufferFill, m_dvAudioSamples, m_dvController, m_inputMessageQueue, m_timestamp, m_upsampleFilter, m_upsampling, m_volume, Message::match(), noUpsample(), MessageQueue::pop(), setVolumeFactors(), MessageQueue::size(), upsample(), MBEAudioInterpolatorFilter::useHP(), and AudioFifo::write().
bool AMBEWorker::hasFifo | ( | AudioFifo * | audioFifo | ) |
bool AMBEWorker::isAvailable | ( | ) |
Definition at line 165 of file ambeworker.cpp.
References m_audioFifo, and m_timestamp.
|
private |
Definition at line 207 of file ambeworker.cpp.
References i, m_audioBuffer, m_audioBufferFill, m_upsampleFilter, m_upsamplingFactors, MBEAudioInterpolatorFilter::runHP(), and MBEAudioInterpolatorFilter::usesHP().
Referenced by handleInputMessages().
bool AMBEWorker::open | ( | const std::string & | deviceRef | ) |
Either serial device or ip:port.
Definition at line 48 of file ambeworker.cpp.
References m_dvController.
Referenced by AMBEEngine::registerController(), and AMBEEngine::scan().
|
inline |
Definition at line 119 of file ambeworker.h.
References SWGSDRangel::create().
void AMBEWorker::process | ( | ) |
void AMBEWorker::pushMbeFrame | ( | const unsigned char * | mbeFrame, |
int | mbeRateIndex, | ||
int | mbeVolumeIndex, | ||
unsigned char | channels, | ||
bool | useHP, | ||
int | upsampling, | ||
AudioFifo * | audioFifo | ||
) |
Definition at line 153 of file ambeworker.cpp.
References AMBEWorker::MsgMbeDecode::create(), m_audioFifo, m_inputMessageQueue, and MessageQueue::push().
|
private |
Definition at line 225 of file ambeworker.cpp.
References i, m_upsampling, m_upsamplingFactors, and m_volume.
Referenced by handleInputMessages().
void AMBEWorker::stop | ( | ) |
|
private |
Definition at line 179 of file ambeworker.cpp.
References AudioCompressor::compress(), i, m_audioBuffer, m_audioBufferFill, m_compressor, m_upsampleFilter, m_upsamplerLastValue, m_upsamplingFactors, MBEAudioInterpolatorFilter::runHP(), MBEAudioInterpolatorFilter::runLP(), and MBEAudioInterpolatorFilter::usesHP().
Referenced by handleInputMessages().
|
private |
Definition at line 145 of file ambeworker.h.
Referenced by handleInputMessages(), noUpsample(), and upsample().
|
private |
Definition at line 146 of file ambeworker.h.
Referenced by handleInputMessages(), noUpsample(), and upsample().
|
private |
Definition at line 139 of file ambeworker.h.
Referenced by hasFifo(), isAvailable(), and pushMbeFrame().
|
private |
Definition at line 153 of file ambeworker.h.
Referenced by upsample().
|
private |
Definition at line 142 of file ambeworker.h.
|
private |
Definition at line 143 of file ambeworker.h.
|
private |
Definition at line 144 of file ambeworker.h.
Referenced by handleInputMessages().
|
private |
Definition at line 138 of file ambeworker.h.
Referenced by close(), handleInputMessages(), and open().
MessageQueue AMBEWorker::m_inputMessageQueue |
Queue for asynchronous inbound communication.
Definition at line 125 of file ambeworker.h.
Referenced by handleInputMessages(), and pushMbeFrame().
|
private |
Definition at line 148 of file ambeworker.h.
|
private |
Definition at line 141 of file ambeworker.h.
|
private |
Definition at line 140 of file ambeworker.h.
Referenced by handleInputMessages(), and isAvailable().
|
private |
Definition at line 149 of file ambeworker.h.
Referenced by handleInputMessages(), noUpsample(), and upsample().
|
private |
Definition at line 147 of file ambeworker.h.
Referenced by upsample().
|
private |
Definition at line 150 of file ambeworker.h.
Referenced by handleInputMessages(), and setVolumeFactors().
|
private |
Definition at line 152 of file ambeworker.h.
Referenced by noUpsample(), setVolumeFactors(), and upsample().
|
private |
Definition at line 151 of file ambeworker.h.
Referenced by handleInputMessages(), and setVolumeFactors().