author | Sébastien Deronne <sebastien.deronne@gmail.com> |
Sat, 11 Jul 2015 11:14:24 +0200 | |
changeset 11492 | 2e3b8610f78b |
parent 11481 | 6189e8edc765 |
child 11570 | 1bf102a32c67 |
permissions | -rw-r--r-- |
7385
10beb0e53130
standardize emacs c++ mode comments
Vedran Miletić <rivanvx@gmail.com>
parents:
7334
diff
changeset
|
1 |
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
1889 | 2 |
/* |
3 |
* Copyright (c) 2005,2006 INRIA |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or modify |
|
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
1889 | 7 |
* published by the Free Software Foundation; |
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
15 |
* along with this program; if not, write to the Free Software |
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
17 |
* |
|
18 |
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
|
19 |
*/ |
|
20 |
||
1890
a2b30c6456c9
Phy80211 -> WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1889
diff
changeset
|
21 |
#ifndef WIFI_PHY_H |
a2b30c6456c9
Phy80211 -> WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1889
diff
changeset
|
22 |
#define WIFI_PHY_H |
1889 | 23 |
|
24 |
#include <stdint.h> |
|
25 |
#include "ns3/callback.h" |
|
26 |
#include "ns3/packet.h" |
|
2054
ba8e810bae4c
derive WifiPhy from Object and manage it with a Ptr<>
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1988
diff
changeset
|
27 |
#include "ns3/object.h" |
1889 | 28 |
#include "ns3/nstime.h" |
29 |
#include "ns3/ptr.h" |
|
1902
26a57487bb49
no need for ns3 prefix
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1892
diff
changeset
|
30 |
#include "wifi-mode.h" |
1920
1d4864775cf8
replace header mode with preamble mode
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1919
diff
changeset
|
31 |
#include "wifi-preamble.h" |
2166
00b5eb43dba2
Improve the accuracy of 802.11a tx duration calculations.
Federico Maguolo <federico.maguolo@dei.unipd.it>
parents:
2159
diff
changeset
|
32 |
#include "wifi-phy-standard.h" |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
33 |
#include "ns3/traced-callback.h" |
10139 | 34 |
#include "wifi-tx-vector.h" |
1889 | 35 |
|
36 |
namespace ns3 { |
|
37 |
||
1891
add6fb8761f3
use WifiMode rather than TransmissionMode
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1890
diff
changeset
|
38 |
class WifiChannel; |
3912
4d1a61f80745
new wifi API
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3906
diff
changeset
|
39 |
class NetDevice; |
1889 | 40 |
|
11492
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
41 |
struct signalNoiseDbm |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
42 |
{ |
11492
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
43 |
double signal; //in dBm |
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
44 |
double noise; //in dBm |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
45 |
}; |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
46 |
|
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
47 |
struct mpduInfo |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
48 |
{ |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
49 |
uint8_t packetType; |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
50 |
uint32_t referenceNumber; |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
51 |
}; |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
52 |
|
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
53 |
/** |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
54 |
* \brief receive notifications about phy events. |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
55 |
*/ |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
56 |
class WifiPhyListener |
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
57 |
{ |
1889 | 58 |
public: |
1890
a2b30c6456c9
Phy80211 -> WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1889
diff
changeset
|
59 |
virtual ~WifiPhyListener (); |
1889 | 60 |
|
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
61 |
/** |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
62 |
* \param duration the expected duration of the packet reception. |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
63 |
* |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
64 |
* We have received the first bit of a packet. We decided |
1889 | 65 |
* that we could synchronize on this packet. It does not mean |
66 |
* we will be able to successfully receive completely the |
|
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
67 |
* whole packet. It means that we will report a BUSY status until |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
68 |
* one of the following happens: |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
69 |
* - NotifyRxEndOk |
8867
743aeb2fef78
fixed typo in doxygen of WifiPhyListener
Nicola Baldo <nbaldo@cttc.es>
parents:
7600
diff
changeset
|
70 |
* - NotifyRxEndError |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
71 |
* - NotifyTxStart |
1889 | 72 |
*/ |
73 |
virtual void NotifyRxStart (Time duration) = 0; |
|
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
74 |
/** |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
75 |
* We have received the last bit of a packet for which |
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
76 |
* NotifyRxStart was invoked first and, the packet has |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
77 |
* been successfully received. |
1889 | 78 |
*/ |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
79 |
virtual void NotifyRxEndOk (void) = 0; |
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
80 |
/** |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
81 |
* We have received the last bit of a packet for which |
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
82 |
* NotifyRxStart was invoked first and, the packet has |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
83 |
* _not_ been successfully received. |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
84 |
*/ |
1889 | 85 |
virtual void NotifyRxEndError (void) = 0; |
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
86 |
/** |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
87 |
* \param duration the expected transmission duration. |
10883
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
88 |
* \param txPowerDbm the nominal tx power in dBm |
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
89 |
* |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
90 |
* We are about to send the first bit of the packet. |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
91 |
* We do not send any event to notify the end of |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
92 |
* transmission. Listeners should assume that the |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
93 |
* channel implicitely reverts to the idle state |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
94 |
* unless they have received a cca busy report. |
1889 | 95 |
*/ |
10883
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
96 |
virtual void NotifyTxStart (Time duration, double txPowerDbm) = 0; |
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
97 |
/** |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
98 |
* \param duration the expected busy duration. |
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
99 |
* |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
100 |
* This method does not really report a real state |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
101 |
* change as opposed to the other methods in this class. |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
102 |
* It merely reports that, unless the medium is reported |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
103 |
* busy through NotifyTxStart or NotifyRxStart/End, |
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
104 |
* it will be busy as defined by the currently selected |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
105 |
* CCA mode. |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
106 |
* |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
107 |
* Typical client code which wants to have a clear picture |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
108 |
* of the CCA state will need to keep track of the time at |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
109 |
* which the last NotifyCcaBusyStart method is called and |
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
110 |
* what duration it reported. |
2684
68c643329c2b
improve doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2659
diff
changeset
|
111 |
*/ |
3905
99c9346b5d71
split interference calculation from YansWifiPhy. Move them to InterferenceHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3899
diff
changeset
|
112 |
virtual void NotifyMaybeCcaBusyStart (Time duration) = 0; |
5189 | 113 |
/** |
114 |
* \param duration the expected channel switching duration. |
|
115 |
* |
|
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
116 |
* We do not send any event to notify the end of |
5189 | 117 |
* channel switching. Listeners should assume that the |
118 |
* channel implicitely reverts to the idle or busy states. |
|
119 |
*/ |
|
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
120 |
virtual void NotifySwitchingStart (Time duration) = 0; |
10883
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
121 |
/** |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
122 |
* Notify listeners that we went to sleep |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
123 |
*/ |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
124 |
virtual void NotifySleep (void) = 0; |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
125 |
/** |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
126 |
* Notify listeners that we woke up |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
127 |
*/ |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
128 |
virtual void NotifyWakeup (void) = 0; |
1889 | 129 |
}; |
130 |
||
131 |
||
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
132 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
133 |
* \brief 802.11 PHY layer model |
7139
79dd02ed46ec
doxygen wifi module grouping all wifi classes
Nicola Baldo <nbaldo@cttc.es>
parents:
6852
diff
changeset
|
134 |
* \ingroup wifi |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
135 |
* |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
136 |
*/ |
2054
ba8e810bae4c
derive WifiPhy from Object and manage it with a Ptr<>
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1988
diff
changeset
|
137 |
class WifiPhy : public Object |
1889 | 138 |
{ |
139 |
public: |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
140 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
141 |
* The state of the PHY layer. |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
142 |
*/ |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
143 |
enum State |
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
144 |
{ |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
145 |
/** |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
146 |
* The PHY layer is IDLE. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
147 |
*/ |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
148 |
IDLE, |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
149 |
/** |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
150 |
* The PHY layer has sense the medium busy through the CCA mechanism |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
151 |
*/ |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
152 |
CCA_BUSY, |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
153 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
154 |
* The PHY layer is sending a packet. |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
155 |
*/ |
2055
8899d6ef5d52
phy state logger
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2054
diff
changeset
|
156 |
TX, |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
157 |
/** |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
158 |
* The PHY layer is receiving a packet. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
159 |
*/ |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
160 |
RX, |
5189 | 161 |
/** |
162 |
* The PHY layer is switching to other channel. |
|
163 |
*/ |
|
10883
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
164 |
SWITCHING, |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
165 |
/** |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
166 |
* The PHY layer is sleeping. |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
167 |
*/ |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
168 |
SLEEP |
2055
8899d6ef5d52
phy state logger
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2054
diff
changeset
|
169 |
}; |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
170 |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
171 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
172 |
* arg1: packet received successfully |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
173 |
* arg2: snr of packet |
11384
935dc1cc08a4
Bug 2097 [wifi] - ACKs should be sent using legacy rates and preambles in 802.11n
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11348
diff
changeset
|
174 |
* arg3: TXVECTOR of packet |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
175 |
* arg4: type of preamble used for packet. |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
176 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
177 |
typedef Callback<void, Ptr<Packet>, double, WifiTxVector, enum WifiPreamble> RxOkCallback; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
178 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
179 |
* arg1: packet received unsuccessfully |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
180 |
* arg2: snr of packet |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
181 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
182 |
typedef Callback<void, Ptr<const Packet>, double> RxErrorCallback; |
1889 | 183 |
|
2524
db72c0e7743e
port wifi model to Attributes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2166
diff
changeset
|
184 |
static TypeId GetTypeId (void); |
db72c0e7743e
port wifi model to Attributes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2166
diff
changeset
|
185 |
|
db72c0e7743e
port wifi model to Attributes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2166
diff
changeset
|
186 |
WifiPhy (); |
db72c0e7743e
port wifi model to Attributes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2166
diff
changeset
|
187 |
virtual ~WifiPhy (); |
db72c0e7743e
port wifi model to Attributes
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2166
diff
changeset
|
188 |
|
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
189 |
/** |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
190 |
* Return the minimum available transmission power level (dBm). |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
191 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
192 |
* \return the minimum available transmission power level in dBm |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
193 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
194 |
virtual double GetTxPowerStart (void) const = 0; |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
195 |
/** |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
196 |
* Return the maximum available transmission power level (dBm). |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
197 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
198 |
* \return the maximum available transmission power level in dBm |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
199 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
200 |
virtual double GetTxPowerEnd (void) const = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
201 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
202 |
* \return the number of tx power levels available for this PHY. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
203 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
204 |
virtual uint32_t GetNTxPower (void) const = 0; |
1891
add6fb8761f3
use WifiMode rather than TransmissionMode
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1890
diff
changeset
|
205 |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
206 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
207 |
* \param callback the callback to invoke |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
208 |
* upon successful packet reception. |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
209 |
*/ |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
210 |
virtual void SetReceiveOkCallback (RxOkCallback callback) = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
211 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
212 |
* \param callback the callback to invoke |
6273
8d70de29d514
spell check, mostly in comments.
Andrey Mazo <mazo@iitp.ru>
parents:
5820
diff
changeset
|
213 |
* upon erroneous packet reception. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
214 |
*/ |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
215 |
virtual void SetReceiveErrorCallback (RxErrorCallback callback) = 0; |
1889 | 216 |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
217 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
218 |
* \param packet the packet to send |
10883
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
219 |
* \param txvector the txvector that has tx parameters such as mode, the transmission mode to use to send |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
220 |
* this packet, and txPowerLevel, a power level to use to send this packet. The real transmission |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
221 |
* power is calculated as txPowerMin + txPowerLevel * (txPowerMax - txPowerMin) / nTxLevels |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
222 |
* \param preamble the type of preamble to use to send this packet. |
11174
780a43e4980c
add MPDU aggregation (with contributions from Sebastien Deronne and Ioannis Selinis)
Ghada Badawy <gbadawy@gmail.com>
parents:
11159
diff
changeset
|
223 |
* \param packetType the type of the packet 0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
224 |
* \param mpduReferenceNumber the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU) |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
225 |
*/ |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
226 |
virtual void SendPacket (Ptr<const Packet> packet, WifiTxVector txvector, enum WifiPreamble preamble, uint8_t packetType, uint32_t mpduReferenceNumber) = 0; |
1889 | 227 |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
228 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
229 |
* \param listener the new listener |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
230 |
* |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
231 |
* Add the input listener to the list of objects to be notified of |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
232 |
* PHY-level events. |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
233 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
234 |
virtual void RegisterListener (WifiPhyListener *listener) = 0; |
11159
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
235 |
/** |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
236 |
* \param listener the listener to be unregistered |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
237 |
* |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
238 |
* Remove the input listener from the list of objects to be notified of |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
239 |
* PHY-level events. |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
240 |
*/ |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
241 |
virtual void UnregisterListener (WifiPhyListener *listener) = 0; |
1889 | 242 |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
243 |
/** |
10883
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
244 |
* Put in sleep mode. |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
245 |
*/ |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
246 |
virtual void SetSleepMode (void) = 0; |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
247 |
/** |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
248 |
* Resume from sleep mode. |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
249 |
*/ |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
250 |
virtual void ResumeFromSleep (void) = 0; |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
251 |
|
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
252 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
253 |
* \return true of the current state of the PHY layer is WifiPhy::IDLE, false otherwise. |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
254 |
*/ |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
255 |
virtual bool IsStateIdle (void) = 0; |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
256 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
257 |
* \return true of the current state of the PHY layer is WifiPhy::CCA_BUSY, false otherwise. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
258 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
259 |
virtual bool IsStateCcaBusy (void) = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
260 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
261 |
* \return true of the current state of the PHY layer is not WifiPhy::IDLE, false otherwise. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
262 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
263 |
virtual bool IsStateBusy (void) = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
264 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
265 |
* \return true of the current state of the PHY layer is WifiPhy::RX, false otherwise. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
266 |
*/ |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
267 |
virtual bool IsStateRx (void) = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
268 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
269 |
* \return true of the current state of the PHY layer is WifiPhy::TX, false otherwise. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
270 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
271 |
virtual bool IsStateTx (void) = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
272 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
273 |
* \return true of the current state of the PHY layer is WifiPhy::SWITCHING, false otherwise. |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
274 |
*/ |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
275 |
virtual bool IsStateSwitching (void) = 0; |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
276 |
/** |
10883
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
277 |
* \return true if the current state of the PHY layer is WifiPhy::SLEEP, false otherwise. |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
278 |
*/ |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
279 |
virtual bool IsStateSleep (void) = 0; |
d919e7194e23
add support for a Wifi sleep mode
Stefano Avallone <stefano.avallone@unina.it>
parents:
10607
diff
changeset
|
280 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
281 |
* \return the amount of time since the current state has started. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
282 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
283 |
virtual Time GetStateDuration (void) = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
284 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
285 |
* \return the predicted delay until this PHY can become WifiPhy::IDLE. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
286 |
* |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
287 |
* The PHY will never become WifiPhy::IDLE _before_ the delay returned by |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
288 |
* this method but it could become really idle later. |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
289 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
290 |
virtual Time GetDelayUntilIdle (void) = 0; |
1889 | 291 |
|
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
292 |
/** |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
293 |
* Return the start time of the last received packet. |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
294 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
295 |
* \return the start time of the last received packet |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
296 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
297 |
virtual Time GetLastRxStartTime (void) const = 0; |
2139
a2cf93c741c3
add WifiPhy::GetLastRxStart
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2083
diff
changeset
|
298 |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
299 |
/** |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
300 |
* \param size the number of bytes in the packet to send |
10139 | 301 |
* \param txvector the transmission parameters used for this packet |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
302 |
* \param preamble the type of preamble to use for this packet. |
11041
f353014f08e9
bug 1971: 802.11n at 2.4 GHz should include a signal extension duration
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
10883
diff
changeset
|
303 |
* \param frequency the channel center frequency (MHz) |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
304 |
* \param packetType the type of the packet 0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
305 |
* \param incFlag this flag is used to indicate that the static variables need to be update or not. This function is called a couple of times for the same packet so static variables should not be increased each time. |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
306 |
* |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
307 |
* \return the total amount of time this PHY will stay busy for the transmission of these bytes. |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
308 |
*/ |
11174
780a43e4980c
add MPDU aggregation (with contributions from Sebastien Deronne and Ioannis Selinis)
Ghada Badawy <gbadawy@gmail.com>
parents:
11159
diff
changeset
|
309 |
Time CalculateTxDuration (uint32_t size, WifiTxVector txvector, enum WifiPreamble preamble, double frequency, uint8_t packetType, uint8_t incFlag); |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
310 |
|
11348
ded786322135
Bug 2066 [wifi] - A-MPDU reception should check for successful preamble
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11332
diff
changeset
|
311 |
/** |
ded786322135
Bug 2066 [wifi] - A-MPDU reception should check for successful preamble
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11332
diff
changeset
|
312 |
* \param txvector the transmission parameters used for this packet |
ded786322135
Bug 2066 [wifi] - A-MPDU reception should check for successful preamble
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11332
diff
changeset
|
313 |
* \param preamble the type of preamble to use for this packet. |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
314 |
* |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
315 |
* \return the total amount of time this PHY will stay busy for the transmission of the PLCP preamble and PLCP header. |
11348
ded786322135
Bug 2066 [wifi] - A-MPDU reception should check for successful preamble
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11332
diff
changeset
|
316 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
317 |
Time CalculatePlcpPreambleAndHeaderDuration (WifiTxVector txvector, enum WifiPreamble preamble); |
10139 | 318 |
|
11118
43129ee9dc94
remove unused payload mode argument
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11086
diff
changeset
|
319 |
/** |
10139 | 320 |
* \param preamble the type of preamble |
321 |
* \param txvector the transmission parameters used for this packet |
|
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
322 |
* |
10139 | 323 |
* \return the training symbol duration |
324 |
*/ |
|
11119
067928a573cd
remove unnecessary Time to double conversions in wifi models
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11118
diff
changeset
|
325 |
static Time GetPlcpHtTrainingSymbolDuration (WifiPreamble preamble, WifiTxVector txvector); |
11118
43129ee9dc94
remove unused payload mode argument
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11086
diff
changeset
|
326 |
/** |
10139 | 327 |
* \param payloadMode the WifiMode use for the transmission of the payload |
328 |
* \param preamble the type of preamble |
|
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
329 |
* |
11452
f7e2c3127a02
Bug 2108 [wifi] - Erroneous implementation in InterferenceHelper
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11450
diff
changeset
|
330 |
* \return the WifiMode used for the transmission of the HT-SIG and the HT training fields |
f7e2c3127a02
Bug 2108 [wifi] - Erroneous implementation in InterferenceHelper
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11450
diff
changeset
|
331 |
* in Mixed Format and greenfield format PLCP header |
10139 | 332 |
*/ |
11452
f7e2c3127a02
Bug 2108 [wifi] - Erroneous implementation in InterferenceHelper
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11450
diff
changeset
|
333 |
static WifiMode GetHTPlcpHeaderMode (WifiMode payloadMode, WifiPreamble preamble); |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
334 |
/** |
10139 | 335 |
* \param preamble the type of preamble |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
336 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
337 |
* \return the duration of the HT-SIG in Mixed Format and greenfield format PLCP header |
10139 | 338 |
*/ |
11332
8ea5c08711a3
remove unused payloadMode argument in WifiPhy::GetPlcpHtSigHeaderDuration
Ghada Badawy <gbadawy@gmail.com>
parents:
11201
diff
changeset
|
339 |
static Time GetPlcpHtSigHeaderDuration (WifiPreamble preamble); |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
340 |
/** |
7143
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
341 |
* \param payloadMode the WifiMode use for the transmission of the payload |
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
342 |
* \param preamble the type of preamble |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
343 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
344 |
* \return the WifiMode used for the transmission of the PLCP header |
7143
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
345 |
*/ |
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
346 |
static WifiMode GetPlcpHeaderMode (WifiMode payloadMode, WifiPreamble preamble); |
7600
57ba46094a0d
fix various doxygen errors
Vedran Miletić <rivanvx@gmail.com>
parents:
7385
diff
changeset
|
347 |
/** |
7143
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
348 |
* \param payloadMode the WifiMode use for the transmission of the payload |
7600
57ba46094a0d
fix various doxygen errors
Vedran Miletić <rivanvx@gmail.com>
parents:
7385
diff
changeset
|
349 |
* \param preamble the type of preamble |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
350 |
* |
11119
067928a573cd
remove unnecessary Time to double conversions in wifi models
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11118
diff
changeset
|
351 |
* \return the duration of the PLCP header |
7143
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
352 |
*/ |
11119
067928a573cd
remove unnecessary Time to double conversions in wifi models
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11118
diff
changeset
|
353 |
static Time GetPlcpHeaderDuration (WifiMode payloadMode, WifiPreamble preamble); |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
354 |
/** |
7143
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
355 |
* \param payloadMode the WifiMode use for the transmission of the payload |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
356 |
* \param preamble the type of preamble |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
357 |
* |
11119
067928a573cd
remove unnecessary Time to double conversions in wifi models
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11118
diff
changeset
|
358 |
* \return the duration of the PLCP preamble |
7143
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
359 |
*/ |
11119
067928a573cd
remove unnecessary Time to double conversions in wifi models
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11118
diff
changeset
|
360 |
static Time GetPlcpPreambleDuration (WifiMode payloadMode, WifiPreamble preamble); |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
361 |
/** |
7600
57ba46094a0d
fix various doxygen errors
Vedran Miletić <rivanvx@gmail.com>
parents:
7385
diff
changeset
|
362 |
* \param size the number of bytes in the packet to send |
10139 | 363 |
* \param txvector the transmission parameters used for this packet |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
364 |
* \param preamble the type of preamble to use for this packet |
11041
f353014f08e9
bug 1971: 802.11n at 2.4 GHz should include a signal extension duration
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
10883
diff
changeset
|
365 |
* \param frequency the channel center frequency (MHz) |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
366 |
* \param packetType the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU) |
11174
780a43e4980c
add MPDU aggregation (with contributions from Sebastien Deronne and Ioannis Selinis)
Ghada Badawy <gbadawy@gmail.com>
parents:
11159
diff
changeset
|
367 |
* \param incFlag this flag is used to indicate that the static variables need to be update or not. This function is called a couple of times for the same packet so static variables should not be increased each time |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
368 |
* |
11119
067928a573cd
remove unnecessary Time to double conversions in wifi models
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11118
diff
changeset
|
369 |
* \return the duration of the payload |
7143
0146b1916bc0
wifi tx duration calculations moved from InterferenceHelper to WifiPhy
Nicola Baldo <nicola@baldo.biz>
parents:
7141
diff
changeset
|
370 |
*/ |
11174
780a43e4980c
add MPDU aggregation (with contributions from Sebastien Deronne and Ioannis Selinis)
Ghada Badawy <gbadawy@gmail.com>
parents:
11159
diff
changeset
|
371 |
Time GetPayloadDuration (uint32_t size, WifiTxVector txvector, WifiPreamble preamble, double frequency, uint8_t packetType, uint8_t incFlag); |
6372
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
372 |
|
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
373 |
/** |
6372
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
374 |
* The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
375 |
* (e.g., by a WifiRemoteStationManager) to determine the set of |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
376 |
* transmission/reception modes that this WifiPhy(-derived class) |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
377 |
* can support - a set of WifiMode objects which we call the |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
378 |
* DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
379 |
* |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
380 |
* It is important to note that the DeviceRateSet is a superset (not |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
381 |
* necessarily proper) of the OperationalRateSet (which is |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
382 |
* logically, if not actually, a property of the associated |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
383 |
* WifiRemoteStationManager), which itself is a superset (again, not |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
384 |
* necessarily proper) of the BSSBasicRateSet. |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
385 |
* |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
386 |
* \return the number of transmission modes supported by this PHY. |
6372
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
387 |
* |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
388 |
* \sa WifiPhy::GetMode() |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
389 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
390 |
virtual uint32_t GetNModes (void) const = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
391 |
/** |
6372
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
392 |
* The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
393 |
* (e.g., by a WifiRemoteStationManager) to determine the set of |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
394 |
* transmission/reception modes that this WifiPhy(-derived class) |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
395 |
* can support - a set of WifiMode objects which we call the |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
396 |
* DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
397 |
* |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
398 |
* It is important to note that the DeviceRateSet is a superset (not |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
399 |
* necessarily proper) of the OperationalRateSet (which is |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
400 |
* logically, if not actually, a property of the associated |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
401 |
* WifiRemoteStationManager), which itself is a superset (again, not |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
402 |
* necessarily proper) of the BSSBasicRateSet. |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
403 |
* |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
404 |
* \param mode index in array of supported modes |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
405 |
* |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
406 |
* \return the mode whose index is specified. |
6372
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
407 |
* |
0fafd9716f44
Bug 853: Consider mandatory rates for Wi-Fi control responses
Dean Armstrong <deanarm@gmail.com>
parents:
6360
diff
changeset
|
408 |
* \sa WifiPhy::GetNModes() |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
409 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
410 |
virtual WifiMode GetMode (uint32_t mode) const = 0; |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
411 |
/** |
10607
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
412 |
* Check if the given WifiMode is supported by the PHY. |
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
413 |
* |
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
414 |
* \param mode the wifi mode to check |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
415 |
* |
10607
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
416 |
* \return true if the given mode is supported, |
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
417 |
* false otherwise |
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
418 |
*/ |
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
419 |
virtual bool IsModeSupported (WifiMode mode) const = 0; |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
420 |
|
10607
8e61a2de1a85
[wifi] moved IsModeSupported to WifiPhy
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10580
diff
changeset
|
421 |
/** |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
422 |
* \param txMode the transmission mode |
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
423 |
* \param ber the probability of bit error rate |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
424 |
* |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
425 |
* \return the minimum snr which is required to achieve |
3912
4d1a61f80745
new wifi API
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3906
diff
changeset
|
426 |
* the requested ber for the specified transmission mode. (W/W) |
2057
73723aad7527
dox for WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2056
diff
changeset
|
427 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
428 |
virtual double CalculateSnr (WifiMode txMode, double ber) const = 0; |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
429 |
|
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
430 |
/** |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
431 |
* The WifiPhy::NBssMembershipSelectors() method is used |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
432 |
* (e.g., by a WifiRemoteStationManager) to determine the set of |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
433 |
* transmission/reception modes that this WifiPhy(-derived class) |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
434 |
* can support - a set of WifiMode objects which we call the |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
435 |
* BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
436 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
437 |
* \return the memebership selector whose index is specified. |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
438 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
439 |
virtual uint32_t GetNBssMembershipSelectors (void) const = 0; |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
440 |
/** |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
441 |
* The WifiPhy::BssMembershipSelector() method is used |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
442 |
* (e.g., by a WifiRemoteStationManager) to determine the set of |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
443 |
* transmission/reception modes that this WifiPhy(-derived class) |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
444 |
* can support - a set of WifiMode objects which we call the |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
445 |
* BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
446 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
447 |
* \param selector index in array of supported memberships |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
448 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
449 |
* \return the memebership selector whose index is specified. |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
450 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
451 |
virtual uint32_t GetBssMembershipSelector (uint32_t selector) const = 0; |
10139 | 452 |
/** |
453 |
* The WifiPhy::GetMembershipSelectorModes() method is used |
|
454 |
* (e.g., by a WifiRemoteStationManager) to determine the set of |
|
455 |
* transmission/reception modes that this WifiPhy(-derived class) |
|
456 |
* can support - a set of WifiMode objects which we call the |
|
11083
96e983e7cd5d
fix typos in wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11075
diff
changeset
|
457 |
* BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. |
10139 | 458 |
* |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
459 |
* \param selector index in array of supported memberships |
10139 | 460 |
* |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
461 |
* \return a WifiModeList that contains the WifiModes associrated with the selected index. |
10139 | 462 |
* |
463 |
* \sa WifiPhy::GetMembershipSelectorModes() |
|
464 |
*/ |
|
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
465 |
virtual WifiModeList GetMembershipSelectorModes (uint32_t selector) = 0; |
10139 | 466 |
/** |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
467 |
* The WifiPhy::GetNMcs() method is used |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
468 |
* (e.g., by a WifiRemoteStationManager) to determine the set of |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
469 |
* transmission/reception MCS indexes that this WifiPhy(-derived class) |
11083
96e983e7cd5d
fix typos in wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11075
diff
changeset
|
470 |
* can support - a set of MCS indexes which we call the |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
471 |
* DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
472 |
* |
11083
96e983e7cd5d
fix typos in wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11075
diff
changeset
|
473 |
* \return the MCS index whose index is specified. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
474 |
*/ |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
475 |
virtual uint8_t GetNMcs (void) const = 0; |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
476 |
/** |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
477 |
* The WifiPhy::GetMcs() method is used |
10139 | 478 |
* (e.g., by a WifiRemoteStationManager) to determine the set of |
479 |
* transmission/reception MCS indexes that this WifiPhy(-derived class) |
|
11083
96e983e7cd5d
fix typos in wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11075
diff
changeset
|
480 |
* can support - a set of MCS indexes which we call the |
10139 | 481 |
* DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. |
482 |
* |
|
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
483 |
* \param mcs index in array of supported MCS |
10139 | 484 |
* |
11083
96e983e7cd5d
fix typos in wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11075
diff
changeset
|
485 |
* \return the MCS index whose index is specified. |
10139 | 486 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
487 |
virtual uint8_t GetMcs (uint8_t mcs) const = 0; |
10139 | 488 |
|
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
489 |
/** |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
490 |
* For a given WifiMode finds the corresponding MCS value and returns it |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
491 |
* as defined in the IEEE 802.11n standard |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
492 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
493 |
* \param mode the WifiMode |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
494 |
* |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
495 |
* \return the MCS number that corresponds to the given WifiMode |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
496 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
497 |
virtual uint32_t WifiModeToMcs (WifiMode mode) = 0; |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
498 |
/** |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
499 |
* For a given MCS finds the corresponding WifiMode and returns it |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
500 |
* as defined in the IEEE 802.11n standard. |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
501 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
502 |
* \param mcs the MCS number |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
503 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
504 |
* \return the WifiMode that corresponds to the given MCS number |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
505 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
506 |
virtual WifiMode McsToWifiMode (uint8_t mcs) = 0; |
10139 | 507 |
|
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
508 |
/** |
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
509 |
* \brief Set channel number. |
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
510 |
* |
4690
86343f7d6bfd
Initial multichannel support in Yans Wifi PHY.
Pavel Boyko <boyko@iitp.ru>
parents:
4680
diff
changeset
|
511 |
* Channel center frequency = Channel starting frequency + 5 MHz * (nch - 1) |
86343f7d6bfd
Initial multichannel support in Yans Wifi PHY.
Pavel Boyko <boyko@iitp.ru>
parents:
4680
diff
changeset
|
512 |
* |
86343f7d6bfd
Initial multichannel support in Yans Wifi PHY.
Pavel Boyko <boyko@iitp.ru>
parents:
4680
diff
changeset
|
513 |
* where Starting channel frequency is standard-dependent, see SetStandard() |
10580
2a29a9bd6fd6
Update (most of) IEEE Std 802.11-2007 to IEEE Std 802.11-2012
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10483
diff
changeset
|
514 |
* as defined in (Section 18.3.8.4.2 "Channel numbering"; IEEE Std 802.11-2012). |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
515 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
516 |
* \param id the channel number |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
517 |
*/ |
4690
86343f7d6bfd
Initial multichannel support in Yans Wifi PHY.
Pavel Boyko <boyko@iitp.ru>
parents:
4680
diff
changeset
|
518 |
virtual void SetChannelNumber (uint16_t id) = 0; |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
519 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
520 |
* Return current channel number. |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
521 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
522 |
* \return the current channel number |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
523 |
*/ |
11159
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
524 |
virtual uint16_t GetChannelNumber (void) const = 0; |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
525 |
/** |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
526 |
* \return the required time for channel switch operation of this WifiPhy |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
527 |
*/ |
b744c32b69bc
patch to support IEEE 1609.4 MAC extension in wave module
Junling Bu <linlinjavaer@gmail.com>
parents:
11119
diff
changeset
|
528 |
virtual Time GetChannelSwitchDelay (void) const = 0; |
4720
15221757964f
bug 641: CwMin setting for 802.11b
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
4715
diff
changeset
|
529 |
|
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
530 |
/** |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
531 |
* Configure the PHY-level parameters for different Wi-Fi standard. |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
532 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
533 |
* \param standard the Wi-Fi standard |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
534 |
*/ |
4720
15221757964f
bug 641: CwMin setting for 802.11b
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
4715
diff
changeset
|
535 |
virtual void ConfigureStandard (enum WifiPhyStandard standard) = 0; |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
536 |
|
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
537 |
/** |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
538 |
* Return the WifiChannel this WifiPhy is connected to. |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
539 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
540 |
* \return the WifiChannel this WifiPhy is connected to |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
541 |
*/ |
3888
a15618dcd0eb
rename WifiPhy to YansWifiPhy and add WifiPhy abstract base class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
3887
diff
changeset
|
542 |
virtual Ptr<WifiChannel> GetChannel (void) const = 0; |
1889 | 543 |
|
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
544 |
/** |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
545 |
* Return a WifiMode for DSSS at 1Mbps. |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
546 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
547 |
* \return a WifiMode for DSSS at 1Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
548 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
549 |
static WifiMode GetDsssRate1Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
550 |
/** |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
551 |
* Return a WifiMode for DSSS at 2Mbps. |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
552 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
553 |
* \return a WifiMode for DSSS at 2Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
554 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
555 |
static WifiMode GetDsssRate2Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
556 |
/** |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
557 |
* Return a WifiMode for DSSS at 5.5Mbps. |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
558 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
559 |
* \return a WifiMode for DSSS at 5.5Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
560 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
561 |
static WifiMode GetDsssRate5_5Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
562 |
/** |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
563 |
* Return a WifiMode for DSSS at 11Mbps. |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
564 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
565 |
* \return a WifiMode for DSSS at 11Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
566 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
567 |
static WifiMode GetDsssRate11Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
568 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
569 |
* Return a WifiMode for ERP-OFDM at 6Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
570 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
571 |
* \return a WifiMode for ERP-OFDM at 6Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
572 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
573 |
static WifiMode GetErpOfdmRate6Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
574 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
575 |
* Return a WifiMode for ERP-OFDM at 9Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
576 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
577 |
* \return a WifiMode for ERP-OFDM at 9Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
578 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
579 |
static WifiMode GetErpOfdmRate9Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
580 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
581 |
* Return a WifiMode for ERP-OFDM at 12Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
582 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
583 |
* \return a WifiMode for ERP-OFDM at 12Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
584 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
585 |
static WifiMode GetErpOfdmRate12Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
586 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
587 |
* Return a WifiMode for ERP-OFDM at 18Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
588 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
589 |
* \return a WifiMode for ERP-OFDM at 18Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
590 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
591 |
static WifiMode GetErpOfdmRate18Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
592 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
593 |
* Return a WifiMode for ERP-OFDM at 24Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
594 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
595 |
* \return a WifiMode for ERP-OFDM at 24Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
596 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
597 |
static WifiMode GetErpOfdmRate24Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
598 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
599 |
* Return a WifiMode for ERP-OFDM at 36Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
600 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
601 |
* \return a WifiMode for ERP-OFDM at 36Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
602 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
603 |
static WifiMode GetErpOfdmRate36Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
604 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
605 |
* Return a WifiMode for ERP-OFDM at 48Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
606 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
607 |
* \return a WifiMode for ERP-OFDM at 48Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
608 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
609 |
static WifiMode GetErpOfdmRate48Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
610 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
611 |
* Return a WifiMode for ERP-OFDM at 54Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
612 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
613 |
* \return a WifiMode for ERP-OFDM at 54Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
614 |
*/ |
6597
7fbc895f7361
Bug 852: Support ERP-OFDM rates and thus '802.11g'
Dean Armstrong <deanarm@gmail.com>
parents:
6372
diff
changeset
|
615 |
static WifiMode GetErpOfdmRate54Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
616 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
617 |
* Return a WifiMode for OFDM at 6Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
618 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
619 |
* \return a WifiMode for OFDM at 6Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
620 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
621 |
static WifiMode GetOfdmRate6Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
622 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
623 |
* Return a WifiMode for OFDM at 9Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
624 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
625 |
* \return a WifiMode for OFDM at 9Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
626 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
627 |
static WifiMode GetOfdmRate9Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
628 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
629 |
* Return a WifiMode for OFDM at 12Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
630 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
631 |
* \return a WifiMode for OFDM at 12Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
632 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
633 |
static WifiMode GetOfdmRate12Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
634 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
635 |
* Return a WifiMode for OFDM at 18Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
636 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
637 |
* \return a WifiMode for OFDM at 18Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
638 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
639 |
static WifiMode GetOfdmRate18Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
640 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
641 |
* Return a WifiMode for OFDM at 24Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
642 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
643 |
* \return a WifiMode for OFDM at 24Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
644 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
645 |
static WifiMode GetOfdmRate24Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
646 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
647 |
* Return a WifiMode for OFDM at 36Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
648 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
649 |
* \return a WifiMode for OFDM at 36Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
650 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
651 |
static WifiMode GetOfdmRate36Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
652 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
653 |
* Return a WifiMode for OFDM at 48Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
654 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
655 |
* \return a WifiMode for OFDM at 48Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
656 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
657 |
static WifiMode GetOfdmRate48Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
658 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
659 |
* Return a WifiMode for OFDM at 54Mbps. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
660 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
661 |
* \return a WifiMode for OFDM at 54Mbps |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
662 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
663 |
static WifiMode GetOfdmRate54Mbps (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
664 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
665 |
* Return a WifiMode for OFDM at 3Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
666 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
667 |
* \return a WifiMode for OFDM at 3Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
668 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
669 |
static WifiMode GetOfdmRate3MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
670 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
671 |
* Return a WifiMode for OFDM at 4.5Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
672 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
673 |
* \return a WifiMode for OFDM at 4.5Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
674 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
675 |
static WifiMode GetOfdmRate4_5MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
676 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
677 |
* Return a WifiMode for OFDM at 6Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
678 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
679 |
* \return a WifiMode for OFDM at 6Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
680 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
681 |
static WifiMode GetOfdmRate6MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
682 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
683 |
* Return a WifiMode for OFDM at 9Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
684 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
685 |
* \return a WifiMode for OFDM at 9Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
686 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
687 |
static WifiMode GetOfdmRate9MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
688 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
689 |
* Return a WifiMode for OFDM at 12Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
690 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
691 |
* \return a WifiMode for OFDM at 12Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
692 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
693 |
static WifiMode GetOfdmRate12MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
694 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
695 |
* Return a WifiMode for OFDM at 18Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
696 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
697 |
* \return a WifiMode for OFDM at 18Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
698 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
699 |
static WifiMode GetOfdmRate18MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
700 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
701 |
* Return a WifiMode for OFDM at 24Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
702 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
703 |
* \return a WifiMode for OFDM at 24Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
704 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
705 |
static WifiMode GetOfdmRate24MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
706 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
707 |
* Return a WifiMode for OFDM at 27Mbps with 10MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
708 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
709 |
* \return a WifiMode for OFDM at 27Mbps with 10MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
710 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
711 |
static WifiMode GetOfdmRate27MbpsBW10MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
712 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
713 |
* Return a WifiMode for OFDM at 1.5Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
714 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
715 |
* \return a WifiMode for OFDM at 1.5Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
716 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
717 |
static WifiMode GetOfdmRate1_5MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
718 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
719 |
* Return a WifiMode for OFDM at 2.25Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
720 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
721 |
* \return a WifiMode for OFDM at 2.25Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
722 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
723 |
static WifiMode GetOfdmRate2_25MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
724 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
725 |
* Return a WifiMode for OFDM at 3Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
726 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
727 |
* \return a WifiMode for OFDM at 3Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
728 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
729 |
static WifiMode GetOfdmRate3MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
730 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
731 |
* Return a WifiMode for OFDM at 4.5Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
732 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
733 |
* \return a WifiMode for OFDM at 4.5Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
734 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
735 |
static WifiMode GetOfdmRate4_5MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
736 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
737 |
* Return a WifiMode for OFDM at 6Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
738 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
739 |
* \return a WifiMode for OFDM at 6Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
740 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
741 |
static WifiMode GetOfdmRate6MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
742 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
743 |
* Return a WifiMode for OFDM at 9Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
744 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
745 |
* \return a WifiMode for OFDM at 9Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
746 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
747 |
static WifiMode GetOfdmRate9MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
748 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
749 |
* Return a WifiMode for OFDM at 12Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
750 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
751 |
* \return a WifiMode for OFDM at 12Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
752 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
753 |
static WifiMode GetOfdmRate12MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
754 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
755 |
* Return a WifiMode for OFDM at 13.5Mbps with 5MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
756 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
757 |
* \return a WifiMode for OFDM at 13.5Mbps with 5MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
758 |
*/ |
6360
d8975477ff6a
Bug 871: Rework construction of Wi-Fi rates
Dean Armstrong <deanarm@gmail.com>
parents:
6273
diff
changeset
|
759 |
static WifiMode GetOfdmRate13_5MbpsBW5MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
760 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
761 |
* Return a WifiMode for OFDM at 6.5Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
762 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
763 |
* \return a WifiMode for OFDM at 6.5Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
764 |
*/ |
10139 | 765 |
static WifiMode GetOfdmRate6_5MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
766 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
767 |
* Return a WifiMode for OFDM at 13Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
768 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
769 |
* \return a WifiMode for OFDM at 13Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
770 |
*/ |
10139 | 771 |
static WifiMode GetOfdmRate13MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
772 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
773 |
* Return a WifiMode for OFDM at 19.5Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
774 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
775 |
* \return a WifiMode for OFDM at 19.5Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
776 |
*/ |
10139 | 777 |
static WifiMode GetOfdmRate19_5MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
778 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
779 |
* Return a WifiMode for OFDM at 26Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
780 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
781 |
* \return a WifiMode for OFDM at 26Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
782 |
*/ |
10139 | 783 |
static WifiMode GetOfdmRate26MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
784 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
785 |
* Return a WifiMode for OFDM at 39Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
786 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
787 |
* \return a WifiMode for OFDM at 39Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
788 |
*/ |
10139 | 789 |
static WifiMode GetOfdmRate39MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
790 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
791 |
* Return a WifiMode for OFDM at 52Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
792 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
793 |
* \return a WifiMode for OFDM at 52Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
794 |
*/ |
10139 | 795 |
static WifiMode GetOfdmRate52MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
796 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
797 |
* Return a WifiMode for OFDM at 58.5Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
798 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
799 |
* \return a WifiMode for OFDM at 58.5Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
800 |
*/ |
10139 | 801 |
static WifiMode GetOfdmRate58_5MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
802 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
803 |
* Return a WifiMode for OFDM at 65Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
804 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
805 |
* \return a WifiMode for OFDM at 65Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
806 |
*/ |
10139 | 807 |
static WifiMode GetOfdmRate65MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
808 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
809 |
* Return a WifiMode for OFDM at 13.5Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
810 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
811 |
* \return a WifiMode for OFDM at 13.5Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
812 |
*/ |
10139 | 813 |
static WifiMode GetOfdmRate13_5MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
814 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
815 |
* Return a WifiMode for OFDM at 27Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
816 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
817 |
* \return a WifiMode for OFDM at 27Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
818 |
*/ |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
819 |
static WifiMode GetOfdmRate27MbpsBW40MHz (); |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
820 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
821 |
* Return a WifiMode for OFDM at 40.5Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
822 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
823 |
* \return a WifiMode for OFDM at 40.5Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
824 |
*/ |
10139 | 825 |
static WifiMode GetOfdmRate40_5MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
826 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
827 |
* Return a WifiMode for OFDM at 54Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
828 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
829 |
* \return a WifiMode for OFDM at 54Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
830 |
*/ |
10139 | 831 |
static WifiMode GetOfdmRate54MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
832 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
833 |
* Return a WifiMode for OFDM at 81Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
834 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
835 |
* \return a WifiMode for OFDM at 81Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
836 |
*/ |
10139 | 837 |
static WifiMode GetOfdmRate81MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
838 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
839 |
* Return a WifiMode for OFDM at 108Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
840 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
841 |
* \return a WifiMode for OFDM at 108Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
842 |
*/ |
10139 | 843 |
static WifiMode GetOfdmRate108MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
844 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
845 |
* Return a WifiMode for OFDM at 121.5Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
846 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
847 |
* \return a WifiMode for OFDM at 121.5Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
848 |
*/ |
10139 | 849 |
static WifiMode GetOfdmRate121_5MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
850 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
851 |
* Return a WifiMode for OFDM at 135Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
852 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
853 |
* \return a WifiMode for OFDM at 135Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
854 |
*/ |
10139 | 855 |
static WifiMode GetOfdmRate135MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
856 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
857 |
* Return a WifiMode for OFDM at 7.2Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
858 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
859 |
* \return a WifiMode for OFDM at 7.2Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
860 |
*/ |
10139 | 861 |
static WifiMode GetOfdmRate7_2MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
862 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
863 |
* Return a WifiMode for OFDM at 14.4Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
864 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
865 |
* \return a WifiMode for OFDM at 14.4Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
866 |
*/ |
10139 | 867 |
static WifiMode GetOfdmRate14_4MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
868 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
869 |
* Return a WifiMode for OFDM at 21.7Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
870 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
871 |
* \return a WifiMode for OFDM at 21.7Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
872 |
*/ |
10139 | 873 |
static WifiMode GetOfdmRate21_7MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
874 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
875 |
* Return a WifiMode for OFDM at 28.9Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
876 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
877 |
* \return a WifiMode for OFDM at 28.9Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
878 |
*/ |
10139 | 879 |
static WifiMode GetOfdmRate28_9MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
880 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
881 |
* Return a WifiMode for OFDM at 43.3Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
882 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
883 |
* \return a WifiMode for OFDM at 43.3Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
884 |
*/ |
10139 | 885 |
static WifiMode GetOfdmRate43_3MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
886 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
887 |
* Return a WifiMode for OFDM at 57.8Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
888 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
889 |
* \return a WifiMode for OFDM at 57.8Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
890 |
*/ |
10139 | 891 |
static WifiMode GetOfdmRate57_8MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
892 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
893 |
* Return a WifiMode for OFDM at 65Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
894 |
* The rate supports short guard interval. |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
895 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
896 |
* \return a WifiMode for OFDM at 65Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
897 |
*/ |
10139 | 898 |
static WifiMode GetOfdmRate65MbpsBW20MHzShGi (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
899 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
900 |
* Return a WifiMode for OFDM at 72.2Mbps with 20MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
901 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
902 |
* \return a WifiMode for OFDM at 72.2Mbps with 20MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
903 |
*/ |
10139 | 904 |
static WifiMode GetOfdmRate72_2MbpsBW20MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
905 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
906 |
* Return a WifiMode for OFDM at 15Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
907 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
908 |
* \return a WifiMode for OFDM at 15Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
909 |
*/ |
10139 | 910 |
static WifiMode GetOfdmRate15MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
911 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
912 |
* Return a WifiMode for OFDM at 30Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
913 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
914 |
* \return a WifiMode for OFDM at 30Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
915 |
*/ |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
916 |
static WifiMode GetOfdmRate30MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
917 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
918 |
* Return a WifiMode for OFDM at 45Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
919 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
920 |
* \return a WifiMode for OFDM at 45Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
921 |
*/ |
10139 | 922 |
static WifiMode GetOfdmRate45MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
923 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
924 |
* Return a WifiMode for OFDM at 60Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
925 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
926 |
* \return a WifiMode for OFDM at 60Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
927 |
*/ |
10139 | 928 |
static WifiMode GetOfdmRate60MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
929 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
930 |
* Return a WifiMode for OFDM at 90Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
931 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
932 |
* \return a WifiMode for OFDM at 90Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
933 |
*/ |
10139 | 934 |
static WifiMode GetOfdmRate90MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
935 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
936 |
* Return a WifiMode for OFDM at 120Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
937 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
938 |
* \return a WifiMode for OFDM at 120Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
939 |
*/ |
10139 | 940 |
static WifiMode GetOfdmRate120MbpsBW40MHz (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
941 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
942 |
* Return a WifiMode for OFDM at 135Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
943 |
* The rate supports short guard interval. |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
944 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
945 |
* \return a WifiMode for OFDM at 135Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
946 |
*/ |
10139 | 947 |
static WifiMode GetOfdmRate135MbpsBW40MHzShGi (); |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
948 |
/** |
11201
ecaa43fa0263
fix Doxygen typos
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11174
diff
changeset
|
949 |
* Return a WifiMode for OFDM at 150Mbps with 40MHz channel spacing. |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
950 |
* |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
951 |
* \return a WifiMode for OFDM at 150Mbps with 40MHz channel spacing |
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
952 |
*/ |
10139 | 953 |
static WifiMode GetOfdmRate150MbpsBW40MHz (); |
4470 | 954 |
|
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
955 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
956 |
* Public method used to fire a PhyTxBegin trace. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
957 |
* Implemented for encapsulation purposes. |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
958 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
959 |
* \param packet the packet being transmitted |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
960 |
*/ |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
961 |
void NotifyTxBegin (Ptr<const Packet> packet); |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
962 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
963 |
* Public method used to fire a PhyTxEnd trace. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
964 |
* Implemented for encapsulation purposes. |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
965 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
966 |
* \param packet the packet that was transmitted |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
967 |
*/ |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
968 |
void NotifyTxEnd (Ptr<const Packet> packet); |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
969 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
970 |
* Public method used to fire a PhyTxDrop trace. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
971 |
* Implemented for encapsulation purposes. |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
972 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
973 |
* \param packet the packet that was failed to transmitted |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
974 |
*/ |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
975 |
void NotifyTxDrop (Ptr<const Packet> packet); |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
976 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
977 |
* Public method used to fire a PhyRxBegin trace. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
978 |
* Implemented for encapsulation purposes. |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
979 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
980 |
* \param packet the packet being received |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
981 |
*/ |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
982 |
void NotifyRxBegin (Ptr<const Packet> packet); |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
983 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
984 |
* Public method used to fire a PhyRxEnd trace. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
985 |
* Implemented for encapsulation purposes. |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
986 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
987 |
* \param packet the packet received |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
988 |
*/ |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
989 |
void NotifyRxEnd (Ptr<const Packet> packet); |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
990 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
991 |
* Public method used to fire a PhyRxDrop trace. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
992 |
* Implemented for encapsulation purposes. |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
993 |
* |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
994 |
* \param packet the packet that was not successfully received |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
995 |
*/ |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
996 |
void NotifyRxDrop (Ptr<const Packet> packet); |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
997 |
|
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
998 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
999 |
* Public method used to fire a MonitorSniffer trace for a wifi packet being received. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1000 |
* Implemented for encapsulation purposes. |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1001 |
* |
11086
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1002 |
* \param packet the packet being received |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1003 |
* \param channelFreqMhz the frequency in MHz at which the packet is |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1004 |
* received. Note that in real devices this is normally the |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1005 |
* frequency to which the receiver is tuned, and this can be |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1006 |
* different than the frequency at which the packet was originally |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1007 |
* transmitted. This is because it is possible to have the receiver |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1008 |
* tuned on a given channel and still to be able to receive packets |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1009 |
* on a nearby channel. |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1010 |
* \param channelNumber the channel on which the packet is received |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1011 |
* \param rate the PHY data rate in units of 500kbps (i.e., the same |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1012 |
* units used both for the radiotap and for the prism header) |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1013 |
* \param preamble the preamble of the packet |
11424
a9e97645e2bb
802.11n short guard interval indication in radiotap header
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11384
diff
changeset
|
1014 |
* \param txVector the txvector that holds rx parameters |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1015 |
* \param aMpdu the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU) |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1016 |
* and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU) |
11492
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
1017 |
* \param signalNoise signal power and noise power in dBm |
11086
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1018 |
*/ |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1019 |
void NotifyMonitorSniffRx (Ptr<const Packet> packet, uint16_t channelFreqMhz, |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1020 |
uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, |
11492
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
1021 |
WifiTxVector txvector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise); |
11086
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1022 |
|
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1023 |
/** |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1024 |
* TracedCallback signature for monitor mode receive events. |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1025 |
* |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1026 |
* |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1027 |
* \param packet the packet being received |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1028 |
* \param channelFreqMhz the frequency in MHz at which the packet is |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1029 |
* received. Note that in real devices this is normally the |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1030 |
* frequency to which the receiver is tuned, and this can be |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1031 |
* different than the frequency at which the packet was originally |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1032 |
* transmitted. This is because it is possible to have the receiver |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1033 |
* tuned on a given channel and still to be able to receive packets |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1034 |
* on a nearby channel. |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1035 |
* \param channelNumber the channel on which the packet is received |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1036 |
* \param rate the PHY data rate in units of 500kbps (i.e., the same |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1037 |
* units used both for the radiotap and for the prism header) |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1038 |
* \param preamble the preamble of the packet |
11424
a9e97645e2bb
802.11n short guard interval indication in radiotap header
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11384
diff
changeset
|
1039 |
* \param txVector the txvector that holds rx parameters |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1040 |
* \param aMpdu the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU) |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1041 |
* and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU) |
11492
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
1042 |
* \param signalNoise signal power and noise power in dBm |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1043 |
*/ |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1044 |
typedef void (* MonitorSnifferRxCallback)(Ptr<const Packet> packet, uint16_t channelFreqMhz, |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1045 |
uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, |
11492
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
1046 |
WifiTxVector txvector, struct mpduInfo aMpdu, struct signalNoiseDbm signalNoise); |
4492
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1047 |
|
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1048 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1049 |
* Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted. |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1050 |
* Implemented for encapsulation purposes. |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1051 |
* |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1052 |
* \param packet the packet being transmitted |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1053 |
* \param channelFreqMhz the frequency in MHz at which the packet is |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1054 |
* transmitted. |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1055 |
* \param channelNumber the channel on which the packet is transmitted |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1056 |
* \param rate the PHY data rate in units of 500kbps (i.e., the same |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1057 |
* units used both for the radiotap and for the prism header) |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1058 |
* \param preamble the preamble of the packet |
11424
a9e97645e2bb
802.11n short guard interval indication in radiotap header
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11384
diff
changeset
|
1059 |
* \param txVector the txvector that holds tx parameters |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1060 |
* \param aMpdu the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU) |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1061 |
* and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU) |
4492
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1062 |
*/ |
11086
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1063 |
void NotifyMonitorSniffTx (Ptr<const Packet> packet, uint16_t channelFreqMhz, |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1064 |
uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1065 |
WifiTxVector txvector, struct mpduInfo aMpdu); |
11086
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1066 |
|
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1067 |
/** |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1068 |
* TracedCallback signature for monitor mode transmit events. |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1069 |
* |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1070 |
* \param packet the packet being transmitted |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1071 |
* \param channelFreqMhz the frequency in MHz at which the packet is |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1072 |
* transmitted. |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1073 |
* \param channelNumber the channel on which the packet is transmitted |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1074 |
* \param rate the PHY data rate in units of 500kbps (i.e., the same |
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1075 |
* units used both for the radiotap and for the prism header) |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1076 |
* \param preamble the preamble of the packet |
11424
a9e97645e2bb
802.11n short guard interval indication in radiotap header
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11384
diff
changeset
|
1077 |
* \param txVector the txvector that holds tx parameters |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1078 |
* \param aMpdu the type of the packet (0 is not A-MPDU, 1 is a MPDU that is part of an A-MPDU and 2 is the last MPDU in an A-MPDU) |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1079 |
* and the A-MPDU reference number (must be a different value for each A-MPDU but the same for each subframe within one A-MPDU) |
11086
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1080 |
*/ |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1081 |
typedef void (* MonitorSnifferTxCallback)(const Ptr<const Packet> packet, uint16_t channelFreqMhz, |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1082 |
uint16_t channelNumber, uint32_t rate, WifiPreamble preamble, |
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1083 |
WifiTxVector txvector, struct mpduInfo aMpdu); |
11086
65914b1ed5b3
TracedCallback function signatures, the rest.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
11083
diff
changeset
|
1084 |
|
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1085 |
/** |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1086 |
* Assign a fixed random variable stream number to the random variables |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1087 |
* used by this model. Return the number of streams (possibly zero) that |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1088 |
* have been assigned. |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1089 |
* |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1090 |
* \param stream first stream index to use |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1091 |
* \return the number of stream indices assigned by this model |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1092 |
*/ |
8981
7e1c95c4d1a7
Replace src/wifi usage of RandomVariable with RandomVariableStream
Mitch Watrous
parents:
8867
diff
changeset
|
1093 |
virtual int64_t AssignStreams (int64_t stream) = 0; |
7e1c95c4d1a7
Replace src/wifi usage of RandomVariable with RandomVariableStream
Mitch Watrous
parents:
8867
diff
changeset
|
1094 |
|
10139 | 1095 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1096 |
* \param freq the operating frequency on this node. |
10139 | 1097 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1098 |
virtual void SetFrequency (uint32_t freq) = 0; |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1099 |
/** |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1100 |
* \return the operating frequency on this node |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1101 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1102 |
virtual uint32_t GetFrequency (void) const = 0; |
10139 | 1103 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1104 |
* \param tx the number of transmitters on this node. |
10139 | 1105 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1106 |
virtual void SetNumberOfTransmitAntennas (uint32_t tx) = 0; |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1107 |
/** |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1108 |
* \return the number of transmit antenna on this device |
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1109 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1110 |
virtual uint32_t GetNumberOfTransmitAntennas (void) const = 0; |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1111 |
/** |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1112 |
* \param rx the number of receivers on this node. |
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1113 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1114 |
virtual void SetNumberOfReceiveAntennas (uint32_t rx) = 0; |
10139 | 1115 |
/** |
11083
96e983e7cd5d
fix typos in wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11075
diff
changeset
|
1116 |
* \return the number of receivers on this node. |
10139 | 1117 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1118 |
virtual uint32_t GetNumberOfReceiveAntennas (void) const = 0; |
10139 | 1119 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1120 |
* \param guardInterval Enable or disable short guard interval |
10139 | 1121 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1122 |
virtual void SetGuardInterval (bool guardInterval) = 0; |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1123 |
/** |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1124 |
* \return true if short guard interval is supported, false otherwise |
10139 | 1125 |
*/ |
1126 |
virtual bool GetGuardInterval (void) const = 0; |
|
1127 |
/** |
|
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1128 |
* \param ldpc Enable or disable LDPC |
10139 | 1129 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1130 |
virtual void SetLdpc (bool ldpc) = 0; |
10139 | 1131 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1132 |
* \return true if LDPC is supported, false otherwise |
10139 | 1133 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1134 |
virtual bool GetLdpc (void) const = 0; |
10139 | 1135 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1136 |
* \param stbc Enable or disable STBC is supported |
10139 | 1137 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1138 |
virtual void SetStbc (bool stbc) = 0; |
10139 | 1139 |
/** |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1140 |
* \return true if STBC is supported, false otherwise |
10139 | 1141 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1142 |
virtual bool GetStbc (void) const = 0; |
10139 | 1143 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1144 |
* \param greenfield Enable or disable GreenField |
10139 | 1145 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1146 |
virtual void SetGreenfield (bool greenfield) = 0; |
10139 | 1147 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1148 |
* \return true if Greenfield is supported, false otherwise |
10139 | 1149 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1150 |
virtual bool GetGreenfield (void) const = 0; |
10139 | 1151 |
/** |
10424
9d29c9a5ddcb
doxygen warnings for wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10139
diff
changeset
|
1152 |
* \return true if channel bonding 40 MHz is supported, false otherwise |
10139 | 1153 |
*/ |
1154 |
virtual bool GetChannelBonding (void) const = 0; |
|
1155 |
/** |
|
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1156 |
* \param channelbonding Enable or disable channel bonding |
10139 | 1157 |
*/ |
11442
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1158 |
virtual void SetChannelBonding (bool channelbonding) = 0; |
a0bc7041194d
cleanup wifi-phy
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11424
diff
changeset
|
1159 |
|
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1160 |
|
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1161 |
private: |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1162 |
/** |
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1163 |
* The trace source fired when a packet begins the transmission process on |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1164 |
* the medium. |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1165 |
* |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1166 |
* \see class CallBackTraceSource |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1167 |
*/ |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1168 |
TracedCallback<Ptr<const Packet> > m_phyTxBeginTrace; |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1169 |
|
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1170 |
/** |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1171 |
* The trace source fired when a packet ends the transmission process on |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1172 |
* the medium. |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1173 |
* |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1174 |
* \see class CallBackTraceSource |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1175 |
*/ |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1176 |
TracedCallback<Ptr<const Packet> > m_phyTxEndTrace; |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1177 |
|
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1178 |
/** |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1179 |
* The trace source fired when the phy layer drops a packet as it tries |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1180 |
* to transmit it. |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1181 |
* |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1182 |
* \see class CallBackTraceSource |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1183 |
*/ |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1184 |
TracedCallback<Ptr<const Packet> > m_phyTxDropTrace; |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1185 |
|
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1186 |
/** |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1187 |
* The trace source fired when a packet begins the reception process from |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1188 |
* the medium. |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1189 |
* |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1190 |
* \see class CallBackTraceSource |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1191 |
*/ |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1192 |
TracedCallback<Ptr<const Packet> > m_phyRxBeginTrace; |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1193 |
|
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1194 |
/** |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1195 |
* The trace source fired when a packet ends the reception process from |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1196 |
* the medium. |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1197 |
* |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1198 |
* \see class CallBackTraceSource |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1199 |
*/ |
4264
9d2e96c4e6e4
Piles of changes for tracing rework
Craig Dowell <craigdo@ee.washington.edu>
parents:
4263
diff
changeset
|
1200 |
TracedCallback<Ptr<const Packet> > m_phyRxEndTrace; |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1201 |
|
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1202 |
/** |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1203 |
* The trace source fired when the phy layer drops a packet it has received. |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1204 |
* |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1205 |
* \see class CallBackTraceSource |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1206 |
*/ |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1207 |
TracedCallback<Ptr<const Packet> > m_phyRxDropTrace; |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1208 |
|
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1209 |
/** |
4492
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1210 |
* A trace source that emulates a wifi device in monitor mode |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1211 |
* sniffing a packet being received. |
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1212 |
* |
4492
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1213 |
* As a reference with the real world, firing this trace |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1214 |
* corresponds in the madwifi driver to calling the function |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1215 |
* ieee80211_input_monitor() |
4263
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1216 |
* |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1217 |
* \see class CallBackTraceSource |
fec2f830d015
trace consistency changes
Craig Dowell <craigdo@ee.washington.edu>
parents:
4039
diff
changeset
|
1218 |
*/ |
11492
2e3b8610f78b
rename snrDb to signalNoiseDbm
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11481
diff
changeset
|
1219 |
TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo, struct signalNoiseDbm> m_phyMonitorSniffRxTrace; |
4492
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1220 |
|
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1221 |
/** |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1222 |
* A trace source that emulates a wifi device in monitor mode |
7141
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1223 |
* sniffing a packet being transmitted. |
072fb225b714
run check-style.py on src/wifi
Nicola Baldo <nicola@baldo.biz>
parents:
7139
diff
changeset
|
1224 |
* |
4492
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1225 |
* As a reference with the real world, firing this trace |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1226 |
* corresponds in the madwifi driver to calling the function |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1227 |
* ieee80211_input_monitor() |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1228 |
* |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1229 |
* \see class CallBackTraceSource |
3ebeb7bf3c15
added support for radiotap and prism headers
Nicola Baldo <nbaldo@cttc.es>
parents:
4470
diff
changeset
|
1230 |
*/ |
11479
a3dcf66928f3
add support for HT MCS and A-MPDU in radiotap headers
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11452
diff
changeset
|
1231 |
TracedCallback<Ptr<const Packet>, uint16_t, uint16_t, uint32_t, WifiPreamble, WifiTxVector, struct mpduInfo> m_phyMonitorSniffTxTrace; |
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1232 |
|
11174
780a43e4980c
add MPDU aggregation (with contributions from Sebastien Deronne and Ioannis Selinis)
Ghada Badawy <gbadawy@gmail.com>
parents:
11159
diff
changeset
|
1233 |
uint32_t m_totalAmpduNumSymbols; //!< Number of symbols previously transmitted for the MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU |
780a43e4980c
add MPDU aggregation (with contributions from Sebastien Deronne and Ioannis Selinis)
Ghada Badawy <gbadawy@gmail.com>
parents:
11159
diff
changeset
|
1234 |
uint32_t m_totalAmpduSize; //!< Total size of the previously transmitted MPDUs in an A-MPDU, used for the computation of the number of symbols needed for the last MPDU in the A-MPDU |
1889 | 1235 |
}; |
1236 |
||
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
1237 |
/** |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
1238 |
* \param os output stream |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
1239 |
* \param state wifi state to stringify |
10483
e3a02ed14587
[doxygen] wifi module
Daniel Lertpratchya <nikkipui@gmail.com>
parents:
10424
diff
changeset
|
1240 |
* \return output stream |
5820
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
1241 |
*/ |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
1242 |
std::ostream& operator<< (std::ostream& os, enum WifiPhy::State state); |
1c02054740eb
Renaming WifiPhy state SYNC to RX to avoid confusion with "synchronizing".
Timo Bingmann <tbns@idlebox.net>
parents:
5189
diff
changeset
|
1243 |
|
11450
9f4ae69f12b7
cleanup wifi module
Sébastien Deronne <sebastien.deronne@gmail.com>
parents:
11442
diff
changeset
|
1244 |
} //namespace ns3 |
1889 | 1245 |
|
1890
a2b30c6456c9
Phy80211 -> WifiPhy
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1889
diff
changeset
|
1246 |
#endif /* WIFI_PHY_H */ |