Network Interface Card class with CSI extraction capabilities for MAC80211 devices.
More...
|
| const std::string & | getDevId () const |
| | Get the device interface identifier.
|
| |
| const std::string & | getMonId () const |
| | Get the monitor interface identifier.
|
| |
| uint16_t | getPhyIdNumber () const |
| | Get the physical interface number.
|
| |
| const std::string & | getPhyPath () const |
| | Get the path to the physical interface in the system.
|
| |
| const std::array< uint8_t, 6 > & | getMacAddressMon () const |
| | Get the MAC address of the monitor interface.
|
| |
| const std::array< uint8_t, 6 > & | getMacAddressDev () const |
| | Get the MAC address of the device interface.
|
| |
| const std::shared_ptr< MAC80211CSIExtractableFrontEnd > & | getMacFrontEnd () const |
| | Get the associated MAC80211 CSI-capable frontend.
|
| |
| virtual void | startTxService ()=0 |
| | Start the transmission service.
|
| |
| virtual void | stopTxService ()=0 |
| | Stop the transmission service.
|
| |
| virtual void | pauseTx ()=0 |
| | Temporarily pause transmission.
|
| |
| virtual void | resumeTx ()=0 |
| | Resume paused transmission.
|
| |
| virtual bool | isTxServiceStarted () const =0 |
| | Check if transmission service is running.
|
| |
| virtual int | transmitPicoScenesFrame (const ModularPicoScenesTxFrame &frame)=0 |
| | Transmit a single PicoScenes frame.
|
| |
| virtual int | transmitPicoScenesFrameSync (const ModularPicoScenesTxFrame &frame)=0 |
| | Transmit a frame synchronously.
|
| |
| virtual int | transmitFramesInBatch (const std::vector< ModularPicoScenesTxFrame > &frames, uint16_t numRepeats)=0 |
| | Transmit multiple frames in batch mode.
|
| |
| 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) |
| | Template method for batch transmission of frames.
|
| |
| virtual ModularPicoScenesTxFrame | initializeTxFrame () |
| | Initialize a new transmission frame.
|
| |
| virtual void | startRxService ()=0 |
| | Start the reception service.
|
| |
| virtual void | stopRxService ()=0 |
| | Stop the reception service.
|
| |
| virtual void | pauseRx ()=0 |
| | Temporarily pause reception.
|
| |
| virtual void | resumeRx ()=0 |
| | Resume paused reception.
|
| |
| virtual bool | isRxServiceStarted () const =0 |
| | Check if reception service is running.
|
| |
| 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 |
| | Wait for a frame that matches specific conditions.
|
| |
| virtual std::optional< ModularPicoScenesRxFrame > | syncRxWaitTaskId (uint16_t taskid, uint32_t maxWait_ms)=0 |
| | Wait for a frame with specific task ID.
|
| |
| virtual void | registerTaskIdHandler (uint16_t taskId, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0 |
| | Register a handler for specific task ID.
|
| |
| virtual std::function< bool(const ModularPicoScenesRxFrame &)> | getHandlerForFrameType (uint8_t frameType)=0 |
| | Get handler for specific frame type.
|
| |
| virtual void | unregisterTaskIdHandler (uint16_t taskId)=0 |
| | Unregister handler for specific task ID.
|
| |
| virtual bool | checkTaskIdHandlerExist (uint16_t taskId)=0 |
| | Check if handler exists for specific task ID.
|
| |
| virtual void | registerFrameTypeHandler (uint8_t frameType, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0 |
| | Register handler for specific frame type.
|
| |
| virtual std::function< bool(const ModularPicoScenesRxFrame &)> | getHandlerForTaskId (uint16_t taskId)=0 |
| | Get handler for specific task ID.
|
| |
| virtual void | unregisterFrameTypeHandler (uint8_t frameType)=0 |
| | Unregister handler for specific frame type.
|
| |
| virtual bool | checkFrameTypeHandlerExist (uint8_t frameType)=0 |
| | Check if handler exists for specific frame type.
|
| |
| virtual void | registerGeneralHandler (const std::string &handlerKeyName, const std::function< bool(const ModularPicoScenesRxFrame &)> &handle)=0 |
| | Register a general handler.
|
| |
| virtual std::function< bool(const ModularPicoScenesRxFrame &)> | getGeneralHandler (const std::string &handlerKeyName)=0 |
| | Get general handler by name.
|
| |
| virtual void | unregisterGeneralHandler (const std::string &handlerKeyName)=0 |
| | Unregister general handler.
|
| |
| virtual bool | checkGeneralHandlerExist (const std::string &handlerKeyName)=0 |
| | Check if general handler exists.
|
| |
| const std::string & | getReferredInterfaceName () const |
| | Get the interface name.
|
| |
| const std::string & | getPhyId () const |
| | Get the physical interface ID.
|
| |
| const std::shared_ptr< AbstractFrontEnd > & | getFrontEnd () const |
| | Get the front end interface.
|
| |
| 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 |
| | Get the device type.
|
| |
| std::shared_ptr< AbstractHALConfiguration > | getConfiguration () const |
| | Get the HAL configuration.
|
| |
| template<typename FrontEndT , class = std::enable_if_t<std::is_base_of_v<AbstractFrontEnd, FrontEndT>>> |
| std::shared_ptr< FrontEndT > | getTypedFrontEnd () const |
| | Get typed front end instance.
|
| |
| const std::shared_ptr< PicoScenesPluginManager > & | getPluginManager () const |
| | Get the plugin manager.
|
| |
| virtual void | installPlugins () const =0 |
| | Install plugins for this NIC.
|
| |
| std::vector< std::shared_ptr< po::options_description > > | getAllNICOptions () |
| | Get all NIC options.
|
| |
Network Interface Card class with CSI extraction capabilities for MAC80211 devices.
This class implements a NIC interface for MAC80211-based devices that support Channel State Information (CSI) extraction. It provides:
- Device identification and management
- MAC address handling for both monitor and device interfaces
- Integration with MAC80211CSIExtractableFrontEnd for CSI operations
Definition at line 21 of file MAC80211CSIExtractableNIC.hxx.