|
Lines 968-973
YansWifiPhy::ConfigureHolland (void)
|
Link Here
|
|---|
|
| 968 |
} |
968 |
} |
| 969 |
|
969 |
|
| 970 |
void |
970 |
void |
|
|
971 |
YansWifiPhy::ConfigureHtDeviceMcsSet (void) |
| 972 |
{ |
| 973 |
NS_LOG_FUNCTION (this); |
| 974 |
|
| 975 |
bool htFound = false; |
| 976 |
for (std::vector<uint32_t>::size_type i = 0; i < m_bssMembershipSelectorSet.size (); i++) |
| 977 |
{ |
| 978 |
if (m_bssMembershipSelectorSet[i] == HT_PHY) |
| 979 |
{ |
| 980 |
htFound = true; |
| 981 |
break; |
| 982 |
} |
| 983 |
} |
| 984 |
if (htFound) |
| 985 |
{ |
| 986 |
// erase all HtMcs modes from deviceMcsSet |
| 987 |
size_t index = m_deviceMcsSet.size () - 1; |
| 988 |
for (std::vector<WifiMode>::reverse_iterator rit = m_deviceMcsSet.rbegin (); rit != m_deviceMcsSet.rend(); ++rit, --index) |
| 989 |
{ |
| 990 |
if (m_deviceMcsSet[index].GetModulationClass ()== WIFI_MOD_CLASS_HT) |
| 991 |
{ |
| 992 |
m_deviceMcsSet.erase (m_deviceMcsSet.begin () + index); |
| 993 |
} |
| 994 |
} |
| 995 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs0 ()); |
| 996 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs1 ()); |
| 997 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs2 ()); |
| 998 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs3 ()); |
| 999 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs4 ()); |
| 1000 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs5 ()); |
| 1001 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs6 ()); |
| 1002 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs7 ()); |
| 1003 |
if (GetSupportedTxSpatialStreams () > 1) |
| 1004 |
{ |
| 1005 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs8 ()); |
| 1006 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs9 ()); |
| 1007 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs10 ()); |
| 1008 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs11 ()); |
| 1009 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs12 ()); |
| 1010 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs13 ()); |
| 1011 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs14 ()); |
| 1012 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs15 ()); |
| 1013 |
} |
| 1014 |
if (GetSupportedTxSpatialStreams () > 2) |
| 1015 |
{ |
| 1016 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs16 ()); |
| 1017 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs17 ()); |
| 1018 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs18 ()); |
| 1019 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs19 ()); |
| 1020 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs20 ()); |
| 1021 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs21 ()); |
| 1022 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs22 ()); |
| 1023 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs23 ()); |
| 1024 |
} |
| 1025 |
if (GetSupportedTxSpatialStreams () > 3) |
| 1026 |
{ |
| 1027 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs24 ()); |
| 1028 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs25 ()); |
| 1029 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs26 ()); |
| 1030 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs27 ()); |
| 1031 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs28 ()); |
| 1032 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs29 ()); |
| 1033 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs30 ()); |
| 1034 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs31 ()); |
| 1035 |
} |
| 1036 |
} |
| 1037 |
} |
| 1038 |
|
| 1039 |
void |
| 971 |
YansWifiPhy::Configure80211n (void) |
1040 |
YansWifiPhy::Configure80211n (void) |
| 972 |
{ |
1041 |
{ |
| 973 |
NS_LOG_FUNCTION (this); |
1042 |
NS_LOG_FUNCTION (this); |
|
Lines 981-1030
YansWifiPhy::Configure80211n (void)
|
Link Here
|
|---|
|
| 981 |
Configure80211a (); |
1050 |
Configure80211a (); |
| 982 |
} |
1051 |
} |
| 983 |
SetChannelWidth (20); //20 MHz |
1052 |
SetChannelWidth (20); //20 MHz |
| 984 |
|
|
|
| 985 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs0 ()); |
| 986 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs1 ()); |
| 987 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs2 ()); |
| 988 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs3 ()); |
| 989 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs4 ()); |
| 990 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs5 ()); |
| 991 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs6 ()); |
| 992 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs7 ()); |
| 993 |
if (GetNumberOfTransmitAntennas () > 1) |
| 994 |
{ |
| 995 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs8 ()); |
| 996 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs9 ()); |
| 997 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs10 ()); |
| 998 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs11 ()); |
| 999 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs12 ()); |
| 1000 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs13 ()); |
| 1001 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs14 ()); |
| 1002 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs15 ()); |
| 1003 |
} |
| 1004 |
if (GetNumberOfTransmitAntennas () > 2) |
| 1005 |
{ |
| 1006 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs16 ()); |
| 1007 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs17 ()); |
| 1008 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs18 ()); |
| 1009 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs19 ()); |
| 1010 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs20 ()); |
| 1011 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs21 ()); |
| 1012 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs22 ()); |
| 1013 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs23 ()); |
| 1014 |
} |
| 1015 |
if (GetNumberOfTransmitAntennas () > 3) |
| 1016 |
{ |
| 1017 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs24 ()); |
| 1018 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs25 ()); |
| 1019 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs26 ()); |
| 1020 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs27 ()); |
| 1021 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs28 ()); |
| 1022 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs29 ()); |
| 1023 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs30 ()); |
| 1024 |
m_deviceMcsSet.push_back (WifiPhy::GetHtMcs31 ()); |
| 1025 |
} |
| 1026 |
|
| 1027 |
m_bssMembershipSelectorSet.push_back (HT_PHY); |
1053 |
m_bssMembershipSelectorSet.push_back (HT_PHY); |
|
|
1054 |
ConfigureHtDeviceMcsSet (); |
| 1028 |
} |
1055 |
} |
| 1029 |
|
1056 |
|
| 1030 |
void |
1057 |
void |
|
|
| 1246 |
YansWifiPhy::SetNumberOfTransmitAntennas (uint32_t tx) |
1273 |
YansWifiPhy::SetNumberOfTransmitAntennas (uint32_t tx) |
| 1247 |
{ |
1274 |
{ |
| 1248 |
m_numberOfTransmitters = tx; |
1275 |
m_numberOfTransmitters = tx; |
|
|
1276 |
ConfigureHtDeviceMcsSet (); |
| 1249 |
} |
1277 |
} |
| 1250 |
|
1278 |
|
| 1251 |
void |
1279 |
void |