|
- <!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/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <meta name="generator" content="Doxygen 1.8.14"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>uTL: utl::i2c_bb_i< impl_t > Class Template Reference</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="navtree.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="resize.js"></script>
- <script type="text/javascript" src="navtreedata.js"></script>
- <script type="text/javascript" src="navtree.js"></script>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
- $(document).ready(initResizable);
- /* @license-end */</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">uTL
- </div>
- <div id="projectbrief">micro Template library</div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.14 -->
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&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&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>
- </div><!-- top -->
- <div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- <div id="nav-sync" class="sync"></div>
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
- </div>
- <script type="text/javascript">
- /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
- $(document).ready(function(){initNavTree('classutl_1_1i2c__bb__i.html','');});
- /* @license-end */
- </script>
- <div id="doc-content">
- <!-- 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 class="header">
- <div class="summary">
- <a href="#pub-types">Public Types</a> |
- <a href="#pri-methods">Private Member Functions</a> |
- <a href="#pri-attribs">Private Attributes</a> |
- <a href="classutl_1_1i2c__bb__i-members.html">List of all members</a> </div>
- <div class="headertitle">
- <div class="title">utl::i2c_bb_i< impl_t > Class Template Reference</div> </div>
- </div><!--header-->
- <div class="contents">
-
- <p>A bit banking implementation of i2c bus inherited from <a class="el" href="classutl_1_1i2c__i.html">i2c_i</a> base class.
- <a href="classutl_1_1i2c__bb__i.html#details">More...</a></p>
-
- <p><code>#include <<a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>></code></p>
- <div class="dynheader">
- Inheritance diagram for utl::i2c_bb_i< impl_t >:</div>
- <div class="dyncontent">
- <div class="center">
- <img src="classutl_1_1i2c__bb__i.png" usemap="#utl::i2c_5Fbb_5Fi_3C_20impl_5Ft_20_3E_map" alt=""/>
- <map id="utl::i2c_5Fbb_5Fi_3C_20impl_5Ft_20_3E_map" name="utl::i2c_5Fbb_5Fi_3C_20impl_5Ft_20_3E_map">
- <area href="classutl_1_1i2c__i.html" alt="utl::i2c_i< i2c_bb_i< impl_t > >" shape="rect" coords="0,0,186,24"/>
- </map>
- </div></div>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
- Public Types</h2></td></tr>
- <tr class="memitem:a4369b434fde250d503bfdc07d5c6a26d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a4369b434fde250d503bfdc07d5c6a26d">SDAMode</a> { <a class="el" href="classutl_1_1i2c__bb__i.html#a4369b434fde250d503bfdc07d5c6a26daa84cc046d48610b05c21fd3670d0c829">SDAMode::INPUT</a> =0,
- <a class="el" href="classutl_1_1i2c__bb__i.html#a4369b434fde250d503bfdc07d5c6a26da50a87f0d71f7221582dad4bf507a0f34">SDAMode::OUTPUT</a>
- }</td></tr>
- <tr class="memdesc:a4369b434fde250d503bfdc07d5c6a26d"><td class="mdescLeft"> </td><td class="mdescRight">SDA pin direction enumerator. <a href="classutl_1_1i2c__bb__i.html#a4369b434fde250d503bfdc07d5c6a26d">More...</a><br /></td></tr>
- <tr class="separator:a4369b434fde250d503bfdc07d5c6a26d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a428c847d950993fa2cd005416edfb720"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a428c847d950993fa2cd005416edfb720">type</a> = <a class="el" href="classutl_1_1i2c__bb__i.html">i2c_bb_i</a>< impl_t ></td></tr>
- <tr class="memdesc:a428c847d950993fa2cd005416edfb720"><td class="mdescLeft"> </td><td class="mdescRight">Export type as identity meta-function. <a href="#a428c847d950993fa2cd005416edfb720">More...</a><br /></td></tr>
- <tr class="separator:a428c847d950993fa2cd005416edfb720"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ad2872b7e17116f8379144488fe135052"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a> = typename <a class="el" href="classutl_1_1i2c__i.html">i2c_i</a>< <a class="el" href="classutl_1_1i2c__bb__i.html#a428c847d950993fa2cd005416edfb720">type</a> >::<a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a></td></tr>
- <tr class="separator:ad2872b7e17116f8379144488fe135052"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pub_types_classutl_1_1i2c__i"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classutl_1_1i2c__i')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classutl_1_1i2c__i.html">utl::i2c_i< i2c_bb_i< impl_t > ></a></td></tr>
- <tr class="memitem:a7e2dde443c6c9bde4a2293beb22950c5 inherit pub_types_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#a7e2dde443c6c9bde4a2293beb22950c5">Sequence</a> </td></tr>
- <tr class="memdesc:a7e2dde443c6c9bde4a2293beb22950c5"><td class="mdescLeft"> </td><td class="mdescRight">I2C transmit/receive sequence. <a href="classutl_1_1i2c__i.html#a7e2dde443c6c9bde4a2293beb22950c5">More...</a><br /></td></tr>
- <tr class="separator:a7e2dde443c6c9bde4a2293beb22950c5 inherit pub_types_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aa9267a8602702b78f188e0cf61b68a55 inherit pub_types_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#aa9267a8602702b78f188e0cf61b68a55">type</a> = <a class="el" href="classutl_1_1i2c__i.html">i2c_i</a>< <a class="el" href="classutl_1_1i2c__bb__i.html">i2c_bb_i</a>< impl_t > ></td></tr>
- <tr class="separator:aa9267a8602702b78f188e0cf61b68a55 inherit pub_types_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
- Protected Member Functions</h2></td></tr>
- <tr><td colspan="2"><div class="groupHeader">Object lifetime</div></td></tr>
- <tr class="memitem:ac2d9b97778a5dd57eb5e6425b4b0833c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#ac2d9b97778a5dd57eb5e6425b4b0833c">~i2c_bb_i</a> () noexcept=default</td></tr>
- <tr class="memdesc:ac2d9b97778a5dd57eb5e6425b4b0833c"><td class="mdescLeft"> </td><td class="mdescRight">A default destructor, allow destructor from derived only. <a href="#ac2d9b97778a5dd57eb5e6425b4b0833c">More...</a><br /></td></tr>
- <tr class="separator:ac2d9b97778a5dd57eb5e6425b4b0833c"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab657379ca2e4b3624e2d4520542a9464"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#ab657379ca2e4b3624e2d4520542a9464">i2c_bb_i</a> (uint32_t clk) noexcept</td></tr>
- <tr class="memdesc:ab657379ca2e4b3624e2d4520542a9464"><td class="mdescLeft"> </td><td class="mdescRight">A default constructor. <a href="#ab657379ca2e4b3624e2d4520542a9464">More...</a><br /></td></tr>
- <tr class="separator:ab657379ca2e4b3624e2d4520542a9464"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="inherit_header pro_methods_classutl_1_1i2c__i"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classutl_1_1i2c__i')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classutl_1_1i2c__i.html">utl::i2c_i< i2c_bb_i< impl_t > ></a></td></tr>
- <tr class="memitem:a84375c05d1c40d9992aa1290dd488410 inherit pro_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#a84375c05d1c40d9992aa1290dd488410">i2c_i</a> ()=default</td></tr>
- <tr class="memdesc:a84375c05d1c40d9992aa1290dd488410 inherit pro_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">Allow constructor from derived only. <a href="classutl_1_1i2c__i.html#a84375c05d1c40d9992aa1290dd488410">More...</a><br /></td></tr>
- <tr class="separator:a84375c05d1c40d9992aa1290dd488410 inherit pro_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:adff01408628f58b7c6ce9b0cd63d70df inherit pro_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#adff01408628f58b7c6ce9b0cd63d70df">i2c_i</a> (const <a class="el" href="classutl_1_1i2c__i.html#aa9267a8602702b78f188e0cf61b68a55">type</a> &)=delete</td></tr>
- <tr class="memdesc:adff01408628f58b7c6ce9b0cd63d70df inherit pro_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">No copies. <a href="classutl_1_1i2c__i.html#adff01408628f58b7c6ce9b0cd63d70df">More...</a><br /></td></tr>
- <tr class="separator:adff01408628f58b7c6ce9b0cd63d70df inherit pro_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6a07d19db8974ad606031b60a6079957 inherit pro_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#a6a07d19db8974ad606031b60a6079957">~i2c_i</a> ()=default</td></tr>
- <tr class="memdesc:a6a07d19db8974ad606031b60a6079957 inherit pro_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">Allow destructor from derived only. <a href="classutl_1_1i2c__i.html#a6a07d19db8974ad606031b60a6079957">More...</a><br /></td></tr>
- <tr class="separator:a6a07d19db8974ad606031b60a6079957 inherit pro_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aee83d11e02c3a0639dd3ed1ea440ed24 inherit pro_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classutl_1_1i2c__i.html#aa9267a8602702b78f188e0cf61b68a55">type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#aee83d11e02c3a0639dd3ed1ea440ed24">operator=</a> (const <a class="el" href="classutl_1_1i2c__i.html#aa9267a8602702b78f188e0cf61b68a55">type</a> &)=delete</td></tr>
- <tr class="separator:aee83d11e02c3a0639dd3ed1ea440ed24 inherit pro_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
- Private Member Functions</h2></td></tr>
- <tr class="memitem:a5c9f28c59f87ebb8a937abb039e11150"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a5c9f28c59f87ebb8a937abb039e11150">_CRTP_IMPL</a> (impl_t)</td></tr>
- <tr class="separator:a5c9f28c59f87ebb8a937abb039e11150"><td class="memSeparator" colspan="2"> </td></tr>
- <tr><td colspan="2"><div class="groupHeader">Implementation requirements</div></td></tr>
- <tr><td colspan="2"><div class="groupText"><dl class="section note"><dt>Note</dt><dd>In order for the implementation to have the following as private members it also need to declare this class as friend </dd></dl>
- </div></td></tr>
- <tr class="memitem:aa197be76016b82fd6f8b66875430d922"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#aa197be76016b82fd6f8b66875430d922">SDA</a> (<a class="el" href="classutl_1_1i2c__bb__i.html#a4369b434fde250d503bfdc07d5c6a26d">SDAMode</a> mode, bool st)</td></tr>
- <tr class="separator:aa197be76016b82fd6f8b66875430d922"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0c9f7d9fc10ac2ceaef93cb6daf8a699"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a0c9f7d9fc10ac2ceaef93cb6daf8a699">SCL</a> (uint8_t st)</td></tr>
- <tr class="memdesc:a0c9f7d9fc10ac2ceaef93cb6daf8a699"><td class="mdescLeft"> </td><td class="mdescRight">Implementers's scl pin function. <a href="#a0c9f7d9fc10ac2ceaef93cb6daf8a699">More...</a><br /></td></tr>
- <tr class="separator:a0c9f7d9fc10ac2ceaef93cb6daf8a699"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a18db1fab1be2aafbb2612242df2667f1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a18db1fab1be2aafbb2612242df2667f1">delay</a> (uint32_t usec)</td></tr>
- <tr class="separator:a18db1fab1be2aafbb2612242df2667f1"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
- Private Attributes</h2></td></tr>
- <tr class="memitem:a9932eded730c8f9a7b1d15988082b699"><td class="memItemLeft" align="right" valign="top">friend </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a9932eded730c8f9a7b1d15988082b699">i2c_i< i2c_bb_i< impl_t > ></a></td></tr>
- <tr class="separator:a9932eded730c8f9a7b1d15988082b699"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
- Implementation of base requirements</h2></td></tr>
- <tr class="memitem:a8bd3726104fc91eb8f283d7ffec71cee"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a8bd3726104fc91eb8f283d7ffec71cee">usec_</a></td></tr>
- <tr class="separator:a8bd3726104fc91eb8f283d7ffec71cee"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1f491d6ccadce71fa6cc59eebc74e82f"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a1f491d6ccadce71fa6cc59eebc74e82f">_clock</a> () const</td></tr>
- <tr class="separator:a1f491d6ccadce71fa6cc59eebc74e82f"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aef4db6e89447b2f0921df5b291b86232"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#aef4db6e89447b2f0921df5b291b86232">_clock</a> (uint32_t c)</td></tr>
- <tr class="separator:aef4db6e89447b2f0921df5b291b86232"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a2f4df606609ef7465109990d9fc0f1da"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a2f4df606609ef7465109990d9fc0f1da">_start</a> ()</td></tr>
- <tr class="memdesc:a2f4df606609ef7465109990d9fc0f1da"><td class="mdescLeft"> </td><td class="mdescRight">Send start functionality. <a href="#a2f4df606609ef7465109990d9fc0f1da">More...</a><br /></td></tr>
- <tr class="separator:a2f4df606609ef7465109990d9fc0f1da"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ade9235a9d8ccfd7233494631d66ba07e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#ade9235a9d8ccfd7233494631d66ba07e">_stop</a> ()</td></tr>
- <tr class="memdesc:ade9235a9d8ccfd7233494631d66ba07e"><td class="mdescLeft"> </td><td class="mdescRight">Send stop functionality. <a href="#ade9235a9d8ccfd7233494631d66ba07e">More...</a><br /></td></tr>
- <tr class="separator:ade9235a9d8ccfd7233494631d66ba07e"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3a459ded18fe55460ae438e312c22110"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a3a459ded18fe55460ae438e312c22110">_rx_data</a> (bool ack, <a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a> seq)</td></tr>
- <tr class="memdesc:a3a459ded18fe55460ae438e312c22110"><td class="mdescLeft"> </td><td class="mdescRight">Receive a byte from the i2c bus. <a href="#a3a459ded18fe55460ae438e312c22110">More...</a><br /></td></tr>
- <tr class="separator:a3a459ded18fe55460ae438e312c22110"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a085e38e545049ac64cd745b08e0be18f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__bb__i.html#a085e38e545049ac64cd745b08e0be18f">_tx_data</a> (<a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> byte, <a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a> seq)</td></tr>
- <tr class="memdesc:a085e38e545049ac64cd745b08e0be18f"><td class="mdescLeft"> </td><td class="mdescRight">Transmit a byte to the i2c bus. <a href="#a085e38e545049ac64cd745b08e0be18f">More...</a><br /></td></tr>
- <tr class="separator:a085e38e545049ac64cd745b08e0be18f"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
- Additional Inherited Members</h2></td></tr>
- <tr class="inherit_header pub_methods_classutl_1_1i2c__i"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classutl_1_1i2c__i')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classutl_1_1i2c__i.html">utl::i2c_i< i2c_bb_i< impl_t > ></a></td></tr>
- <tr class="memitem:aac5fed816701cc4543acd717ec804ac0 inherit pub_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#aac5fed816701cc4543acd717ec804ac0">clock</a> () const</td></tr>
- <tr class="separator:aac5fed816701cc4543acd717ec804ac0 inherit pub_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ae4c59938aeeb1f0726195d425a4c0083 inherit pub_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#ae4c59938aeeb1f0726195d425a4c0083">clock</a> (uint32_t f)</td></tr>
- <tr class="memdesc:ae4c59938aeeb1f0726195d425a4c0083 inherit pub_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">set clock frequency of the bus <a href="classutl_1_1i2c__i.html#ae4c59938aeeb1f0726195d425a4c0083">More...</a><br /></td></tr>
- <tr class="separator:ae4c59938aeeb1f0726195d425a4c0083 inherit pub_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a3591683e5fbf17b582f6ac1f79af871d inherit pub_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#a3591683e5fbf17b582f6ac1f79af871d">start</a> ()</td></tr>
- <tr class="memdesc:a3591683e5fbf17b582f6ac1f79af871d inherit pub_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">Send start functionality. <a href="classutl_1_1i2c__i.html#a3591683e5fbf17b582f6ac1f79af871d">More...</a><br /></td></tr>
- <tr class="separator:a3591683e5fbf17b582f6ac1f79af871d inherit pub_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a1310b52ac908b8c37059fb253cc3f56e inherit pub_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#a1310b52ac908b8c37059fb253cc3f56e">stop</a> ()</td></tr>
- <tr class="memdesc:a1310b52ac908b8c37059fb253cc3f56e inherit pub_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">Send stop functionality. <a href="classutl_1_1i2c__i.html#a1310b52ac908b8c37059fb253cc3f56e">More...</a><br /></td></tr>
- <tr class="separator:a1310b52ac908b8c37059fb253cc3f56e inherit pub_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ab2f6a579096b4872f5dfd1530e200eda inherit pub_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#ab2f6a579096b4872f5dfd1530e200eda">rx_data</a> (bool ack, <a class="el" href="classutl_1_1i2c__i.html#a7e2dde443c6c9bde4a2293beb22950c5">Sequence</a> seq=Sequence::BYTEnACK)</td></tr>
- <tr class="memdesc:ab2f6a579096b4872f5dfd1530e200eda inherit pub_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">Receive a byte from the i2c bus. <a href="classutl_1_1i2c__i.html#ab2f6a579096b4872f5dfd1530e200eda">More...</a><br /></td></tr>
- <tr class="separator:ab2f6a579096b4872f5dfd1530e200eda inherit pub_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aaf0b0ceec57fd8014ea3e6b58e9bfe3d inherit pub_methods_classutl_1_1i2c__i"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classutl_1_1i2c__i.html#aaf0b0ceec57fd8014ea3e6b58e9bfe3d">tx_data</a> (<a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> byte, <a class="el" href="classutl_1_1i2c__i.html#a7e2dde443c6c9bde4a2293beb22950c5">Sequence</a> seq=Sequence::BYTEnACK)</td></tr>
- <tr class="memdesc:aaf0b0ceec57fd8014ea3e6b58e9bfe3d inherit pub_methods_classutl_1_1i2c__i"><td class="mdescLeft"> </td><td class="mdescRight">Transmit a byte to the i2c bus. <a href="classutl_1_1i2c__i.html#aaf0b0ceec57fd8014ea3e6b58e9bfe3d">More...</a><br /></td></tr>
- <tr class="separator:aaf0b0ceec57fd8014ea3e6b58e9bfe3d inherit pub_methods_classutl_1_1i2c__i"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><h3>template<typename impl_t><br />
- class utl::i2c_bb_i< impl_t ></h3>
-
- <p>A bit banking implementation of i2c bus inherited from <a class="el" href="classutl_1_1i2c__i.html">i2c_i</a> base class. </p>
- <dl class="section see"><dt>See also</dt><dd><a class="el" href="classutl_1_1i2c__i.html" title="Abstract base class for i2c bus. ">i2c_i</a></dd></dl>
- <p>I2C bit banking interface template class providing an I2C using bit banking using CRTP. </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">impl_t</td><td>The CRTP type (the derived/implementation class typename). </td></tr>
- </table>
- </dd>
- </dl>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00047">47</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
- </div><h2 class="groupheader">Member Typedef Documentation</h2>
- <a id="ad2872b7e17116f8379144488fe135052"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ad2872b7e17116f8379144488fe135052">◆ </a></span>Sequence</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::<a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a> = typename <a class="el" href="classutl_1_1i2c__i.html">i2c_i</a><<a class="el" href="classutl_1_1i2c__bb__i.html#a428c847d950993fa2cd005416edfb720">type</a>>::<a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00053">53</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="a428c847d950993fa2cd005416edfb720"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a428c847d950993fa2cd005416edfb720">◆ </a></span>type</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="memname">
- <tr>
- <td class="memname">using <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::<a class="el" href="classutl_1_1i2c__bb__i.html#a428c847d950993fa2cd005416edfb720">type</a> = <a class="el" href="classutl_1_1i2c__bb__i.html">i2c_bb_i</a><impl_t></td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>Export type as identity meta-function. </p>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00052">52</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <h2 class="groupheader">Member Enumeration Documentation</h2>
- <a id="a4369b434fde250d503bfdc07d5c6a26d"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a4369b434fde250d503bfdc07d5c6a26d">◆ </a></span>SDAMode</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="classutl_1_1i2c__bb__i.html#a4369b434fde250d503bfdc07d5c6a26d">utl::i2c_bb_i::SDAMode</a></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">strong</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>SDA pin direction enumerator. </p>
- <table class="fieldtable">
- <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4369b434fde250d503bfdc07d5c6a26daa84cc046d48610b05c21fd3670d0c829"></a>INPUT </td><td class="fielddoc"></td></tr>
- <tr><td class="fieldname"><a id="a4369b434fde250d503bfdc07d5c6a26da50a87f0d71f7221582dad4bf507a0f34"></a>OUTPUT </td><td class="fielddoc"></td></tr>
- </table>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00055">55</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <h2 class="groupheader">Constructor & Destructor Documentation</h2>
- <a id="ac2d9b97778a5dd57eb5e6425b4b0833c"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ac2d9b97778a5dd57eb5e6425b4b0833c">◆ </a></span>~i2c_bb_i()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::~<a class="el" href="classutl_1_1i2c__bb__i.html">i2c_bb_i</a> </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>A default destructor, allow destructor from derived only. </p>
-
- </div>
- </div>
- <a id="ab657379ca2e4b3624e2d4520542a9464"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ab657379ca2e4b3624e2d4520542a9464">◆ </a></span>i2c_bb_i()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::<a class="el" href="classutl_1_1i2c__bb__i.html">i2c_bb_i</a> </td>
- <td>(</td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>clk</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>A default constructor. </p>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00068">68</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <h2 class="groupheader">Member Function Documentation</h2>
- <a id="a1f491d6ccadce71fa6cc59eebc74e82f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a1f491d6ccadce71fa6cc59eebc74e82f">◆ </a></span>_clock() <span class="overload">[1/2]</span></h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">uint32_t <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::_clock </td>
- <td>(</td>
- <td class="paramname"></td><td>)</td>
- <td> const</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00095">95</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="aef4db6e89447b2f0921df5b291b86232"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aef4db6e89447b2f0921df5b291b86232">◆ </a></span>_clock() <span class="overload">[2/2]</span></h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::_clock </td>
- <td>(</td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>c</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00096">96</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="a5c9f28c59f87ebb8a937abb039e11150"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a5c9f28c59f87ebb8a937abb039e11150">◆ </a></span>_CRTP_IMPL()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::_CRTP_IMPL </td>
- <td>(</td>
- <td class="paramtype">impl_t </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- </div>
- </div>
- <a id="a3a459ded18fe55460ae438e312c22110"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a3a459ded18fe55460ae438e312c22110">◆ </a></span>_rx_data()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::_rx_data </td>
- <td>(</td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>ack</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a> </td>
- <td class="paramname"><em>seq</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>Receive a byte from the i2c bus. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ack</td><td>Optional ack bit. <ul>
- <li>1 ACK the reception </li>
- <li>0 Don't ACK the reception. </li>
- </ul>
- </td></tr>
- <tr><td class="paramname">seq</td><td>The operation sequence to execute <ul>
- <li>Sequence::BYTE Receive only the byte, do not send ack clock </li>
- <li>Sequence::ACK Send only the ack bit </li>
- <li>Sequence::BYTEnACK Receive the byte and send the ack bit </li>
- </ul>
- </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>The byte received. </dd></dl>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00154">154</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="a2f4df606609ef7465109990d9fc0f1da"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a2f4df606609ef7465109990d9fc0f1da">◆ </a></span>_start()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::_start </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>Send start functionality. </p>
- <p>Send a START bit to the bus.</p>
- <dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00115">115</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="ade9235a9d8ccfd7233494631d66ba07e"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#ade9235a9d8ccfd7233494631d66ba07e">◆ </a></span>_stop()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::_stop </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>Send stop functionality. </p>
- <p>Send a START bit to the bus.</p>
- <dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00131">131</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="a085e38e545049ac64cd745b08e0be18f"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a085e38e545049ac64cd745b08e0be18f">◆ </a></span>_tx_data()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::_tx_data </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="namespaceutl.html#a1427cb5a2b13313147a902173b91e3c1">byte_t</a> </td>
- <td class="paramname"><em>byte</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="classutl_1_1i2c__bb__i.html#ad2872b7e17116f8379144488fe135052">Sequence</a> </td>
- <td class="paramname"><em>seq</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>Transmit a byte to the i2c bus. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">byte</td><td>The byte to send. </td></tr>
- <tr><td class="paramname">seq</td><td>The operation sequence to execute <ul>
- <li>Sequence::BYTE Transmit only the byte, do not read ack bit </li>
- <li>Sequence::ACK Read only the ack bit </li>
- <li>Sequence::BYTEnACK Transmit the byte and read the ack bit </li>
- </ul>
- </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>Slave's ACK bit <ul>
- <li>false Slave didn't ACK </li>
- <li>true Slave did ACK </li>
- </ul>
- </dd></dl>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00194">194</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="a18db1fab1be2aafbb2612242df2667f1"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a18db1fab1be2aafbb2612242df2667f1">◆ </a></span>delay()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::delay </td>
- <td>(</td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>usec</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implementers's usec delay function </p>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00087">87</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="a0c9f7d9fc10ac2ceaef93cb6daf8a699"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a0c9f7d9fc10ac2ceaef93cb6daf8a699">◆ </a></span>SCL()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">void <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::SCL </td>
- <td>(</td>
- <td class="paramtype">uint8_t </td>
- <td class="paramname"><em>st</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p>Implementers's scl pin function. </p>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00086">86</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="aa197be76016b82fd6f8b66875430d922"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#aa197be76016b82fd6f8b66875430d922">◆ </a></span>SDA()</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">bool <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::SDA </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="classutl_1_1i2c__bb__i.html#a4369b434fde250d503bfdc07d5c6a26d">SDAMode</a> </td>
- <td class="paramname"><em>mode</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">bool </td>
- <td class="paramname"><em>st</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Implementers's sda pin function </p><dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">st</td><td>In SDA_OUTPUT mode, selects the pin output state </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>In SDA_INPUT mode return the pin input state </dd></dl>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00085">85</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <h2 class="groupheader">Member Data Documentation</h2>
- <a id="a9932eded730c8f9a7b1d15988082b699"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a9932eded730c8f9a7b1d15988082b699">◆ </a></span>i2c_i< i2c_bb_i< impl_t > ></h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">friend <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::<a class="el" href="classutl_1_1i2c__i.html">i2c_i</a>< <a class="el" href="classutl_1_1i2c__bb__i.html">i2c_bb_i</a>< impl_t > ></td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00049">49</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <a id="a8bd3726104fc91eb8f283d7ffec71cee"></a>
- <h2 class="memtitle"><span class="permalink"><a href="#a8bd3726104fc91eb8f283d7ffec71cee">◆ </a></span>usec_</h2>
-
- <div class="memitem">
- <div class="memproto">
- <div class="memtemplate">
- template<typename impl_t > </div>
- <table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">uint32_t <a class="el" href="classutl_1_1i2c__bb__i.html">utl::i2c_bb_i</a>< impl_t >::usec_</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>half period of I2C bus </p>
-
- <p class="definition">Definition at line <a class="el" href="i2c__bb_8h_source.html#l00102">102</a> of file <a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a>.</p>
-
- </div>
- </div>
- <hr/>The documentation for this class was generated from the following file:<ul>
- <li>include/utl/com/<a class="el" href="i2c__bb_8h_source.html">i2c_bb.h</a></li>
- </ul>
- </div><!-- contents -->
- </div><!-- doc-content -->
- <!-- start footer part -->
- <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="namespaceutl.html">utl</a></li><li class="navelem"><a class="el" href="classutl_1_1i2c__bb__i.html">i2c_bb_i</a></li>
- <li class="footer">Generated by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
- </ul>
- </div>
- </body>
- </html>
|