Agora
1.2.0
Agora project
|
#include <radio_soapysdr.h>
Public Member Functions | |
RadioSoapySdr (RadioDataPlane::DataPlaneType rx_dp_type) | |
~RadioSoapySdr () final | |
void | Init (const Config *cfg, size_t id, const std::string &serial, const std::vector< size_t > &enabled_channels, bool hw_framer) final |
void | Setup (const std::vector< double > &tx_gains, const std::vector< double > &rx_gains) final |
void | Activate (Radio::ActivationTypes type=Radio::ActivationTypes::kActivate, long long act_time_ns=0, size_t samples=0) final |
void | Deactivate () final |
void | Close () final |
void | Flush () final |
int | Tx (const void *const *tx_buffs, size_t tx_size, Radio::TxFlags tx_flags, long long &tx_time_ns) final |
int | Rx (std::vector< std::vector< std::complex< int16_t >>> &rx_data, size_t rx_size, RxFlags &out_flags, long long &rx_time_ns) final |
int | Rx (std::vector< std::vector< std::complex< int16_t >> * > &rx_buffs, size_t rx_size, RxFlags &out_flags, long long &rx_time_ns) final |
int | Rx (std::vector< void * > &rx_locs, size_t rx_size, RxFlags &out_flags, long long &rx_time_ns) final |
void | SetTimeAtTrigger (long long time_ns=0) final |
long long | GetTimeNs () final |
void | ConfigureTddModeBs (bool is_ref_radio) final |
void | ConfigureTddModeUe () final |
void | ClearSyncDelay () final |
void | PrintSettings () const final |
void | Trigger () final |
void | ReadSensor () const final |
void | AdjustDelay (const std::string &delay) final |
void | InitRefTx (size_t channel, double freq) |
void | InitCalRx (size_t channel, double center_freq) |
void | ResetTxGains () |
void | ResetRxGains () |
void | SetTxCalGain (size_t channel) |
void | SetRxGain (size_t channel, const std::string &gain_stage, double value) |
void | SetTxGain (size_t channel, const std::string &gain_stage, double value) |
void | StartRefTx (size_t channel) |
void | StopRefTx (size_t channel) |
void | SetDcOffset (int direction, size_t channel, std::complex< double > dc_corr) |
void | SetIQBalance (int direction, size_t channel, std::complex< double > i_qcorr) |
void | SetFreqBb (size_t channel, double freq) |
void | SetFreqRf (size_t channel, double freq) |
void | InitAgc (bool enabled, size_t setting) |
std::vector< std::complex< float > > | SnoopSamples (size_t channel, size_t read_size) |
SoapySDR::Device * | SoapyDevice () const |
const std::string & | IpAddress () const |
Public Member Functions inherited from Radio | |
virtual | ~Radio () |
size_t | Id () const |
const std::string & | SerialNumber () const |
bool | HwFramer () const |
virtual void | ConfigureTddModeBs ([[maybe_unused]] bool is_ref_radio) |
virtual void | AdjustDelay ([[maybe_unused]] const std::string &delay) |
const std::vector< size_t > & | EnabledChannels () const |
Private Member Functions | |
void | Correlator (bool enable) |
Private Attributes | |
SoapySDR::Device * | dev_ |
std::string | ip_address_ |
std::unique_ptr< RadioDataPlane > | rxp_ |
SoapySDR::Stream * | txs_ |
bool | correlator_enabled_ |
Additional Inherited Members | |
Public Types inherited from Radio | |
enum | RadioType { kSoapySdrStream, kSoapySdrSocket } |
enum | RxFlags { kRxFlagNone = 0, kEndReceive = 1 } |
enum | TxFlags { kTxFlagNone = 0, kEndTransmit = 1, kTxWaitTrigger = 2 } |
enum | ActivationTypes { kActivate, kActivateWaitTrigger } |
Static Public Member Functions inherited from Radio | |
static std::unique_ptr< Radio > | Create (RadioType type) |
Protected Member Functions inherited from Radio | |
Radio () | |
Protected Attributes inherited from Radio | |
const Config * | cfg_ {nullptr} |
|
explicit |
|
final |
|
finalvirtual |
|
final |
|
finalvirtual |
Reimplemented from Radio.
|
finalvirtual |
Implements Radio.
|
final |
|
finalvirtual |
|
private |
|
finalvirtual |
|
finalvirtual |
|
finalvirtual |
|
finalvirtual |
void RadioSoapySdr::InitAgc | ( | bool | enabled, |
size_t | setting | ||
) |
void RadioSoapySdr::InitCalRx | ( | size_t | channel, |
double | center_freq | ||
) |
void RadioSoapySdr::InitRefTx | ( | size_t | channel, |
double | freq | ||
) |
|
inline |
|
finalvirtual |
|
finalvirtual |
void RadioSoapySdr::ResetRxGains | ( | ) |
void RadioSoapySdr::ResetTxGains | ( | ) |
|
finalvirtual |
Implements Radio.
|
finalvirtual |
Implements Radio.
|
finalvirtual |
Implements Radio.
void RadioSoapySdr::SetDcOffset | ( | int | direction, |
size_t | channel, | ||
std::complex< double > | dc_corr | ||
) |
void RadioSoapySdr::SetFreqBb | ( | size_t | channel, |
double | freq | ||
) |
void RadioSoapySdr::SetFreqRf | ( | size_t | channel, |
double | freq | ||
) |
void RadioSoapySdr::SetIQBalance | ( | int | direction, |
size_t | channel, | ||
std::complex< double > | i_qcorr | ||
) |
void RadioSoapySdr::SetRxGain | ( | size_t | channel, |
const std::string & | gain_stage, | ||
double | value | ||
) |
|
finalvirtual |
void RadioSoapySdr::SetTxCalGain | ( | size_t | channel | ) |
void RadioSoapySdr::SetTxGain | ( | size_t | channel, |
const std::string & | gain_stage, | ||
double | value | ||
) |
|
finalvirtual |
std::vector< std::complex< float > > RadioSoapySdr::SnoopSamples | ( | size_t | channel, |
size_t | read_size | ||
) |
|
inline |
void RadioSoapySdr::StartRefTx | ( | size_t | channel | ) |
void RadioSoapySdr::StopRefTx | ( | size_t | channel | ) |
|
finalvirtual |
Reimplemented from Radio.
|
finalvirtual |
|
private |
|
private |
|
private |
|
private |
|
private |