add sphinx documentation
[nepi.git] / doc / sphinx / _build / html / _modules / nepi / resources / ns3 / classes / yans_wifi_phy.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6   <head>
7     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8     
9     <title>nepi.resources.ns3.classes.yans_wifi_phy &mdash; NEPI 3.0 documentation</title>
10     
11     <link rel="stylesheet" href="../../../../../_static/sphinxdoc.css" type="text/css" />
12     <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
13     
14     <script type="text/javascript">
15       var DOCUMENTATION_OPTIONS = {
16         URL_ROOT:    '../../../../../',
17         VERSION:     '3.0',
18         COLLAPSE_INDEX: false,
19         FILE_SUFFIX: '.html',
20         HAS_SOURCE:  true
21       };
22     </script>
23     <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
24     <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
25     <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
26     <link rel="top" title="NEPI 3.0 documentation" href="../../../../../index.html" />
27     <link rel="up" title="Module code" href="../../../../index.html" /> 
28   </head>
29   <body>
30     <div class="related">
31       <h3>Navigation</h3>
32       <ul>
33         <li class="right" style="margin-right: 10px">
34           <a href="../../../../../genindex.html" title="General Index"
35              accesskey="I">index</a></li>
36         <li class="right" >
37           <a href="../../../../../py-modindex.html" title="Python Module Index"
38              >modules</a> |</li>
39         <li><a href="../../../../../index.html">NEPI 3.0 documentation</a> &raquo;</li>
40           <li><a href="../../../../index.html" accesskey="U">Module code</a> &raquo;</li> 
41       </ul>
42     </div>
43       <div class="sphinxsidebar">
44         <div class="sphinxsidebarwrapper">
45 <div id="searchbox" style="display: none">
46   <h3>Quick search</h3>
47     <form class="search" action="../../../../../search.html" method="get">
48       <input type="text" name="q" />
49       <input type="submit" value="Go" />
50       <input type="hidden" name="check_keywords" value="yes" />
51       <input type="hidden" name="area" value="default" />
52     </form>
53     <p class="searchtip" style="font-size: 90%">
54     Enter search terms or a module, class or function name.
55     </p>
56 </div>
57 <script type="text/javascript">$('#searchbox').show(0);</script>
58         </div>
59       </div>
60
61     <div class="document">
62       <div class="documentwrapper">
63         <div class="bodywrapper">
64           <div class="body">
65             
66   <h1>Source code for nepi.resources.ns3.classes.yans_wifi_phy</h1><div class="highlight"><pre>
67 <span class="c">#</span>
68 <span class="c">#    NEPI, a framework to manage network experiments</span>
69 <span class="c">#    Copyright (C) 2014 INRIA</span>
70 <span class="c">#</span>
71 <span class="c">#    This program is free software: you can redistribute it and/or modify</span>
72 <span class="c">#    it under the terms of the GNU General Public License version 2 as</span>
73 <span class="c">#    published by the Free Software Foundation;</span>
74 <span class="c">#</span>
75 <span class="c">#    This program is distributed in the hope that it will be useful,</span>
76 <span class="c">#    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
77 <span class="c">#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
78 <span class="c">#    GNU General Public License for more details.</span>
79 <span class="c">#</span>
80 <span class="c">#    You should have received a copy of the GNU General Public License</span>
81 <span class="c">#    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
82 <span class="c">#</span>
83
84 <span class="kn">from</span> <span class="nn">nepi.execution.attribute</span> <span class="kn">import</span> <span class="n">Attribute</span><span class="p">,</span> <span class="n">Flags</span><span class="p">,</span> <span class="n">Types</span>
85 <span class="kn">from</span> <span class="nn">nepi.execution.trace</span> <span class="kn">import</span> <span class="n">Trace</span><span class="p">,</span> <span class="n">TraceAttr</span>
86 <span class="kn">from</span> <span class="nn">nepi.execution.resource</span> <span class="kn">import</span> <span class="n">ResourceManager</span><span class="p">,</span> <span class="n">clsinit_copy</span><span class="p">,</span> \
87         <span class="n">ResourceState</span>
88 <span class="kn">from</span> <span class="nn">nepi.resources.ns3.ns3wifiphy</span> <span class="kn">import</span> <span class="n">NS3BaseWifiPhy</span> 
89
90 <span class="nd">@clsinit_copy</span>
91 <div class="viewcode-block" id="NS3YansWifiPhy"><a class="viewcode-back" href="../../../../../_layout/nepi.resources.ns3.classes.html#nepi.resources.ns3.classes.yans_wifi_phy.NS3YansWifiPhy">[docs]</a><span class="k">class</span> <span class="nc">NS3YansWifiPhy</span><span class="p">(</span><span class="n">NS3BaseWifiPhy</span><span class="p">):</span>
92     <span class="n">_rtype</span> <span class="o">=</span> <span class="s">&quot;ns3::YansWifiPhy&quot;</span>
93
94     <span class="nd">@classmethod</span>
95     <span class="k">def</span> <span class="nf">_register_attributes</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
96         
97         <span class="n">attr_energydetectionthreshold</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;EnergyDetectionThreshold&quot;</span><span class="p">,</span>
98             <span class="s">&quot;The energy of a received signal should be higher than this threshold (dbm) to allow the PHY layer to detect the signal.&quot;</span><span class="p">,</span>
99             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Double</span><span class="p">,</span>
100             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;-96&quot;</span><span class="p">,</span>  
101             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
102             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
103             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
104
105         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_energydetectionthreshold</span><span class="p">)</span>
106
107         <span class="n">attr_ccamode1threshold</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;CcaMode1Threshold&quot;</span><span class="p">,</span>
108             <span class="s">&quot;The energy of a received signal should be higher than this threshold (dbm) to allow the PHY layer to declare CCA BUSY state&quot;</span><span class="p">,</span>
109             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Double</span><span class="p">,</span>
110             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;-99&quot;</span><span class="p">,</span>  
111             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
112             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
113             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
114
115         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_ccamode1threshold</span><span class="p">)</span>
116
117         <span class="n">attr_txgain</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;TxGain&quot;</span><span class="p">,</span>
118             <span class="s">&quot;Transmission gain (dB).&quot;</span><span class="p">,</span>
119             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Double</span><span class="p">,</span>
120             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
121             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
122             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
123             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
124
125         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_txgain</span><span class="p">)</span>
126
127         <span class="n">attr_rxgain</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;RxGain&quot;</span><span class="p">,</span>
128             <span class="s">&quot;Reception gain (dB).&quot;</span><span class="p">,</span>
129             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Double</span><span class="p">,</span>
130             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
131             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
132             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
133             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
134
135         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_rxgain</span><span class="p">)</span>
136
137         <span class="n">attr_txpowerlevels</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;TxPowerLevels&quot;</span><span class="p">,</span>
138             <span class="s">&quot;Number of transmission power levels available between TxPowerStart and TxPowerEnd included.&quot;</span><span class="p">,</span>
139             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Integer</span><span class="p">,</span>
140             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
141             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
142             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
143             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
144
145         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_txpowerlevels</span><span class="p">)</span>
146
147         <span class="n">attr_txpowerend</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;TxPowerEnd&quot;</span><span class="p">,</span>
148             <span class="s">&quot;Maximum available transmission level (dbm).&quot;</span><span class="p">,</span>
149             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Double</span><span class="p">,</span>
150             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;16.0206&quot;</span><span class="p">,</span>  
151             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
152             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
153             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
154
155         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_txpowerend</span><span class="p">)</span>
156
157         <span class="n">attr_txpowerstart</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;TxPowerStart&quot;</span><span class="p">,</span>
158             <span class="s">&quot;Minimum available transmission level (dbm).&quot;</span><span class="p">,</span>
159             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Double</span><span class="p">,</span>
160             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;16.0206&quot;</span><span class="p">,</span>  
161             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
162             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
163             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
164
165         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_txpowerstart</span><span class="p">)</span>
166
167         <span class="n">attr_rxnoisefigure</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;RxNoiseFigure&quot;</span><span class="p">,</span>
168             <span class="s">&quot;Loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. According to Wikipedia (http://en.wikipedia.org/wiki/Noise_figure), this is </span><span class="se">\&quot;</span><span class="s">the difference in decibels (dB) between the noise output of the actual receiver to the noise output of an  ideal receiver with the same overall gain and bandwidth when the receivers  are connected to sources at the standard noise temperature T0 (usually 290 K)</span><span class="se">\&quot;</span><span class="s">. For&quot;</span><span class="p">,</span>
169             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Double</span><span class="p">,</span>
170             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;7&quot;</span><span class="p">,</span>  
171             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
172             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
173             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
174
175         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_rxnoisefigure</span><span class="p">)</span>
176
177         <span class="n">attr_channelswitchdelay</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;ChannelSwitchDelay&quot;</span><span class="p">,</span>
178             <span class="s">&quot;Delay between two short frames transmitted on different frequencies.&quot;</span><span class="p">,</span>
179             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">String</span><span class="p">,</span>
180             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;+250000.0ns&quot;</span><span class="p">,</span>  
181             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
182             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
183             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
184
185         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_channelswitchdelay</span><span class="p">)</span>
186
187         <span class="n">attr_channelnumber</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;ChannelNumber&quot;</span><span class="p">,</span>
188             <span class="s">&quot;Channel center frequency = Channel starting frequency + 5 MHz * nch&quot;</span><span class="p">,</span>
189             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Integer</span><span class="p">,</span>
190             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
191             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
192             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
193             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
194
195         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_channelnumber</span><span class="p">)</span>
196
197         <span class="n">attr_frequency</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;Frequency&quot;</span><span class="p">,</span>
198             <span class="s">&quot;The operating frequency.&quot;</span><span class="p">,</span>
199             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Integer</span><span class="p">,</span>
200             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;2407&quot;</span><span class="p">,</span>  
201             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
202             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
203             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
204
205         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_frequency</span><span class="p">)</span>
206
207         <span class="n">attr_transmitters</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;Transmitters&quot;</span><span class="p">,</span>
208             <span class="s">&quot;The number of transmitters.&quot;</span><span class="p">,</span>
209             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Integer</span><span class="p">,</span>
210             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
211             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
212             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
213             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
214
215         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_transmitters</span><span class="p">)</span>
216
217         <span class="n">attr_recievers</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;Recievers&quot;</span><span class="p">,</span>
218             <span class="s">&quot;The number of recievers.&quot;</span><span class="p">,</span>
219             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Integer</span><span class="p">,</span>
220             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
221             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
222             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
223             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
224
225         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_recievers</span><span class="p">)</span>
226
227         <span class="n">attr_shortguardenabled</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;ShortGuardEnabled&quot;</span><span class="p">,</span>
228             <span class="s">&quot;Whether or not short guard interval is enabled.&quot;</span><span class="p">,</span>
229             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Bool</span><span class="p">,</span>
230             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
231             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
232             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
233             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
234
235         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_shortguardenabled</span><span class="p">)</span>
236
237         <span class="n">attr_ldpcenabled</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;LdpcEnabled&quot;</span><span class="p">,</span>
238             <span class="s">&quot;Whether or not LDPC is enabled.&quot;</span><span class="p">,</span>
239             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Bool</span><span class="p">,</span>
240             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
241             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
242             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
243             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
244
245         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_ldpcenabled</span><span class="p">)</span>
246
247         <span class="n">attr_stbcenabled</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;STBCEnabled&quot;</span><span class="p">,</span>
248             <span class="s">&quot;Whether or not STBC is enabled.&quot;</span><span class="p">,</span>
249             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Bool</span><span class="p">,</span>
250             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
251             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
252             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
253             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
254
255         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_stbcenabled</span><span class="p">)</span>
256
257         <span class="n">attr_greenfieldenabled</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;GreenfieldEnabled&quot;</span><span class="p">,</span>
258             <span class="s">&quot;Whether or not STBC is enabled.&quot;</span><span class="p">,</span>
259             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Bool</span><span class="p">,</span>
260             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
261             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
262             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
263             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
264
265         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_greenfieldenabled</span><span class="p">)</span>
266
267         <span class="n">attr_channelbonding</span> <span class="o">=</span> <span class="n">Attribute</span><span class="p">(</span><span class="s">&quot;ChannelBonding&quot;</span><span class="p">,</span>
268             <span class="s">&quot;Whether 20MHz or 40MHz.&quot;</span><span class="p">,</span>
269             <span class="nb">type</span> <span class="o">=</span> <span class="n">Types</span><span class="o">.</span><span class="n">Bool</span><span class="p">,</span>
270             <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
271             <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
272             <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
273             <span class="n">flags</span> <span class="o">=</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Reserved</span> <span class="o">|</span> <span class="n">Flags</span><span class="o">.</span><span class="n">Construct</span><span class="p">)</span>
274
275         <span class="n">cls</span><span class="o">.</span><span class="n">_register_attribute</span><span class="p">(</span><span class="n">attr_channelbonding</span><span class="p">)</span>
276
277
278
279     <span class="nd">@classmethod</span>
280     <span class="k">def</span> <span class="nf">_register_traces</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
281         
282         <span class="n">phytxbegin</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;PhyTxBegin&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source indicating a packet has begun transmitting over the channel medium&quot;</span><span class="p">)</span>
283
284         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">phytxbegin</span><span class="p">)</span>
285
286         <span class="n">phytxend</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;PhyTxEnd&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source indicating a packet has been completely transmitted over the channel. NOTE: the only official WifiPhy implementation available to this date (YansWifiPhy) never fires this trace source.&quot;</span><span class="p">)</span>
287
288         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">phytxend</span><span class="p">)</span>
289
290         <span class="n">phytxdrop</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;PhyTxDrop&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source indicating a packet has been dropped by the device during transmission&quot;</span><span class="p">)</span>
291
292         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">phytxdrop</span><span class="p">)</span>
293
294         <span class="n">phyrxbegin</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;PhyRxBegin&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source indicating a packet has begun being received from the channel medium by the device&quot;</span><span class="p">)</span>
295
296         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">phyrxbegin</span><span class="p">)</span>
297
298         <span class="n">phyrxend</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;PhyRxEnd&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source indicating a packet has been completely received from the channel medium by the device&quot;</span><span class="p">)</span>
299
300         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">phyrxend</span><span class="p">)</span>
301
302         <span class="n">phyrxdrop</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;PhyRxDrop&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source indicating a packet has been dropped by the device during reception&quot;</span><span class="p">)</span>
303
304         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">phyrxdrop</span><span class="p">)</span>
305
306         <span class="n">monitorsnifferrx</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;MonitorSnifferRx&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source simulating a wifi device in monitor mode sniffing all received frames&quot;</span><span class="p">)</span>
307
308         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">monitorsnifferrx</span><span class="p">)</span>
309
310         <span class="n">monitorsniffertx</span> <span class="o">=</span> <span class="n">Trace</span><span class="p">(</span><span class="s">&quot;MonitorSnifferTx&quot;</span><span class="p">,</span> <span class="s">&quot;Trace source simulating the capability of a wifi device in monitor mode to sniff all frames being transmitted&quot;</span><span class="p">)</span>
311
312         <span class="n">cls</span><span class="o">.</span><span class="n">_register_trace</span><span class="p">(</span><span class="n">monitorsniffertx</span><span class="p">)</span>
313
314
315
316     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ec</span><span class="p">,</span> <span class="n">guid</span><span class="p">):</span>
317         <span class="nb">super</span><span class="p">(</span><span class="n">NS3YansWifiPhy</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">ec</span><span class="p">,</span> <span class="n">guid</span><span class="p">)</span>
318         <span class="bp">self</span><span class="o">.</span><span class="n">_home</span> <span class="o">=</span> <span class="s">&quot;ns3-yans-wifi-phy-</span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">guid</span></div>
319 </pre></div>
320
321           </div>
322         </div>
323       </div>
324       <div class="clearer"></div>
325     </div>
326     <div class="related">
327       <h3>Navigation</h3>
328       <ul>
329         <li class="right" style="margin-right: 10px">
330           <a href="../../../../../genindex.html" title="General Index"
331              >index</a></li>
332         <li class="right" >
333           <a href="../../../../../py-modindex.html" title="Python Module Index"
334              >modules</a> |</li>
335         <li><a href="../../../../../index.html">NEPI 3.0 documentation</a> &raquo;</li>
336           <li><a href="../../../../index.html" >Module code</a> &raquo;</li> 
337       </ul>
338     </div>
339     <div class="footer">
340         &copy; Copyright 2014, Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino.
341       Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
342     </div>
343   </body>
344 </html>