src/devices/wifi/wifi-default-parameters.cc
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Wed, 12 Dec 2007 12:03:38 +0100
changeset 2268 0e57ac711220
parent 2166 00b5eb43dba2
child 2271 85724b1cbb1a
permissions -rw-r--r--
introduce a low latency parameter for rate control algorithms
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2036
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     1
/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     2
/*
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     3
 * Copyright (c) 2007 INRIA
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     4
 *
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as 
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     7
 * published by the Free Software Foundation;
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     8
 *
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    12
 * GNU General Public License for more details.
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    13
 *
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    14
 * You should have received a copy of the GNU General Public License
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    15
 * along with this program; if not, write to the Free Software
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    17
 *
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    18
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
0cb3c7151e89 add missing copyright headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2004
diff changeset
    19
 */
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
#include "wifi-default-parameters.h"
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
#include "ns3/default-value.h"
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
#include "ns3/time-default-value.h"
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
namespace ns3 {
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
namespace WifiDefaultParameters {
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
2166
00b5eb43dba2 Improve the accuracy of 802.11a tx duration calculations.
Federico Maguolo <federico.maguolo@dei.unipd.it>
parents: 2083
diff changeset
    28
static EnumDefaultValue<enum WifiPhyStandard> g_phyStandard
2083
c7541b84285e add the holland 802.11a set of modes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2074
diff changeset
    29
("WifiPhyStandard", 
c7541b84285e add the holland 802.11a set of modes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2074
diff changeset
    30
 "Describe the set of physical-layer tx modes and parameters",
2166
00b5eb43dba2 Improve the accuracy of 802.11a tx duration calculations.
Federico Maguolo <federico.maguolo@dei.unipd.it>
parents: 2083
diff changeset
    31
 WIFI_PHY_STANDARD_80211a, "80211a",
00b5eb43dba2 Improve the accuracy of 802.11a tx duration calculations.
Federico Maguolo <federico.maguolo@dei.unipd.it>
parents: 2083
diff changeset
    32
 WIFI_PHY_STANDARD_holland, "holland",
2083
c7541b84285e add the holland 802.11a set of modes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2074
diff changeset
    33
 0, (void*)0);
c7541b84285e add the holland 802.11a set of modes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2074
diff changeset
    34
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
static NumericDefaultValue<uint32_t> g_maxSsrc
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
("WifiMaxSsrc", 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
 "The MAC maximum number of short retransmission retries (rts retransmissions).",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
 7);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
static NumericDefaultValue<uint32_t> g_maxSlrc
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
("WifiMaxSlrc", 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
 "The MAC maximum number of long retransmission retries (data retransmissions).",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
 7);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
static NumericDefaultValue<uint32_t> g_rtsCtsThreshold
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    46
("WifiRtsCtsThreshold",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    47
 "The threshold (in bytes) over which rts/cts is used prior to data transmissions.",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
 2000);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    50
static NumericDefaultValue<uint32_t> g_fragmentationThreshold
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
("WifiFragmentationThreshold",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
 "The threshold (in bytes) over which data packets are fragmented",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
 2000);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    54
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
static TimeDefaultValue g_apBeaconInterval 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
("WifiApBeaconInterval",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
 "The interval between two consecutive beacons",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    58
 Seconds (1.0));
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    60
static EnumDefaultValue<enum RateControlAlgorithm> g_rateControlAlgorithm
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    61
("WifiRateControlAlgorithm",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
 "The rate control algorithm to use",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    63
 ARF, "Arf",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
 CONSTANT_RATE, "ConstantRate",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
 AARF, "Aarf",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
 IDEAL, "Ideal",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    67
 0, (void *)0);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    68
2004
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    69
static NumericDefaultValue<uint32_t> g_arfSuccessThreshold
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    70
("WifiArfSuccessThreshold",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    71
 "The minimum number of sucessfull transmissions to try a new rate.",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    72
 10);
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    73
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    74
static NumericDefaultValue<uint32_t> g_arfTimerThreshold
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    75
("WifiArfTimerThreshold",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    76
 "The 'timer' threshold in the ARF algorithm.",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    77
 15);
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    78
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    79
static NumericDefaultValue<uint32_t> g_aarfMinSuccessThreshold
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    80
("WifiAarfMinSuccessThreshold",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    81
 "The minimum value for the success threshold in the AARF algorithm.",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    82
 10);
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    83
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    84
static NumericDefaultValue<uint32_t> g_aarfMinTimerThreshold
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    85
("WifiAarfMinTimerThreshold",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    86
 "The minimum value for the 'timer' threshold in the AARF algorithm.",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    87
 15);
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    88
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    89
static NumericDefaultValue<double> g_aarfSuccessK
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    90
("WifiAarfSuccessK",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    91
 "Multiplication factor for the success threshold in the AARF algorithm.",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    92
 2.0);
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    93
static NumericDefaultValue<uint32_t> g_aarfMaxSuccessThreshold
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    94
("WifiAarfMaxSuccessThreshold",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    95
 "Maximum value of the success threshodl in the AARF algorithm.",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    96
 60);
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    97
static NumericDefaultValue<double> g_aarfTimerK
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    98
("WifiAarfTimerK",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
    99
 "Multiplication factor for the timer threshold in the AARF algorithm.",
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   100
 2.0);
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   101
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
static NumericDefaultValue<double> g_phyEdThreshold
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   103
("WifiPhyEnergyDetectionThreshold",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   104
 "The energy of a received signal should be higher than this threshold (dbm) to allow the PHY layer to detect the signal.",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   105
 -140.0);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   106
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   107
static NumericDefaultValue<double> g_phyRxNoise
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   108
("WifiPhyRxNoise",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   109
 "Ratio of energy lost by receiver (dB).",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   110
 7);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   112
static NumericDefaultValue<double> g_phyTxPowerBase
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   113
("WifiPhyTxPowerBase", 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   114
 "Minimum available transmission level (dbm).",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   115
 16.0206);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   116
static NumericDefaultValue<double> g_phyTxPowerEnd
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   117
("WifiPhyTxPowerEnd", 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   118
 "Maximum available transmission level (dbm).",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   119
 16.0206);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
static NumericDefaultValue<uint32_t> g_phyNTxPower
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   121
("WifiPhyTxPowerLevels", 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   122
 "Number of transmission power levels available between WifiPhyTxPowerBase and WifiPhyTxPowerEnd included.",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   123
 1);
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   124
static NumericDefaultValue<double> g_phyTxGain
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   125
("WifiPhyTxGain", 
2071
122c95ffccdd use dB instead of dbm where appropriate
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2069
diff changeset
   126
 "Transmission gain (dB).",
2074
93c8fdda610f change the default tx and gain to be 1db again.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2071
diff changeset
   127
 1.0);
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   128
static NumericDefaultValue<double> g_phyRxGain
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   129
("WifiPhyRxGain", 
2071
122c95ffccdd use dB instead of dbm where appropriate
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2069
diff changeset
   130
 "Reception gain (dB).",
2074
93c8fdda610f change the default tx and gain to be 1db again.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2071
diff changeset
   131
 1.0);
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   132
static StringDefaultValue g_ssid
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   133
("WifiSsid",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   134
 "The ssid to use. \"\" is the broadcast ssid.",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   135
 "");
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   136
static EnumDefaultValue<enum PhyModeParameter> g_dataMode
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   137
("WifiConstantDataRate", 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   138
 "The rate to use for data transmissions if using the ConstantRate rate control algorithm.",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   139
 MODE_6MB, "6mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   140
 MODE_9MB, "9mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   141
 MODE_12MB, "12mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   142
 MODE_18MB, "18mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   143
 MODE_24MB, "24mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   144
 MODE_36MB, "36mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   145
 MODE_48MB, "48mb",
1965
6d06596d8bb8 make sure to terminate vararg list correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1964
diff changeset
   146
 MODE_54MB, "54mb",
6d06596d8bb8 make sure to terminate vararg list correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1964
diff changeset
   147
 0, (void *)0);
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   148
static EnumDefaultValue<enum PhyModeParameter> g_ctlMode
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   149
("WifiConstantCtlRate", 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   150
 "The rate to use for control transmissions if using the ConstantRate rate control algorithm.",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   151
 MODE_6MB, "6mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   152
 MODE_9MB, "9mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   153
 MODE_12MB, "12mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   154
 MODE_18MB, "18mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   155
 MODE_24MB, "24mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   156
 MODE_36MB, "36mb",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   157
 MODE_48MB, "48mb",
1965
6d06596d8bb8 make sure to terminate vararg list correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1964
diff changeset
   158
 MODE_54MB, "54mb",
6d06596d8bb8 make sure to terminate vararg list correctly
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1964
diff changeset
   159
 0, (void *)0);
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   160
static NumericDefaultValue<double> g_idealBer
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   161
("WifiIdealRateControlBerThreshold",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   162
 "The maximum Bit Error Rate acceptable at any transmission mode",
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   163
 10e-6);
2268
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   164
static BooleanDefaultValue g_isLowLatency
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   165
("WifiMacPhyIsLowLatency",
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   166
 "Is the communication latency between the MAC and PHY low ?",
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   167
 true);
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   168
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   169
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   170
uint32_t 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   171
GetMaxSsrc (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   172
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   173
  return g_maxSsrc.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   174
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   175
uint32_t 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   176
GetMaxSlrc (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   177
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   178
  return g_maxSlrc.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   179
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   180
uint32_t 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   181
GetRtsCtsThreshold (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   182
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   183
  return g_rtsCtsThreshold.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   184
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   185
uint32_t 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   186
GetFragmentationThreshold (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   187
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   188
  return g_fragmentationThreshold.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   189
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   190
Time 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   191
GetApBeaconInterval (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   192
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   193
  return g_apBeaconInterval.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   194
}
2166
00b5eb43dba2 Improve the accuracy of 802.11a tx duration calculations.
Federico Maguolo <federico.maguolo@dei.unipd.it>
parents: 2083
diff changeset
   195
enum WifiPhyStandard 
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   196
GetPhyStandard (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   197
{
2083
c7541b84285e add the holland 802.11a set of modes.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2074
diff changeset
   198
  return g_phyStandard.GetValue ();
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   199
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   200
enum RateControlAlgorithm 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   201
GetRateControlAlgorithm (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   202
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   203
  return g_rateControlAlgorithm.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   204
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   205
enum PhyModeParameter 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   206
GetConstantDataRate (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   207
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   208
  return g_dataMode.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   209
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   210
enum PhyModeParameter 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   211
GetConstantCtlRate (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   212
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   213
  return g_ctlMode.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   214
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   215
double 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   216
GetIdealRateControlBer (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   217
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   218
  return g_idealBer.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   219
}
2004
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   220
uint32_t
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   221
GetArfRateControlSuccessThreshold (void)
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   222
{
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   223
  return g_arfSuccessThreshold.GetValue ();
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   224
}
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   225
uint32_t
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   226
GetArfRateControlTimerThreshold (void)
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   227
{
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   228
  return g_arfTimerThreshold.GetValue ();
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   229
}
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   230
uint32_t
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   231
GetAarfRateControlMinSuccessThreshold (void)
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   232
{
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   233
  return g_aarfMinSuccessThreshold.GetValue ();
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   234
}
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   235
uint32_t
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   236
GetAarfRateControlMinTimerThreshold (void)
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   237
{
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   238
  return g_aarfMinTimerThreshold.GetValue ();
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   239
}
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   240
double
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   241
GetAarfRateControlSuccessK (void)
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   242
{
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   243
  return g_aarfSuccessK.GetValue ();
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   244
}
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   245
uint32_t
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   246
GetAarfRateControlMaxSuccessThreshold (void)
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   247
{
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   248
  return g_aarfMaxSuccessThreshold.GetValue ();
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   249
}
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   250
double
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   251
GetAarfRateControlTimerK (void)
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   252
{
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   253
  return g_aarfTimerK.GetValue ();
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   254
}
59eb6fb7b722 control the rate control algorithms with default values.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1986
diff changeset
   255
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   256
double 
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   257
GetPhyEnergyDetectionThresholdDbm (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   258
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   259
  return g_phyEdThreshold.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   260
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   261
double
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   262
GetPhyRxNoiseDb (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   263
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   264
  return g_phyRxNoise.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   265
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   266
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   267
double
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   268
GetPhyTxPowerBaseDbm (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   269
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   270
  return g_phyTxPowerBase.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   271
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   272
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   273
double
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   274
GetPhyTxPowerEndDbm (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   275
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   276
  return g_phyTxPowerEnd.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   277
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   278
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   279
uint32_t
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   280
GetPhyTxPowerLevels (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   281
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   282
  return g_phyNTxPower.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   283
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   284
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   285
double 
2071
122c95ffccdd use dB instead of dbm where appropriate
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2069
diff changeset
   286
GetPhyTxGainDb (void)
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   287
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   288
  return g_phyTxGain.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   289
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   290
double 
2071
122c95ffccdd use dB instead of dbm where appropriate
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2069
diff changeset
   291
GetPhyRxGainDb (void)
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   292
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   293
  return g_phyRxGain.GetValue ();
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   294
}
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   295
Ssid
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   296
GetSsid (void)
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   297
{
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   298
  return Ssid (g_ssid.GetValue ().c_str ());
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   299
}
2268
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   300
bool 
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   301
GetIsLowLatency (void)
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   302
{
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   303
  return g_isLowLatency.GetValue ();
0e57ac711220 introduce a low latency parameter for rate control algorithms
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2166
diff changeset
   304
}
1964
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   305
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   306
} // namespace WifiDefaultParameters
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   307
041240a915f8 build and link
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   308
} // namespace ns3