Module documentation update

This commit is contained in:
Dirk Alders 2021-01-03 21:04:15 +01:00
parent 504310e228
commit f5453861f6
13 changed files with 149 additions and 58 deletions

View File

@ -125,11 +125,11 @@ def gzip_compress(s, compresslevel=9):
**Example:**
.. literalinclude:: ../examples/gzip_compress.py
.. literalinclude:: stringtools/_examples_/gzip_compress.py
Will result to the following output:
.. literalinclude:: ../examples/gzip_compress.log
.. literalinclude:: stringtools/_examples_/gzip_compress.log
"""
rv = None
t = time.time()
@ -159,11 +159,11 @@ def gzip_extract(s):
**Example:**
.. literalinclude:: ../examples/gzip_extract.py
.. literalinclude:: stringtools/_examples_/gzip_extract.py
Will result to the following output:
.. literalinclude:: ../examples/gzip_extract.log
.. literalinclude:: stringtools/_examples_/gzip_extract.log
"""
t = time.time()
rv = None
@ -191,11 +191,11 @@ def hexlify(s):
**Example:**
.. literalinclude:: ../examples/hexlify.py
.. literalinclude:: stringtools/_examples_/hexlify.py
Will result to the following output:
.. literalinclude:: ../examples/hexlify.log
.. literalinclude:: stringtools/_examples_/hexlify.log
"""
rv = '(%d):' % len(s)
for byte in s:

View File

@ -84,8 +84,8 @@
<div class="local-toc"><ul>
<li><a class="reference internal" href="#">Welcome to stringtoolss documentation!</a><ul>
<li><a class="reference internal" href="#stringtools-stringtools">stringtools (Stringtools)</a></li>
<li><a class="reference internal" href="#csp-carriage-return-seperation-protocol">csp (Carriage-Return seperation protocol)</a></li>
<li><a class="reference internal" href="#stp-serial-transfer-protocol">stp (Serial transfer protocol)</a></li>
<li><a class="reference internal" href="#stringtools-csp-carriage-return-seperation-protocol">stringtools.csp (Carriage-Return seperation protocol)</a></li>
<li><a class="reference internal" href="#stringtools-stp-serial-transfer-protocol">stringtools.stp (Serial transfer protocol)</a></li>
</ul>
</li>
<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
@ -200,17 +200,19 @@
</tbody>
</table>
<p><strong>Example:</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../..&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">stringtools</span>
<span class="kn">import</span> <span class="nn">report</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">logger_name</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="s1">&#39;root&#39;</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="nb">print</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">hexlify</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">gzip_compress</span><span class="p">(</span><span class="mi">15</span> <span class="o">*</span> <span class="sa">b</span><span class="s1">&#39;</span><span class="se">\x00</span><span class="s1">&#39;</span> <span class="o">+</span> <span class="mi">15</span> <span class="o">*</span> <span class="sa">b</span><span class="s1">&#39;</span><span class="se">\xff</span><span class="s1">&#39;</span><span class="p">)))</span>
</pre></div>
</div>
<p>Will result to the following output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">24</span><span class="p">,</span><span class="mi">558</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">compress</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
<span class="p">(</span><span class="mi">26</span><span class="p">):</span> <span class="mi">1</span><span class="n">f</span> <span class="mi">8</span><span class="n">b</span> <span class="mi">08</span> <span class="mi">00</span> <span class="mi">64</span> <span class="mi">9</span><span class="n">d</span> <span class="mi">30</span> <span class="mi">5</span><span class="n">e</span> <span class="mi">02</span> <span class="n">ff</span> <span class="mi">63</span> <span class="mi">60</span> <span class="mi">40</span> <span class="mi">01</span> <span class="n">ff</span> <span class="mi">51</span> <span class="mi">01</span> <span class="mi">00</span> <span class="mi">2</span><span class="n">d</span> <span class="mi">8</span><span class="n">a</span> <span class="mi">7</span><span class="n">d</span> <span class="n">de</span> <span class="mi">1</span><span class="n">e</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">305</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">compress</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
<span class="p">(</span><span class="mi">26</span><span class="p">):</span> <span class="mi">1</span><span class="n">f</span> <span class="mi">8</span><span class="n">b</span> <span class="mi">08</span> <span class="mi">00</span> <span class="mi">98</span> <span class="mi">21</span> <span class="n">f2</span> <span class="mi">5</span><span class="n">f</span> <span class="mi">02</span> <span class="n">ff</span> <span class="mi">63</span> <span class="mi">60</span> <span class="mi">40</span> <span class="mi">01</span> <span class="n">ff</span> <span class="mi">51</span> <span class="mi">01</span> <span class="mi">00</span> <span class="mi">2</span><span class="n">d</span> <span class="mi">8</span><span class="n">a</span> <span class="mi">7</span><span class="n">d</span> <span class="n">de</span> <span class="mi">1</span><span class="n">e</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span>
</pre></div>
</div>
</dd></dl>
@ -232,16 +234,18 @@
</tbody>
</table>
<p><strong>Example:</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../..&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">stringtools</span>
<span class="kn">import</span> <span class="nn">report</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">logger_name</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="s1">&#39;root&#39;</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="nb">print</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">hexlify</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">gzip_extract</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;</span><span class="se">\x1f\x8b\x08\x00\xd0\x82\xe5\x5c\x02\xff\x63\x60\x40\x01\xff\x51\x01\x00\x2d\x8a\x7d\xde\x1e\x00\x00\x00</span><span class="s1">&#39;</span><span class="p">)))</span>
</pre></div>
</div>
<p>Will result to the following output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">39</span><span class="p">,</span><span class="mi">899</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">extract</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">210</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">extract</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
<span class="p">(</span><span class="mi">30</span><span class="p">):</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span>
</pre></div>
</div>
@ -264,8 +268,10 @@
</tbody>
</table>
<p><strong>Example:</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../..&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">stringtools</span>
<span class="nb">print</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">hexlify</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;A stringexample with non printable characters like </span><span class="se">\x12</span><span class="s1">&#39;</span><span class="p">))</span>
</pre></div>
@ -277,8 +283,8 @@
</dd></dl>
</div>
<span class="target" id="module-stringtools.csp"></span><div class="section" id="csp-carriage-return-seperation-protocol">
<h2>csp (Carriage-Return seperation protocol)<a class="headerlink" href="#csp-carriage-return-seperation-protocol" title="Permalink to this headline"></a></h2>
<span class="target" id="module-stringtools.csp"></span><div class="section" id="stringtools-csp-carriage-return-seperation-protocol">
<h2>stringtools.csp (Carriage-Return seperation protocol)<a class="headerlink" href="#stringtools-csp-carriage-return-seperation-protocol" title="Permalink to this headline"></a></h2>
<p><strong>Author:</strong></p>
<ul class="simple">
<li>Dirk Alders &lt;<a class="reference external" href="mailto:sudo-dirk&#37;&#52;&#48;mount-mockery&#46;de">sudo-dirk<span>&#64;</span>mount-mockery<span>&#46;</span>de</a>&gt;</li>
@ -308,7 +314,10 @@
</tbody>
</table>
<p><strong>Example:</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../..&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">stringtools</span>
<span class="n">data</span> <span class="o">=</span> <span class="sa">b</span><span class="s1">&#39;message&#39;</span>
<span class="nb">print</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">hexlify</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
@ -328,10 +337,13 @@
<em class="property">class </em><code class="descclassname">stringtools.csp.</code><code class="descname">csp</code><span class="sig-paren">(</span><em>seperator=b'n'</em><span class="sig-paren">)</span><a class="headerlink" href="#stringtools.csp.csp" title="Permalink to this definition"></a></dt>
<dd><p>This class extracts messages from an “csp-stream”.</p>
<p><strong>Example:</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">report</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../..&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">report</span>
<span class="kn">import</span> <span class="nn">stringtools</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">logger_name</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="s1">&#39;root&#39;</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="n">s</span> <span class="o">=</span> <span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span><span class="o">.</span><span class="n">csp</span><span class="p">()</span>
<span class="k">for</span> <span class="n">byte</span> <span class="ow">in</span> <span class="sa">b</span><span class="s1">&#39;message</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">:</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">process</span><span class="p">(</span><span class="nb">bytes</span><span class="p">([</span><span class="n">byte</span><span class="p">]))</span>
@ -340,14 +352,15 @@
</pre></div>
</div>
<p>Will result to the following output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">093</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">5</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">094</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">10</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">094</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">15</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">095</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">20</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">095</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">25</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">61</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">095</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">30</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">61</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">67</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">096</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">35</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">61</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">67</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">096</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">41</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">61</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">67</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">c</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">1</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">2</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">3</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">4</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">5</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">6</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">7</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span> <span class="mi">65</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">362</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">csp</span> <span class="o">-</span> <span class="n">INFO</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">message</span> <span class="n">identified</span> <span class="o">-</span> <span class="p">(</span><span class="mi">7</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span> <span class="mi">65</span>
<span class="p">[</span><span class="sa">b</span><span class="s1">&#39;message&#39;</span><span class="p">]</span>
</pre></div>
</div>
<dl class="method">
@ -371,8 +384,8 @@
</dd></dl>
</div>
<span class="target" id="module-stringtools.stp"></span><div class="section" id="stp-serial-transfer-protocol">
<h2>stp (Serial transfer protocol)<a class="headerlink" href="#stp-serial-transfer-protocol" title="Permalink to this headline"></a></h2>
<span class="target" id="module-stringtools.stp"></span><div class="section" id="stringtools-stp-serial-transfer-protocol">
<h2>stringtools.stp (Serial transfer protocol)<a class="headerlink" href="#stringtools-stp-serial-transfer-protocol" title="Permalink to this headline"></a></h2>
<p><strong>Author:</strong></p>
<ul class="simple">
<li>Dirk Alders &lt;<a class="reference external" href="mailto:sudo-dirk&#37;&#52;&#48;mount-mockery&#46;de">sudo-dirk<span>&#64;</span>mount-mockery<span>&#46;</span>de</a>&gt;</li>
@ -450,7 +463,10 @@
</tbody>
</table>
<p><strong>Example:</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../..&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">stringtools</span>
<span class="nb">print</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span><span class="o">.</span><span class="n">build_frame</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;:message:&#39;</span><span class="p">)))</span>
</pre></div>
@ -466,10 +482,13 @@
<em class="property">class </em><code class="descclassname">stringtools.stp.</code><code class="descname">stp</code><a class="headerlink" href="#stringtools.stp.stp" title="Permalink to this definition"></a></dt>
<dd><p>This class extracts messages from an “stp-stream”.</p>
<p><strong>Example:</strong></p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">report</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
<span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">&#39;../..&#39;</span><span class="p">)</span>
<span class="kn">import</span> <span class="nn">report</span>
<span class="kn">import</span> <span class="nn">stringtools</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">logger_name</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="s1">&#39;root&#39;</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
<span class="n">s</span> <span class="o">=</span> <span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span><span class="o">.</span><span class="n">stp</span><span class="p">()</span>
<span class="k">for</span> <span class="n">byte</span> <span class="ow">in</span> <span class="sa">b</span><span class="s1">&#39;:&lt;:=message:=:&gt;&#39;</span><span class="p">:</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">process</span><span class="p">(</span><span class="nb">bytes</span><span class="p">([</span><span class="n">byte</span><span class="p">]))</span>
@ -478,15 +497,15 @@
</pre></div>
</div>
<p>Will result to the following output:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_IDLE</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_1</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">start</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">c</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_1</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_STORE_DATA</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_2</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">store</span> <span class="n">sync</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">d</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_2</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_STORE_DATA</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_2</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">store</span> <span class="n">sync</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">d</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_2</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_STORE_DATA</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_2</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">end</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">e</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">storing</span> <span class="n">message</span> <span class="ow">and</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_2</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_IDLE</span>
<span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">INFO</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">message</span> <span class="n">identified</span> <span class="o">-</span> <span class="p">(</span><span class="mi">9</span><span class="p">):</span> <span class="mi">3</span><span class="n">a</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span> <span class="mi">65</span> <span class="mi">3</span><span class="n">a</span>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_IDLE</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_1</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">start</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">c</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_1</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_STORE_DATA</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_2</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">store</span> <span class="n">sync</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">d</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_2</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_STORE_DATA</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_2</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">store</span> <span class="n">sync</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">d</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_2</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_STORE_DATA</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_2</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">end</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">e</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">storing</span> <span class="n">message</span> <span class="ow">and</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_2</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_IDLE</span>
<span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">03</span> <span class="mi">20</span><span class="p">:</span><span class="mi">57</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="mi">157</span><span class="p">:</span> <span class="n">root</span><span class="o">.</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span> <span class="o">-</span> <span class="n">INFO</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">message</span> <span class="n">identified</span> <span class="o">-</span> <span class="p">(</span><span class="mi">9</span><span class="p">):</span> <span class="mi">3</span><span class="n">a</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span> <span class="mi">65</span> <span class="mi">3</span><span class="n">a</span>
<span class="p">[</span><span class="sa">b</span><span class="s1">&#39;:message:&#39;</span><span class="p">]</span>
</pre></div>
</div>

View File

@ -1 +1 @@
Search.setIndex({docnames:["index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,sphinx:55},filenames:["index.rst"],objects:{"":{stringtools:[0,0,0,"-"]},"stringtools.csp":{build_frame:[0,1,1,""],csp:[0,2,1,""]},"stringtools.csp.csp":{process:[0,3,1,""]},"stringtools.stp":{DATA_CLEAR_BUFFER:[0,4,1,""],DATA_STORE_SYNC_VALUE:[0,4,1,""],DATA_SYNC:[0,4,1,""],DATA_VALID_MSG:[0,4,1,""],STP_STATE_ESCAPE_1:[0,4,1,""],STP_STATE_ESCAPE_2:[0,4,1,""],STP_STATE_IDLE:[0,4,1,""],STP_STATE_STORE_DATA:[0,4,1,""],build_frame:[0,1,1,""],stp:[0,2,1,""]},"stringtools.stp.stp":{process:[0,3,1,""]},stringtools:{csp:[0,0,0,"-"],gzip_compress:[0,1,1,""],gzip_extract:[0,1,1,""],hexlify:[0,1,1,""],stp:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:data"},terms:{"byte":0,"class":0,"default":0,"function":0,"import":0,"int":0,The:0,Will:0,alder:0,also:0,around:0,author:0,buffer:0,build:0,build_fram:0,bytestream:0,chang:0,charact:0,clear:0,compress:0,compression_r:0,compressionn:0,compresslevel:0,consumed_tim:0,creat:0,data:0,data_clear_buff:0,data_store_sync_valu:0,data_sync:0,data_valid_msg:0,debug:0,definit:0,descript:0,dirk:0,end:0,escap:0,exampl:0,extract:0,finish:0,follow:0,found:0,frame:0,from:0,gzip:0,gzip_compress:0,gzip_extract:0,hexlifi:0,identifi:0,idl:0,includ:0,index:0,info:0,insid:0,interfac:0,leav:0,len:0,level:0,like:0,list:0,log_name_lvl:0,logger_nam:0,messag:0,method:0,mockeri:0,modul:0,mount:0,msg:0,next:0,non:0,none:0,oper:0,option:0,out:0,output:0,page:0,paramet:0,pattern:0,print:0,printabl:0,process:0,receiv:0,report:0,repr:0,result:0,search:0,see:0,sent:0,start:0,state:0,stdoutloggingconfigur:0,store:0,stp_state_escape_1:0,stp_state_escape_2:0,stp_state_idl:0,stp_state_store_data:0,str:0,stream:0,string:0,stringexampl:0,submodul:0,sudo:0,support:0,sync:0,thi:0,time:0,transmit:0,type:0,unittest:0,valid:0,valu:0,via:0,x00:0,x01:0,x02:0,x08:0,x12:0,x1e:0,x1f:0,x2d:0,x3a:0,x3c:0,x3d:0,x3e:0,x40:0,x51:0,x5c:0,x60:0,x63:0,x7d:0,x82:0,x8a:0,x8b:0,xd0:0,xde:0,xe5:0,xff:0,yet:0},titles:["Welcome to stringtools\u2019s documentation!"],titleterms:{"return":0,carriag:0,csp:0,document:0,indic:0,protocol:0,seper:0,serial:0,stp:0,stringtool:0,tabl:0,transfer:0,welcom:0}})
Search.setIndex({docnames:["index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,sphinx:55},filenames:["index.rst"],objects:{"":{stringtools:[0,0,0,"-"]},"stringtools.csp":{build_frame:[0,1,1,""],csp:[0,2,1,""]},"stringtools.csp.csp":{process:[0,3,1,""]},"stringtools.stp":{DATA_CLEAR_BUFFER:[0,4,1,""],DATA_STORE_SYNC_VALUE:[0,4,1,""],DATA_SYNC:[0,4,1,""],DATA_VALID_MSG:[0,4,1,""],STP_STATE_ESCAPE_1:[0,4,1,""],STP_STATE_ESCAPE_2:[0,4,1,""],STP_STATE_IDLE:[0,4,1,""],STP_STATE_STORE_DATA:[0,4,1,""],build_frame:[0,1,1,""],stp:[0,2,1,""]},"stringtools.stp.stp":{process:[0,3,1,""]},stringtools:{csp:[0,0,0,"-"],gzip_compress:[0,1,1,""],gzip_extract:[0,1,1,""],hexlify:[0,1,1,""],stp:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:data"},terms:{"byte":0,"class":0,"default":0,"function":0,"import":0,"int":0,The:0,Will:0,alder:0,also:0,append:0,around:0,author:0,buffer:0,build:0,build_fram:0,bytestream:0,chang:0,charact:0,clear:0,compress:0,compression_r:0,compressionn:0,compresslevel:0,consumed_tim:0,creat:0,data:0,data_clear_buff:0,data_store_sync_valu:0,data_sync:0,data_valid_msg:0,debug:0,definit:0,descript:0,dirk:0,end:0,escap:0,exampl:0,extract:0,finish:0,follow:0,found:0,frame:0,from:0,gzip:0,gzip_compress:0,gzip_extract:0,hexlifi:0,identifi:0,idl:0,includ:0,index:0,info:0,insid:0,interfac:0,leav:0,len:0,level:0,like:0,list:0,log_name_lvl:0,messag:0,method:0,mockeri:0,modul:0,mount:0,msg:0,next:0,non:0,none:0,oper:0,option:0,out:0,output:0,page:0,paramet:0,path:0,pattern:0,print:0,printabl:0,process:0,receiv:0,report:0,repr:0,result:0,root:0,search:0,see:0,sent:0,start:0,state:0,stdoutloggingconfigur:0,store:0,stp_state_escape_1:0,stp_state_escape_2:0,stp_state_idl:0,stp_state_store_data:0,str:0,stream:0,string:0,stringexampl:0,submodul:0,sudo:0,support:0,sync:0,sys:0,thi:0,time:0,transmit:0,type:0,unittest:0,valid:0,valu:0,via:0,x00:0,x01:0,x02:0,x08:0,x12:0,x1e:0,x1f:0,x2d:0,x3a:0,x3c:0,x3d:0,x3e:0,x40:0,x51:0,x5c:0,x60:0,x63:0,x7d:0,x82:0,x8a:0,x8b:0,xd0:0,xde:0,xe5:0,xff:0,yet:0},titles:["Welcome to stringtools\u2019s documentation!"],titleterms:{"return":0,carriag:0,csp:0,document:0,indic:0,protocol:0,seper:0,serial:0,stp:0,stringtool:0,tabl:0,transfer:0,welcom:0}})

11
_examples_/Makefile Normal file
View File

@ -0,0 +1,11 @@
EXAMPLES = $(wildcard *.py)
LOGFILES = ${EXAMPLES:.py=.log}
.PHONY: all
all: $(LOGFILES)
%.log: %.py
python3 $< > $@
clean:
rm $(LOGFILES)

View File

@ -0,0 +1,9 @@
import sys
sys.path.append('../..')
import stringtools
data = b'message'
print(stringtools.hexlify(data))
print(stringtools.hexlify(stringtools.csp.build_frame(data)))

12
_examples_/csp.csp.py Normal file
View File

@ -0,0 +1,12 @@
import sys
sys.path.append('../..')
import report
import stringtools
report.stdoutLoggingConfigure(log_name_lvl=[('root', 'DEBUG'), ])
s = stringtools.csp.csp()
for byte in b'message\n':
data = s.process(bytes([byte]))
if len(data) > 0:
print(data)

View File

@ -0,0 +1,8 @@
import sys
sys.path.append('../..')
import stringtools
import report
report.stdoutLoggingConfigure(log_name_lvl=[('root', 'DEBUG'), ])
print(stringtools.hexlify(stringtools.gzip_compress(15 * b'\x00' + 15 * b'\xff')))

View File

@ -0,0 +1,8 @@
import sys
sys.path.append('../..')
import stringtools
import report
report.stdoutLoggingConfigure(log_name_lvl=[('root', 'DEBUG'), ])
print(stringtools.hexlify(stringtools.gzip_extract(b'\x1f\x8b\x08\x00\xd0\x82\xe5\x5c\x02\xff\x63\x60\x40\x01\xff\x51\x01\x00\x2d\x8a\x7d\xde\x1e\x00\x00\x00')))

6
_examples_/hexlify.py Normal file
View File

@ -0,0 +1,6 @@
import sys
sys.path.append('../..')
import stringtools
print(stringtools.hexlify(b'A stringexample with non printable characters like \x12'))

View File

@ -0,0 +1,6 @@
import sys
sys.path.append('../..')
import stringtools
print(repr(stringtools.stp.build_frame(b':message:')))

12
_examples_/stp.stp.py Normal file
View File

@ -0,0 +1,12 @@
import sys
sys.path.append('../..')
import report
import stringtools
report.stdoutLoggingConfigure(log_name_lvl=[('root', 'DEBUG'), ])
s = stringtools.stp.stp()
for byte in b':<:=message:=:>':
data = s.process(bytes([byte]))
if len(data) > 0:
print(data)

12
csp.py
View File

@ -2,8 +2,8 @@
# -*- coding: utf-8 -*-
#
"""
csp (Carriage-Return seperation protocol)
=========================================
stringtools.csp (Carriage-Return seperation protocol)
=====================================================
**Author:**
@ -38,11 +38,11 @@ class csp(object):
**Example:**
.. literalinclude:: ../examples/csp.csp.py
.. literalinclude:: stringtools/_examples_/csp.csp.py
Will result to the following output:
.. literalinclude:: ../examples/csp.csp.log
.. literalinclude:: stringtools/_examples_/csp.csp.log
"""
LOG_PREFIX = 'CSP:'
@ -80,11 +80,11 @@ def build_frame(msg, seperator=DATA_SEPERATOR):
**Example:**
.. literalinclude:: ../examples/csp.build_frame.py
.. literalinclude:: stringtools/_examples_/csp.build_frame.py
Will result to the following output:
.. literalinclude:: ../examples/csp.build_frame.log
.. literalinclude:: stringtools/_examples_/csp.build_frame.log
"""
if seperator in msg:
raise ValueError

12
stp.py
View File

@ -2,8 +2,8 @@
# -*- coding: utf-8 -*-
#
"""
stp (Serial transfer protocol)
==============================
stringtools.stp (Serial transfer protocol)
==========================================
**Author:**
@ -54,11 +54,11 @@ class stp(object):
**Example:**
.. literalinclude:: ../examples/stp.stp.py
.. literalinclude:: stringtools/_examples_/stp.stp.py
Will result to the following output:
.. literalinclude:: ../examples/stp.stp.log
.. literalinclude:: stringtools/_examples_/stp.stp.log
"""
LOG_PREFIX = 'STP:'
@ -158,11 +158,11 @@ def build_frame(data):
**Example:**
.. literalinclude:: ../examples/stp.build_frame.py
.. literalinclude:: stringtools/_examples_/stp.build_frame.py
Will result to the following output:
.. literalinclude:: ../examples/stp.build_frame.log
.. literalinclude:: stringtools/_examples_/stp.build_frame.log
"""
rv = DATA_SYNC + DATA_CLEAR_BUFFER