|
| QCA9300FrontEnd (const std::string &referredInterfaceName) |
| Constructor.
|
|
virtual uint32_t | getChansel ()=0 |
| Get the current channel selection value.
|
|
virtual uint8_t | getBMode ()=0 |
| Get the current bandwidth mode.
|
|
virtual uint8_t | getTxNess ()=0 |
| Get the current transmission Ness value.
|
|
virtual uint32_t | getTSF ()=0 |
| Get the current TSF value.
|
|
virtual uint32_t | getPLLRate ()=0 |
| Get the current PLL rate.
|
|
virtual uint16_t | getPLLMultiplier ()=0 |
| Get the current PLL multiplier.
|
|
virtual uint8_t | getPLLRefDiv ()=0 |
| Get the current PLL reference divider value.
|
|
virtual uint8_t | getPLLClockSelect ()=0 |
| Get the current PLL clock select value.
|
|
virtual bool | getTxNotSounding ()=0 |
| Get the current transmission non-sounding state.
|
|
virtual AtherosCFTuningPolicy | getTuningPolicy ()=0 |
| Get the current carrier frequency tuning policy.
|
|
virtual void | setCarrierFrequency (double freq, enum AtherosCFTuningPolicy policy)=0 |
| Set carrier frequency and tuning policy.
|
|
virtual void | setChansel (uint32_t chansel)=0 |
| Set channel selection value.
|
|
virtual void | setBMode (uint8_t bmode)=0 |
| Set bandwidth mode.
|
|
virtual void | setTuningPolicy (enum AtherosCFTuningPolicy policy)=0 |
| Set tuning policy.
|
|
virtual void | setTxNess (uint8_t tx_Ness)=0 |
| Set transmission Ness value.
|
|
virtual void | setPLLValues (uint32_t multipler, uint8_t refDiv, uint8_t clockSelect)=0 |
| Set PLL values.
|
|
virtual void | setPLLMultiplier (uint32_t multipler)=0 |
| Set PLL multiplier.
|
|
virtual void | setPLLRefDiv (uint8_t refDiv)=0 |
| Set PLL reference divider value.
|
|
virtual void | setPLLClockSelect (uint8_t clockSelect)=0 |
| Set PLL clock select value.
|
|
virtual void | setTxNotSounding (bool not_sounding)=0 |
| Set transmission non-sounding state.
|
|
virtual void | setRxPA (uint8_t channel, bool manualMode, uint8_t LNA, uint8_t VGA, uint8_t MXR)=0 |
| Set receive power amplifier parameters.
|
|
virtual void | setRxAGC (bool enabled)=0 |
| Set receive automatic gain control.
|
|
virtual uint32_t | getRegisterValue (const uint32_t &address, const uint32_t mask=0xffffffff)=0 |
| Get register value.
|
|
virtual void | setRegisterValue (const uint32_t &address, const uint32_t value, const uint32_t mask)=0 |
| Set register value.
|
|
int | startTx () override |
| Start transmission service.
|
|
int | stopTx () override |
| Stop transmission service.
|
|
int | startRx () override |
| Start reception service.
|
|
int | stopRx () override |
| Stop reception service.
|
|
int | transmit (const ModularPicoScenesTxFrame &frame) override |
| Transmit a single frame.
|
|
int | transmitFramesInBatch (const std::vector< const ModularPicoScenesTxFrame * > &frames, uint32_t repeat) override |
| Transmit multiple frames in batch mode.
|
|
int | transmitFramesInBatch (const std::vector< ModularPicoScenesTxFrame > &frames, uint32_t repeat) override |
| Transmit multiple frames in batch mode (vector version)
|
|
| ~MAC80211InjectionOnlyFrontEnd () override |
| Destructor.
|
|
const std::string & | getDevId () const |
| Get device interface identifier.
|
|
const std::string & | getMonId () const |
| Get monitor interface identifier.
|
|
uint16_t | getPhyIdNumber () const |
| Get physical interface number.
|
|
const std::string & | getPhyPath () const |
| Get physical interface path.
|
|
const std::array< uint8_t, 6 > & | getMacAddressMon () const |
| Get monitor interface MAC address.
|
|
const std::array< uint8_t, 6 > & | getMacAddressDev () const |
| Get device interface MAC address.
|
|
std::tuple< double, double, double > | getChannelAndBandwidth () override |
| Get current channel and bandwidth configuration.
|
|
int | setChannelAndBandwidth (double control, double bw, double center) override |
| Set channel and bandwidth configuration.
|
|
int | setChannelAndBandwidth (std::optional< double > control, std::optional< double > bw, std::optional< double > center) override |
| Set channel and bandwidth with optional parameters.
|
|
double | getCarrierFrequency () override |
| Get carrier frequency.
|
|
void | setCarrierFrequency (double carrierFrequency) override |
| Set carrier frequency.
|
|
double | getSamplingRate () override |
| Get sampling rate.
|
|
void | setSamplingRate (double samplingRate) override |
| Set sampling rate.
|
|
double | getControlChannelFrequency () override |
| Get control channel frequency.
|
|
void | setControlChannelFrequency (double controlFrequency) override |
| Set control channel frequency.
|
|
double | getRxChannelBandwidth () override |
| Get receive channel bandwidth.
|
|
void | setRxChannelBandwidth (double rxcbw) override |
| Set receive channel bandwidth.
|
|
double | getTxpower () override |
| Get transmit power.
|
|
void | setTxpower (double txpower) override |
| Set transmit power.
|
|
double | getRxGain () override |
| Get receive gain.
|
|
void | setRxGain (double rxGain) override |
| Set receive gain.
|
|
void | setRxGain (double rxGain, uint8_t channel) override |
| Set receive gain for specific channel.
|
|
uint8_t | getTxChainMask () override |
| Get transmit chain mask.
|
|
void | setTxChainMask (uint8_t txChainMask) override |
| Set transmit chain mask.
|
|
uint8_t | getRxChainMask () override |
| Get receive chain mask.
|
|
void | setRxChainMask (uint8_t rxChainMask) override |
| Set receive chain mask.
|
|
std::vector< size_t > | getTxChannels () override |
| Get active transmit channels.
|
|
void | setTxChannels (const std::vector< size_t > &txChannels) override |
| Set active transmit channels.
|
|
std::vector< size_t > | getRxChannels () override |
| Get active receive channels.
|
|
void | setRxChannels (const std::vector< size_t > &rxChannels) override |
| Set active receive channels.
|
|
uint16_t | getChannelFlags () override |
| Get channel flags.
|
|
ExtraInfo | buildExtraInfo () override |
| Build extra information about the frontend.
|
|
const std::vector< double > & | getSystemSupportedFrequencies () const |
| Get system supported frequencies.
|
|
bool | isMAC80211SupportedCarrierFrequency (double frequency) const |
| Check if frequency is supported by MAC80211.
|
|
void | printStatus () override |
| Print current frontend status.
|
|
| AbstractFrontEnd (const std::string &referredInterfaceName) |
| Create AbstractFrontEnd object according to the user-specified frontend name referredInterfaceName .
|
|
virtual bool | isTxServiceStarted () const |
| Returns whether Tx service is started.
|
|
virtual int | pauseTx () |
| Pause Tx service loop.
|
|
virtual int | resumeTx () |
| Resume Tx service loop.
|
|
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 | 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 |
|
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 () |
|
|
| MAC80211InjectionOnlyFrontEnd (const std::string &referredName) |
| Protected constructor.
|
|
std::string | devId |
| Device interface identifier.
|
|
std::string | monId |
| Monitor interface identifier.
|
|
uint16_t | phyIdNumber = 0 |
| Physical interface number.
|
|
std::string | phyPath |
| Path to physical interface.
|
|
std::shared_ptr< uint8_t > | txContext |
| Transmission context.
|
|
std::array< uint8_t, 6 > | macAddress_MON {0, 0, 0, 0, 0, 0} |
| Monitor interface MAC address.
|
|
std::array< uint8_t, 6 > | macAddress_DEV {0, 0, 0, 0, 0, 0} |
| Device interface MAC address.
|
|
std::vector< double > | systemSupportedFrequencies |
| List of supported frequencies.
|
|
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
|
|
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
|
|
Frontend interface for QCA9300 wireless network card.
This class provides access to specific features of the QCA9300 wireless card, including channel selection, PLL configuration, transmission parameter settings, etc. It inherits from MAC80211CSIExtractableFrontEnd, supporting CSI extraction functionality.
QCA9300 is a wireless card supporting 802.11n, with configurable PLL, channel selection, and other RF parameters. This class provides a software control interface for these hardware features.
Definition at line 20 of file QCA9300FrontEnd.hxx.