aboutsummaryrefslogtreecommitdiffstats
path: root/ucs2-lib/doc/html/group___g___u_c_s___i2_c_gade4a94669fe4f29f18fe5bfd4e102474.html
diff options
context:
space:
mode:
Diffstat (limited to 'ucs2-lib/doc/html/group___g___u_c_s___i2_c_gade4a94669fe4f29f18fe5bfd4e102474.html')
-rw-r--r--ucs2-lib/doc/html/group___g___u_c_s___i2_c_gade4a94669fe4f29f18fe5bfd4e102474.html284
1 files changed, 284 insertions, 0 deletions
diff --git a/ucs2-lib/doc/html/group___g___u_c_s___i2_c_gade4a94669fe4f29f18fe5bfd4e102474.html b/ucs2-lib/doc/html/group___g___u_c_s___i2_c_gade4a94669fe4f29f18fe5bfd4e102474.html
new file mode 100644
index 0000000..1b81a0e
--- /dev/null
+++ b/ucs2-lib/doc/html/group___g___u_c_s___i2_c_gade4a94669fe4f29f18fe5bfd4e102474.html
@@ -0,0 +1,284 @@
+<!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"/>
+<title>UNICENS: Ucs_I2c_WritePort</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+<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="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="style_html.css" rel="stylesheet" type="text/css" />
+<link href="inic.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div class="GlobalWrapper">
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr>
+ <td><a href="index.html"><img alt="Logo" src="logo.png"/></a></td>
+ <td>
+ <div id="projectname">UNICENS&#160;<span id="projectnumber">V2.1.0-3491</span></div>
+ <div id="projectbrief">User Manual and API Reference</div>
+ <div id="searchbox"> <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.2 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</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">
+$(document).ready(function(){initNavTree('group___g___u_c_s___i2_c.html','');});
+</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)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></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="contents">
+<a class="anchor" id="gade4a94669fe4f29f18fe5bfd4e102474"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group___g___u_c_s___i_n_i_t___a_n_d___s_r_v___t_y_p_e_s_ga886138f5d13e84ffaa3df5769830e1cd.html#ga886138f5d13e84ffaa3df5769830e1cd">Ucs_Return_t</a> Ucs_I2c_WritePort </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group___g___u_c_s___i_n_i_t___a_n_d___s_r_v___t_y_p_e_s_ga074c04d40d00986e0c869adaec8fadda.html#ga074c04d40d00986e0c869adaec8fadda">Ucs_Inst_t</a> *&#160;</td>
+ <td class="paramname"><em>self</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint16_t&#160;</td>
+ <td class="paramname"><em>destination_address</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint16_t&#160;</td>
+ <td class="paramname"><em>port_handle</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group___g___u_c_s___i2_c___t_y_p_e_s_ga631c2b70299a4c07ac77b6741b5b5e44.html#ga631c2b70299a4c07ac77b6741b5b5e44">Ucs_I2c_TrMode_t</a>&#160;</td>
+ <td class="paramname"><em>mode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>block_count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>slave_address</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint16_t&#160;</td>
+ <td class="paramname"><em>timeout</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t&#160;</td>
+ <td class="paramname"><em>data_len</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint8_t *&#160;</td>
+ <td class="paramname"><em>data_ptr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group___g___u_c_s___i2_c___t_y_p_e_s_ga50029da1794f34d3ddac9df8d537c234.html#ga50029da1794f34d3ddac9df8d537c234">Ucs_I2c_WritePortResCb_t</a>&#160;</td>
+ <td class="paramname"><em>result_fptr</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Writes a block of bytes to an I2C device at a specified I2C address. </p>
+<table class="mns_ic_table">
+<tr>
+<td id="mns_ic_inic">&#160;</td><td>This function corresponds with the INIC function <a href="_p__u_m__o_s81118.html#MNSH3-I2CPortWrite6C4">INIC.I2CPortWrite</a>.</td></tr>
+</table>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">self</td><td>The UNICENS instance pointer </td></tr>
+ <tr><td class="paramname">destination_address</td><td>Address of the target device. Use the <code>UCS_ADDR_LOCAL_DEV</code> macro to target the local device. <br/>
+ The following address ranges are supported:<ul>
+<li>[0x10 ... 0x2FF]</li>
+<li>[0x500 ... 0xFEF]</li>
+<li>UCS_ADDR_LOCAL_DEV </li>
+</ul>
+</td></tr>
+ <tr><td class="paramname">port_handle</td><td>Port resource handle. <table class="mns_param_table">
+<tr>
+<td id="mns_param_small">&#160;</td><td><code>I2CPortHandle</code></td></tr>
+</table>
+</td></tr>
+ <tr><td class="paramname">mode</td><td>The write transfer mode. <table class="mns_param_table">
+<tr>
+<td id="mns_param_small">&#160;</td><td><code>Mode</code></td></tr>
+</table>
+</td></tr>
+ <tr><td class="paramname">block_count</td><td>The number of blocks to be written to the I2C address. If parameter <em>mode</em> is <b>not</b> set to Burst Mode, the value of <em>block_count</em> has to be set to <b>0</b>. Otherwise the valid range of this parameter goes from 1 to 30. <table class="mns_param_table">
+<tr>
+<td id="mns_param_small">&#160;</td><td><code>BlockCount</code></td></tr>
+</table>
+</td></tr>
+ <tr><td class="paramname">slave_address</td><td>The 7-bit I2C slave address of the peripheral to be read. <table class="mns_param_table">
+<tr>
+<td id="mns_param_small">&#160;</td><td><code>SlaveAddress</code></td></tr>
+</table>
+</td></tr>
+ <tr><td class="paramname">timeout</td><td>The timeout for the I2C Port write. <table class="mns_param_table">
+<tr>
+<td id="mns_param_small">&#160;</td><td><code>Timeout</code></td></tr>
+</table>
+</td></tr>
+ <tr><td class="paramname">data_len</td><td>The total number of bytes to be written to the addressed I2C peripheral. Even if parameter <em>mode</em> is set to Burst Mode, the <em>data_len</em> shall correspond to the whole size of the burst transfer. That is, the <em>data_len</em> shall equal the size of a block <b>times</b> the <em>block_count</em> value. </td></tr>
+ <tr><td class="paramname">data_ptr</td><td>Reference to the data to be written. </td></tr>
+ <tr><td class="paramname">result_fptr</td><td>Required result callback function pointer. </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Possible return values are shown in the table below. <table class="doxtable">
+<tr>
+<th>Value </th><th>Description</th></tr>
+<tr>
+<td>UCS_RET_SUCCESS </td><td>No error </td></tr>
+<tr>
+<td>UCS_RET_ERR_PARAM </td><td>At least one parameter is wrong </td></tr>
+<tr>
+<td>UCS_RET_ERR_BUFFER_OVERFLOW </td><td>No message buffer available </td></tr>
+<tr>
+<td>UCS_RET_ERR_API_LOCKED </td><td>API is currently locked </td></tr>
+<tr>
+<td>UCS_RET_ERR_NOT_INITIALIZED </td><td>UNICENS is not initialized </td></tr>
+</table>
+</dd></dl>
+<p><br/>
+ <b>Example</b> </p>
+<div class="fragment"><div class="line">uint8_t myData[] = {0x4U, 0x3U, 0x2U, 0x1U, 0x0U, 0x4U, 0x3U, 0x2U, 0x1U, 0x0U, 0x05U, 0x05U}; </div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Main function</span></div>
+<div class="line"><span class="keywordtype">void</span> main()</div>
+<div class="line">{</div>
+<div class="line"> <a class="code" href="group___g___u_c_s___i_n_i_t___a_n_d___s_r_v___t_y_p_e_s_ga886138f5d13e84ffaa3df5769830e1cd.html#ga886138f5d13e84ffaa3df5769830e1cd" title="Standard return codes used for synchronous response.">Ucs_Return_t</a> result = <a class="code" href="group___g___u_c_s___i2_c_gade4a94669fe4f29f18fe5bfd4e102474.html#gade4a94669fe4f29f18fe5bfd4e102474" title="Writes a block of bytes to an I2C device at a specified I2C address.">Ucs_I2c_WritePort</a>(0x15U, 0x0F00U, <a class="code" href="group___g___u_c_s___i2_c___t_y_p_e_s_ga631c2b70299a4c07ac77b6741b5b5e44.html#gga631c2b70299a4c07ac77b6741b5b5e44a3380b0b2a253a389aec424ef348a34b7" title="Burst mode of the I2C write transfer.">UCS_I2C_BURST_MODE</a>, 4U, 0x20U, 0x0FU, 12U, myData, &amp;App_I2cWritePortResCb);</div>
+<div class="line"> <span class="keywordflow">if</span> (result != <a class="code" href="group___g___u_c_s___i_n_i_t___a_n_d___s_r_v___t_y_p_e_s_ga886138f5d13e84ffaa3df5769830e1cd.html#gga886138f5d13e84ffaa3df5769830e1cda3fb51656e17ee4802f23706f35e349bc" title="Operation successfully completed.">UCS_RET_SUCCESS</a>)</div>
+<div class="line"> {</div>
+<div class="line"> <span class="comment">// Error handling here </span></div>
+<div class="line"> }</div>
+<div class="line">}</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// The event handler function</span></div>
+<div class="line"><span class="comment">// Handle I2cWritePort event</span></div>
+<div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> App_I2cWritePortResCb(uint16_t device_id, uint16_t port_handle, uint8_t i2c_slave_address, uint8_t data_len, <a class="code" href="struct_ucs___i2c___result__t.html" title="Result structure of the I2C Module.">Ucs_I2c_Result_t</a> result, <span class="keywordtype">void</span> * user_ptr)</div>
+<div class="line">{</div>
+<div class="line"> <span class="keywordflow">if</span> (result.<a class="code" href="struct_ucs___i2c___result__t_aacd0e1eabaa18a3fe226a2b4f849832b.html#aacd0e1eabaa18a3fe226a2b4f849832b" title="Result code.">code</a> == <a class="code" href="group___g___u_c_s___i2_c___t_y_p_e_s_ga930e829c3c689b8ead8f9fbf7f2ca237.html#gga930e829c3c689b8ead8f9fbf7f2ca237a1f0bb0636d1fbe3a3c94541d3725b864" title="I2C command succeeded.">UCS_I2C_RES_SUCCESS</a>)</div>
+<div class="line"> {</div>
+<div class="line"> <span class="comment">// Do what needs to be..</span></div>
+<div class="line"> }</div>
+<div class="line"> <span class="keywordflow">else</span></div>
+<div class="line"> {</div>
+<div class="line"> <span class="comment">// Error handling here</span></div>
+<div class="line"> <span class="keywordflow">switch</span>(result.<a class="code" href="struct_ucs___i2c___result__t_a288b89d26129791b83b01a3b464d7351.html#a288b89d26129791b83b01a3b464d7351" title="Detailed information on the returned result.">details</a>.<a class="code" href="struct_ucs___i2c___result_details__t_afbf6b21e51e2114bd8165bc6b9d920a5.html#afbf6b21e51e2114bd8165bc6b9d920a5" title="Specifies the type of the current asynchronous result.">result_type</a>)</div>
+<div class="line"> {</div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group___g___u_c_s___i2_c___t_y_p_e_s_ga7c7b4521cb5391bd20c02104876a811d.html#gga7c7b4521cb5391bd20c02104876a811da5f9dc425604e39a96af53cc4fb940cd6" title="Specifies the target results, typically INIC function-specific error from target device.">UCS_I2C_RESULT_TYPE_TGT</a>:</div>
+<div class="line"> <span class="comment">// Handle the target results</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"></div>
+<div class="line"> <span class="keywordflow">case</span> <a class="code" href="group___g___u_c_s___i2_c___t_y_p_e_s_ga7c7b4521cb5391bd20c02104876a811d.html#gga7c7b4521cb5391bd20c02104876a811da1e9f8a38a7bf67986bb52aae45326f0e" title="Specifies the transmission error information that occurred on the MOST network.">UCS_I2C_RESULT_TYPE_TX</a>:</div>
+<div class="line"> <span class="keywordflow">default</span>:</div>
+<div class="line"> <span class="comment">// Handle transmission error</span></div>
+<div class="line"> <span class="keywordflow">break</span>;</div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+<div class="line"> }</div>
+</div><!-- fragment -->
+</div>
+</div>
+</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="group___g___u_c_s___i2_c.html">I2C</a></li>
+ <li class="footer">&copy; 2017 Microchip Technology Inc. All rights reserved. <a href="http://www.microchip.com" target="_blank">www.microchip.com</a></li>
+ </ul>
+</div>
+</body>
+<!--
+Generated on Mon Apr 3 2017 13:53:00 for UNICENS by
+Doxygen 1.8.2
+-->
+<script language="javascript">
+<!--
+$('#MSearchResults').wrap('<div style="position: absolute; margin-left: 444px;"></div>');
+-->
+</script>
+</html>