Commit Graph

15391 Commits

Author SHA1 Message Date
Muhammad Iqbal CR
bbfa0bce10 wifi: Streamline creation of WifiMode in PhyEntity classes 2021-02-16 09:38:18 +01:00
Muhammad Iqbal CR
0f55b15678 wifi: Implement WifiMode-related calculation respective to each amendment PHY entity 2021-02-16 09:38:18 +01:00
Muhammad Iqbal CR
d42598b300 wifi: Add ModulationLookupTable for WifiMode rework 2021-02-16 09:38:18 +01:00
Rediet
c7ff001548 wifi: Move EndOfHeSigA callback to HePhy
WifiPhy::GetPhyEntity now returns a non-const pointer (needed to connect callback)
2021-02-16 09:37:35 +01:00
Rediet
71d941c907 wifi: Finish porting amendment-specific logic from WifiPhy to PhyEntity 2021-02-16 09:37:35 +01:00
Rediet
5761394865 wifi: Move transmission logic from SpectrumWifiPhy to PhyEntity 2021-02-16 09:37:33 +01:00
Rediet
026361e2c8 wifi: Add some getters for PSD generation
Defining them in WifiPhy enables to avoid a couple of DynamicCasts in PhyEntity
2021-02-16 09:37:04 +01:00
Rediet
f913604e2c wifi: Move TxPsdFlag to HePpdu
Enables to clean up WifiPhy and SpectrumWifiPhy signatures
2021-02-16 09:37:01 +01:00
Rediet
036e0d6acb wifi: Move PPDU UID handling to PhyEntity
m_previouslyRxPpduUid stayed in WifiPhy since it's shared among PHY entities
2021-02-16 09:35:39 +01:00
Rediet
0ddadf95ac wifi: Cleanup some unused methods in WifiPhy 2021-02-15 18:19:49 +01:00
Rediet
af0bfb198c wifi: Move preamble and payload reception logic from WifiPhy to PhyEntity 2021-02-15 18:19:48 +01:00
Rediet
8225cb7e78 wifi: Add preamble and payload handling in PhyEntity
Tx path will be refactored in subsequent commits.
Please note that there are 7 crashing wifi test suites. They're solved in the next commit.
2021-02-15 18:19:48 +01:00
Rediet
c4f2be8346 wifi: Move some declarations to PhyEntity 2021-02-15 18:19:48 +01:00
Rediet
7ee0357e4e wifi: Move preamble detection and header reception logic from WifiPhy to PhyEntity 2021-02-15 18:19:48 +01:00
Rediet
2fa6f9bb15 wifi: Add preamble detection and header field handling in PhyEntity
Preamble reception is still in WifiPhy (will be addressed in subsequent commits).
HE TB PPDU related actions in SpectrumWifiPhy should also be moved in following commits.
Payload reception part is also to be moved later on
2021-02-15 18:19:46 +01:00
Rediet
aa1b68e980 wifi: Move SnrPer struct to PhyEntity
So as to use it in PhyEntity without having circular dependency issues with InterferenceHelper
2021-02-15 16:45:58 +01:00
Rediet
2d9a3b4059 wifi: Move WifiPhyRxfailureReason to wifi-phy-common.h
And add HT_SIG_FAILURE
2021-02-15 08:59:35 +01:00
Rediet
e9da125f90 wifi: Use pointer to print PPDU's content
So as to be able to call overridden implementations of PrintPayload
2021-02-15 08:39:40 +01:00
Muhammad Iqbal CR
c71915a843 wifi: Move PHY headers to the respective amendment-specific PPDU classes
Since they are only used within the PPDU classes
2021-02-15 08:39:40 +01:00
Muhammad Iqbal CR
2cb35e20b5 wifi: Add BuildPpdu to create PPDU on each amendment-specific PHY entity 2021-02-15 08:39:40 +01:00
Muhammad Iqbal CR
80c908fcbd wifi: Refactor WifiPpdu into amendment-specific classes 2021-02-15 08:39:40 +01:00
Rediet
755f12e17a wifi: Introduce WifiPpduType 2021-02-15 08:39:40 +01:00
Rediet
56cb8b9294 wifi: Move amendment-specific logic from InterferenceHelper to PhyEntity
Using PHY header section info map.
Still special handling of UL-OFDMA payload start (handled later on)
2021-02-15 08:39:27 +01:00
Rediet
6a674af28c wifi: Add PHY header section info map to PhyEntity classes
Will be used in subsequent commit to simplify InterferenceHelper
2021-02-15 08:39:27 +01:00
Rediet
cca2e174ef wifi: Correct number of LTFs for HT-GF
Already one HT-LTF (HT-LTF1) in preamble
2021-02-15 08:39:27 +01:00
Rediet
c3f60d5440 wifi: Move amendment-specific part of payload duration computation logic to PhyEntity 2021-02-15 08:39:27 +01:00
Rediet
345a4ce4f7 wifi: Add payload duration computation logic elements to PhyEntity classes 2021-02-15 08:39:27 +01:00
Rediet
a22c3430ac wifi: Rework GetPayloadDuration to account for Nes exceptions
Based on analysis of HT and VHT MCS tables
Nss > 4 is now supported for VHT (thus also raising the limitation for HE)
2021-02-15 08:39:27 +01:00
Rediet
9190a1ad38 wifi: Move preamble duration computation logic from WifiPhy to PhyEntity classes 2021-02-15 08:39:27 +01:00
Rediet
5b0807b443 wifi: Add preamble and header computation logic in PhyEntity 2021-02-15 08:39:27 +01:00
Rediet
b8f0747845 wifi: Clean up unused WifiMode getter methods 2021-02-15 08:39:27 +01:00
Rediet
1ca46dec9a wifi,mesh: Move WifiMode handling from WifiPhy to PhyEntity classes
m_deviceRateSet, m_deviceMcsSet, and m_mcsIndexMap attributes have been replaced by calls to the m_phyEntities map
All static WifiMode calls are also redirected to the appropriate PhyEntity class
The next commit will clean up unused WifiMode getter methods in WifiPhy
2021-02-15 08:39:27 +01:00
Rediet
a3c69b62ea wifi: Add static and supported PhyEntity maps in WifiPhy
Map of static PHY entities is invoked by static methods
Prepares subsequent commit where mode handling will be moved from WifiPhy to PhyEntity
2021-02-15 08:39:27 +01:00
Rediet
e4cc3715ea wifi: Move mode initialization to corresponding PhyEntity 2021-02-15 08:39:27 +01:00
Rediet
569ecdde3c wifi: Introduce one PhyEntity class per amendment
PhyEntity (base),
DsssPhy, OfdmPhy, ErpOfdmPhy (based on OfdmPhy),
HtPhy (based on OfdmPhy), VhtPhy (based on HtPhy), and HePhy (based on VhtPhy).
Only mode handling is addressed in this commit.
2021-02-15 08:39:27 +01:00
Rediet
fa91aa4bff wifi: Rename wifi-preamble.h as wifi-phy-common.h
Holds all enums which might be updated upon the addition of a new PHY standard (as suggested by Sebastien)
Also cleaned up obsolete modulation classes
2021-02-15 08:39:27 +01:00
Tommaso Pecorella
b119de63f2 gitlab: run daily-debug on a private server 2021-02-12 17:36:24 +00:00
Rediet
871de928b0 wifi: Fix valgrind failure for wifi-spectrum-wifi-phy 2021-02-10 08:33:33 +01:00
Tommaso Pecorella
ab04f29830 gitlab: fix CI test script 2021-02-09 20:26:44 +00:00
Stefano Avallone
dd43679f67 Rescan python bindings 2021-02-08 14:30:43 +01:00
Gustavo J. A. M. Carneiro
dc2f9b329e wifi: Fix bindings for WifiMacHelper 2021-02-08 14:29:21 +01:00
Rediet
fd9ba4f16d wifi: Enforce power density limit 2021-02-07 23:17:58 +01:00
Rediet
bb2fda2187 wifi: Add tests for UL OFDMA power control 2021-02-07 23:17:58 +01:00
Rediet
20b9428e42 wifi: Hand over txPowerLevel to StartTx
The information was lost now that the WifiTxVector is rebuilt from the PHY headers
2021-02-07 23:17:58 +01:00
Sébastien Deronne
7433ea8fa1 wifi: Store latest RSSI info per remote station 2021-02-07 23:17:58 +01:00
Rediet
201fa54d8b wifi: Add RSSI information in RxOkCallback
Done through a RxSignalInfo structure so as to facilitate future additions of other signal parameters
2021-02-07 23:17:58 +01:00
Rediet
fb1d6fa4b6 wifi: Invoke OBSS_PD based SR at the end of HE-SIG-A field 2021-02-07 21:23:59 +00:00
Rediet
35d8fc7ee9 wifi: Move HE-STF and HE-LTF of HE TB PPDUs to OFDMA portion 2021-02-07 21:23:59 +00:00
Rediet
00354337b3 wifi: Define end of last common SIG decoding event and separate SIG-B decoding 2021-02-07 21:23:59 +00:00
Rediet
15fb7e2ce7 wifi: Ignore padding when computing MPDU reception status
Also use same path for normal MPDUs and A-MPDUs
2021-02-07 21:23:59 +00:00