40#include <SoDa/MailBox.hxx>
82 auto ret = std::shared_ptr<IFRecorder>(
new IFRecorder(params));
83 ret->registerThread(ret);
The Baseclass for all SoDa objects, and useful commonly used classes.
The Baseclass for all SoDa thread objects.
void run()
the run method – does the work of the audio receiver process
bool write_stream_on
when true, write each incoming buffer to the output stream.
void openOutStream(char *ofile_name)
open an output stream to receive the RF samples
CDatMBox::Subscription rx_subs
mailbox subscription ID for rx data stream
CmdMBox::Subscription cmd_subs
mailbox subscription ID for command stream
double rf_sample_rate
sample rate of RF input from USRP – assumed 625KHz
std::ofstream ostr
raw (binary) output stream.
CmdMBoxPtr cmd_stream
mailbox producing command stream from user
void execRepCommand(CommandPtr cmd)
handle Report commands from the command channel
void closeOutStream()
close the current output stream
void execSetCommand(CommandPtr cmd)
handle SET commands from the command channel
void execGetCommand(CommandPtr cmd)
execute GET commands from the command channel
double current_rx_center_freq
CDatMBoxPtr rx_stream
mailbox producing rx sample stream from USRP
IFRecorder(ParamsPtr params)
the constructor
void subscribeToMailBoxes(const std::vector< MailBoxBasePtr > &mailboxes)
implement the subscription method
unsigned int rf_buffer_size
size of input RF buffer chunk
static IFRecorderPtr make(ParamsPtr params)
The Thread baseclass for all SoDa thread objects.
std::shared_ptr< Params > ParamsPtr
std::shared_ptr< IFRecorder > IFRecorderPtr
std::shared_ptr< Command > CommandPtr
std::shared_ptr< CmdMBox > CmdMBoxPtr
std::shared_ptr< CDatMBox > CDatMBoxPtr