add sphinx documentation
[nepi.git] / doc / sphinx / _build / html / _modules / nepi / resources / ns3 / classes / yans_wifi_phy.html
diff --git a/doc/sphinx/_build/html/_modules/nepi/resources/ns3/classes/yans_wifi_phy.html b/doc/sphinx/_build/html/_modules/nepi/resources/ns3/classes/yans_wifi_phy.html
new file mode 100644 (file)
index 0000000..6cb0397
--- /dev/null
@@ -0,0 +1,344 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>nepi.resources.ns3.classes.yans_wifi_phy &mdash; NEPI 3.0 documentation</title>
+    
+    <link rel="stylesheet" href="../../../../../_static/sphinxdoc.css" type="text/css" />
+    <link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '../../../../../',
+        VERSION:     '3.0',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="../../../../../_static/jquery.js"></script>
+    <script type="text/javascript" src="../../../../../_static/underscore.js"></script>
+    <script type="text/javascript" src="../../../../../_static/doctools.js"></script>
+    <link rel="top" title="NEPI 3.0 documentation" href="../../../../../index.html" />
+    <link rel="up" title="Module code" href="../../../../index.html" /> 
+  </head>
+  <body>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../../../../../genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="../../../../../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li><a href="../../../../../index.html">NEPI 3.0 documentation</a> &raquo;</li>
+          <li><a href="../../../../index.html" accesskey="U">Module code</a> &raquo;</li> 
+      </ul>
+    </div>
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="../../../../../search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <h1>Source code for nepi.resources.ns3.classes.yans_wifi_phy</h1><div class="highlight"><pre>
+<span class="c">#</span>
+<span class="c">#    NEPI, a framework to manage network experiments</span>
+<span class="c">#    Copyright (C) 2014 INRIA</span>
+<span class="c">#</span>
+<span class="c">#    This program is free software: you can redistribute it and/or modify</span>
+<span class="c">#    it under the terms of the GNU General Public License version 2 as</span>
+<span class="c">#    published by the Free Software Foundation;</span>
+<span class="c">#</span>
+<span class="c">#    This program is distributed in the hope that it will be useful,</span>
+<span class="c">#    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<span class="c">#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
+<span class="c">#    GNU General Public License for more details.</span>
+<span class="c">#</span>
+<span class="c">#    You should have received a copy of the GNU General Public License</span>
+<span class="c">#    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
+<span class="c">#</span>
+
+<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>
+<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>
+<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> \
+        <span class="n">ResourceState</span>
+<span class="kn">from</span> <span class="nn">nepi.resources.ns3.ns3wifiphy</span> <span class="kn">import</span> <span class="n">NS3BaseWifiPhy</span> 
+
+<span class="nd">@clsinit_copy</span>
+<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>
+    <span class="n">_rtype</span> <span class="o">=</span> <span class="s">&quot;ns3::YansWifiPhy&quot;</span>
+
+    <span class="nd">@classmethod</span>
+    <span class="k">def</span> <span class="nf">_register_attributes</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
+        
+        <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>
+            <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>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;-96&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <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>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;-99&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Transmission gain (dB).&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Reception gain (dB).&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Number of transmission power levels available between TxPowerStart and TxPowerEnd included.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Maximum available transmission level (dbm).&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;16.0206&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Minimum available transmission level (dbm).&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;16.0206&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <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>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;7&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Delay between two short frames transmitted on different frequencies.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;+250000.0ns&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Channel center frequency = Channel starting frequency + 5 MHz * nch&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;The operating frequency.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;2407&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;The number of transmitters.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;The number of recievers.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;1&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Whether or not short guard interval is enabled.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Whether or not LDPC is enabled.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Whether or not STBC is enabled.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Whether or not STBC is enabled.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+        <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>
+            <span class="s">&quot;Whether 20MHz or 40MHz.&quot;</span><span class="p">,</span>
+            <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>
+            <span class="n">default</span> <span class="o">=</span> <span class="s">&quot;False&quot;</span><span class="p">,</span>  
+            <span class="n">allowed</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>
+            <span class="nb">range</span> <span class="o">=</span> <span class="bp">None</span><span class="p">,</span>    
+            <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>
+
+        <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>
+
+
+
+    <span class="nd">@classmethod</span>
+    <span class="k">def</span> <span class="nf">_register_traces</span><span class="p">(</span><span class="n">cls</span><span class="p">):</span>
+        
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+        <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>
+
+
+
+    <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>
+        <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>
+        <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>
+</pre></div>
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="../../../../../genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="../../../../../py-modindex.html" title="Python Module Index"
+             >modules</a> |</li>
+        <li><a href="../../../../../index.html">NEPI 3.0 documentation</a> &raquo;</li>
+          <li><a href="../../../../index.html" >Module code</a> &raquo;</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        &copy; Copyright 2014, Alina Quereilhac, Lucia Guevgeozian Odizzio, Julien Tribino.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file