PicoScenes API Docs
 
Loading...
Searching...
No Matches
USRPFrontEnd Class Reference

#include <USRPFrontEnd.hxx>

Inheritance diagram for USRPFrontEnd:
Collaboration diagram for USRPFrontEnd:

Static Public Member Functions

static std::shared_ptr< USRPFrontEndgetInstance (const std::string &referredInterfaceName)
 

Protected Member Functions

 USRPFrontEnd (const std::string &referredInterfaceName)
 
- Protected Member Functions inherited from AbstractSDRFrontEnd
void refreshHardwareInfoForSupportedChannels () override
 
void refreshHardwareInfoForBoards () override
 
void refreshHardwareInfoForSupportedAntennas () override
 
void refreshHardwareInfoForGainRanges () override
 
void refreshHardwareInfoForFrequencyRanges () override
 
void refreshHardwareInfoForSamplingRateRanges () override
 
void refreshHardwareInfoForMasterClockRates () override
 
void refreshHardwareInfoForClockAndTimeSources () override
 
void refreshHardwareInfoForSensors () override
 
void refreshHardwareInfoForTemperatures () override
 
void refreshHardwareInfoForAGCSupport () override
 
void refreshHardwareInfoForFrontEndProfiles () override
 
- Protected Member Functions inherited from SDRDeviceHardwareInformation
virtual void refreshHardwareInfoForConnectionProfile ()
 

Protected Attributes

std::string USRPAddress
 
- Protected Attributes inherited from AbstractSDRFrontEnd
std::optional< uint32_t > txSignalReplayDelay_ms
 
std::optional< std::string > txSignalDumpFilePath
 
std::optional< std::string > rxSignalDumpFilePath
 
std::optional< double > rxSignalDumpDelayedStartDuration
 
std::optional< std::string > rxSignalReplayFilePath
 
bool fullDuplex {false}
 
uint8_t numDecodingThreads {1}
 
SDRFrontEndTransferType transferType {SDRFrontEndTransferType::CS16}
 
std::vector< size_t > txChannels {}
 
std::vector< size_t > rxChannels {}
 
ChannelBandwidthEnum rxCBW {ChannelBandwidthEnum::CBW_20}
 
double rxResampleRatio {1.0}
 
bool rxResampleBypassFIR {false}
 
bool mergeHighLow {false}
 
double rxOFDMSymbolOffset {0.75}
 
double numSamplesSavedBeforeStart {5}
 
double rxSensitivity {10}
 
double rxIQMismatchRatioDb {0}
 
double rxIQMismatchRatioDegree {0}
 
std::optional< double > rxCarrierFrequencyOffset {}
 
std::optional< double > rxSamplingFrequencyOffset {}
 
- Protected Attributes inherited from AbstractFrontEnd
std::string referredInterfaceName
 the user specified frontend name
 
std::string phyId
 phyId
 
std::array< uint8_t, 6 > macAddress_PHY {0, 0, 0, 0, 0, 0}
 macAddress of the frontend
 
PicoScenesDeviceType frontEndType = PicoScenesDeviceType::Unknown
 frontend type
 
PicoScenesDeviceSubtype frontEndSubtype = PicoScenesDeviceSubtype::Unknown
 frontend subtype
 
bool txServiceStarted = false
 indicate whether Tx service is running
 
PicoScenesFrameTxParameters userSpecifiedTxParameters
 user-specified Tx parameters
 
std::mutex txPauseMutex
 
std::condition_variable txPauseCV
 
bool txPaused = false
 indicate whether Tx serivce is paused
 
std::function< void(const ModularPicoScenesRxFrame &)> rxHandle = nullptr
 The Rx frame handler.
 
bool rxPaused = false
 indicate whether Rx service loop is paused
 
bool rxServiceStarted = false
 indicate whether Rx service loop is running
 
- Protected Attributes inherited from FrontEndConfigurations
std::vector< std::array< uint8_t, 6 > > sourceAddressFilterList
 the source addresses to be filtered
 
std::vector< std::array< uint8_t, 6 > > destinationAddressFilterList
 the destination addressed to be filtered
 
uint16_t currentTxSequenceNumber {0}
 current Tx sequence number
 
- Protected Attributes inherited from SDRDeviceHardwareInformation
SDRMainBoardInfo boardInfo
 
bool boardInfoChanged {true}
 
std::vector< uint8_t > supportedTxChannels {}
 
std::vector< uint8_t > supportedRxChannels {}
 
bool supportedChannelsChanged {true}
 
std::vector< SDRDaughterboardProfiledaughterboardProfiles {}
 
std::vector< std::shared_ptr< SDRFrontEndProfile > > frontendProfiles {}
 
bool frontendProfilesChanged {true}
 
std::vector< std::vector< std::string > > supportedTxAntennas {}
 
std::vector< std::vector< std::string > > supportedRxAntennas {}
 
bool supportedAntennasChanged {true}
 
bool supportedAntennasMapChanged {true}
 
std::vector< std::pair< double, double > > txGainRanges {}
 
std::vector< std::pair< double, double > > rxGainRanges {}
 
bool gainRangesChanged {true}
 
bool gainRangesMapChanged {true}
 
std::vector< std::pair< double, double > > txFrequencyRanges {}
 
std::vector< std::pair< double, double > > rxFrequencyRanges {}
 
bool frequencyRangesChanged {true}
 
bool frequencyRangesMapChanged {true}
 
std::vector< std::pair< double, double > > txSamplingRateRanges {}
 
std::vector< std::pair< double, double > > rxSamplingRateRanges {}
 
bool samplingRateRangesChanged {true}
 
bool samplingRateRangesMapChanged {true}
 
std::vector< double > supportedMasterClockRates {}
 
bool masterClockRatesChanged {true}
 
std::vector< std::string > supportedClockAndTimeSources {}
 
bool clockAndTimeSourcesChanged {true}
 
std::vector< std::vector< std::string > > supportedSensors {}
 
bool sensorsChanged {true}
 
bool sensorsMapChanged {true}
 
std::vector< double > temperatureReadings {}
 
bool temperaturesChanged {true}
 
std::vector< bool > agcSupport {}
 
bool agcSupportChanged {true}
 
bool agcSupportMapChanged {true}
 

Additional Inherited Members

- Public Member Functions inherited from AbstractSDRFrontEnd
 AbstractSDRFrontEnd (const std::string &referredInterfaceName)
 Create AbstractSDRFrontEnd object according to the user-specified frontend name referredInterfaceName.
 
virtual CS16Vector generateSignal (const ModularPicoScenesTxFrame &frame, uint8_t numTxAntenna)=0
 Generate the baseband signal for ModularPicoScenesTxFrame frame with an optional numTxAntenna specifying the number of Tx antennas (or channels)
 
virtual std::vector< CS16Vector > generateMultiChannelSignals (const ModularPicoScenesTxFrame &frame, const uint8_t numTxAntenna)
 Generate the baseband signal via AbstractSDRFrontEnd::generateSignal, convert to SignalType type, and return in multi-channel format.
 
virtual void prebuildSignals (ModularPicoScenesTxFrame &frame, const uint8_t numTxAntenna)
 Generate the baseband signal via AbstractSDRFrontEnd::generateSignal and save the data into the prebuilt signals buffer of the Tx frame.
 
virtual int transmitSignalsFromFile (const std::string &signalSourceFile, uint64_t repeat)=0
 Transmits baseband signals from a .bbsignals file.
 
virtual int32_t transmitSignals (const std::vector< const void * > &signals, int64_t bufferLength, double postfixDuration)=0
 
virtual int transmitSignalsContinuously (const std::vector< const void * > &multiChannelHeaders, int64_t numSignalsPerAntenna, bool burstStart, bool burstEnd)=0
 
int transmit (const ModularPicoScenesTxFrame &frame) override
 Transmit a ModularPicoScenesTxFrame frame via current frontend hardware.
 
virtual size_t transmitSignal (const CS16Vector &signals, const uint8_t numTxChannels, const double postfixDuration)
 
virtual size_t transmitSignal (const std::vector< CS16Vector > &multiChannelSignals, const double postfixDuration)
 
virtual int32_t transmitSignalInBatchedSingleBurst (const std::vector< std::vector< const void * > > &multipleSignals, const std::vector< int64_t > &signalLength, const std::vector< double > &postfixDurations, uint32_t repeat)=0
 
int transmitFramesInBatch (const std::vector< const ModularPicoScenesTxFrame * > &frames, const uint32_t repeat) override
 Transmit frames in batch with precise inter-frame timing.
 
template<int repeat = 1, typename... Frames, typename = std::enable_if_t<(std::is_same_v<std::remove_cvref_t<Frames>, ModularPicoScenesTxFrame*> && ...) || (std::is_same_v<std::remove_cvref_t<Frames>, ModularPicoScenesTxFrame> && ...) || ((std::is_same_v<std::remove_cvref_t<Frames>, std::shared_ptr<ModularPicoScenesTxFrame>> || std::is_same_v<std::remove_cvref_t<Frames>, std::unique_ptr<ModularPicoScenesTxFrame>>) && ...)>>
int transmitFramesInBatch (Frames &&... frames)
 
virtual std::optional< double > getCurrentNoiseFloor ()=0
 
virtual SDRFrontEndTxStatus getLastTxStatus () const =0
 
virtual void clearTxStatus ()=0
 
void setTxSignalDumpFilePath (const std::string &txSignalDumpFilePathV)
 
void setRxSignalDumpFilePath (const std::string &rxSignalDumpFilePathV)
 
void setRxSignalDumpDelayedStartDuration (const double delayedStartDuration)
 
void setSignalReplayFilePath (const std::string &signalReplayFilePath)
 
void setTxSignalReplayDelayMs (const std::optional< uint32_t > &txSignalReplayDelayMs)
 
ChannelBandwidthEnum getRxChannelBandwidthMode () override
 Get the current CBW value of Wi-Fi baseband decoder.
 
void setRxChannelBandwidthMode (ChannelBandwidthEnum rxCbw) override
 Set the CBW value for Wi-Fi baseband decoder, invoked by "--rx-cbw" option.
 
void setTxIQMismatch (double iq_ratio_db, double iq_crosstalk_degree) override
 Set Tx I/Q mismatch.
 
void setRxIQMismatch (double iq_ratio_db, double iq_crosstalk_degree) override
 Set Rx I/Q mismatch.
 
double getTxIqRatioDB () override
 Get the I/Q mismatch ratio of the user-specified Tx I/Q mismatch.
 
double getTxIqCrossTalkDegree () override
 Get the I/Q mismatch angle of the user-specified Tx I/Q mismatch.
 
double getRxIqRatioDB () override
 Get the I/Q mismatch ratio of the user-specified Rx I/Q mismatch.
 
double getRxIqCrossTalkDegree () override
 Get the I/Q mismatch degree of the user-specified Tx I/Q mismatch.
 
double getRxSensitivity () override
 Get the Rx sensitivity of SDR baseband implemntation.
 
void setRxSensitivity (const double rxSensitivityV) override
 Set Rx sensitivity.
 
void setCarrierFrequencyOffset4TxEncoding (double carrierFrequencyOffset) override
 Set the current carrier frequency offset (CFO) value for the baseband signal generation.
 
std::optional< double > getCarrierFrequencyOffset4TxEncoding () override
 Get the current carrier frequency offset (CFO) value for the baseband signal generation.
 
void setSamplingFrequencyOffset4TxEncoding (double samplingFrequencyOffset) override
 Set the current sampling frequency offset (SFO) value for the baseband signal generation.
 
std::optional< double > getSamplingFrequencyOffset4TxEncoding () override
 Get the current sampilng frequency offset (SFO) value for the baseband signal generation.
 
void setCarrierFrequencyOffset4RxDecoding (double rxCarrierFrequencyOffsetV) override
 Set the CFO value for baseband decoding.
 
std::optional< double > getCarrierFrequencyOffset4RxDecoding () override
 Check if user specifies the Rx path CFO; if specified, return the Rx path CFO.
 
void setSamplingFrequencyOffset4RxDecoding (double samplingFrequencyOffset) override
 Set the user-specified Rx path SFO,.
 
std::optional< double > getSamplingFrequencyOffset4RxDecoding () override
 Get the user-specified Rx path SFO, default is 0.
 
double getSamplingRate () override
 Get the baseband sampling rate.
 
void setSamplingRate (double samplingRate) override
 set sampling rate (in Hz)
 
double getTxResampleRatio () override
 Get the user-specified Tx signal resample ratio.
 
void setTxResampleRatio (double txResampleRatioV) override
 Set Tx signal resample ratio.
 
double getRxResampleRatio () override
 Get the user-specified Rx resampling ratio.
 
bool isRxResampleBypassFIR () override
 
void setRxResampleBypassFIR (const bool bypass) override
 
bool isTxSplitHighLow () override
 
void setTxSplitHighLow (const bool split) override
 
bool isRxMergeHighLow () override
 
void setRxMergeHighLow (const bool merge) override
 
void setRxResampleRatio (double rxResampleRatioV) override
 Set the Rx signal rasample ratio.
 
double getRxOfdmSymbolOffset () override
 Get the user-specified Rx OFDM symbol offset value.
 
void setRxOfdmSymbolOffset (const double rxOfdmSymbolOffset) override
 Set Rx OFDM symbol offset, default is 0.
 
double getNumSamplesSavedBeforeStart () override
 
void getNumSamplesSavedBeforeStart (const double numSamplesSavedBeforeStartV) override
 
uint8_t getTxChainMask () override
 Get the Tx chain mask.
 
void setTxChainMask (const uint8_t txChainMask) override
 Set Tx chain mask. Setting Tx chain mask means to use only the selected Tx chain for signal transmission.
 
uint8_t getRxChainMask () override
 Get Rx chain mask.
 
void setRxChainMask (const uint8_t rxChainMask) override
 Set Rx chain mask. Setting Rx chain mask means to use only the selected Rx chains for signal reception.
 
const std::vector< size_t > & userSpecifiedTxChannels () const override
 
std::vector< size_t > getTxChannels () override
 Get the numbers of the active Tx channels, starting from 0.
 
void setTxChannels (const std::vector< size_t > &txChannelsN) override
 This methods is fundamentally.
 
const std::vector< size_t > & userSpecifiedRxChannels () const override
 
std::vector< size_t > getRxChannels () override
 Get the number of the active Rx channels, starting from 0.
 
void setRxChannels (const std::vector< size_t > &rxChannelsN) override
 Set the number of the active Rx channels, starting from 0.
 
bool isFullDuplexEnabled () override
 Check whether the Frontend is in Tx/Rx loopback mode.
 
void setFullDuplex (const bool enableFullDuplex) override
 Set the Frontend is in Tx/Rx loopback mode, in this mode Tx and Rx are open simultaneously, so that Rx end can receive the transmitted signal by Tx path.
 
SDRFrontEndTransferType getTransferType () const override
 
void setTransferType (const SDRFrontEndTransferType transferTypeV) override
 
void setNumThreads4RxDecoding (const uint8_t numThreads) override
 
void printStatus () override
 Print a status string to command line.
 
ExtraInfo buildExtraInfo () override
 Build an ExtraInfo object describing the current frontend status.
 
std::tuple< double, double, double > getChannelAndBandwidth () override
 Get the <contorlfreq-bandwidth-centerfreq> channel parameter.
 
int setChannelAndBandwidth (double control, double bw, double center) override
 Set the <contorlfreq-bandwidth-centerfreq> channel parameter.
 
int setChannelAndBandwidth (std::optional< double > control, std::optional< double > bw, std::optional< double > center) override
 Set the <contorlfreq-bandwidth-centerfreq> channel parameter, but with optional.
 
double getCarrierFrequency () override
 Get the RF carrier frequency.
 
void setCarrierFrequency (double carrierFrequency) override
 Get the RF carrier frequency.
 
double getControlChannelFrequency () override
 Get the control channel frequency of <contorlfreq-bandwidth-centerfreq> channel parameter.
 
void setControlChannelFrequency (double controlFrequency) override
 Get the control channel frequency of <contorlfreq-bandwidth-centerfreq> channel parameter.
 
double getRxChannelBandwidth () override
 Get the 802.11 Channel Bandwidth parameter (20e6/40e6/80e6/160e6/320e6) of the Rx path.
 
void setRxChannelBandwidth (double rxcbw) override
 Set the Rx channel bandwidth parameter of the <contorlfreq-bandwidth-centerfreq> channel parameters.
 
double getTxpower () override
 get the transmission power (Tx power)
 
void setTxpower (double txpower) override
 Set the Tx power (in dB)
 
double getRxGain () override
 Get the total Rx gain. However, currently only QCA9300 and SDR frontend support this method.
 
void setRxGain (double rxGain) override
 Set the total Rx gain. However, currently only QCA9300 and SDR frontend support this method.
 
void setRxGain (double rxGain, uint8_t channel) override
 Set the Rx gain for the specified channel. However, currently only QCA9300 and SDR frontend support this method.
 
uint16_t getChannelFlags () override
 Get the old ChannelFlags descriptor.
 
std::string getClockSource () override
 Get the clock source.
 
void setClockSource (const std::string &clockSource) override
 Set the clock source. For USRP, it can be "external", "mimo", "internal".
 
void setClockSources (const std::vector< std::string > &clockSources) override
 Set multiple clock sources for different motherboards.
 
std::vector< std::string > getClockSources () override
 Get the list of currently set clock sources.
 
std::string getTimeSource () override
 Get the timing source.
 
void setTimeSource (const std::string &timeSource) override
 Set the timing source. For USRP, it can be "external", "mimo", "internal".
 
void setTimeSources (const std::vector< std::string > &timeSources) override
 Set multiple time sources for different motherboards.
 
std::vector< std::string > getTimeSources () override
 Get the list of currently set time sources.
 
double getMasterClockRate () override
 Get the USRP master clock rate (in Hz)
 
void setMasterClockRate (double masterClockRate) override
 Set the USRP master clock rate (in Hz)
 
double getSDRFrontEndTime () override
 Obtain the SDR hardware time.
 
std::string getTxAntenna () override
 Get the Tx antenna.
 
void setTxAntenna (const std::string &txAnt) override
 Set the Tx antenna.
 
std::string getRxAntenna () override
 Get the Rx antenna.
 
void setRxAntenna (const std::string &rxAnt) override
 Set the Rx antenna.
 
std::vector< std::string > getTxAntennas () override
 
void setTxAntennas (const std::vector< std::string > &txAnts) override
 Specify antenna for each Tx chain.
 
std::vector< std::string > getRxAntennas () override
 
void setRxAntennas (const std::vector< std::string > &rxAnts) override
 Specify antenna for each Rx chain.
 
double getFilterBandwidth () override
 get the hardware-frontend filter bandwidth
 
void setFilterBandwidth (double bw) override
 Set the hardware frontend filter bandwidth.
 
- Public Member Functions inherited from AbstractFrontEnd
 AbstractFrontEnd (const std::string &referredInterfaceName)
 Create AbstractFrontEnd object according to the user-specified frontend name referredInterfaceName.
 
virtual int startTx ()
 Activate internal Tx service loop.
 
virtual int stopTx ()
 De-activate Tx service loop.
 
virtual bool isTxServiceStarted () const
 Returns whether Tx service is started.
 
virtual int pauseTx ()
 Pause Tx service loop.
 
virtual int resumeTx ()
 Resume Tx service loop.
 
virtual int transmitFramesInBatch (const std::vector< ModularPicoScenesTxFrame > &frames, const uint32_t repeat)
 
template<int repeat = 1, typename ... Frames, typename = std::enable_if_t<(std::is_same_v<std::remove_cvref_t<Frames>, ModularPicoScenesTxFrame *> &&...) || (std::is_same_v<std::remove_cvref_t<Frames>, ModularPicoScenesTxFrame> &&...) || ((std::is_same_v<std::remove_cvref_t<Frames>, std::shared_ptr<ModularPicoScenesTxFrame>> || std::is_same_v<std::remove_cvref_t<Frames>, std::unique_ptr<ModularPicoScenesTxFrame>>) &&...)>>
int transmitFramesInBatch (Frames &&... frames)
 
virtual int startRx ()=0
 Activiate the Rx service loop.
 
virtual int stopRx ()=0
 De-activate the Rx service loop, set rxServiceStarted to false.
 
virtual int pauseRx ()
 Pause the Rx service loop, set rxPaused to true.
 
virtual int resumeRx ()
 Resuase the paused Rx service loop, set rxPaused to false.
 
void registerRxHandle (const std::function< void(const ModularPicoScenesRxFrame &)> &rxHandle)
 Register a handler for the received ModularPicoScenesRxFrame frames.
 
const std::string & getReferredInterfaceName () const
 Get the user-specified frontend name.
 
void setReferredInterfaceName (const std::string &name)
 Set the user-specified frontend name.
 
const std::string & getPhyId () const
 Return the PhyId for NIC frontend. This is a undefined behavior for SDR frontend.
 
PicoScenesDeviceType getFrontEndType () const
 Return the PicoScenesDeviceType of this frontend.
 
PicoScenesDeviceSubtype getFrontEndSubtype () const
 Return the PicoScenesDeviceType subtype of this frontend.
 
const std::array< uint8_t, 6 > & getMacAddressPhy () const
 Return the MAC address of this frontend. For SDR frontend, this method should generate a pseudo-MAC address.
 
PicoScenesFrameTxParameters & getUserSpecifiedTxParameters ()
 
ModularPicoScenesTxFrame initializeTxFrame () override
 
virtual ~AbstractFrontEnd ()=default
 
- Public Member Functions inherited from FrontEndConfigurations
virtual ~FrontEndConfigurations ()=default
 
virtual bool isHardwareSupportedPreset (const std::string &presetName)=0
 Check if a preset configuration is supported by the hardware.
 
virtual void applyPreset (const std::string &presetName, bool skipChangeRate=false)=0
 Apply a preset configuration to the frontend hardware.
 
void setNumTxChannels (const uint8_t numTxChannels)
 Set the number of Tx channels, the active channels start from 0.
 
void setNumRxChannels (const uint8_t numRxChannels)
 Set the number of Rx channels, the active channels start from 0.
 
std::vector< size_t > getAllChannels ()
 
virtual void setSourceMACAddressFilter (const std::vector< std::array< uint8_t, 6 > > &addresses)
 Set the SOURCE addresses that will be blocked by the frontend.
 
virtual void setDestinationMACAddressFilter (const std::vector< std::array< uint8_t, 6 > > &addresses)
 Set the DESTINATION addresses that will be blocked by the frontend.
 
virtual uint16_t getAndIncreasePerFrontEndTxFrameSequenceNumber ()
 
- Public Member Functions inherited from SDRFrontEndConfigurations
virtual void initializeSDR ()=0
 
virtual void setTxCarrierFrequencies (std::vector< double > carrierFreqs)=0
 
virtual void setRxCarrierFrequencies (std::vector< double > carrierFreqs)=0
 
virtual std::vector< double > getTxCarrierFrequencies ()=0
 
virtual std::vector< double > getRxCarrierFrequencies ()=0
 
virtual void setTxSamplingRate (double txRate)=0
 
virtual void setRxSamplingRate (double rxRate)=0
 
virtual double getTxSamplingRate ()=0
 
virtual double getRxSamplingRate ()=0
 
virtual bool supportAGC ()=0
 
virtual void setAGC (bool enableAGC)=0
 
virtual double getRxBufferDuration () const =0
 
virtual void skipMPDUDecoding4HESUHighDopplerFrame (bool skipDataDecoding)=0
 
- Public Member Functions inherited from SDRFrontEndBasebandConfigurations
virtual ~SDRFrontEndBasebandConfigurations ()=default
 
virtual bool isReturnBasebandSignals () const =0
 
virtual bool useConventionalPacketDetector () const =0
 
- Public Member Functions inherited from SDRDeviceHardwareInformation
virtual std::vector< SDRMainBoardInfogetAllHardwareBoards (bool refresh=false)
 Get all hardware boards information including the main board and connected boards.
 
virtual const SDRMainBoardInfogetHardwareBoardByIndex (size_t boardIndex, bool refresh=false)
 Get a specific board's information by its index (0 is main board).
 
virtual size_t getHardwareBoardCount (bool refresh=false)
 Get the total number of boards (main + connected).
 
virtual const SDRMainBoardInfogetHardwareBoardInfo (bool refresh=false)
 Get the hardware board information.
 
virtual const std::vector< uint8_t > & getHardwareSupportedTxChannels (bool refresh=false)
 Get the hardware supported Tx channels.
 
virtual const std::vector< uint8_t > & getHardwareSupportedRxChannels (bool refresh=false)
 Get the hardware supported Rx channels.
 
virtual const std::vector< std::string > & getHardwareSupportedTxAntennas (uint8_t channel, bool refresh=false)
 Get the supported Tx antennas for a specific channel.
 
virtual const std::vector< std::string > & getHardwareSupportedRxAntennas (uint8_t channel, bool refresh=false)
 Get the supported Rx antennas for a specific channel.
 
virtual const std::vector< std::vector< std::string > > & getHardwareSupportedTxAntennas (bool refresh=false)
 Get the hardware supported Tx antennas for all channels.
 
virtual const std::vector< std::vector< std::string > > & getHardwareSupportedRxAntennas (bool refresh=false)
 Get the hardware supported Rx antennas for all channels.
 
virtual const std::pair< double, double > & getHardwareTxGainRange (uint8_t channel, bool refresh=false)
 Get the Tx gain range for a specific channel.
 
virtual const std::pair< double, double > & getHardwareRxGainRange (uint8_t channel, bool refresh=false)
 Get the Rx gain range for a specific channel.
 
virtual const std::vector< std::pair< double, double > > & getHardwareTxGainRanges (bool refresh=false)
 Get the hardware Tx gain range for all channels.
 
virtual const std::vector< std::pair< double, double > > & getHardwareRxGainRanges (bool refresh=false)
 Get the hardware Rx gain range for all channels.
 
virtual const std::pair< double, double > & getHardwareTxFrequencyRange (uint8_t channel, bool refresh=false)
 Get the Tx frequency range for a specific channel.
 
virtual const std::pair< double, double > & getHardwareRxFrequencyRange (uint8_t channel, bool refresh=false)
 Get the Rx frequency range for a specific channel.
 
virtual const std::vector< std::pair< double, double > > & getHardwareTxFrequencyRanges (bool refresh=false)
 Get the Tx frequency range for all channels.
 
virtual const std::vector< std::pair< double, double > > & getHardwareRxFrequencyRanges (bool refresh=false)
 Get the Rx frequency range for all channels.
 
virtual const std::pair< double, double > & getHardwareTxSamplingRateRange (uint8_t channel, bool refresh=false)
 Get the Tx sampling rate range for a specific channel.
 
virtual const std::pair< double, double > & getHardwareRxSamplingRateRange (uint8_t channel, bool refresh=false)
 Get the Rx sampling rate range for a specific channel.
 
virtual const std::vector< std::pair< double, double > > & getHardwareTxSamplingRateRanges (bool refresh=false)
 Get the Tx sampling rate range for all channels.
 
virtual const std::vector< std::pair< double, double > > & getHardwareRxSamplingRateRanges (bool refresh=false)
 Get the Rx sampling rate range for all channels.
 
virtual const std::vector< double > & getHardwareSupportedMasterClockRates (bool refresh=false)
 Get the supported master clock rates.
 
virtual const std::vector< std::string > & getHardwareSupportedClockAndTimeSources (bool refresh=false)
 Get the supported clock sources.
 
virtual const std::vector< std::string > & getHardwareSupportedSensors (uint8_t channel, bool refresh=false)
 Get the supported sensor names for a specific channel.
 
virtual const std::vector< std::vector< std::string > > & getAllHardwareSupportedSensors (bool refresh=false)
 Get all supported sensors for all channels.
 
virtual const std::vector< double > & getHardwareTemperatures (bool refresh=false)
 Get the hardware's temperature sensors readings.
 
virtual bool getHardwareAGCSupport (uint8_t channel, bool refresh=false)
 Get the AGC support for a specific channel.
 
virtual const std::vector< bool > & getHardwareAGCSupport (bool refresh=false)
 Get the AGC support for all channels.
 
virtual const std::shared_ptr< SDRFrontEndProfile > & getHardwareFrontEndProfile (uint8_t channel, bool refresh=false)
 Get the frontend profile for a specific channel.
 
virtual const std::vector< std::shared_ptr< SDRFrontEndProfile > > & getHardwareFrontEndProfiles (bool refresh=false)
 Get all frontend profiles.
 
virtual const SDRDaughterboardProfilegetHardwareDaughterboardProfile (size_t index, bool refresh=false)
 Get the daughterboard profile at a specific index.
 
virtual const std::vector< SDRDaughterboardProfile > & getHardwareDaughterboardProfiles (bool refresh=false)
 Get all daughterboard profiles.
 
virtual void refreshAllHardwareInfo ()
 
std::string hardwareInformationSheet ()
 
virtual ~SDRDeviceHardwareInformation ()=default
 

Detailed Description

Definition at line 11 of file USRPFrontEnd.hxx.

Constructor & Destructor Documentation

◆ USRPFrontEnd()

USRPFrontEnd::USRPFrontEnd ( const std::string &  referredInterfaceName)
explicitprotected

Member Function Documentation

◆ getInstance()

static std::shared_ptr< USRPFrontEnd > USRPFrontEnd::getInstance ( const std::string &  referredInterfaceName)
static

Member Data Documentation

◆ USRPAddress

std::string USRPFrontEnd::USRPAddress
protected

Definition at line 18 of file USRPFrontEnd.hxx.


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