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

Revision:
10:735194df0097
Child:
11:ea484e1b7fc4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/html/index.html	Mon Aug 11 21:59:00 2014 -0700
@@ -0,0 +1,124 @@
+<!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"/>
+<meta name="generator" content="Doxygen 1.8.7"/>
+<title>WiConnect Library: WiConnect Library Overview</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</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: 56px;">
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">WiConnect Library
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.7 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></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('index.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="headertitle">
+<div class="title">WiConnect Library Overview </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><h1><a class="anchor" id="Overview"></a>
+Overview</h1>
+<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>
+<h1><a class="anchor" id="notes"></a>
+Important Notes</h1>
+<ul>
+<li>This class is implemented as a 'singleton'. This means it only needs to be instantiated once.</li>
+<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>
+</ul>
+<h1><a class="anchor" id="features"></a>
+Library Settings</h1>
+<p>The WiConnect Library has multiple settings so as to allow for the most flexibility within a user's application.</p>
+<p>Some of these configurations are as follows:</p><ul>
+<li>Blocking / Non-blocking</li>
+<li>Dynamic / Static allocation</li>
+<li>Asynchronous Processing</li>
+</ul>
+<h2><a class="anchor" id="setting_blocking_modes"></a>
+Blocking / Non-blocking Modes</h2>
+<p>The WiConnect Library may be configured for either 'blocking' or 'non-blocking' operation:</p><ul>
+<li>blocking - API calls do not return until they complete successfully or timeout.</li>
+<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>
+</ul>
+<h3><a class="anchor" id="setting_blocking_mode"></a>
+Blocking Mode</h3>
+<p>In blocking mode, an API function will block until it completes. TODO: more details here</p>
+<h3><a class="anchor" id="setting_nonblocking_mode"></a>
+Non-Blocking Mode</h3>
+<p>In non-blocking mode, an API function returns immediately. TODO: more details here</p>
+<h2><a class="anchor" id="setting_alloc"></a>
+Dynamic / Static Allocation</h2>
+<p>There are two cases when memory allocation is required:</p><ul>
+<li>Buffer allocation</li>
+<li>Class instantiation</li>
+</ul>
+<p>In both cases, either static or dynamic memory allocation may be used.</p>
+<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>
+<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>
+<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>
+<dd>
+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>
+<h2><a class="anchor" id="setting_async_processing"></a>
+Asynchronous Processing</h2>
+<p>When applicable, the WiConnect Library will asynchronously process commands in the background. When the background processing completes, the supplied callback is called.</p>
+<p>User commands may also be executed in the background using the enqueueCommand() API function.</p>
+<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>
+<h1><a class="anchor" id="send_command_desc"></a>
+Sending Commands To WiFi Module</h1>
+<p>TODO: add detailed description here </p>
+</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 Mon Aug 11 2014 21:58:25 for WiConnect Library by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.7 </li>
+  </ul>
+</div>
+</body>
+</html>