]> begriffs open source - cmsis/blob - dev/v6.0.0-dev53/Driver/html/group__wifi__control__gr.html
Update documentation for release dev/v6.0.0-dev53
[cmsis] / dev / v6.0.0-dev53 / Driver / html / group__wifi__control__gr.html
1 <!-- HTML header for doxygen 1.9.6-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
4 <head>
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>CMSIS-Driver: WiFi Control</title>
9 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
10 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
12 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
13 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="jquery.js"></script>
15 <script type="text/javascript" src="dynsections.js"></script>
16 <script type="text/javascript" src="printComponentTabs.js"></script>
17 <script type="text/javascript" src="footer.js"></script>
18 <script type="text/javascript" src="navtree.js"></script>
19 <link href="navtree.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="resize.js"></script>
21 <script type="text/javascript" src="navtreedata.js"></script>
22 <script type="text/javascript" src="navtree.js"></script>
23 <link href="search/search.css" rel="stylesheet" type="text/css"/>
24 <script type="text/javascript" src="search/searchdata.js"></script>
25 <script type="text/javascript" src="search/search.js"></script>
26 <script type="text/javascript">
27 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
28   $(document).ready(function() { init_search(); });
29 /* @license-end */
30 </script>
31 <script type="text/javascript" src="darkmode_toggle.js"></script>
32 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
33 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
34 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
35 <link href="version.css" rel="stylesheet" type="text/css" />
36 <script type="text/javascript" src="../../../version.js"></script>
37 </head>
38 <body>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
40 <div id="titlearea">
41 <table cellspacing="0" cellpadding="0">
42  <tbody>
43  <tr style="height: 55px;">
44   <td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="cmsis_logo_white_small.png"/></td>
45   <td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
46    <div id="projectname">CMSIS-Driver
47    &#160;<span id="projectnumber"><script type="text/javascript">
48      <!--
49      writeHeader.call(this);
50      writeVersionDropdown.call(this);
51      //-->
52     </script>
53    </span>
54    </div>
55    <div id="projectbrief">Peripheral Interface for Middleware and Application Code</div>
56   </td>
57    <td>        <div id="MSearchBox" class="MSearchBoxInactive">
58         <span class="left">
59           <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
60           <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
61                onfocus="searchBox.OnSearchFieldFocus(true)" 
62                onblur="searchBox.OnSearchFieldFocus(false)" 
63                onkeyup="searchBox.OnSearchFieldChange(event)"/>
64           </span><span class="right">
65             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
66           </span>
67         </div>
68 </td>
69   <!--END !PROJECT_NAME-->
70  </tr>
71  </tbody>
72 </table>
73 </div>
74 <!-- end header part -->
75 <div id="CMSISnav" class="tabs1">
76   <ul class="tablist">
77     <script type="text/javascript">
78       writeComponentTabs.call(this);
79     </script>
80   </ul>
81 </div>
82 <script type="text/javascript">
83   writeSubComponentTabs.call(this);
84 </script>
85 <!-- Generated by Doxygen 1.9.6 -->
86 <script type="text/javascript">
87 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
88 var searchBox = new SearchBox("searchBox", "search/",'.html');
89 /* @license-end */
90 </script>
91 </div><!-- top -->
92 <div id="side-nav" class="ui-resizable side-nav-resizable">
93   <div id="nav-tree">
94     <div id="nav-tree-contents">
95       <div id="nav-sync" class="sync"></div>
96     </div>
97   </div>
98   <div id="splitbar" style="-moz-user-select:none;" 
99        class="ui-resizable-handle">
100   </div>
101 </div>
102 <script type="text/javascript">
103 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
104 $(document).ready(function(){initNavTree('group__wifi__control__gr.html',''); initResizable(); });
105 /* @license-end */
106 </script>
107 <div id="doc-content">
108 <!-- window showing the filter options -->
109 <div id="MSearchSelectWindow"
110      onmouseover="return searchBox.OnSearchSelectShow()"
111      onmouseout="return searchBox.OnSearchSelectHide()"
112      onkeydown="return searchBox.OnSearchSelectKey(event)">
113 </div>
114
115 <!-- iframe showing the search results (closed by default) -->
116 <div id="MSearchResultsWindow">
117 <div id="MSearchResults">
118 <div class="SRPage">
119 <div id="SRIndex">
120 <div id="SRResults"></div>
121 <div class="SRStatus" id="Loading">Loading...</div>
122 <div class="SRStatus" id="Searching">Searching...</div>
123 <div class="SRStatus" id="NoMatches">No Matches</div>
124 </div>
125 </div>
126 </div>
127 </div>
128
129 <div class="header">
130   <div class="summary">
131 <a href="#groups">Content</a> &#124;
132 <a href="#nested-classes">Data Structures</a> &#124;
133 <a href="#typedef-members">Typedefs</a> &#124;
134 <a href="#func-members">Functions</a>  </div>
135   <div class="headertitle"><div class="title">WiFi Control<div class="ingroups"><a class="el" href="group__wifi__interface__gr.html">WiFi Interface</a></div></div></div>
136 </div><!--header-->
137 <div class="contents">
138
139 <p>Control functions for the WiFi module.  
140 <a href="#details">More...</a></p>
141 <table class="memberdecls">
142 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
143 Content</h2></td></tr>
144 <tr class="memitem:group__wifi__event"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__event.html">WiFi Events</a></td></tr>
145 <tr class="memdesc:group__wifi__event"><td class="mdescLeft">&#160;</td><td class="mdescRight">The WiFi driver generates call back events that are notified via the function <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a>. <br /></td></tr>
146 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
147 </table><table class="memberdecls">
148 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
149 Data Structures</h2></td></tr>
150 <tr class="memitem:structARM__WIFI__CAPABILITIES"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a></td></tr>
151 <tr class="memdesc:structARM__WIFI__CAPABILITIES"><td class="mdescLeft">&#160;</td><td class="mdescRight">WiFi Driver Capabilities.  <a href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">More...</a><br /></td></tr>
152 <tr class="separator:structARM__WIFI__CAPABILITIES"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 </table><table class="memberdecls">
154 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
155 Typedefs</h2></td></tr>
156 <tr class="memitem:gac0f04bbdd431c87a680626154c3e0a41"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#gac0f04bbdd431c87a680626154c3e0a41">ARM_WIFI_SignalEvent_t</a>) (uint32_t event, void *arg)</td></tr>
157 <tr class="memdesc:gac0f04bbdd431c87a680626154c3e0a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> : Signal WiFi Event.  <br /></td></tr>
158 <tr class="separator:gac0f04bbdd431c87a680626154c3e0a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 </table><table class="memberdecls">
160 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
161 Functions</h2></td></tr>
162 <tr class="memitem:gad349fb835926a508e2a33501c0dff6a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#gad349fb835926a508e2a33501c0dff6a2">ARM_WIFI_GetVersion</a> (void)</td></tr>
163 <tr class="memdesc:gad349fb835926a508e2a33501c0dff6a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get driver version.  <br /></td></tr>
164 <tr class="separator:gad349fb835926a508e2a33501c0dff6a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
165 <tr class="memitem:ga3496996799a4762e9958a8b6af683b4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#ga3496996799a4762e9958a8b6af683b4b">ARM_WIFI_GetCapabilities</a> (void)</td></tr>
166 <tr class="memdesc:ga3496996799a4762e9958a8b6af683b4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get driver capabilities.  <br /></td></tr>
167 <tr class="separator:ga3496996799a4762e9958a8b6af683b4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
168 <tr class="memitem:gadc4b9aaae0fdf7d489b1d81e3c2f3474"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a> (<a class="el" href="group__wifi__control__gr.html#gac0f04bbdd431c87a680626154c3e0a41">ARM_WIFI_SignalEvent_t</a> cb_event)</td></tr>
169 <tr class="memdesc:gadc4b9aaae0fdf7d489b1d81e3c2f3474"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize WiFi Module.  <br /></td></tr>
170 <tr class="separator:gadc4b9aaae0fdf7d489b1d81e3c2f3474"><td class="memSeparator" colspan="2">&#160;</td></tr>
171 <tr class="memitem:gae1e488d4ecc365e30712e6b1711a9c5d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#gae1e488d4ecc365e30712e6b1711a9c5d">ARM_WIFI_Uninitialize</a> (void)</td></tr>
172 <tr class="memdesc:gae1e488d4ecc365e30712e6b1711a9c5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initialize WiFi Module.  <br /></td></tr>
173 <tr class="separator:gae1e488d4ecc365e30712e6b1711a9c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
174 <tr class="memitem:ga48d4cb7c00e96d2b928cc4468d4e623b"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#ga48d4cb7c00e96d2b928cc4468d4e623b">ARM_WIFI_PowerControl</a> (<a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a> state)</td></tr>
175 <tr class="memdesc:ga48d4cb7c00e96d2b928cc4468d4e623b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control WiFi Module Power.  <br /></td></tr>
176 <tr class="separator:ga48d4cb7c00e96d2b928cc4468d4e623b"><td class="memSeparator" colspan="2">&#160;</td></tr>
177 <tr class="memitem:gabdc4c9966a3f22ac6e53119e71e67579"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#gabdc4c9966a3f22ac6e53119e71e67579">ARM_WIFI_GetModuleInfo</a> (char *module_info, uint32_t max_len)</td></tr>
178 <tr class="memdesc:gabdc4c9966a3f22ac6e53119e71e67579"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Module information.  <br /></td></tr>
179 <tr class="separator:gabdc4c9966a3f22ac6e53119e71e67579"><td class="memSeparator" colspan="2">&#160;</td></tr>
180 <tr class="memitem:ga0c8243dee4bb161132692516f048bcec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> (uint32_t event, void *arg)</td></tr>
181 <tr class="memdesc:ga0c8243dee4bb161132692516f048bcec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal WiFi Events.  <br /></td></tr>
182 <tr class="separator:ga0c8243dee4bb161132692516f048bcec"><td class="memSeparator" colspan="2">&#160;</td></tr>
183 </table>
184 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
185 <p>Control functions for the WiFi module. </p>
186 <p><br  />
187  The <a class="el" href="group__wifi__control__gr.html">WiFi Control</a> functions setup and control the WiFi module. </p>
188 <hr/><h2 class="groupheader">Data Structure Documentation</h2>
189 <a name="structARM__WIFI__CAPABILITIES" id="structARM__WIFI__CAPABILITIES"></a>
190 <h2 class="memtitle"><span class="permalink"><a href="#structARM__WIFI__CAPABILITIES">&#9670;&#160;</a></span>ARM_WIFI_CAPABILITIES</h2>
191
192 <div class="memitem">
193 <div class="memproto">
194       <table class="memname">
195         <tr>
196           <td class="memname">struct ARM_WIFI_CAPABILITIES</td>
197         </tr>
198       </table>
199 </div><div class="memdoc">
200 <div class="textblock"><p>WiFi Driver Capabilities. </p>
201 <p>A WiFi driver can be implemented with different capabilities. The data fields of this structure encode the capabilities implemented by this driver.</p>
202 <p><b>Returned by:</b></p><ul>
203 <li><a class="el" href="group__wifi__control__gr.html#ga3496996799a4762e9958a8b6af683b4b">ARM_WIFI_GetCapabilities</a> </li>
204 </ul>
205 </div><table class="fieldtable">
206 <tr><th colspan="3">Data Fields</th></tr>
207 <tr><td class="fieldtype">
208 <a id="a3c9e76f6560429efd6dcc41ffd4b67b9" name="a3c9e76f6560429efd6dcc41ffd4b67b9"></a>uint32_t</td>
209 <td class="fieldname">
210 station: 1</td>
211 <td class="fielddoc">
212 Station. </td></tr>
213 <tr><td class="fieldtype">
214 <a id="ae980bcb85233b9c5904072246ac71dd7" name="ae980bcb85233b9c5904072246ac71dd7"></a>uint32_t</td>
215 <td class="fieldname">
216 ap: 1</td>
217 <td class="fielddoc">
218 Access Point. </td></tr>
219 <tr><td class="fieldtype">
220 <a id="ad280904e2429375205c09e53fe8cdcb1" name="ad280904e2429375205c09e53fe8cdcb1"></a>uint32_t</td>
221 <td class="fieldname">
222 station_ap: 1</td>
223 <td class="fielddoc">
224 Concurrent Station and Access Point. </td></tr>
225 <tr><td class="fieldtype">
226 <a id="a87476544767703fc9f45f81b16cd4429" name="a87476544767703fc9f45f81b16cd4429"></a>uint32_t</td>
227 <td class="fieldname">
228 wps_station: 1</td>
229 <td class="fielddoc">
230 WiFi Protected Setup (WPS) for Station. </td></tr>
231 <tr><td class="fieldtype">
232 <a id="a7689c7dd824016b1962854a86d23d141" name="a7689c7dd824016b1962854a86d23d141"></a>uint32_t</td>
233 <td class="fieldname">
234 wps_ap: 1</td>
235 <td class="fielddoc">
236 WiFi Protected Setup (WPS) for Access Point. </td></tr>
237 <tr><td class="fieldtype">
238 <a id="a9fc191093a9bc356c3d85e9cbf185620" name="a9fc191093a9bc356c3d85e9cbf185620"></a>uint32_t</td>
239 <td class="fieldname">
240 event_ap_connect: 1</td>
241 <td class="fielddoc">
242 Access Point: event generated on Station connect. </td></tr>
243 <tr><td class="fieldtype">
244 <a id="a18a7e7fe3a4f48548af6db6c825cc427" name="a18a7e7fe3a4f48548af6db6c825cc427"></a>uint32_t</td>
245 <td class="fieldname">
246 event_ap_disconnect: 1</td>
247 <td class="fielddoc">
248 Access Point: event generated on Station disconnect. </td></tr>
249 <tr><td class="fieldtype">
250 <a id="ac4c6eadec013cf8a11b8eca66b809431" name="ac4c6eadec013cf8a11b8eca66b809431"></a>uint32_t</td>
251 <td class="fieldname">
252 event_eth_rx_frame: 1</td>
253 <td class="fielddoc">
254 Event generated on Ethernet frame reception in bypass mode. </td></tr>
255 <tr><td class="fieldtype">
256 <a id="adbcc47408fb8c50d262a3be535108186" name="adbcc47408fb8c50d262a3be535108186"></a>uint32_t</td>
257 <td class="fieldname">
258 bypass_mode: 1</td>
259 <td class="fielddoc">
260 Bypass or pass-through mode (Ethernet interface) </td></tr>
261 <tr><td class="fieldtype">
262 <a id="a69ddb9c845da426f636d9dd0dbed4e7e" name="a69ddb9c845da426f636d9dd0dbed4e7e"></a>uint32_t</td>
263 <td class="fieldname">
264 ip: 1</td>
265 <td class="fielddoc">
266 IP (UDP/TCP) (Socket interface) </td></tr>
267 <tr><td class="fieldtype">
268 <a id="aad13478539ad093fabafd1804acac4a2" name="aad13478539ad093fabafd1804acac4a2"></a>uint32_t</td>
269 <td class="fieldname">
270 ip6: 1</td>
271 <td class="fielddoc">
272 IPv6 (Socket interface) </td></tr>
273 <tr><td class="fieldtype">
274 <a id="aef01bbaa48bdb4fba71684d8f31eb0b1" name="aef01bbaa48bdb4fba71684d8f31eb0b1"></a>uint32_t</td>
275 <td class="fieldname">
276 ping: 1</td>
277 <td class="fielddoc">
278 Ping (ICMP) </td></tr>
279 <tr><td class="fieldtype">
280 <a id="aa43c4c21b173ada1b6b7568956f0d650" name="aa43c4c21b173ada1b6b7568956f0d650"></a>uint32_t</td>
281 <td class="fieldname">
282 reserved: 20</td>
283 <td class="fielddoc">
284 Reserved (must be zero) </td></tr>
285 </table>
286
287 </div>
288 </div>
289 <h2 class="groupheader">Typedef Documentation</h2>
290 <a id="gac0f04bbdd431c87a680626154c3e0a41" name="gac0f04bbdd431c87a680626154c3e0a41"></a>
291 <h2 class="memtitle"><span class="permalink"><a href="#gac0f04bbdd431c87a680626154c3e0a41">&#9670;&#160;</a></span>ARM_WIFI_SignalEvent_t</h2>
292
293 <div class="memitem">
294 <div class="memproto">
295       <table class="memname">
296         <tr>
297           <td class="memname">ARM_WIFI_SignalEvent_t</td>
298         </tr>
299       </table>
300 </div><div class="memdoc">
301
302 <p>Pointer to <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> : Signal WiFi Event. </p>
303 <p>Provides the typedef for the callback function <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a>.</p>
304 <p><b>Parameter for:</b></p><ul>
305 <li><a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a> </li>
306 </ul>
307
308 </div>
309 </div>
310 <h2 class="groupheader">Function Documentation</h2>
311 <a id="gad349fb835926a508e2a33501c0dff6a2" name="gad349fb835926a508e2a33501c0dff6a2"></a>
312 <h2 class="memtitle"><span class="permalink"><a href="#gad349fb835926a508e2a33501c0dff6a2">&#9670;&#160;</a></span>ARM_WIFI_GetVersion()</h2>
313
314 <div class="memitem">
315 <div class="memproto">
316       <table class="memname">
317         <tr>
318           <td class="memname"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a> ARM_WIFI_GetVersion </td>
319           <td>(</td>
320           <td class="paramtype">void&#160;</td>
321           <td class="paramname"></td><td>)</td>
322           <td></td>
323         </tr>
324       </table>
325 </div><div class="memdoc">
326
327 <p>Get driver version. </p>
328 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a></dd></dl>
329 <p>The function <b>ARM_WIFI_GetVersion</b> returns version information of the driver implementation in <a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>.</p>
330 <p>API version is the version of the CMSIS-Driver specification used to implement this driver. Driver version is source code version of the actual driver implementation.</p>
331 <p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
332 <div class="line"><span class="keyword">static</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
333 <div class="line"> </div>
334 <div class="line"><span class="keywordtype">void</span> get_wifi_version (<span class="keywordtype">void</span>)  {</div>
335 <div class="line">  <a class="code hl_struct" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a> version;</div>
336 <div class="line"> </div>
337 <div class="line">  wifi= &amp;Driver_WiFi0;  </div>
338 <div class="line">  version = wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#a30afd9cb3113c037b5f1926f5ef93b59">GetVersion</a> ();</div>
339 <div class="line">  <span class="keywordflow">if</span> (version.<a class="code hl_variable" href="group__common__drv__gr.html#ad180da20fbde1d3dafc074af87c19540">api</a> &lt; 0x100U) {        <span class="comment">// requires at minimum API version 1.0 or higher</span></div>
340 <div class="line">    <span class="comment">// error handling</span></div>
341 <div class="line">    <span class="keywordflow">return</span>;</div>
342 <div class="line">  }</div>
343 <div class="line">}</div>
344 <div class="ttc" id="agroup__common__drv__gr_html_ad180da20fbde1d3dafc074af87c19540"><div class="ttname"><a href="group__common__drv__gr.html#ad180da20fbde1d3dafc074af87c19540">ARM_DRIVER_VERSION::api</a></div><div class="ttdeci">uint16_t api</div><div class="ttdoc">API version.</div><div class="ttdef"><b>Definition:</b> Driver_Common.h:47</div></div>
345 <div class="ttc" id="agroup__common__drv__gr_html_structARM__DRIVER__VERSION"><div class="ttname"><a href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a></div><div class="ttdoc">Driver Version.</div><div class="ttdef"><b>Definition:</b> Driver_Common.h:46</div></div>
346 <div class="ttc" id="agroup__wifi__interface__gr_html_a30afd9cb3113c037b5f1926f5ef93b59"><div class="ttname"><a href="group__wifi__interface__gr.html#a30afd9cb3113c037b5f1926f5ef93b59">ARM_DRIVER_WIFI::GetVersion</a></div><div class="ttdeci">ARM_DRIVER_VERSION(* GetVersion)(void)</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:627</div></div>
347 <div class="ttc" id="agroup__wifi__interface__gr_html_structARM__DRIVER__WIFI"><div class="ttname"><a href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a></div><div class="ttdoc">Access structure of the WiFi Driver.</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:626</div></div>
348 </div><!-- fragment --> 
349 </div>
350 </div>
351 <a id="ga3496996799a4762e9958a8b6af683b4b" name="ga3496996799a4762e9958a8b6af683b4b"></a>
352 <h2 class="memtitle"><span class="permalink"><a href="#ga3496996799a4762e9958a8b6af683b4b">&#9670;&#160;</a></span>ARM_WIFI_GetCapabilities()</h2>
353
354 <div class="memitem">
355 <div class="memproto">
356       <table class="memname">
357         <tr>
358           <td class="memname"><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a> ARM_WIFI_GetCapabilities </td>
359           <td>(</td>
360           <td class="paramtype">void&#160;</td>
361           <td class="paramname"></td><td>)</td>
362           <td></td>
363         </tr>
364       </table>
365 </div><div class="memdoc">
366
367 <p>Get driver capabilities. </p>
368 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a></dd></dl>
369 <p>The function <b>ARM_WIFI_GetCapabilities</b> retrieves information about capabilities in this driver implementation. The data fields of the struct <a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a> encode various capabilities, for example if a WiFi module supports the Access Point mode or the bypass mode, or is capable to signal events using the <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> callback function.</p>
370 <p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
371 <div class="line"><span class="keyword">static</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
372 <div class="line">  </div>
373 <div class="line"><span class="keywordtype">void</span> get_wifi_capabilities (<span class="keywordtype">void</span>)  {</div>
374 <div class="line">  <a class="code hl_struct" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a> capabilities;</div>
375 <div class="line"> </div>
376 <div class="line">  wifi = &amp;Driver_WiFi0;  </div>
377 <div class="line">  capabilities = wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#a10f74a292db2275b28b6b0eb6b22bea8">GetCapabilities</a> ();</div>
378 <div class="line">  <span class="comment">// interrogate capabilities</span></div>
379 <div class="line">   :</div>
380 <div class="line">}</div>
381 <div class="ttc" id="agroup__wifi__control__gr_html_structARM__WIFI__CAPABILITIES"><div class="ttname"><a href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a></div><div class="ttdoc">WiFi Driver Capabilities.</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:607</div></div>
382 <div class="ttc" id="agroup__wifi__interface__gr_html_a10f74a292db2275b28b6b0eb6b22bea8"><div class="ttname"><a href="group__wifi__interface__gr.html#a10f74a292db2275b28b6b0eb6b22bea8">ARM_DRIVER_WIFI::GetCapabilities</a></div><div class="ttdeci">ARM_WIFI_CAPABILITIES(* GetCapabilities)(void)</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:628</div></div>
383 </div><!-- fragment --> 
384 </div>
385 </div>
386 <a id="gadc4b9aaae0fdf7d489b1d81e3c2f3474" name="gadc4b9aaae0fdf7d489b1d81e3c2f3474"></a>
387 <h2 class="memtitle"><span class="permalink"><a href="#gadc4b9aaae0fdf7d489b1d81e3c2f3474">&#9670;&#160;</a></span>ARM_WIFI_Initialize()</h2>
388
389 <div class="memitem">
390 <div class="memproto">
391       <table class="memname">
392         <tr>
393           <td class="memname">int32_t ARM_WIFI_Initialize </td>
394           <td>(</td>
395           <td class="paramtype"><a class="el" href="group__wifi__control__gr.html#gac0f04bbdd431c87a680626154c3e0a41">ARM_WIFI_SignalEvent_t</a>&#160;</td>
396           <td class="paramname"><em>cb_event</em></td><td>)</td>
397           <td></td>
398         </tr>
399       </table>
400 </div><div class="memdoc">
401
402 <p>Initialize WiFi Module. </p>
403 <dl class="params"><dt>Parameters</dt><dd>
404   <table class="params">
405     <tr><td class="paramdir">[in]</td><td class="paramname">cb_event</td><td>Pointer to <a class="el" href="group__wifi__control__gr.html#gac0f04bbdd431c87a680626154c3e0a41">ARM_WIFI_SignalEvent_t</a> </td></tr>
406   </table>
407   </dd>
408 </dl>
409 <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
410 <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
411 <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
412 </ul>
413 </dd></dl>
414 <p>The function <b>ARM_WIFI_Initialize</b> initializes the WiFi module.</p>
415 <p>It is called when the middleware component starts operation.</p>
416 <p>The <a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a> function performs the following operations:</p><ul>
417 <li>Initializes the resources and peripherals required for the WiFi module.</li>
418 <li>Registers the <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> callback function.</li>
419 </ul>
420 <p>The parameter <em>cb_event</em> is a pointer to the <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> callback function; use a <span class="XML-Token">NULL</span> pointer when no callback signals are required.</p>
421 <p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
422 <div class="line"><span class="keyword">static</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
423 <div class="line"><span class="keyword">static</span> <a class="code hl_struct" href="group__eth__interface__gr.html#structARM__ETH__MAC__ADDR">ARM_ETH_MAC_ADDR</a> own_mac_address;</div>
424 <div class="line"> </div>
425 <div class="line"><span class="keywordtype">void</span> initialize_wifi (<span class="keywordtype">void</span>) {</div>
426 <div class="line">  wifi = &amp;Driver_WiFi0;</div>
427 <div class="line"> </div>
428 <div class="line">  <span class="comment">// Initialize and Power-on WiFi Module</span></div>
429 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#afe313d2860cfecd7b235dfa4a75ad0f9">Initialize</a> (NULL);</div>
430 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#a24ebae5c6011631f76027f9a16eaf5ce">PowerControl</a> (<a class="code hl_enumvalue" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a>);</div>
431 <div class="line"> </div>
432 <div class="line">  <span class="comment">// Populate own_mac_address with the address to use</span></div>
433 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#aee3ad2b5a66b88a9d66352b6429c69a3">SetOption</a>(<a class="code hl_define" href="group__WiFi__option.html#gafefb0fe1e5cdfb71f7f8cc7606840865">ARM_WIFI_MAC</a>, &amp;own_mac_address, 6U);</div>
434 <div class="line">}</div>
435 <div class="ttc" id="aDriver__Common_8h_html_ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e"><div class="ttname"><a href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a></div><div class="ttdeci">@ ARM_POWER_FULL</div><div class="ttdoc">Power on: full operation at maximum performance.</div><div class="ttdef"><b>Definition:</b> Driver_Common.h:66</div></div>
436 <div class="ttc" id="agroup__WiFi__option_html_gafefb0fe1e5cdfb71f7f8cc7606840865"><div class="ttname"><a href="group__WiFi__option.html#gafefb0fe1e5cdfb71f7f8cc7606840865">ARM_WIFI_MAC</a></div><div class="ttdeci">#define ARM_WIFI_MAC</div><div class="ttdoc">Station/AP Set/Get MAC; data = &amp;mac, len = 6, uint8_t[6].</div></div>
437 <div class="ttc" id="agroup__eth__interface__gr_html_structARM__ETH__MAC__ADDR"><div class="ttname"><a href="group__eth__interface__gr.html#structARM__ETH__MAC__ADDR">ARM_ETH_MAC_ADDR</a></div><div class="ttdoc">Ethernet MAC Address.</div><div class="ttdef"><b>Definition:</b> Driver_ETH.h:83</div></div>
438 <div class="ttc" id="agroup__wifi__interface__gr_html_a24ebae5c6011631f76027f9a16eaf5ce"><div class="ttname"><a href="group__wifi__interface__gr.html#a24ebae5c6011631f76027f9a16eaf5ce">ARM_DRIVER_WIFI::PowerControl</a></div><div class="ttdeci">int32_t(* PowerControl)(ARM_POWER_STATE state)</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:631</div></div>
439 <div class="ttc" id="agroup__wifi__interface__gr_html_aee3ad2b5a66b88a9d66352b6429c69a3"><div class="ttname"><a href="group__wifi__interface__gr.html#aee3ad2b5a66b88a9d66352b6429c69a3">ARM_DRIVER_WIFI::SetOption</a></div><div class="ttdeci">int32_t(* SetOption)(uint32_t interface, uint32_t option, const void *data, uint32_t len)</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:633</div></div>
440 <div class="ttc" id="agroup__wifi__interface__gr_html_afe313d2860cfecd7b235dfa4a75ad0f9"><div class="ttname"><a href="group__wifi__interface__gr.html#afe313d2860cfecd7b235dfa4a75ad0f9">ARM_DRIVER_WIFI::Initialize</a></div><div class="ttdeci">int32_t(* Initialize)(ARM_WIFI_SignalEvent_t cb_event)</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:629</div></div>
441 </div><!-- fragment --> 
442 </div>
443 </div>
444 <a id="gae1e488d4ecc365e30712e6b1711a9c5d" name="gae1e488d4ecc365e30712e6b1711a9c5d"></a>
445 <h2 class="memtitle"><span class="permalink"><a href="#gae1e488d4ecc365e30712e6b1711a9c5d">&#9670;&#160;</a></span>ARM_WIFI_Uninitialize()</h2>
446
447 <div class="memitem">
448 <div class="memproto">
449       <table class="memname">
450         <tr>
451           <td class="memname">int32_t ARM_WIFI_Uninitialize </td>
452           <td>(</td>
453           <td class="paramtype">void&#160;</td>
454           <td class="paramname"></td><td>)</td>
455           <td></td>
456         </tr>
457       </table>
458 </div><div class="memdoc">
459
460 <p>De-initialize WiFi Module. </p>
461 <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
462 <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
463 <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
464 </ul>
465 </dd></dl>
466 <p>The function <b>ARM_WIFI_Uninitialize</b> de-initializes the resources of the WiFi module.</p>
467 <p>It is called when the middleware component stops operation and releases the software resources used by the module.</p>
468 <p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
469 <div class="line"><span class="keyword">static</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
470 <div class="line"> </div>
471 <div class="line"><span class="keywordtype">void</span> uninitialize_wifi (<span class="keywordtype">void</span>) {</div>
472 <div class="line">  wifi = &amp;Driver_WiFi0;</div>
473 <div class="line"> </div>
474 <div class="line">  <span class="comment">// Power off and De-initialize WiFi Module</span></div>
475 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#a24ebae5c6011631f76027f9a16eaf5ce">PowerControl</a> (<a class="code hl_enumvalue" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5ab6f5becc85ebd51c3dd2524a95d2ca35">ARM_POWER_OFF</a>);</div>
476 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#a5ce2b3d7a3a07099bf07d1eb253e92e3">Uninitialize</a> ();</div>
477 <div class="line">}</div>
478 <div class="ttc" id="aDriver__Common_8h_html_ga47d6d7c31f88f3b8ae4aaf9d8444afa5ab6f5becc85ebd51c3dd2524a95d2ca35"><div class="ttname"><a href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5ab6f5becc85ebd51c3dd2524a95d2ca35">ARM_POWER_OFF</a></div><div class="ttdeci">@ ARM_POWER_OFF</div><div class="ttdoc">Power off: no operation possible.</div><div class="ttdef"><b>Definition:</b> Driver_Common.h:64</div></div>
479 <div class="ttc" id="agroup__wifi__interface__gr_html_a5ce2b3d7a3a07099bf07d1eb253e92e3"><div class="ttname"><a href="group__wifi__interface__gr.html#a5ce2b3d7a3a07099bf07d1eb253e92e3">ARM_DRIVER_WIFI::Uninitialize</a></div><div class="ttdeci">int32_t(* Uninitialize)(void)</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:630</div></div>
480 </div><!-- fragment --> 
481 </div>
482 </div>
483 <a id="ga48d4cb7c00e96d2b928cc4468d4e623b" name="ga48d4cb7c00e96d2b928cc4468d4e623b"></a>
484 <h2 class="memtitle"><span class="permalink"><a href="#ga48d4cb7c00e96d2b928cc4468d4e623b">&#9670;&#160;</a></span>ARM_WIFI_PowerControl()</h2>
485
486 <div class="memitem">
487 <div class="memproto">
488       <table class="memname">
489         <tr>
490           <td class="memname">int32_t ARM_WIFI_PowerControl </td>
491           <td>(</td>
492           <td class="paramtype"><a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a>&#160;</td>
493           <td class="paramname"><em>state</em></td><td>)</td>
494           <td></td>
495         </tr>
496       </table>
497 </div><div class="memdoc">
498
499 <p>Control WiFi Module Power. </p>
500 <dl class="params"><dt>Parameters</dt><dd>
501   <table class="params">
502     <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>Power state<ul>
503 <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5ab6f5becc85ebd51c3dd2524a95d2ca35">ARM_POWER_OFF</a> : Power off: no operation possible</li>
504 <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5a9ef9e57cbcc948d0e22314e73dc8c434">ARM_POWER_LOW</a> : Low-power mode: sleep or deep-sleep depending on <a class="el" href="group__WiFi__option.html#ga77e38a3d5d2fe8c04aebaf8d24e1b8d4">ARM_WIFI_LP_TIMER</a> option set</li>
505 <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a> : Power on: full operation at maximum performance </li>
506 </ul>
507 </td></tr>
508   </table>
509   </dd>
510 </dl>
511 <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
512 <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
513 <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
514 <li><a class="el" href="group__execution__status.html#ga2efa59e480d82697795439220e6884e4">ARM_DRIVER_ERROR_UNSUPPORTED</a> : Operation not supported</li>
515 <li><a class="el" href="group__execution__status.html#gac781d4b70ce17c4c2efe2db045be751c">ARM_DRIVER_ERROR_PARAMETER</a> : Parameter error (invalid state)</li>
516 </ul>
517 </dd></dl>
518 <p>The function <b>ARM_WIFI_PowerControl</b> allows you to configure the power modes of the WiFi module.</p>
519 <p>The parameter <em>state</em> specifies the <a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a>.</p>
520 <p>Low-power mode depends on additional options set by <a class="el" href="group__wifi__management__gr.html#gaf38a7aeb470eec596febc850c8b69ccf">ARM_WIFI_SetOption</a> :</p><ul>
521 <li>Deep-sleep mode is entered when <a class="el" href="group__WiFi__option.html#ga77e38a3d5d2fe8c04aebaf8d24e1b8d4">ARM_WIFI_LP_TIMER</a> option is set to a value different than 0</li>
522 <li>Sleep mode is entered otherwise</li>
523 </ul>
524 <p><b>Deep-sleep</b> mode (only for station): Module turns off the radio and also internal CPU thus reducing power consumption to minimum, only the timer is running that wakes-up the module after specified time. When timer expires the module reconnects to the access point.</p>
525 <p>This mode is used when power consumption is a priority (battery powered devices) and when WiFi is used in short intervals that do not occur very often (example: sending a temperature from a sensor to a cloud every 10 seconds).</p>
526 <p><b>Sleep</b> mode (only for station): Module reduces power consumption by going into sleep and waking up periodically to listen for beacons.</p>
527 <p>Delivery Traffic Indication Message (DTIM) interval can be configured with option <a class="el" href="group__WiFi__option.html#ga947c297f1364993524bf515beba296f1">ARM_WIFI_DTIM</a> (station and access point) and beacon interval with option <a class="el" href="group__WiFi__option.html#ga6171d24c661b54465ced2dae7980897c">ARM_WIFI_BEACON</a> (only for access point).</p>
528 <p>Default module intervals are used when those options are not explicitly set.</p>
529 <p>If power <em>state</em> specifies an unsupported mode, the function returns <a class="el" href="group__execution__status.html#ga2efa59e480d82697795439220e6884e4">ARM_DRIVER_ERROR_UNSUPPORTED</a> as status information and the previous power state of the peripheral is unchanged. Multiple calls with the same <em>state</em> generate no error.</p>
530 <p><b>Example:</b> </p><ul>
531 <li>see <a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a></li>
532 <li>see <a class="el" href="group__wifi__control__gr.html#gae1e488d4ecc365e30712e6b1711a9c5d">ARM_WIFI_Uninitialize</a> </li>
533 </ul>
534
535 </div>
536 </div>
537 <a id="gabdc4c9966a3f22ac6e53119e71e67579" name="gabdc4c9966a3f22ac6e53119e71e67579"></a>
538 <h2 class="memtitle"><span class="permalink"><a href="#gabdc4c9966a3f22ac6e53119e71e67579">&#9670;&#160;</a></span>ARM_WIFI_GetModuleInfo()</h2>
539
540 <div class="memitem">
541 <div class="memproto">
542       <table class="memname">
543         <tr>
544           <td class="memname">int32_t ARM_WIFI_GetModuleInfo </td>
545           <td>(</td>
546           <td class="paramtype">char *&#160;</td>
547           <td class="paramname"><em>module_info</em>, </td>
548         </tr>
549         <tr>
550           <td class="paramkey"></td>
551           <td></td>
552           <td class="paramtype">uint32_t&#160;</td>
553           <td class="paramname"><em>max_len</em>&#160;</td>
554         </tr>
555         <tr>
556           <td></td>
557           <td>)</td>
558           <td></td><td></td>
559         </tr>
560       </table>
561 </div><div class="memdoc">
562
563 <p>Get Module information. </p>
564 <dl class="params"><dt>Parameters</dt><dd>
565   <table class="params">
566     <tr><td class="paramdir">[out]</td><td class="paramname">module_info</td><td>Pointer to character buffer were info string will be returned </td></tr>
567     <tr><td class="paramdir">[in]</td><td class="paramname">max_len</td><td>Maximum length of string to return (including null terminator) </td></tr>
568   </table>
569   </dd>
570 </dl>
571 <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
572 <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
573 <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
574 <li><a class="el" href="group__execution__status.html#ga2efa59e480d82697795439220e6884e4">ARM_DRIVER_ERROR_UNSUPPORTED</a> : Operation not supported</li>
575 <li><a class="el" href="group__execution__status.html#gac781d4b70ce17c4c2efe2db045be751c">ARM_DRIVER_ERROR_PARAMETER</a> : Parameter error (NULL module_info pointer or max_len equals to 0)</li>
576 </ul>
577 </dd></dl>
578 <p>The function <b>ARM_WIFI_GetModuleInfo</b> retrieves string containing information about the WiFi module.</p>
579 <p>The information might include module name, firmware version, ...</p>
580 <dl class="section note"><dt>Note</dt><dd>Module must be initialized and powered before module information can be retrieved.</dd></dl>
581 <p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
582 <div class="line"><span class="keyword">static</span> <a class="code hl_struct" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
583 <div class="line"> </div>
584 <div class="line"><span class="keywordtype">void</span> initialize_wifi (<span class="keywordtype">void</span>) {</div>
585 <div class="line">  <span class="keywordtype">char</span> info[32];</div>
586 <div class="line"> </div>
587 <div class="line">  wifi = &amp;Driver_WiFi0;</div>
588 <div class="line"> </div>
589 <div class="line">  <span class="comment">// Initialize and Power-on WiFi Module</span></div>
590 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#afe313d2860cfecd7b235dfa4a75ad0f9">Initialize</a> (NULL);</div>
591 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#a24ebae5c6011631f76027f9a16eaf5ce">PowerControl</a> (<a class="code hl_enumvalue" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a>);</div>
592 <div class="line"> </div>
593 <div class="line">  <span class="comment">// Retrieve module information</span></div>
594 <div class="line">  wifi-&gt;<a class="code hl_variable" href="group__wifi__interface__gr.html#a94076d882dce618464fe785352a50596">GetModuleInfo</a>(&amp;info, <span class="keyword">sizeof</span>(info));</div>
595 <div class="line">}</div>
596 <div class="ttc" id="agroup__wifi__interface__gr_html_a94076d882dce618464fe785352a50596"><div class="ttname"><a href="group__wifi__interface__gr.html#a94076d882dce618464fe785352a50596">ARM_DRIVER_WIFI::GetModuleInfo</a></div><div class="ttdeci">int32_t(* GetModuleInfo)(char *module_info, uint32_t max_len)</div><div class="ttdef"><b>Definition:</b> Driver_WiFi.h:632</div></div>
597 </div><!-- fragment --> 
598 </div>
599 </div>
600 <a id="ga0c8243dee4bb161132692516f048bcec" name="ga0c8243dee4bb161132692516f048bcec"></a>
601 <h2 class="memtitle"><span class="permalink"><a href="#ga0c8243dee4bb161132692516f048bcec">&#9670;&#160;</a></span>ARM_WIFI_SignalEvent()</h2>
602
603 <div class="memitem">
604 <div class="memproto">
605       <table class="memname">
606         <tr>
607           <td class="memname">void ARM_WIFI_SignalEvent </td>
608           <td>(</td>
609           <td class="paramtype">uint32_t&#160;</td>
610           <td class="paramname"><em>event</em>, </td>
611         </tr>
612         <tr>
613           <td class="paramkey"></td>
614           <td></td>
615           <td class="paramtype">void *&#160;</td>
616           <td class="paramname"><em>arg</em>&#160;</td>
617         </tr>
618         <tr>
619           <td></td>
620           <td>)</td>
621           <td></td><td></td>
622         </tr>
623       </table>
624 </div><div class="memdoc">
625
626 <p>Signal WiFi Events. </p>
627 <dl class="params"><dt>Parameters</dt><dd>
628   <table class="params">
629     <tr><td class="paramdir">[in]</td><td class="paramname">event</td><td><a class="el" href="group__wifi__event.html">WiFi Events</a> notification mask </td></tr>
630     <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Pointer to argument of signaled event </td></tr>
631   </table>
632   </dd>
633 </dl>
634 <dl class="section return"><dt>Returns</dt><dd>none</dd></dl>
635 <p>The function <b>ARM_WIFI_SignalEvent</b> is a callback function registered by the function <a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a>. It is called by the WiFi driver to notify the application about WiFi Events occurred during operation.</p>
636 <p>The parameter <em>event</em> indicates the event that occurred during driver operation.</p>
637 <p>The parameter <em>arg</em> provides additional information about the event.</p>
638 <p>The following events can be generated:</p>
639 <table class="markdownTable">
640 <tr class="markdownTableHead">
641 <th class="markdownTableHeadLeft">Parameter <em>event</em>   </th><th class="markdownTableHeadLeft">Description    </th></tr>
642 <tr class="markdownTableRowOdd">
643 <td class="markdownTableBodyLeft"><a class="el" href="group__wifi__event.html#ga4a87b9a3c3a404e3917d54df98469a62">ARM_WIFI_EVENT_AP_CONNECT</a>   </td><td class="markdownTableBodyLeft">Occurs in access point mode when a station has connected to the access point.    </td></tr>
644 <tr class="markdownTableRowEven">
645 <td class="markdownTableBodyLeft"><a class="el" href="group__wifi__event.html#ga271e73cda122e7ec3c5a5ca71d44eae3">ARM_WIFI_EVENT_AP_DISCONNECT</a>   </td><td class="markdownTableBodyLeft">Occurs in access point mode when a station has disconnected from the access point.    </td></tr>
646 <tr class="markdownTableRowOdd">
647 <td class="markdownTableBodyLeft"><a class="el" href="group__wifi__event.html#ga833f2c7a47bd2523d7a62ff6506a997f">ARM_WIFI_EVENT_ETH_RX_FRAME</a>   </td><td class="markdownTableBodyLeft">Occurs in <a class="el" href="group__wifi__bypass__gr.html">WiFi Bypass Mode</a> when an ethernet frame is received.   </td></tr>
648 </table>
649
650 </div>
651 </div>
652 </div><!-- contents -->
653 </div><!-- doc-content -->
654 <!-- start footer part -->
655 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
656   <ul>
657     <li class="footer">
658       <script type="text/javascript">
659         <!--
660         writeFooter.call(this);
661         //-->
662       </script> 
663     </li>
664   </ul>
665 </div>
666 </body>
667 </html>