| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623 |
- <!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>WiFi Control</title>
- <title>CMSIS-Driver: WiFi Control</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <link href="cmsis.css" rel="stylesheet" type="text/css" />
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <script type="text/javascript" src="printComponentTabs.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);
- $(window).load(resizeHeight);
- </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>
- </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: 46px;">
- <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
- <td style="padding-left: 0.5em;">
- <div id="projectname">CMSIS-Driver
-  <span id="projectnumber">Version 2.8.0</span>
- </div>
- <div id="projectbrief">Peripheral Interface for Middleware and Application Code</div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <div id="CMSISnav" class="tabs1">
- <ul class="tablist">
- <script type="text/javascript">
- <!--
- writeComponentTabs.call(this);
- //-->
- </script>
- </ul>
- </div>
- <!-- Generated by Doxygen 1.8.6 -->
- <script type="text/javascript">
- var searchBox = new SearchBox("searchBox", "search",false,'Search');
- </script>
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Usage and Description</span></a></li>
- <li><a href="modules.html"><span>Reference</span></a></li>
- <li>
- <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>
- </li>
- </ul>
- </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">
- $(document).ready(function(){initNavTree('group__wifi__control__gr.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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </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="header">
- <div class="summary">
- <a href="#groups">Content</a> |
- <a href="#nested-classes">Data Structures</a> |
- <a href="#typedef-members">Typedefs</a> |
- <a href="#func-members">Functions</a> </div>
- <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>
- </div><!--header-->
- <div class="contents">
- <p>Control functions for the WiFi module.
- <a href="#details">More...</a></p>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
- Content</h2></td></tr>
- <tr class="memitem:group__wifi__event"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__event.html">WiFi Events</a></td></tr>
- <tr class="memdesc:group__wifi__event"><td class="mdescLeft"> </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>
- <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
- Data Structures</h2></td></tr>
- <tr class="memitem:structARM__WIFI__CAPABILITIES"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a></td></tr>
- <tr class="memdesc:structARM__WIFI__CAPABILITIES"><td class="mdescLeft"> </td><td class="mdescRight">WiFi Driver Capabilities. <a href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">More...</a><br/></td></tr>
- <tr class="separator:structARM__WIFI__CAPABILITIES"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
- Typedefs</h2></td></tr>
- <tr class="memitem:gac0f04bbdd431c87a680626154c3e0a41"><td class="memItemLeft" align="right" valign="top">typedef void(* </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>
- <tr class="memdesc:gac0f04bbdd431c87a680626154c3e0a41"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> : Signal WiFi Event. <a href="#gac0f04bbdd431c87a680626154c3e0a41">More...</a><br/></td></tr>
- <tr class="separator:gac0f04bbdd431c87a680626154c3e0a41"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
- Functions</h2></td></tr>
- <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#gad349fb835926a508e2a33501c0dff6a2">ARM_WIFI_GetVersion</a> (void)</td></tr>
- <tr class="memdesc:gad349fb835926a508e2a33501c0dff6a2"><td class="mdescLeft"> </td><td class="mdescRight">Get driver version. <a href="#gad349fb835926a508e2a33501c0dff6a2">More...</a><br/></td></tr>
- <tr class="separator:gad349fb835926a508e2a33501c0dff6a2"><td class="memSeparator" colspan="2"> </td></tr>
- <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> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#ga3496996799a4762e9958a8b6af683b4b">ARM_WIFI_GetCapabilities</a> (void)</td></tr>
- <tr class="memdesc:ga3496996799a4762e9958a8b6af683b4b"><td class="mdescLeft"> </td><td class="mdescRight">Get driver capabilities. <a href="#ga3496996799a4762e9958a8b6af683b4b">More...</a><br/></td></tr>
- <tr class="separator:ga3496996799a4762e9958a8b6af683b4b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gadc4b9aaae0fdf7d489b1d81e3c2f3474"><td class="memItemLeft" align="right" valign="top">int32_t </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>
- <tr class="memdesc:gadc4b9aaae0fdf7d489b1d81e3c2f3474"><td class="mdescLeft"> </td><td class="mdescRight">Initialize WiFi Module. <a href="#gadc4b9aaae0fdf7d489b1d81e3c2f3474">More...</a><br/></td></tr>
- <tr class="separator:gadc4b9aaae0fdf7d489b1d81e3c2f3474"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gae1e488d4ecc365e30712e6b1711a9c5d"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html#gae1e488d4ecc365e30712e6b1711a9c5d">ARM_WIFI_Uninitialize</a> (void)</td></tr>
- <tr class="memdesc:gae1e488d4ecc365e30712e6b1711a9c5d"><td class="mdescLeft"> </td><td class="mdescRight">De-initialize WiFi Module. <a href="#gae1e488d4ecc365e30712e6b1711a9c5d">More...</a><br/></td></tr>
- <tr class="separator:gae1e488d4ecc365e30712e6b1711a9c5d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga48d4cb7c00e96d2b928cc4468d4e623b"><td class="memItemLeft" align="right" valign="top">int32_t </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>
- <tr class="memdesc:ga48d4cb7c00e96d2b928cc4468d4e623b"><td class="mdescLeft"> </td><td class="mdescRight">Control WiFi Module Power. <a href="#ga48d4cb7c00e96d2b928cc4468d4e623b">More...</a><br/></td></tr>
- <tr class="separator:ga48d4cb7c00e96d2b928cc4468d4e623b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:gabdc4c9966a3f22ac6e53119e71e67579"><td class="memItemLeft" align="right" valign="top">int32_t </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>
- <tr class="memdesc:gabdc4c9966a3f22ac6e53119e71e67579"><td class="mdescLeft"> </td><td class="mdescRight">Get Module information. <a href="#gabdc4c9966a3f22ac6e53119e71e67579">More...</a><br/></td></tr>
- <tr class="separator:gabdc4c9966a3f22ac6e53119e71e67579"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ga0c8243dee4bb161132692516f048bcec"><td class="memItemLeft" align="right" valign="top">void </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>
- <tr class="memdesc:ga0c8243dee4bb161132692516f048bcec"><td class="mdescLeft"> </td><td class="mdescRight">Signal WiFi Events. <a href="#ga0c8243dee4bb161132692516f048bcec">More...</a><br/></td></tr>
- <tr class="separator:ga0c8243dee4bb161132692516f048bcec"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
- <p>Control functions for the WiFi module. </p>
- <p>The <a class="el" href="group__wifi__control__gr.html">WiFi Control</a> functions setup and control the WiFi module. </p>
- <hr/><h2 class="groupheader">Data Structure Documentation</h2>
- <a name="structARM__WIFI__CAPABILITIES" id="structARM__WIFI__CAPABILITIES"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">struct ARM_WIFI_CAPABILITIES</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <div class="textblock"><p>WiFi Driver Capabilities. </p>
- <p>A WiFi driver can be implemented with different capabilities. The data fields of this structure encode the capabilities implemented by this driver.</p>
- <p><b>Returned by:</b></p>
- <ul>
- <li><a class="el" href="group__wifi__control__gr.html#ga3496996799a4762e9958a8b6af683b4b">ARM_WIFI_GetCapabilities</a> </li>
- </ul>
- </div><table class="fieldtable">
- <tr><th colspan="3">Data Fields</th></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="a3c9e76f6560429efd6dcc41ffd4b67b9"></a>uint32_t</td>
- <td class="fieldname">
- station: 1</td>
- <td class="fielddoc">
- Station. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="ae980bcb85233b9c5904072246ac71dd7"></a>uint32_t</td>
- <td class="fieldname">
- ap: 1</td>
- <td class="fielddoc">
- Access Point. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="ad280904e2429375205c09e53fe8cdcb1"></a>uint32_t</td>
- <td class="fieldname">
- station_ap: 1</td>
- <td class="fielddoc">
- Concurrent Station and Access Point. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="a87476544767703fc9f45f81b16cd4429"></a>uint32_t</td>
- <td class="fieldname">
- wps_station: 1</td>
- <td class="fielddoc">
- WiFi Protected Setup (WPS) for Station. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="a7689c7dd824016b1962854a86d23d141"></a>uint32_t</td>
- <td class="fieldname">
- wps_ap: 1</td>
- <td class="fielddoc">
- WiFi Protected Setup (WPS) for Access Point. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="a9fc191093a9bc356c3d85e9cbf185620"></a>uint32_t</td>
- <td class="fieldname">
- event_ap_connect: 1</td>
- <td class="fielddoc">
- Access Point: event generated on Station connect. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="a18a7e7fe3a4f48548af6db6c825cc427"></a>uint32_t</td>
- <td class="fieldname">
- event_ap_disconnect: 1</td>
- <td class="fielddoc">
- Access Point: event generated on Station disconnect. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="ac4c6eadec013cf8a11b8eca66b809431"></a>uint32_t</td>
- <td class="fieldname">
- event_eth_rx_frame: 1</td>
- <td class="fielddoc">
- Event generated on Ethernet frame reception in bypass mode. </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="adbcc47408fb8c50d262a3be535108186"></a>uint32_t</td>
- <td class="fieldname">
- bypass_mode: 1</td>
- <td class="fielddoc">
- Bypass or pass-through mode (Ethernet interface) </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="a69ddb9c845da426f636d9dd0dbed4e7e"></a>uint32_t</td>
- <td class="fieldname">
- ip: 1</td>
- <td class="fielddoc">
- IP (UDP/TCP) (Socket interface) </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="aad13478539ad093fabafd1804acac4a2"></a>uint32_t</td>
- <td class="fieldname">
- ip6: 1</td>
- <td class="fielddoc">
- IPv6 (Socket interface) </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="aef01bbaa48bdb4fba71684d8f31eb0b1"></a>uint32_t</td>
- <td class="fieldname">
- ping: 1</td>
- <td class="fielddoc">
- Ping (ICMP) </td></tr>
- <tr><td class="fieldtype">
- <a class="anchor" id="aa43c4c21b173ada1b6b7568956f0d650"></a>uint32_t</td>
- <td class="fieldname">
- reserved: 20</td>
- <td class="fielddoc">
- Reserved (must be zero) </td></tr>
- </table>
- </div>
- </div>
- <h2 class="groupheader">Typedef Documentation</h2>
- <a class="anchor" id="gac0f04bbdd431c87a680626154c3e0a41"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">ARM_WIFI_SignalEvent_t</td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Pointer to <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> : Signal WiFi Event. </p>
- <p>Provides the typedef for the callback function <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a>.</p>
- <p><b>Parameter for:</b></p>
- <ul>
- <li><a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a> </li>
- </ul>
- </div>
- </div>
- <h2 class="groupheader">Function Documentation</h2>
- <a class="anchor" id="gad349fb835926a508e2a33501c0dff6a2"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a> ARM_WIFI_GetVersion </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get driver version. </p>
- <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>
- <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>
- <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>
- <p><b>Example:</b> </p>
- <div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
- <div class="line"><span class="keyword">static</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
- <div class="line"> </div>
- <div class="line"><span class="keywordtype">void</span> get_wifi_version (<span class="keywordtype">void</span>) {</div>
- <div class="line"> <a class="code" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a> version;</div>
- <div class="line"> </div>
- <div class="line"> wifi= &Driver_WiFi0; </div>
- <div class="line"> version = wifi-><a class="code" href="group__wifi__interface__gr.html#a8834b281da48583845c044a81566c1b3">GetVersion</a> ();</div>
- <div class="line"> <span class="keywordflow">if</span> (version.<a class="code" href="group__common__drv__gr.html#ad180da20fbde1d3dafc074af87c19540">api</a> < 0x100U) { <span class="comment">// requires at minimum API version 1.0 or higher</span></div>
- <div class="line"> <span class="comment">// error handling</span></div>
- <div class="line"> <span class="keywordflow">return</span>;</div>
- <div class="line"> }</div>
- <div class="line">}</div>
- </div><!-- fragment -->
- </div>
- </div>
- <a class="anchor" id="ga3496996799a4762e9958a8b6af683b4b"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a> ARM_WIFI_GetCapabilities </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get driver capabilities. </p>
- <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>
- <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>
- <p><b>Example:</b> </p>
- <div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
- <div class="line"><span class="keyword">static</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
- <div class="line"> </div>
- <div class="line"><span class="keywordtype">void</span> get_wifi_capabilities (<span class="keywordtype">void</span>) {</div>
- <div class="line"> <a class="code" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a> capabilities;</div>
- <div class="line"> </div>
- <div class="line"> wifi = &Driver_WiFi0; </div>
- <div class="line"> capabilities = wifi-><a class="code" href="group__wifi__interface__gr.html#a1ced805656e067b5635f1af2292b69e1">GetCapabilities</a> ();</div>
- <div class="line"> <span class="comment">// interrogate capabilities</span></div>
- <div class="line"> :</div>
- <div class="line">}</div>
- </div><!-- fragment -->
- </div>
- </div>
- <a class="anchor" id="gadc4b9aaae0fdf7d489b1d81e3c2f3474"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int32_t ARM_WIFI_Initialize </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__wifi__control__gr.html#gac0f04bbdd431c87a680626154c3e0a41">ARM_WIFI_SignalEvent_t</a> </td>
- <td class="paramname"><em>cb_event</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Initialize WiFi Module. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <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>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
- <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
- <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
- </ul>
- </dd></dl>
- <p>The function <b>ARM_WIFI_Initialize</b> initializes the WiFi module.</p>
- <p>It is called when the middleware component starts operation.</p>
- <p>The <a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a> function performs the following operations:</p>
- <ul>
- <li>Initializes the resources and peripherals required for the WiFi module.</li>
- <li>Registers the <a class="el" href="group__wifi__control__gr.html#ga0c8243dee4bb161132692516f048bcec">ARM_WIFI_SignalEvent</a> callback function.</li>
- </ul>
- <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>
- <p><b>Example:</b> </p>
- <div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
- <div class="line"><span class="keyword">static</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
- <div class="line"><span class="keyword">static</span> <a class="code" href="group__eth__interface__gr.html#structARM__ETH__MAC__ADDR">ARM_ETH_MAC_ADDR</a> own_mac_address;</div>
- <div class="line"> </div>
- <div class="line"><span class="keywordtype">void</span> initialize_wifi (<span class="keywordtype">void</span>) {</div>
- <div class="line"> wifi = &Driver_WiFi0;</div>
- <div class="line"> </div>
- <div class="line"> <span class="comment">// Initialize and Power-on WiFi Module</span></div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#a99e597db8e61d0ff834561cb710e61ad">Initialize</a> (NULL);</div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#aba8f1c8019af95ffe19c32403e3240ef">PowerControl</a> (<a class="code" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a>);</div>
- <div class="line"> </div>
- <div class="line"> <span class="comment">// Populate own_mac_address with the address to use</span></div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#a6b5e1c7fcea96ff13f6fd16d57c8b68f">SetOption</a>(<a class="code" href="group__WiFi__option.html#gafefb0fe1e5cdfb71f7f8cc7606840865">ARM_WIFI_MAC</a>, &own_mac_address, 6U);</div>
- <div class="line">}</div>
- </div><!-- fragment -->
- </div>
- </div>
- <a class="anchor" id="gae1e488d4ecc365e30712e6b1711a9c5d"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int32_t ARM_WIFI_Uninitialize </td>
- <td>(</td>
- <td class="paramtype">void </td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>De-initialize WiFi Module. </p>
- <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
- <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
- <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
- </ul>
- </dd></dl>
- <p>The function <b>ARM_WIFI_Uninitialize</b> de-initializes the resources of the WiFi module.</p>
- <p>It is called when the middleware component stops operation and releases the software resources used by the module.</p>
- <p><b>Example:</b> </p>
- <div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
- <div class="line"><span class="keyword">static</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
- <div class="line"> </div>
- <div class="line"><span class="keywordtype">void</span> uninitialize_wifi (<span class="keywordtype">void</span>) {</div>
- <div class="line"> wifi = &Driver_WiFi0;</div>
- <div class="line"> </div>
- <div class="line"> <span class="comment">// Power off and De-initialize WiFi Module</span></div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#aba8f1c8019af95ffe19c32403e3240ef">PowerControl</a> (<a class="code" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5ab6f5becc85ebd51c3dd2524a95d2ca35">ARM_POWER_OFF</a>);</div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#adcf20681a1402869ecb5c6447fada17b">Uninitialize</a> ();</div>
- <div class="line">}</div>
- </div><!-- fragment -->
- </div>
- </div>
- <a class="anchor" id="ga48d4cb7c00e96d2b928cc4468d4e623b"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int32_t ARM_WIFI_PowerControl </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a> </td>
- <td class="paramname"><em>state</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Control WiFi Module Power. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramdir">[in]</td><td class="paramname">state</td><td>Power state<ul>
- <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5ab6f5becc85ebd51c3dd2524a95d2ca35">ARM_POWER_OFF</a> : Power off: no operation possible</li>
- <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>
- <li><a class="el" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a> : Power on: full operation at maximum performance </li>
- </ul>
- </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
- <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
- <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
- <li><a class="el" href="group__execution__status.html#ga2efa59e480d82697795439220e6884e4">ARM_DRIVER_ERROR_UNSUPPORTED</a> : Operation not supported</li>
- <li><a class="el" href="group__execution__status.html#gac781d4b70ce17c4c2efe2db045be751c">ARM_DRIVER_ERROR_PARAMETER</a> : Parameter error (invalid state)</li>
- </ul>
- </dd></dl>
- <p>The function <b>ARM_WIFI_PowerControl</b> allows you to configure the power modes of the WiFi module.</p>
- <p>The parameter <em>state</em> specifies the <a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a>.</p>
- <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>
- <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>
- <li>Sleep mode is entered otherwise</li>
- </ul>
- <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>
- <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>
- <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>
- <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>
- <p>Default module intervals are used when those options are not explicitly set.</p>
- <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>
- <p><b>Example:</b> </p>
- <ul>
- <li>see <a class="el" href="group__wifi__control__gr.html#gadc4b9aaae0fdf7d489b1d81e3c2f3474">ARM_WIFI_Initialize</a></li>
- <li>see <a class="el" href="group__wifi__control__gr.html#gae1e488d4ecc365e30712e6b1711a9c5d">ARM_WIFI_Uninitialize</a> </li>
- </ul>
- </div>
- </div>
- <a class="anchor" id="gabdc4c9966a3f22ac6e53119e71e67579"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int32_t ARM_WIFI_GetModuleInfo </td>
- <td>(</td>
- <td class="paramtype">char * </td>
- <td class="paramname"><em>module_info</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>max_len</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Get Module information. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <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>
- <tr><td class="paramdir">[in]</td><td class="paramname">max_len</td><td>Maximum length of string to return (including null terminator) </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>execution status<ul>
- <li><a class="el" href="group__execution__status.html#ga85752c5de59e8adeb001e35ff5be6be7">ARM_DRIVER_OK</a> : Operation successful</li>
- <li><a class="el" href="group__execution__status.html#ga2f627075447749bb368d3b768be107cb">ARM_DRIVER_ERROR</a> : Operation failed</li>
- <li><a class="el" href="group__execution__status.html#ga2efa59e480d82697795439220e6884e4">ARM_DRIVER_ERROR_UNSUPPORTED</a> : Operation not supported</li>
- <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>
- </ul>
- </dd></dl>
- <p>The function <b>ARM_WIFI_GetModuleInfo</b> retrieves string containing information about the WiFi module.</p>
- <p>The information might include module name, firmware version, ...</p>
- <dl class="section note"><dt>Note</dt><dd>Module must be initialized and powered before module information can be retrieved.</dd></dl>
- <p><b>Example:</b> </p>
- <div class="fragment"><div class="line"><span class="keyword">extern</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> Driver_WiFi0;</div>
- <div class="line"><span class="keyword">static</span> <a class="code" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> *wifi;</div>
- <div class="line"> </div>
- <div class="line"><span class="keywordtype">void</span> initialize_wifi (<span class="keywordtype">void</span>) {</div>
- <div class="line"> <span class="keywordtype">char</span> info[32];</div>
- <div class="line"> </div>
- <div class="line"> wifi = &Driver_WiFi0;</div>
- <div class="line"> </div>
- <div class="line"> <span class="comment">// Initialize and Power-on WiFi Module</span></div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#a99e597db8e61d0ff834561cb710e61ad">Initialize</a> (NULL);</div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#aba8f1c8019af95ffe19c32403e3240ef">PowerControl</a> (<a class="code" href="Driver__Common_8h.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5abed52b77a9ce4775570e44a842b1295e">ARM_POWER_FULL</a>);</div>
- <div class="line"> </div>
- <div class="line"> <span class="comment">// Retrieve module information</span></div>
- <div class="line"> wifi-><a class="code" href="group__wifi__interface__gr.html#aa78e745bbf8257a3438700e4e6a8d222">GetModuleInfo</a>(&info, <span class="keyword">sizeof</span>(info));</div>
- <div class="line">}</div>
- </div><!-- fragment -->
- </div>
- </div>
- <a class="anchor" id="ga0c8243dee4bb161132692516f048bcec"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void ARM_WIFI_SignalEvent </td>
- <td>(</td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>event</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void * </td>
- <td class="paramname"><em>arg</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Signal WiFi Events. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <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>
- <tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Pointer to argument of signaled event </td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>none</dd></dl>
- <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>
- <p>The parameter <em>event</em> indicates the event that occurred during driver operation.</p>
- <p>The parameter <em>arg</em> provides additional information about the event.</p>
- <p>The following events can be generated:</p>
- <table class="doxtable">
- <tr>
- <th align="left">Parameter <em>event</em> </th><th align="left">Description </th></tr>
- <tr>
- <td align="left"><a class="el" href="group__wifi__event.html#ga4a87b9a3c3a404e3917d54df98469a62">ARM_WIFI_EVENT_AP_CONNECT</a> </td><td align="left">Occurs in access point mode when a station has connected to the access point. </td></tr>
- <tr>
- <td align="left"><a class="el" href="group__wifi__event.html#ga271e73cda122e7ec3c5a5ca71d44eae3">ARM_WIFI_EVENT_AP_DISCONNECT</a> </td><td align="left">Occurs in access point mode when a station has disconnected from the access point. </td></tr>
- <tr>
- <td align="left"><a class="el" href="group__wifi__event.html#ga833f2c7a47bd2523d7a62ff6506a997f">ARM_WIFI_EVENT_ETH_RX_FRAME</a> </td><td align="left">Occurs in <a class="el" href="group__wifi__bypass__gr.html">WiFi Bypass Mode</a> when an ethernet frame is received. </td></tr>
- </table>
- </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="footer">Generated on Thu Apr 9 2020 15:49:16 for CMSIS-Driver Version 2.8.0 by Arm Ltd. All rights reserved.
- <!--
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6
- -->
- </li>
- </ul>
- </div>
- </body>
- </html>
|