Host library for controlling a WiConnect enabled Wi-Fi module.

Dependents:   wiconnect-ota_example wiconnect-web_setup_example wiconnect-test-console wiconnect-tcp_server_example ... more

Committer:
dan_ackme
Date:
Mon Aug 11 21:59:00 2014 -0700
Revision:
10:735194df0097
Child:
11:ea484e1b7fc4
added doc files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dan_ackme 10:735194df0097 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
dan_ackme 10:735194df0097 2 <html xmlns="http://www.w3.org/1999/xhtml">
dan_ackme 10:735194df0097 3 <head>
dan_ackme 10:735194df0097 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
dan_ackme 10:735194df0097 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
dan_ackme 10:735194df0097 6 <meta name="generator" content="Doxygen 1.8.7"/>
dan_ackme 10:735194df0097 7 <title>WiConnect Library: WiConnect Library Overview</title>
dan_ackme 10:735194df0097 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
dan_ackme 10:735194df0097 9 <script type="text/javascript" src="jquery.js"></script>
dan_ackme 10:735194df0097 10 <script type="text/javascript" src="dynsections.js"></script>
dan_ackme 10:735194df0097 11 <link href="navtree.css" rel="stylesheet" type="text/css"/>
dan_ackme 10:735194df0097 12 <script type="text/javascript" src="resize.js"></script>
dan_ackme 10:735194df0097 13 <script type="text/javascript" src="navtree.js"></script>
dan_ackme 10:735194df0097 14 <script type="text/javascript">
dan_ackme 10:735194df0097 15 $(document).ready(initResizable);
dan_ackme 10:735194df0097 16 $(window).load(resizeHeight);
dan_ackme 10:735194df0097 17 </script>
dan_ackme 10:735194df0097 18 <link href="doxygen.css" rel="stylesheet" type="text/css" />
dan_ackme 10:735194df0097 19 </head>
dan_ackme 10:735194df0097 20 <body>
dan_ackme 10:735194df0097 21 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
dan_ackme 10:735194df0097 22 <div id="titlearea">
dan_ackme 10:735194df0097 23 <table cellspacing="0" cellpadding="0">
dan_ackme 10:735194df0097 24 <tbody>
dan_ackme 10:735194df0097 25 <tr style="height: 56px;">
dan_ackme 10:735194df0097 26 <td style="padding-left: 0.5em;">
dan_ackme 10:735194df0097 27 <div id="projectname">WiConnect Library
dan_ackme 10:735194df0097 28 </div>
dan_ackme 10:735194df0097 29 </td>
dan_ackme 10:735194df0097 30 </tr>
dan_ackme 10:735194df0097 31 </tbody>
dan_ackme 10:735194df0097 32 </table>
dan_ackme 10:735194df0097 33 </div>
dan_ackme 10:735194df0097 34 <!-- end header part -->
dan_ackme 10:735194df0097 35 <!-- Generated by Doxygen 1.8.7 -->
dan_ackme 10:735194df0097 36 <div id="navrow1" class="tabs">
dan_ackme 10:735194df0097 37 <ul class="tablist">
dan_ackme 10:735194df0097 38 <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
dan_ackme 10:735194df0097 39 <li><a href="modules.html"><span>Modules</span></a></li>
dan_ackme 10:735194df0097 40 <li><a href="annotated.html"><span>Classes</span></a></li>
dan_ackme 10:735194df0097 41 <li><a href="files.html"><span>Files</span></a></li>
dan_ackme 10:735194df0097 42 </ul>
dan_ackme 10:735194df0097 43 </div>
dan_ackme 10:735194df0097 44 </div><!-- top -->
dan_ackme 10:735194df0097 45 <div id="side-nav" class="ui-resizable side-nav-resizable">
dan_ackme 10:735194df0097 46 <div id="nav-tree">
dan_ackme 10:735194df0097 47 <div id="nav-tree-contents">
dan_ackme 10:735194df0097 48 <div id="nav-sync" class="sync"></div>
dan_ackme 10:735194df0097 49 </div>
dan_ackme 10:735194df0097 50 </div>
dan_ackme 10:735194df0097 51 <div id="splitbar" style="-moz-user-select:none;"
dan_ackme 10:735194df0097 52 class="ui-resizable-handle">
dan_ackme 10:735194df0097 53 </div>
dan_ackme 10:735194df0097 54 </div>
dan_ackme 10:735194df0097 55 <script type="text/javascript">
dan_ackme 10:735194df0097 56 $(document).ready(function(){initNavTree('index.html','');});
dan_ackme 10:735194df0097 57 </script>
dan_ackme 10:735194df0097 58 <div id="doc-content">
dan_ackme 10:735194df0097 59 <div class="header">
dan_ackme 10:735194df0097 60 <div class="headertitle">
dan_ackme 10:735194df0097 61 <div class="title">WiConnect Library Overview </div> </div>
dan_ackme 10:735194df0097 62 </div><!--header-->
dan_ackme 10:735194df0097 63 <div class="contents">
dan_ackme 10:735194df0097 64 <div class="textblock"><h1><a class="anchor" id="Overview"></a>
dan_ackme 10:735194df0097 65 Overview</h1>
dan_ackme 10:735194df0097 66 <p>The WiConnect Library runs on a host MCU and controls a WiConnect enabled WiFi module. This library is essentially a programming API for the WiConnect serial command set. More infomation about the serial command set may be found here: <a href="http://wiconnect.ack.me" target="_blank">WiConnect Reference Guide</a></p>
dan_ackme 10:735194df0097 67 <h1><a class="anchor" id="notes"></a>
dan_ackme 10:735194df0097 68 Important Notes</h1>
dan_ackme 10:735194df0097 69 <ul>
dan_ackme 10:735194df0097 70 <li>This class is implemented as a 'singleton'. This means it only needs to be instantiated once.</li>
dan_ackme 10:735194df0097 71 <li>The WiConnect library does NOT call the global 'new' or 'malloc' functions. All memory allocation (if required) comes from a user supplied malloc function pointer or buffer</li>
dan_ackme 10:735194df0097 72 </ul>
dan_ackme 10:735194df0097 73 <h1><a class="anchor" id="features"></a>
dan_ackme 10:735194df0097 74 Library Settings</h1>
dan_ackme 10:735194df0097 75 <p>The WiConnect Library has multiple settings so as to allow for the most flexibility within a user's application.</p>
dan_ackme 10:735194df0097 76 <p>Some of these configurations are as follows:</p><ul>
dan_ackme 10:735194df0097 77 <li>Blocking / Non-blocking</li>
dan_ackme 10:735194df0097 78 <li>Dynamic / Static allocation</li>
dan_ackme 10:735194df0097 79 <li>Asynchronous Processing</li>
dan_ackme 10:735194df0097 80 </ul>
dan_ackme 10:735194df0097 81 <h2><a class="anchor" id="setting_blocking_modes"></a>
dan_ackme 10:735194df0097 82 Blocking / Non-blocking Modes</h2>
dan_ackme 10:735194df0097 83 <p>The WiConnect Library may be configured for either 'blocking' or 'non-blocking' operation:</p><ul>
dan_ackme 10:735194df0097 84 <li>blocking - API calls do not return until they complete successfully or timeout.</li>
dan_ackme 10:735194df0097 85 <li>non-blocking - API calls return immediately. The caller should check the return code to see if the command is still processing, completed, or an error occurred. The caller should continue to call the API function (as often as possible) until it returns either a success or error code.</li>
dan_ackme 10:735194df0097 86 </ul>
dan_ackme 10:735194df0097 87 <h3><a class="anchor" id="setting_blocking_mode"></a>
dan_ackme 10:735194df0097 88 Blocking Mode</h3>
dan_ackme 10:735194df0097 89 <p>In blocking mode, an API function will block until it completes. TODO: more details here</p>
dan_ackme 10:735194df0097 90 <h3><a class="anchor" id="setting_nonblocking_mode"></a>
dan_ackme 10:735194df0097 91 Non-Blocking Mode</h3>
dan_ackme 10:735194df0097 92 <p>In non-blocking mode, an API function returns immediately. TODO: more details here</p>
dan_ackme 10:735194df0097 93 <h2><a class="anchor" id="setting_alloc"></a>
dan_ackme 10:735194df0097 94 Dynamic / Static Allocation</h2>
dan_ackme 10:735194df0097 95 <p>There are two cases when memory allocation is required:</p><ul>
dan_ackme 10:735194df0097 96 <li>Buffer allocation</li>
dan_ackme 10:735194df0097 97 <li>Class instantiation</li>
dan_ackme 10:735194df0097 98 </ul>
dan_ackme 10:735194df0097 99 <p>In both cases, either static or dynamic memory allocation may be used.</p>
dan_ackme 10:735194df0097 100 <p>In cases when memory allocation is needed, the API call requires a buffer pointer and length parameters. If both are supplied, the library uses the supplied external buffer. This is considered static allocation (however the buffer could have been dynamically allocated). The caller is responsible for maintaining the supplied buffer.</p>
dan_ackme 10:735194df0097 101 <p>If, however, only the buffer length is supplied and the buffer pointer is NULL the Wiconnect Library will call the user supplied malloc() function. This is considered dynamic allocation. In this case, the library will maintain the buffer and release it when necessary using the user supplied free() function.</p>
dan_ackme 10:735194df0097 102 <dl class="section note"><dt>Note</dt><dd>To use dynamic allocation the WiConnect Library must be compiled with WICONNECT_ENABLE_MALLOC defined, and the Wiconnect() constructor must be supplied with pointers to malloc() and free() functions.</dd>
dan_ackme 10:735194df0097 103 <dd>
dan_ackme 10:735194df0097 104 The Wiconnect Library does NOT call the global 'new' operator. Classes that are internally instantiated overload the 'new' operator and either call the user supplied malloc() function or use the supplied static buffer.</dd></dl>
dan_ackme 10:735194df0097 105 <h2><a class="anchor" id="setting_async_processing"></a>
dan_ackme 10:735194df0097 106 Asynchronous Processing</h2>
dan_ackme 10:735194df0097 107 <p>When applicable, the WiConnect Library will asynchronously process commands in the background. When the background processing completes, the supplied callback is called.</p>
dan_ackme 10:735194df0097 108 <p>User commands may also be executed in the background using the enqueueCommand() API function.</p>
dan_ackme 10:735194df0097 109 <dl class="section note"><dt>Note</dt><dd>The WiConnect Library must be compiled with WICONNECT_ASYNC_TIMER_ENABLED defined for background processing to be enabled.</dd></dl>
dan_ackme 10:735194df0097 110 <h1><a class="anchor" id="send_command_desc"></a>
dan_ackme 10:735194df0097 111 Sending Commands To WiFi Module</h1>
dan_ackme 10:735194df0097 112 <p>TODO: add detailed description here </p>
dan_ackme 10:735194df0097 113 </div></div><!-- contents -->
dan_ackme 10:735194df0097 114 </div><!-- doc-content -->
dan_ackme 10:735194df0097 115 <!-- start footer part -->
dan_ackme 10:735194df0097 116 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
dan_ackme 10:735194df0097 117 <ul>
dan_ackme 10:735194df0097 118 <li class="footer">Generated on Mon Aug 11 2014 21:58:25 for WiConnect Library by
dan_ackme 10:735194df0097 119 <a href="http://www.doxygen.org/index.html">
dan_ackme 10:735194df0097 120 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.7 </li>
dan_ackme 10:735194df0097 121 </ul>
dan_ackme 10:735194df0097 122 </div>
dan_ackme 10:735194df0097 123 </body>
dan_ackme 10:735194df0097 124 </html>