b15f/docs/html/b15f_8cpp_source.html

114 lines
63 KiB
HTML
Raw Normal View History

2019-05-22 07:46:48 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>B15F: /home/famulus/Dokumente/b15f/control/src/drv/b15f.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">B15F
</div>
<div id="projectbrief">Board 15 Famulus Edition</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_56ea320f36428fc096e6ea8f45d8dae0.html">control</a></li><li class="navelem"><a class="el" href="dir_5e190edae4b019e7e1b870accd701baf.html">src</a></li><li class="navelem"><a class="el" href="dir_81b0a61688244456393c2abc7725ec59.html">drv</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">b15f.cpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &quot;b15f.h&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<a class="code" href="classB15F.html">B15F</a>* B15F::instance = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;errorhandler_t B15F::errorhandler = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;B15F::B15F()</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;{</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <a class="code" href="classB15F.html#a74d8cca6edbb4e24a2f760829b3742a5">init</a>();</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;}</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; </div><div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="classB15F.html#a74d8cca6edbb4e24a2f760829b3742a5"> 11</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classB15F.html#a74d8cca6edbb4e24a2f760829b3742a5">B15F::init</a>()</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;{</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; std::string device = <a class="code" href="classB15F.html#a1a7ac52984ed7ecac008a3e4060eee3a">exec</a>(<span class="stringliteral">&quot;bash -c &#39;ls /dev/ttyUSB*&#39;&quot;</span>);</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <span class="keywordflow">while</span>(device.find(<span class="charliteral">&#39; &#39;</span>) != std::string::npos || device.find(<span class="charliteral">&#39;\n&#39;</span>) != std::string::npos || device.find(<span class="charliteral">&#39;\t&#39;</span>) != std::string::npos)</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; device.pop_back();</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keywordflow">if</span>(device.length() == 0)</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <a class="code" href="classB15F.html#a3f09a418f9e3be5d1d750e4515c96f1e">abort</a>(<span class="stringliteral">&quot;Adapter nicht gefunden&quot;</span>);</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; std::cout &lt;&lt; PRE &lt;&lt; <span class="stringliteral">&quot;Verwende Adapter: &quot;</span> &lt;&lt; device &lt;&lt; std::endl;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; std::cout &lt;&lt; PRE &lt;&lt; <span class="stringliteral">&quot;Stelle Verbindung mit Adapter her... &quot;</span> &lt;&lt; std::flush;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; usart.<a class="code" href="classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d">setBaudrate</a>(BAUDRATE);</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; usart.<a class="code" href="classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a">openDevice</a>(device); </div><div c
<div class="ttc" id="aclassB15F_html_a1a7ac52984ed7ecac008a3e4060eee3a"><div class="ttname"><a href="classB15F.html#a1a7ac52984ed7ecac008a3e4060eee3a">B15F::exec</a></div><div class="ttdeci">static std::string exec(std::string cmd)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00309">b15f.cpp:309</a></div></div>
<div class="ttc" id="aclassUSART_html_a8f54b98b26bfe084359a5604bda82562"><div class="ttname"><a href="classUSART.html#a8f54b98b26bfe084359a5604bda82562">USART::readByte</a></div><div class="ttdeci">uint8_t readByte(void)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00210">usart.cpp:210</a></div></div>
<div class="ttc" id="aclassB15F_html_adcaac8ae8db3c28eccb499fbd720361f"><div class="ttname"><a href="classB15F.html#adcaac8ae8db3c28eccb499fbd720361f">B15F::delay_us</a></div><div class="ttdeci">void delay_us(uint16_t us)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00295">b15f.cpp:295</a></div></div>
<div class="ttc" id="aclassB15F_html_ae0df6d423deeb2fd610968bd1c72060e"><div class="ttname"><a href="classB15F.html#ae0df6d423deeb2fd610968bd1c72060e">B15F::digitalRead0</a></div><div class="ttdeci">uint8_t digitalRead0(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00172">b15f.cpp:172</a></div></div>
<div class="ttc" id="aclassB15F_html_ab82a324426c3063318c6cafb3089ae02"><div class="ttname"><a href="classB15F.html#ab82a324426c3063318c6cafb3089ae02">B15F::analogSequence</a></div><div class="ttdeci">void analogSequence(uint8_t channel_a, uint16_t *buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t *buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count)</div><div class="ttdoc">Komplexe Analoge Sequenz DAC 0 wird auf den Startwert gesetzt und dann schrittweise um Delta inkremen...</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00241">b15f.cpp:241</a></div></div>
<div class="ttc" id="aclassB15F_html_af01983594f2af98ab2b1e514aa036a5d"><div class="ttname"><a href="classB15F.html#af01983594f2af98ab2b1e514aa036a5d">B15F::testConnection</a></div><div class="ttdeci">bool testConnection(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00090">b15f.cpp:90</a></div></div>
<div class="ttc" id="aclassB15F_html_a6f858f21ea81d491b5031b3644a2239a"><div class="ttname"><a href="classB15F.html#a6f858f21ea81d491b5031b3644a2239a">B15F::readDipSwitch</a></div><div class="ttdeci">uint8_t readDipSwitch(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00190">b15f.cpp:190</a></div></div>
<div class="ttc" id="aclassB15F_html_aaffce20afb9f06bc4b7556c70ce76416"><div class="ttname"><a href="classB15F.html#aaffce20afb9f06bc4b7556c70ce76416">B15F::delay_ms</a></div><div class="ttdeci">void delay_ms(uint16_t ms)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00290">b15f.cpp:290</a></div></div>
<div class="ttc" id="aclassB15F_html_a63d67795879cdc0b035c9c970e7d6fc3"><div class="ttname"><a href="classB15F.html#a63d67795879cdc0b035c9c970e7d6fc3">B15F::analogWrite1</a></div><div class="ttdeci">bool analogWrite1(uint16_t)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00209">b15f.cpp:209</a></div></div>
<div class="ttc" id="aclassB15F_html_a8b4533d232c55ef2aa967e39e2d23380"><div class="ttname"><a href="classB15F.html#a8b4533d232c55ef2aa967e39e2d23380">B15F::getInstance</a></div><div class="ttdeci">static B15F &amp; getInstance(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00300">b15f.cpp:300</a></div></div>
<div class="ttc" id="aclassB15F_html"><div class="ttname"><a href="classB15F.html">B15F</a></div><div class="ttdef"><b>Definition:</b> <a href="b15f_8h_source.html#l00024">b15f.h:24</a></div></div>
<div class="ttc" id="aclassB15F_html_a3f09a418f9e3be5d1d750e4515c96f1e"><div class="ttname"><a href="classB15F.html#a3f09a418f9e3be5d1d750e4515c96f1e">B15F::abort</a></div><div class="ttdeci">static void abort(std::string msg)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00322">b15f.cpp:322</a></div></div>
<div class="ttc" id="aclassUSART_html_a28a2b4c5ed66b2c3a81196f76884f156"><div class="ttname"><a href="classUSART.html#a28a2b4c5ed66b2c3a81196f76884f156">USART::clearInputBuffer</a></div><div class="ttdeci">void clearInputBuffer(void)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00039">usart.cpp:39</a></div></div>
<div class="ttc" id="aclassUSART_html_a756d268a8762c316f91ca3238972b0c1"><div class="ttname"><a href="classUSART.html#a756d268a8762c316f91ca3238972b0c1">USART::clearOutputBuffer</a></div><div class="ttdeci">void clearOutputBuffer(void)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00046">usart.cpp:46</a></div></div>
<div class="ttc" id="aclassB15F_html_ae0bd1f69751e2dc3c462db9213fc4627"><div class="ttname"><a href="classB15F.html#ae0bd1f69751e2dc3c462db9213fc4627">B15F::analogRead</a></div><div class="ttdeci">uint16_t analogRead(uint8_t channel)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00219">b15f.cpp:219</a></div></div>
<div class="ttc" id="aclassB15F_html_a13797edea1c50278988373acbd110064"><div class="ttname"><a href="classB15F.html#a13797edea1c50278988373acbd110064">B15F::digitalWrite0</a></div><div class="ttdeci">bool digitalWrite0(uint8_t)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00152">b15f.cpp:152</a></div></div>
<div class="ttc" id="aclassUSART_html_aac63918a8b97ae63ee607cfa39e6d88d"><div class="ttname"><a href="classUSART.html#aac63918a8b97ae63ee607cfa39e6d88d">USART::setBaudrate</a></div><div class="ttdeci">void setBaudrate(uint32_t baudrate)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00316">usart.cpp:316</a></div></div>
<div class="ttc" id="aclassB15F_html_ad9bf80ee2485fb5aac9926c6ef0731f1"><div class="ttname"><a href="classB15F.html#ad9bf80ee2485fb5aac9926c6ef0731f1">B15F::activateSelfTestMode</a></div><div class="ttdeci">bool activateSelfTestMode(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00144">b15f.cpp:144</a></div></div>
<div class="ttc" id="aclassB15F_html_a4f01677e73d6d172a2c1cae9427a591b"><div class="ttname"><a href="classB15F.html#a4f01677e73d6d172a2c1cae9427a591b">B15F::getBoardInfo</a></div><div class="ttdeci">std::vector&lt; std::string &gt; getBoardInfo(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00118">b15f.cpp:118</a></div></div>
<div class="ttc" id="aclassUSART_html_a60eadbe9956bab8144ee96d89eacd9f5"><div class="ttname"><a href="classUSART.html#a60eadbe9956bab8144ee96d89eacd9f5">USART::writeByte</a></div><div class="ttdeci">void writeByte(uint8_t b)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00067">usart.cpp:67</a></div></div>
<div class="ttc" id="aclassB15F_html_aa225e7fc813849634063e071ef25db1b"><div class="ttname"><a href="classB15F.html#aa225e7fc813849634063e071ef25db1b">B15F::digitalWrite1</a></div><div class="ttdeci">bool digitalWrite1(uint8_t)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00162">b15f.cpp:162</a></div></div>
<div class="ttc" id="aclassB15F_html_a74d8cca6edbb4e24a2f760829b3742a5"><div class="ttname"><a href="classB15F.html#a74d8cca6edbb4e24a2f760829b3742a5">B15F::init</a></div><div class="ttdeci">void init(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00011">b15f.cpp:11</a></div></div>
<div class="ttc" id="aclassB15F_html_ae4740cd473f40a1a4121dfa66b25e1d5"><div class="ttname"><a href="classB15F.html#ae4740cd473f40a1a4121dfa66b25e1d5">B15F::discard</a></div><div class="ttdeci">void discard(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00072">b15f.cpp:72</a></div></div>
<div class="ttc" id="aclassB15F_html_a5c5583d591afdd3f9501856c6b0ba3e3"><div class="ttname"><a href="classB15F.html#a5c5583d591afdd3f9501856c6b0ba3e3">B15F::analogWrite0</a></div><div class="ttdeci">bool analogWrite0(uint16_t)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00199">b15f.cpp:199</a></div></div>
<div class="ttc" id="aclassUSART_html_a5f7e2abda2ec4a68a5fdb8ee2f8a940a"><div class="ttname"><a href="classUSART.html#a5f7e2abda2ec4a68a5fdb8ee2f8a940a">USART::openDevice</a></div><div class="ttdeci">void openDevice(std::string device)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00003">usart.cpp:3</a></div></div>
<div class="ttc" id="aclassUSART_html_a1534c229db71a375e556cf1e7d0b8119"><div class="ttname"><a href="classUSART.html#a1534c229db71a375e556cf1e7d0b8119">USART::readInt</a></div><div class="ttdeci">uint16_t readInt(void)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00229">usart.cpp:229</a></div></div>
<div class="ttc" id="aclassB15F_html_afc76b612dd4faeee0ac02a66b65af5f2"><div class="ttname"><a href="classB15F.html#afc76b612dd4faeee0ac02a66b65af5f2">B15F::digitalRead1</a></div><div class="ttdeci">uint8_t digitalRead1(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00181">b15f.cpp:181</a></div></div>
<div class="ttc" id="aclassB15F_html_a52557b375443c180a044e7d4e80a1ae7"><div class="ttname"><a href="classB15F.html#a52557b375443c180a044e7d4e80a1ae7">B15F::reconnect</a></div><div class="ttdeci">void reconnect(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00057">b15f.cpp:57</a></div></div>
<div class="ttc" id="aclassB15F_html_a55b0cd1ea582bda53d6979442640f8e9"><div class="ttname"><a href="classB15F.html#a55b0cd1ea582bda53d6979442640f8e9">B15F::setAbortHandler</a></div><div class="ttdeci">static void setAbortHandler(errorhandler_t func)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00339">b15f.cpp:339</a></div></div>
<div class="ttc" id="aclassUSART_html_a78b30d9aa863f38745e982860392599a"><div class="ttname"><a href="classUSART.html#a78b30d9aa863f38745e982860392599a">USART::writeInt</a></div><div class="ttdeci">void writeInt(uint16_t d)</div><div class="ttdef"><b>Definition:</b> <a href="usart_8cpp_source.html#l00081">usart.cpp:81</a></div></div>
<div class="ttc" id="aclassB15F_html_a7b8a0e2a9156f7dcb05d097f23666a78"><div class="ttname"><a href="classB15F.html#a7b8a0e2a9156f7dcb05d097f23666a78">B15F::testIntConv</a></div><div class="ttdeci">bool testIntConv(void)</div><div class="ttdef"><b>Definition:</b> <a href="b15f_8cpp_source.html#l00105">b15f.cpp:105</a></div></div>
<div class="ttc" id="aclassDriverException_html"><div class="ttname"><a href="classDriverException.html">DriverException</a></div><div class="ttdef"><b>Definition:</b> <a href="driverexception_8h_source.html#l00008">driverexception.h:8</a></div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>
</body>
</html>