Rediet
2aba58e77e
wifi: Remove Holland (solves #278 )
2021-02-16 09:38:47 +01:00
Muhammad Iqbal CR
d790fae26f
wifi: Simplify IsHigherCodeRate and IsHigherDataRate to rely less on the enums
2021-02-16 09:38:19 +01:00
Muhammad Iqbal CR
08c16dc614
wifi: Move computation logic from WifiMode to PhyEntity by using callbacks
2021-02-16 09:38:19 +01:00
Rediet
8535c9dc00
wifi: Further streamline WifiMode calls using macros
2021-02-16 09:38:18 +01:00
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