1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-21 23:55:13 -05:00

WDSP: sender: replaced static methods

This commit is contained in:
f4exb 2024-07-24 23:30:41 +02:00
parent 0bd4bbe0d4
commit dac4bc08df
3 changed files with 44 additions and 53 deletions

View File

@ -201,7 +201,7 @@ RXA* RXA::create_rxa (
rxa->ndb); // addr of database pointer
// Post filter display send - send spectrum display (after S-meter in the block diagram)
rxa->sender = SENDER::create_sender (
rxa->sender = new SENDER (
0, // run
0, // flag
0, // mode
@ -583,7 +583,7 @@ void RXA::destroy_rxa (RXA *rxa)
AMD::destroy_amd (rxa->amd);
AMSQ::destroy_amsq (rxa->amsq);
delete (rxa->smeter);
SENDER::destroy_sender (rxa->sender);
delete (rxa->sender);
delete (rxa->bpsnba);
delete (rxa->nbp0);
delete (rxa->ndb);
@ -610,7 +610,7 @@ void RXA::flush_rxa (RXA *rxa)
rxa->adcmeter->flush();
rxa->nbp0->flush();
rxa->bpsnba->flush();
SENDER::flush_sender (rxa->sender);
rxa->sender->flush();
rxa->smeter->flush();
AMSQ::flush_amsq (rxa->amsq);
AMD::flush_amd (rxa->amd);
@ -643,7 +643,7 @@ void RXA::xrxa (RXA *rxa)
rxa->bpsnba->exec_in(0);
rxa->nbp0->execute(0);
rxa->smeter->execute();
SENDER::xsender (rxa->sender);
rxa->sender->execute();
AMSQ::xamsqcap (rxa->amsq);
rxa->bpsnba->exec_out(0);
AMD::xamd (rxa->amd);
@ -756,7 +756,7 @@ void RXA::setDSPSamplerate (RXA *rxa, int dsp_rate)
rxa->nbp0->setSamplerate(rxa->dsp_rate);
rxa->bpsnba->setSamplerate(rxa->dsp_rate);
rxa->smeter->setSamplerate(rxa->dsp_rate);
SENDER::setSamplerate_sender (rxa->sender, rxa->dsp_rate);
rxa->sender->setSamplerate(rxa->dsp_rate);
AMSQ::setSamplerate_amsq (rxa->amsq, rxa->dsp_rate);
AMD::setSamplerate_amd (rxa->amd, rxa->dsp_rate);
FMD::setSamplerate_fmd (rxa->fmd, rxa->dsp_rate);
@ -822,9 +822,9 @@ void RXA::setDSPBuffsize (RXA *rxa, int dsp_size)
rxa->bpsnba->setBuffers(rxa->midbuff, rxa->midbuff);
rxa->bpsnba->setSize(rxa->dsp_size);
rxa->smeter->setBuffers(rxa->midbuff);
rxa->smeter->METER::setSize(rxa->dsp_size);
SENDER::setBuffers_sender (rxa->sender, rxa->midbuff);
SENDER::setSize_sender (rxa->sender, rxa->dsp_size);
rxa->smeter->setSize(rxa->dsp_size);
rxa->sender->setBuffers(rxa->midbuff);
rxa->sender->setSize(rxa->dsp_size);
AMSQ::setBuffers_amsq (rxa->amsq, rxa->midbuff, rxa->midbuff, rxa->midbuff);
AMSQ::setSize_amsq (rxa->amsq, rxa->dsp_size);
AMD::setBuffers_amd (rxa->amd, rxa->midbuff, rxa->midbuff);
@ -847,8 +847,8 @@ void RXA::setDSPBuffsize (RXA *rxa, int dsp_size)
BANDPASS::setSize_bandpass (rxa->bp1, rxa->dsp_size);
WCPAGC::setBuffers_wcpagc (rxa->agc, rxa->midbuff, rxa->midbuff);
WCPAGC::setSize_wcpagc (rxa->agc, rxa->dsp_size);
rxa->agcmeter->METER::setBuffers(rxa->midbuff);
rxa->agcmeter->METER::setSize(rxa->dsp_size);
rxa->agcmeter->setBuffers(rxa->midbuff);
rxa->agcmeter->setSize(rxa->dsp_size);
SIPHON::setBuffers_siphon (rxa->sip1, rxa->midbuff);
SIPHON::setSize_siphon (rxa->sip1, rxa->dsp_size);
CBL::setBuffers_cbl (rxa->cbl, rxa->midbuff, rxa->midbuff);
@ -868,7 +868,7 @@ void RXA::setDSPBuffsize (RXA *rxa, int dsp_size)
void RXA::setSpectrumProbe(BufferProbe *spectrumProbe)
{
SENDER::SetSpectrum(*this, 1, spectrumProbe);
sender->SetSpectrum(1, spectrumProbe);
sender->run = 1;
}

View File

@ -32,37 +32,30 @@ warren@wpratt.com
namespace WDSP {
SENDER* SENDER::create_sender (int run, int flag, int mode, int size, float* in)
SENDER::SENDER(int _run, int _flag, int _mode, int _size, float* _in) :
run(_run),
flag(_flag),
mode(_mode),
size(_size),
in(_in)
{
SENDER *a = new SENDER;
a->run = run;
a->flag = flag;
a->mode = mode;
a->size = size;
a->in = in;
a->spectrumProbe = nullptr;
return a;
spectrumProbe = nullptr;
}
void SENDER::destroy_sender (SENDER *a)
{
delete (a);
}
void SENDER::flush_sender (SENDER *)
void SENDER::flush()
{
}
void SENDER::xsender (SENDER *a)
void SENDER::execute()
{
if (a->run && a->flag)
if (run && flag)
{
switch (a->mode)
switch (mode)
{
case 0:
{
if (a->spectrumProbe) {
a->spectrumProbe->proceed(a->in, a->size);
if (spectrumProbe) {
spectrumProbe->proceed(in, size);
}
break;
}
@ -70,33 +63,31 @@ void SENDER::xsender (SENDER *a)
}
}
void SENDER::setBuffers_sender (SENDER *a, float* in)
void SENDER::setBuffers(float* _in)
{
a->in = in;
in = _in;
}
void SENDER::setSamplerate_sender (SENDER *a, int)
void SENDER::setSamplerate(int)
{
flush_sender (a);
flush();
}
void SENDER::setSize_sender (SENDER *a, int size)
void SENDER::setSize(int _size)
{
a->size = size;
size = _size;
}
/********************************************************************************************************
* *
* RXA Properties *
* Public Properties *
* *
********************************************************************************************************/
void SENDER::SetSpectrum (RXA& rxa, int flag, BufferProbe *spectrumProbe)
void SENDER::SetSpectrum(int _flag, BufferProbe *_spectrumProbe)
{
SENDER *a;
a = rxa.sender;
a->flag = flag;
a->spectrumProbe = spectrumProbe;
flag = _flag;
spectrumProbe = _spectrumProbe;
}
} // namespace WDSP

View File

@ -50,16 +50,16 @@ public:
float* in; // buffer from which to take the data
BufferProbe *spectrumProbe; // this is the data handler actually
static SENDER* create_sender (int run, int flag, int mode, int size, float* in);
static void destroy_sender (SENDER *a);
static void flush_sender (SENDER *a);
static void xsender (SENDER *a);
static void setBuffers_sender (SENDER *a, float* in);
static void setSamplerate_sender (SENDER *a, int rate);
static void setSize_sender (SENDER *a, int size);
// RXA Properties
static void SetSpectrum (RXA& rxa, int flag, BufferProbe *spectrumProbe);
// TXA Properties
SENDER(int run, int flag, int mode, int size, float* in);
~SENDER() = default;
void flush();
void execute();
void setBuffers(float* in);
void setSamplerate(int rate);
void setSize(int size);
// Public Properties
void SetSpectrum(int flag, BufferProbe *spectrumProbe);
};
} // namespace WDSP