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
README.h
00001 /** 00002 * @mainpage Library Overview 00003 * 00004 * @section Overview 00005 * The WiConnect Library runs on a host MCU and controls a 00006 * WiConnect enabled WiFi module. This library is essentially a 00007 * programming API for the WiConnect serial command set. 00008 * More infomation about the serial command set may be found here: 00009 * <a href="http://wiconnect.ack.me" target="_blank">WiConnect Reference Guide</a> 00010 * 00011 * @if mbed_sdk 00012 * The library may be downloaded from here: <a href="http://developer.mbed.org/teams/ACKme/code/WiConnect/" target="_blank">WiConnect Repository</a> 00013 * @else 00014 * The library may be downloaded from here: <a href="https://bitbucket.org/ackme/ackme_wiconnect_library/src" target="_blank">WiConnect Repository</a> 00015 * @endif 00016 * 00017 * @section notes Important Notes 00018 * - This class is implemented as a 'singleton'. This means it only needs to be 00019 * instantiated once. 00020 * - The WiConnect library does NOT call the global 'new' or 'malloc' functions. 00021 * All memory allocation (if required) comes from a user supplied malloc function pointer or buffer 00022 * 00023 * 00024 * @section features Library Settings 00025 * The WiConnect Library has multiple settings so as to allow 00026 * for the most flexibility within a user's application. 00027 * 00028 * Some of these configurations are as follows: 00029 * - Blocking / Non-blocking 00030 * - Dynamic / Static allocation 00031 * - Asynchronous Processing 00032 * 00033 * 00034 * @subsection setting_blocking_modes Blocking / Non-blocking Modes 00035 * The WiConnect Library may be configured for either 'blocking' or 00036 * 'non-blocking' operation: 00037 * - blocking - API calls do not return until they complete successfully or timeout. 00038 * - non-blocking - API calls return immediately. The caller should check the return code to see 00039 * if the command is still processing, completed, or an error occurred. The caller 00040 * should continue to call the API function (as often as possible) until it returns 00041 * either a success or error code. 00042 * 00043 * @subsubsection setting_blocking_mode Blocking Mode 00044 * In blocking mode, an API function will block until it completes. 00045 * More details to come... 00046 * 00047 * @subsubsection setting_nonblocking_mode Non-Blocking Mode 00048 * In non-blocking mode, an API function returns immediately. 00049 * More details to come... 00050 * 00051 * 00052 * 00053 * @subsection setting_alloc Dynamic / Static Allocation 00054 * There are two cases when memory allocation is required: 00055 * - Buffer allocation 00056 * - Class instantiation 00057 * 00058 * In both cases, either static or dynamic memory allocation may be used. 00059 * 00060 * In cases when memory allocation is needed, the API call requires a buffer pointer 00061 * and length parameters. If both are supplied, the library uses the supplied external buffer. 00062 * This is considered static allocation (however the buffer could have been dynamically allocated). 00063 * The caller is responsible for maintaining the supplied buffer. 00064 * 00065 * If, however, only the buffer length is supplied and the buffer pointer is NULL 00066 * the Wiconnect Library will call the user supplied malloc() function. This is considered 00067 * dynamic allocation. In this case, the library will maintain the buffer and release it 00068 * when necessary using the user supplied free() function. 00069 * 00070 * @note To use dynamic allocation the WiConnect Library must be compiled with 00071 * @ref WICONNECT_ENABLE_MALLOC defined, and the Wiconnect() constructor must be 00072 * supplied with pointers to malloc() and free() functions. 00073 * 00074 * @note The Wiconnect Library does NOT call the global 'new' operator. Classes that are 00075 * internally instantiated overload the 'new' operator and either call the user 00076 * supplied malloc() function or use the supplied static buffer. 00077 * 00078 * 00079 * @subsection setting_async_processing Asynchronous Processing 00080 * When applicable, the WiConnect Library will asynchronously process 00081 * commands in the background. When the background processing completes, the 00082 * supplied callback is called. 00083 * 00084 * User commands may also be executed in the background using the enqueueCommand() 00085 * API function. 00086 * 00087 * @note The WiConnect Library must be compiled with @ref WICONNECT_ASYNC_TIMER_ENABLED 00088 * defined for background processing to be enabled. 00089 * 00090 * 00091 * 00092 * @section send_command_desc Sending Commands To WiFi Module 00093 * More details to come... 00094 * 00095 * 00096 */ 00097 00098 // ---------------------------------------------------------------------------- 00099 00100 /** 00101 * @defgroup api_core Core 00102 * @brief This contains all core related operations 00103 * 00104 * @{ 00105 */ 00106 00107 /** 00108 * @defgroup api_core_settings Settings Methods 00109 * @brief API getters/setters for core library settings 00110 */ 00111 00112 /** 00113 * @defgroup api_core_send_command Send Command Methods 00114 * @brief API methods for sending commands to WiConnect WiFi module 00115 */ 00116 00117 /** 00118 * @defgroup api_core_misc Miscellaneous Methods 00119 * @brief Other core methods 00120 */ 00121 00122 /** 00123 * @defgroup api_core_types Types 00124 * @brief Core Types 00125 */ 00126 00127 00128 /** 00129 * @defgroup api_core_macro Macros 00130 * @brief Core macros 00131 */ 00132 00133 /** 00134 * @defgroup api_core_examples Examples 00135 * @brief Core examples 00136 * @if mbed_sdk 00137 * * @ref ota/example.cpp 00138 * @endif 00139 */ 00140 00141 // @} 00142 00143 00144 // ---------------------------------------------------------------------------- 00145 00146 /** 00147 * @defgroup api_network Network 00148 * @brief This contains all network related operations 00149 * 00150 * @{ 00151 */ 00152 00153 /** 00154 * @defgroup api_network_settings Settings Methods 00155 * @brief API getters/setters for module network settings 00156 */ 00157 00158 /** 00159 * @defgroup api_network_wlan WLAN Methods 00160 * @brief Methods for joining/leaving a WLAN 00161 */ 00162 00163 /** 00164 * @defgroup api_network_setup Web Setup Methods 00165 * @brief Methods for enabled/disabling module web setup 00166 */ 00167 00168 /** 00169 * @defgroup api_network_util Utility Methods 00170 * @brief Network utility methods 00171 */ 00172 00173 /** 00174 * @defgroup api_network_types Types 00175 * @brief Network Types 00176 */ 00177 00178 /** 00179 * @defgroup api_network_macros Macros 00180 * @brief Network specific macros 00181 */ 00182 00183 /** 00184 * @defgroup api_network_examples Examples 00185 * @brief Network examples 00186 * @if mbed_sdk 00187 * * @ref web_setup/example.cpp 00188 * * @ref join/example.cpp 00189 * * @ref tcp_echo_client/main.cpp 00190 * * @ref udp_echo_client/main.cpp 00191 * @elseif arduino_sdk 00192 * * @ref ConnectNoEncryption/ConnectNoEncryption.cpp 00193 * * @ref ConnectWithWPA/ConnectWithWPA.cpp 00194 * @endif 00195 */ 00196 00197 // @} 00198 00199 00200 // ---------------------------------------------------------------------------- 00201 00202 /** 00203 * @defgroup api_socket Socket 00204 * @brief This contains all socket related operations 00205 * 00206 * @{ 00207 */ 00208 00209 /** 00210 * @defgroup api_socket_tcp TCP Methods 00211 * @brief TCP methods 00212 */ 00213 00214 /** 00215 * @defgroup api_socket_udp UDP Methods 00216 * @brief UDP methods 00217 */ 00218 00219 /** 00220 * @defgroup api_socket_tls TLS Methods 00221 * @brief TLS methods 00222 */ 00223 00224 /** 00225 * @defgroup api_socket_http HTTP Methods 00226 * @brief HTTP methods 00227 */ 00228 00229 /** 00230 * @defgroup api_socket_misc Miscellaneous Methods 00231 * @brief Miscellaneous socket methods 00232 */ 00233 00234 /** 00235 * @defgroup api_socket_types Types 00236 * @brief Socket Types 00237 */ 00238 00239 /** 00240 * @defgroup api_socket_macro Macros 00241 * @brief Socket specific macros 00242 */ 00243 00244 /** 00245 * @defgroup api_socket_examples Examples 00246 * @brief Socket examples 00247 * @if mbed_sdk 00248 * * @ref http_get/example.cpp 00249 * * @ref tcp_server/example.cpp 00250 * @elseif arduino_sdk 00251 * * @ref SimpleWebServerWiFi/SimpleWebServerWiFi.cpp 00252 * * @ref WiFiChatServer/WiFiChatServer.cpp 00253 * * @ref WiFiUdpNtpClient/WiFiUdpNtpClient.cpp 00254 * * @ref WiFiUdpSendReceiveString/WiFiUdpSendReceiveString.cpp 00255 * * @ref WiFiWebClient/WiFiWebClient.cpp 00256 * * @ref WiFiWebClientRepeating/WiFiWebClientRepeating.cpp 00257 * * @ref WiFiWebServer/WiFiWebServer.cpp 00258 * @endif 00259 * 00260 */ 00261 00262 // @} 00263 00264 00265 // ---------------------------------------------------------------------------- 00266 00267 /** 00268 * @defgroup api_file File 00269 * @brief This contains all file related operations 00270 * 00271 * @{ 00272 */ 00273 00274 /** 00275 * @defgroup api_file_methods Methods 00276 * @brief File methods 00277 */ 00278 00279 /** 00280 * @defgroup api_file_types Types 00281 * @brief File types 00282 */ 00283 00284 /** 00285 * @defgroup api_file_macro Macros 00286 * @brief API specific macros 00287 */ 00288 00289 /** 00290 * @defgroup api_file_examples Examples 00291 * @brief File examples 00292 */ 00293 00294 // @} 00295 00296 // ---------------------------------------------------------------------------- 00297 00298 /** 00299 * @defgroup api_ghm goHACK.me 00300 * @brief This contains all goHACK.me related operations 00301 * 00302 * @{ 00303 */ 00304 00305 /** 00306 * @defgroup api_ghm_activate Activation 00307 * @brief Methods for activating/deactivating the module with http://goHACK.me 00308 */ 00309 00310 /** 00311 * @defgroup api_ghm_com Read/Write 00312 * @brief Methods for reading & writing data from/to http://goHACK.me 00313 */ 00314 00315 /** 00316 * @defgroup api_ghm_msg Message 00317 * @brief Methods for getting, posting, listing, deleting messages wtih http://goHACK.me 00318 */ 00319 00320 /** 00321 * @defgroup api_ghm_types Types 00322 * @brief goHACK.me Types 00323 */ 00324 00325 /** 00326 * @defgroup api_ghm_macro Macros 00327 * @brief API specific macros 00328 */ 00329 00330 /** 00331 * @defgroup api_ghm_examples Examples 00332 * @brief goHACK.me examples 00333 * @if mbed_sdk 00334 * @elseif arduino_sdk 00335 * * @ref GhmLedMatrix/GhmLedMatrix.cpp 00336 * @endif 00337 */ 00338 00339 // @} 00340 00341 // ---------------------------------------------------------------------------- 00342 00343 /** 00344 * @defgroup conversion_util Conversion Utilities 00345 * @brief This contains all the conversion utility static functions. 00346 * 00347 */ 00348 00349
Generated on Tue Jul 12 2022 17:35:58 by 1.7.2