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

#include <SDRNIC.hxx>

Inheritance diagram for SDRNIC:
Collaboration diagram for SDRNIC:

Static Public Member Functions

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

Protected Member Functions

 SDRNIC (const std::string &referredInterfaceName)
 
- Protected Member Functions inherited from AbstractNIC
 AbstractNIC (const std::string &referredInterfaceName)
 

Protected Attributes

std::shared_ptr< AbstractSDRFrontEndsdrFrontEnd
 
- Protected Attributes inherited from AbstractNIC
std::string referredInterfaceName
 
std::string phyId
 
PicoScenesDeviceType deviceType = PicoScenesDeviceType::Unknown
 
std::shared_ptr< AbstractHALConfigurationconfiguration
 
std::shared_ptr< AbstractFrontEndfrontEnd
 
std::shared_ptr< PicoScenesPluginManagerpluginManager
 

Additional Inherited Members

- Public Member Functions inherited from AbstractNIC
virtual void startTxService ()=0
 
virtual void stopTxService ()=0
 
virtual void pauseTx ()=0
 
virtual void resumeTx ()=0
 
virtual bool isTxServiceStarted () const =0
 
virtual int transmitPicoScenesFrame (const ModularPicoScenesTxFrame &frame)=0
 
virtual int transmitPicoScenesFrameSync (const ModularPicoScenesTxFrame &frame)=0
 
virtual int transmitFramesInBatch (const std::vector< ModularPicoScenesTxFrame > &frames, uint16_t numRepeats)=0
 
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 ModularPicoScenesTxFrame initializeTxFrame ()
 
virtual void startRxService ()=0
 
virtual void stopRxService ()=0
 
virtual void pauseRx ()=0
 
virtual void resumeRx ()=0
 
virtual bool isRxServiceStarted () const =0
 
virtual std::optional< ModularPicoScenesRxFrame > syncRxConditionally (const std::function< bool(const ModularPicoScenesRxFrame &)> &condition, const std::chrono::milliseconds &maxWait_ms, std::optional< std::string > conditionaName=std::nullopt)=0
 
virtual std::optional< ModularPicoScenesRxFrame > syncRxWaitTaskId (uint16_t taskid, uint32_t maxWait_ms)=0
 
virtual void registerTaskIdHandler (uint16_t taskId, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0
 
virtual std::function< bool(const ModularPicoScenesRxFrame &)> getHandlerForFrameType (uint8_t frameType)=0
 
virtual void unregisterTaskIdHandler (uint16_t taskId)=0
 
virtual bool checkTaskIdHandlerExist (uint16_t taskId)=0
 
virtual void registerFrameTypeHandler (uint8_t frameType, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0
 
virtual std::function< bool(const ModularPicoScenesRxFrame &)> getHandlerForTaskId (uint16_t taskId)=0
 
virtual void unregisterFrameTypeHandler (uint8_t frameType)=0
 
virtual bool checkFrameTypeHandlerExist (uint8_t frameType)=0
 
virtual void registerGeneralHandler (const std::string &handlerKeyName, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0
 
virtual std::function< bool(const ModularPicoScenesRxFrame &)> getGeneralHandler (const std::string &handlerKeyName)=0
 
virtual void unregisterGeneralHandler (const std::string &handlerKeyName)=0
 
virtual bool checkGeneralHandlerExist (const std::string &handlerKeyName)=0
 
const std::string & getReferredInterfaceName () const
 
const std::string & getPhyId () const
 
const std::shared_ptr< AbstractFrontEnd > & getFrontEnd () const
 
virtual const PicoScenesFrameTxParameters & getUserSpecifiedTxParameters () const =0
 This methods returns the PicoScenesFrameTxParameters object created by the user specified Tx parameters.
.
 
virtual PicoScenesFrameTxParameters & getUserSpecifiedTxParameters ()=0
 This methods returns the PicoScenesFrameTxParameters object created by the user specified Tx parameters.
.
 
PicoScenesDeviceType getDeviceType () const
 
std::shared_ptr< AbstractHALConfigurationgetConfiguration () const
 
template<typename FrontEndT , class = std::enable_if_t<std::is_base_of_v<AbstractFrontEnd, FrontEndT>>>
std::shared_ptr< FrontEndT > getTypedFrontEnd () const
 
const std::shared_ptr< PicoScenesPluginManager > & getPluginManager () const
 
virtual void installPlugins () const =0
 
std::vector< std::shared_ptr< po::options_description > > getAllNICOptions ()
 

Detailed Description

Definition at line 11 of file SDRNIC.hxx.

Constructor & Destructor Documentation

◆ SDRNIC()

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

Member Function Documentation

◆ getInstance()

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

Member Data Documentation

◆ sdrFrontEnd

std::shared_ptr<AbstractSDRFrontEnd> SDRNIC::sdrFrontEnd
protected

Definition at line 18 of file SDRNIC.hxx.


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