50#include <SoDa/MailBox.hxx>
The Baseclass for all SoDa objects, and useful commonly used classes.
The Baseclass for all SoDa thread objects.
virtual void setNCOFreq(double freq)=0
Methods that ALL radios must implement.
double current_IF_tuning
current IF NCO frequency
double getTime()
get the number of seconds since the "Epoch"
CmdMBox::Subscription cmd_subs
virtual void subExecCommand(CommandPtr cmd)
Methods that a radio MAY implement (see above)
RadioRX(ParamsPtr params)
Constructor Build a RadioRX thread.
virtual void execRepCommand(CommandPtr cmd) final
Parse an incoming REPort command and dispatch.
virtual void subExecSetCommand(CommandPtr cmd)
virtual void subExecGetCommand(CommandPtr cmd)
virtual bool streamEnabled()=0
test the processing stream flag
void run() final
start the thread
virtual bool downConvert()=0
A receiver must accept input data from the rx_stream and beat it against its NCO to produce output on...
virtual void enableIFStreamer(bool enable)=0
Enable IF streamer - This passes the incoming RF sample buffer onto the IF stream where it can be con...
virtual void execGetCommand(CommandPtr cmd) final
Parse an incoming GET command and dispatch.
virtual void execSetCommand(CommandPtr cmd) final
Parse an incoming SET command and dispatch.
virtual void init()
perform initialization.
virtual void subExecRepCommand(CommandPtr cmd)
virtual void stopStream()=0
flush the input rx data stream and set the stream_processing flag to off
virtual void subscribeToMailBoxes(const std::vector< MailBoxBasePtr > &mailboxes) final
SoDa Threads must subscribe to at least the control mailbox.
virtual void startStream()=0
flush the input rx data stream and set the stream_processing flag to on.
The Thread baseclass for all SoDa thread objects.
std::shared_ptr< Params > ParamsPtr
std::shared_ptr< Command > CommandPtr
std::shared_ptr< CmdMBox > CmdMBoxPtr
std::shared_ptr< CDatMBox > CDatMBoxPtr