PicoScenes API Docs
 
Loading...
Searching...
No Matches
QCA9300FrontEnd.hxx
Go to the documentation of this file.
1//
2// Created by Zhiping Jiang on 9/15/21.
3//
4
5#ifndef PICOSCENES_PLATFORM_QCA9300FRONTEND_HXX
6#define PICOSCENES_PLATFORM_QCA9300FRONTEND_HXX
7
9
21
22public:
23
33 static std::shared_ptr<QCA9300FrontEnd> getInstance(const std::string &referredInterfaceName);
34
43 explicit QCA9300FrontEnd(const std::string &referredInterfaceName);
44
53 virtual uint32_t getChansel() = 0;
54
63 virtual uint8_t getBMode() = 0;
64
73 virtual uint8_t getTxNess() = 0;
74
83 virtual uint32_t getTSF() = 0;
84
93 virtual uint32_t getPLLRate() = 0;
94
103 virtual uint16_t getPLLMultiplier() = 0;
104
113 virtual uint8_t getPLLRefDiv() = 0;
114
123 virtual uint8_t getPLLClockSelect() = 0;
124
132 virtual bool getTxNotSounding() = 0;
133
141 virtual AtherosCFTuningPolicy getTuningPolicy() = 0;
142
152 virtual void setCarrierFrequency(double freq, enum AtherosCFTuningPolicy policy) = 0;
153
162 virtual void setChansel(uint32_t chansel) = 0;
163
172 virtual void setBMode(uint8_t bmode) = 0;
173
181 virtual void setTuningPolicy(enum AtherosCFTuningPolicy policy) = 0;
182
191 virtual void setTxNess(uint8_t tx_Ness) = 0;
192
203 virtual void setPLLValues(uint32_t multipler, uint8_t refDiv, uint8_t clockSelect) = 0;
204
213 virtual void setPLLMultiplier(uint32_t multipler) = 0;
214
223 virtual void setPLLRefDiv(uint8_t refDiv) = 0;
224
233 virtual void setPLLClockSelect(uint8_t clockSelect) = 0;
234
242 virtual void setTxNotSounding(bool not_sounding) = 0;
243
256 virtual void setRxPA(uint8_t channel, bool manualMode, uint8_t LNA, uint8_t VGA, uint8_t MXR) = 0;
257
265 virtual void setRxAGC(bool enabled) = 0;
266
277 virtual uint32_t getRegisterValue(const uint32_t &address, const uint32_t mask = 0xffffffff) = 0;
278
289 virtual void setRegisterValue(const uint32_t &address, const uint32_t value, const uint32_t mask) = 0;
290};
291
292
293#endif //PICOSCENES_PLATFORM_QCA9300FRONTEND_HXX
std::string referredInterfaceName
the user specified frontend name
Base class for MAC80211-based NICs that support CSI extraction.
Frontend interface for QCA9300 wireless network card.
QCA9300FrontEnd(const std::string &referredInterfaceName)
Constructor.
virtual void setPLLMultiplier(uint32_t multipler)=0
Set PLL multiplier.
virtual void setPLLRefDiv(uint8_t refDiv)=0
Set PLL reference divider value.
virtual uint32_t getTSF()=0
Get the current TSF value.
virtual void setChansel(uint32_t chansel)=0
Set channel selection value.
static std::shared_ptr< QCA9300FrontEnd > getInstance(const std::string &referredInterfaceName)
Get an instance of QCA9300FrontEnd.
virtual void setTuningPolicy(enum AtherosCFTuningPolicy policy)=0
Set tuning policy.
virtual void setTxNotSounding(bool not_sounding)=0
Set transmission non-sounding state.
virtual uint16_t getPLLMultiplier()=0
Get the current PLL multiplier.
virtual uint32_t getPLLRate()=0
Get the current PLL rate.
virtual void setCarrierFrequency(double freq, enum AtherosCFTuningPolicy policy)=0
Set carrier frequency and tuning policy.
virtual void setRxAGC(bool enabled)=0
Set receive automatic gain control.
virtual AtherosCFTuningPolicy getTuningPolicy()=0
Get the current carrier frequency tuning policy.
virtual uint8_t getPLLClockSelect()=0
Get the current PLL clock select value.
virtual uint32_t getChansel()=0
Get the current channel selection value.
virtual uint8_t getPLLRefDiv()=0
Get the current PLL reference divider value.
virtual void setPLLClockSelect(uint8_t clockSelect)=0
Set PLL clock select value.
virtual bool getTxNotSounding()=0
Get the current 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 setPLLValues(uint32_t multipler, uint8_t refDiv, uint8_t clockSelect)=0
Set PLL values.
virtual void setRegisterValue(const uint32_t &address, const uint32_t value, const uint32_t mask)=0
Set register value.
virtual uint8_t getTxNess()=0
Get the current transmission Ness value.
virtual void setTxNess(uint8_t tx_Ness)=0
Set transmission Ness value.
virtual uint8_t getBMode()=0
Get the current bandwidth mode.
virtual void setBMode(uint8_t bmode)=0
Set bandwidth mode.
virtual uint32_t getRegisterValue(const uint32_t &address, const uint32_t mask=0xffffffff)=0
Get register value.