Use latest version of conf.d/templates submodule.
[apps/agl-service-unicens.git] / ucs2-lib / doc / html / group___g___u_c_s___g_p_i_o_gaff68acc9fb26096cae9374694b43ae92.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <title>UNICENS: Ucs_Gpio_WritePort</title>
7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
8 <link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
9 <script type="text/javascript" src="jquery.js"></script>
10 <script type="text/javascript" src="dynsections.js"></script>
11 <link href="navtree.css" rel="stylesheet" type="text/css"/>
12 <script type="text/javascript" src="resize.js"></script>
13 <script type="text/javascript" src="navtree.js"></script>
14 <script type="text/javascript">
15   $(document).ready(initResizable);
16 </script>
17 <link href="search/search.css" rel="stylesheet" type="text/css"/>
18 <script type="text/javascript" src="search/search.js"></script>
19 <script type="text/javascript">
20   $(document).ready(function() { searchBox.OnSelectItem(0); });
21 </script>
22 <link href="style_html.css" rel="stylesheet" type="text/css" />
23 <link href="inic.css" rel="stylesheet" type="text/css"/>
24 </head>
25 <body>
26 <div class="GlobalWrapper">
27 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
28 <div id="titlearea">
29 <table cellspacing="0" cellpadding="0">
30  <tbody>
31  <tr>
32   <td><a href="index.html"><img alt="Logo" src="logo.png"/></a></td>
33   <td>
34    <div id="projectname">UNICENS&#160;<span id="projectnumber">V2.1.0-3491</span></div>
35    <div id="projectbrief">User Manual and API Reference</div>
36     <div id="searchbox">        <div id="MSearchBox" class="MSearchBoxInactive">
37         <span class="left">
38           <img id="MSearchSelect" src="search/mag_sel.png"
39                onmouseover="return searchBox.OnSearchSelectShow()"
40                onmouseout="return searchBox.OnSearchSelectHide()"
41                alt=""/>
42           <input type="text" id="MSearchField" value="Search" accesskey="S"
43                onfocus="searchBox.OnSearchFieldFocus(true)" 
44                onblur="searchBox.OnSearchFieldFocus(false)" 
45                onkeyup="searchBox.OnSearchFieldChange(event)"/>
46           </span><span class="right">
47             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
48           </span>
49         </div>
50 </div>
51   </td>
52  </tr>
53  </tbody>
54 </table>
55 </div>
56 <!-- end header part -->
57 <!-- Generated by Doxygen 1.8.2 -->
58 <script type="text/javascript">
59 var searchBox = new SearchBox("searchBox", "search",false,'Search');
60 </script>
61 </div><!-- top -->
62 <div id="side-nav" class="ui-resizable side-nav-resizable">
63   <div id="nav-tree">
64     <div id="nav-tree-contents">
65       <div id="nav-sync" class="sync"></div>
66     </div>
67   </div>
68   <div id="splitbar" style="-moz-user-select:none;" 
69        class="ui-resizable-handle">
70   </div>
71 </div>
72 <script type="text/javascript">
73 $(document).ready(function(){initNavTree('group___g___u_c_s___g_p_i_o.html','');});
74 </script>
75 <div id="doc-content">
76 <!-- window showing the filter options -->
77 <div id="MSearchSelectWindow"
78      onmouseover="return searchBox.OnSearchSelectShow()"
79      onmouseout="return searchBox.OnSearchSelectHide()"
80      onkeydown="return searchBox.OnSearchSelectKey(event)">
81 <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>
82
83 <!-- iframe showing the search results (closed by default) -->
84 <div id="MSearchResultsWindow">
85 <iframe src="javascript:void(0)" frameborder="0" 
86         name="MSearchResults" id="MSearchResults">
87 </iframe>
88 </div>
89
90 <div class="contents">
91 <a class="anchor" id="gaff68acc9fb26096cae9374694b43ae92"></a>
92 <div class="memitem">
93 <div class="memproto">
94       <table class="memname">
95         <tr>
96           <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_Gpio_WritePort </td>
97           <td>(</td>
98           <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>
99           <td class="paramname"><em>self</em>, </td>
100         </tr>
101         <tr>
102           <td class="paramkey"></td>
103           <td></td>
104           <td class="paramtype">uint16_t&#160;</td>
105           <td class="paramname"><em>destination_address</em>, </td>
106         </tr>
107         <tr>
108           <td class="paramkey"></td>
109           <td></td>
110           <td class="paramtype">uint16_t&#160;</td>
111           <td class="paramname"><em>gpio_port_handle</em>, </td>
112         </tr>
113         <tr>
114           <td class="paramkey"></td>
115           <td></td>
116           <td class="paramtype">uint16_t&#160;</td>
117           <td class="paramname"><em>mask</em>, </td>
118         </tr>
119         <tr>
120           <td class="paramkey"></td>
121           <td></td>
122           <td class="paramtype">uint16_t&#160;</td>
123           <td class="paramname"><em>data</em>, </td>
124         </tr>
125         <tr>
126           <td class="paramkey"></td>
127           <td></td>
128           <td class="paramtype"><a class="el" href="group___g___u_c_s___g_p_i_o___t_y_p_e_s_ga106c6afdd6f996c8bc5d632f08236912.html#ga106c6afdd6f996c8bc5d632f08236912">Ucs_Gpio_PinStateResCb_t</a>&#160;</td>
129           <td class="paramname"><em>result_fptr</em>&#160;</td>
130         </tr>
131         <tr>
132           <td></td>
133           <td>)</td>
134           <td></td><td></td>
135         </tr>
136       </table>
137 </div><div class="memdoc">
138
139 <p>Writes data to the given GPIO port. </p>
140 <table  class="mns_ic_table">
141 <tr>
142 <td id="mns_ic_inic">&#160;</td><td>This function corresponds with the INIC function <a href="_p__u_m__o_s81118.html#MNSH3-GPIOPortPinState704">INIC.GPIOPortPinState</a>.</td></tr>
143 </table>
144 <dl class="params"><dt>Parameters</dt><dd>
145   <table class="params">
146     <tr><td class="paramname">self</td><td>The UNICENS instance pointer </td></tr>
147     <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/>
148  The following address ranges are supported:<ul>
149 <li>[0x10 ... 0x2FF]</li>
150 <li>[0x500 ... 0xFEF]</li>
151 <li>UCS_ADDR_LOCAL_DEV </li>
152 </ul>
153 </td></tr>
154     <tr><td class="paramname">gpio_port_handle</td><td>The GPIO Port resource handle. <table  class="mns_param_table">
155 <tr>
156 <td id="mns_param_small">&#160;</td><td><code>GPIOPortHandle</code></td></tr>
157 </table>
158 </td></tr>
159     <tr><td class="paramname">mask</td><td>The GPIO pin to be written. <table  class="mns_param_table">
160 <tr>
161 <td id="mns_param_small">&#160;</td><td><code>Mask</code></td></tr>
162 </table>
163 </td></tr>
164     <tr><td class="paramname">data</td><td>The state of the GPIO pin to be written. <table  class="mns_param_table">
165 <tr>
166 <td id="mns_param_small">&#160;</td><td><code>Data</code></td></tr>
167 </table>
168 </td></tr>
169     <tr><td class="paramname">result_fptr</td><td>Required result callback function pointer. </td></tr>
170   </table>
171   </dd>
172 </dl>
173 <dl class="section return"><dt>Returns</dt><dd>Possible return values are shown in the table below. <table class="doxtable">
174 <tr>
175 <th>Value </th><th>Description</th></tr>
176 <tr>
177 <td>UCS_RET_SUCCESS </td><td>No error </td></tr>
178 <tr>
179 <td>UCS_RET_ERR_PARAM </td><td>At least one parameter is wrong </td></tr>
180 <tr>
181 <td>UCS_RET_ERR_BUFFER_OVERFLOW </td><td>No message buffer available </td></tr>
182 <tr>
183 <td>UCS_RET_ERR_API_LOCKED </td><td>API is currently locked </td></tr>
184 <tr>
185 <td>UCS_RET_ERR_NOT_INITIALIZED </td><td>UNICENS is not initialized </td></tr>
186 </table>
187 </dd></dl>
188 <p><br/>
189  <b>Example</b> </p>
190 <div class="fragment"><div class="line"> <span class="comment">// Main function</span></div>
191 <div class="line"> <span class="keywordtype">void</span> main()</div>
192 <div class="line"> {</div>
193 <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___g_p_i_o_gaff68acc9fb26096cae9374694b43ae92.html#gaff68acc9fb26096cae9374694b43ae92" title="Writes data to the given GPIO port.">Ucs_Gpio_WritePort</a>(0x555U, 0x1D00, 0x0039U, 0x0038U, &amp;App_GpioWritePortResCb);</div>
194 <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>
195 <div class="line">     {</div>
196 <div class="line">         <span class="comment">// Error handling here </span></div>
197 <div class="line">     }</div>
198 <div class="line"> }</div>
199 <div class="line"></div>
200 <div class="line"><span class="comment">// The event handler function</span></div>
201 <div class="line"><span class="comment">// Handle GpioWritePort event</span></div>
202 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> App_GpioWritePortResCb(uint16_t device_id, uint16_t port_handle, uint16_t current_state, uint16_t sticky_state, <a class="code" href="struct_ucs___gpio___result__t.html" title="Result structure of the GPIO Module.">Ucs_Gpio_Result_t</a> result, <span class="keywordtype">void</span> * user_ptr)</div>
203 <div class="line">{</div>
204 <div class="line">    <span class="keywordflow">if</span> (result.<a class="code" href="struct_ucs___gpio___result__t_a5a25ac28b5135e04a465fdead03df796.html#a5a25ac28b5135e04a465fdead03df796" title="Result code.">code</a> == <a class="code" href="group___g___u_c_s___g_p_i_o___t_y_p_e_s_ga7432b6d95eb2af7bce5fe5809b08d88b.html#gga7432b6d95eb2af7bce5fe5809b08d88ba00b6d2bbc409c15ce1f4bbdd53dab993" title="GPIO command succeeded.">UCS_GPIO_RES_SUCCESS</a>)</div>
205 <div class="line">    {</div>
206 <div class="line">        <span class="comment">// Do what needs to be..</span></div>
207 <div class="line">    }</div>
208 <div class="line">    <span class="keywordflow">else</span></div>
209 <div class="line">    {</div>
210 <div class="line">         <span class="comment">// Error handling here</span></div>
211 <div class="line">         <span class="keywordflow">switch</span>(result.<a class="code" href="struct_ucs___gpio___result__t_a834bf2a84ecdbd878eb0edbf89bc0b88.html#a834bf2a84ecdbd878eb0edbf89bc0b88" title="Detailed information on the returned result.">details</a>.<a class="code" href="struct_ucs___gpio___result_details__t_a87d6ba6c35b8ada8a002fee6caf0c28a.html#a87d6ba6c35b8ada8a002fee6caf0c28a" title="Specifies the type of the current asynchronous result.">result_type</a>)</div>
212 <div class="line">         {</div>
213 <div class="line">            <span class="keywordflow">case</span> <a class="code" href="group___g___u_c_s___g_p_i_o___t_y_p_e_s_ga292134dc6bc30b6b4f0e3e8882c2e772.html#gga292134dc6bc30b6b4f0e3e8882c2e772abd0caef5b4b9f4f2b75f65c7f67f65bc" title="Specifies the target results, typically INIC function-specific error from target device.">UCS_GPIO_RESULT_TYPE_TGT</a>:</div>
214 <div class="line">            <span class="comment">// Handle the target results</span></div>
215 <div class="line">            <span class="keywordflow">break</span>;</div>
216 <div class="line"></div>
217 <div class="line">            <span class="keywordflow">case</span> <a class="code" href="group___g___u_c_s___g_p_i_o___t_y_p_e_s_ga292134dc6bc30b6b4f0e3e8882c2e772.html#gga292134dc6bc30b6b4f0e3e8882c2e772aa402809c65ce64324a827eb0ab4475b1" title="Specifies the transmission error information that occurred on the MOST network.">UCS_GPIO_RESULT_TYPE_TX</a>:</div>
218 <div class="line">            <span class="comment">// Handle transmission error</span></div>
219 <div class="line">            <span class="keywordflow">break</span>;</div>
220 <div class="line">         }</div>
221 <div class="line">    }</div>
222 <div class="line">}</div>
223 </div><!-- fragment --> 
224 </div>
225 </div>
226 </div><!-- contents -->
227 </div><!-- doc-content -->
228 <!-- start footer part -->
229 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
230   <ul>
231     <li class="navelem"><a class="el" href="group___g___u_c_s___g_p_i_o.html">GPIO</a></li>
232     <li class="footer">&copy; 2017 Microchip Technology Inc. All rights reserved. <a href="http://www.microchip.com" target="_blank">www.microchip.com</a></li>
233   </ul>
234 </div>
235 </body>
236 <!--
237 Generated on Mon Apr 3 2017 13:53:00 for UNICENS by
238 Doxygen 1.8.2
239 -->
240 <script language="javascript">
241 <!--
242 $('#MSearchResults').wrap('<div style="position: absolute; margin-left: 444px;"></div>');
243 -->
244 </script>
245 </html>