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
Tommaso Pecorella
e2edf298ab
lte: ( fixes #346 ) ASN1 header gcc7 fix
2021-02-07 17:44:59 +00:00
Sébastien Deronne
8a023818d0
wifi: Add PHY tests for UL-OFDMA
2021-02-07 13:11:52 +01:00
Sébastien Deronne
e2e36c71bd
wifi: Consider correct measurement channel width for solicited HE TB PPDUs
2021-02-07 13:11:52 +01:00
Sébastien Deronne
af3ca8e915
wifi: Non-OFDMA part of HE TB PPDUs should be transmitted only on 20 MHz channels containing RU
2021-02-07 13:11:52 +01:00
Sébastien Deronne
e4bc5ff260
wifi: PHY logic changes to handle HE TB PPDUs reception
2021-02-07 13:11:52 +01:00
Sébastien Deronne
a3b1286856
wifi: Split non-OFDMA and OFDMA in two TX events for HE TB PPDUs
2021-02-07 13:11:52 +01:00
Rediet
cbb97e5baf
wifi: Add attribute to WifiSpectrumSignalParameters so as to differentiate OFDMA from non-OFDMA
2021-02-07 13:11:52 +01:00
Sébastien Deronne
ec91858b92
wifi: Add function to create OFDMA TX PSD
2021-02-07 13:11:52 +01:00
Rediet
2d15c8d4d8
wifi: Add methods to HeRu
...
Also switch to uint16_t for bandwidth in HeRu
2021-02-07 13:11:52 +01:00
Sébastien Deronne
aa2496bb45
wifi: Add PHY tests for HE TB preambles reception
2021-02-07 13:11:52 +01:00
Rediet
093368c989
wifi: Erase preamble event when dropping incoming PPDU
2021-02-07 13:11:52 +01:00
Sébastien Deronne
6de4e8d7f5
wifi: Handle multiple HE TB preambles
2021-02-07 13:11:52 +01:00
Rediet
ce7f3ac3a5
wifi: Add test case for PPDU UID attribution
2021-02-07 13:11:52 +01:00