HARDT - The Ham Radio DSP Toolkit
Public Member Functions | List of all members
HSubtracter< T > Class Template Reference

#include <hsubtracter.h>

Inheritance diagram for HSubtracter< T >:
Inheritance graph
[legend]
Collaboration diagram for HSubtracter< T >:
Collaboration graph
[legend]

Public Member Functions

 HSubtracter (HReader< T > *reader_1, HReader< T > *reader_2, size_t blocksize, HProbe< T > *probe=NULL)
 
 HSubtracter (HReader< T > *reader, HWriter< T > *writer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HSubtracter (HWriter< T > *writer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HSubtracter (HReader< T > *reader, HWriterConsumer< T > *consumer, size_t blocksize, HProbe< T > *probe=NULL)
 
 HSubtracter (HWriterConsumer< T > *consumer, size_t blocksize, HProbe< T > *probe=NULL)
 
 ~HSubtracter ()
 
void Init (size_t blocksize)
 
int Read (T *dest, size_t blocksize)
 
int Write (T *src, size_t blocksize)
 
bool Start ()
 
bool Stop ()
 
void SetWriter (HWriter< T > *writer)
 
bool Command (HCommand *command)
 
- Public Member Functions inherited from HReader< T >
virtual ~HReader ()=default
 
HReader< T > * Reader ()
 
- Public Member Functions inherited from HObject
 HObject ()
 
- Public Member Functions inherited from HWriter< T >
virtual ~HWriter ()=default
 
HWriter< T > * Writer ()
 
- Public Member Functions inherited from HWriterConsumer< T >
HWriterConsumer< T > * Consumer ()
 

Detailed Description

template<class T>
class HSubtracter< T >

Linear mixer that subtracts signal 2 from signal 1.

Constructor & Destructor Documentation

◆ HSubtracter() [1/5]

template<class T >
HSubtracter< T >::HSubtracter ( HReader< T > *  reader_1,
HReader< T > *  reader_2,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HSubtracter

◆ HSubtracter() [2/5]

template<class T >
HSubtracter< T >::HSubtracter ( HReader< T > *  reader,
HWriter< T > *  writer,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HSubtracter

◆ HSubtracter() [3/5]

template<class T >
HSubtracter< T >::HSubtracter ( HWriter< T > *  writer,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HSubtracter which mixes two inputs by multiplexing between alternating writes. Every 1st. write is kept in a buffer and with the 2nd. write, the sample values from the first and second write is subtracted. The result is then written to the next writer.

◆ HSubtracter() [4/5]

template<class T >
HSubtracter< T >::HSubtracter ( HReader< T > *  reader,
HWriterConsumer< T > *  consumer,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HSubtracter

◆ HSubtracter() [5/5]

template<class T >
HSubtracter< T >::HSubtracter ( HWriterConsumer< T > *  consumer,
size_t  blocksize,
HProbe< T > *  probe = NULL 
)

Construct a new HSubtracter

◆ ~HSubtracter()

template<class T >
HSubtracter< T >::~HSubtracter

Default destructor

Member Function Documentation

◆ Command()

template<class T >
bool HSubtracter< T >::Command ( HCommand command)
inlinevirtual

Execute or carry through a command

Implements HReader< T >.

◆ Init()

template<class T >
void HSubtracter< T >::Init ( size_t  blocksize)

Common initialization

◆ Read()

template<class T >
int HSubtracter< T >::Read ( T *  dest,
size_t  blocksize 
)
virtual

Read a block of samples

Implements HReader< T >.

◆ SetWriter()

template<class T >
void HSubtracter< T >::SetWriter ( HWriter< T > *  writer)
inlinevirtual

Set writer

Implements HWriterConsumer< T >.

◆ Start()

template<class T >
bool HSubtracter< T >::Start
virtual

Initialize before first read

Reimplemented from HReader< T >.

◆ Stop()

template<class T >
bool HSubtracter< T >::Stop
virtual

Cleanup after last read

Reimplemented from HReader< T >.

◆ Write()

template<class T >
int HSubtracter< T >::Write ( T *  src,
size_t  blocksize 
)
virtual

Write a block of samples

Implements HWriter< T >.


The documentation for this class was generated from the following files: