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 29:b6af04b77a56, committed 2014-10-27
- Comitter:
- dan_ackme
- Date:
- Mon Oct 27 13:42:26 2014 -0700
- Parent:
- 28:3c52f578708a
- Child:
- 30:fe5d89951afb
- Commit message:
- refactored library layout
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AsyncCommand.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,116 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "internal/CommandCommon.h" + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + + + +/*************************************************************************************************/ +WiconnectResult Wiconnect::enqueueCommand(QueuedCommand *command, const Callback &commandCompleteHandler) +{ + if(commandQueue.isFull()) + { + return WICONNECT_OVERFLOW; + } + command->setCompletedCallback(commandCompleteHandler); + DEBUG_INFO("Queuing command: %s", command->getCommand()); + commandQueue.push(command); + processNextQueuedCommand(); + return WICONNECT_SUCCESS; +} + +/*************************************************************************************************/ +void Wiconnect::processNextQueuedCommand() +{ + if(commandQueue.isEmpty()) + { + return; + } + else if(commandExecuting) + { + return; + } + + CommandContext *context = (CommandContext*)commandContext; + CommandHeader *header = (CommandHeader*)commandHeaderBuffer; + + commandExecuting = true; + currentQueuedCommand = commandQueue.pop(); + + DEBUG_INFO("Processing next cmd in queue"); + + strcpy(commandFormatBuffer, currentQueuedCommand->command); + + RESET_CMD_HEADER(header); + + memset(context, 0, sizeof(CommandContext)); + if(currentQueuedCommand->responseBufferLen > 0) + { + context->responseBuffer = currentQueuedCommand->responseBuffer; + context->responseBufferLen = currentQueuedCommand->responseBufferLen; + } + else + { + context->responseBuffer = internalBuffer; + context->responseBufferLen = internalBufferSize; + } + + context->responseBufferPtr = context->responseBuffer; + context->commandLen = strlen(commandFormatBuffer); + context->commandPtr = commandFormatBuffer; + context->reader = currentQueuedCommand->reader; + context->user = currentQueuedCommand->userData; + context->timeoutMs = currentQueuedCommand->timeoutMs; + context->callback = currentQueuedCommand->completeCallback; + context->nonBlocking = true; + + DEBUG_CMD_SEND(commandFormatBuffer); + + commandExecuting = true; + timeoutTimer.reset(); + + commandProcessorTimer.start(this, &Wiconnect::commandProcessingTimerHandler, commandProcessingPeriod); +} + +/*************************************************************************************************/ +void Wiconnect::setCommandProcessingPeriod(uint32_t periodMs) +{ + commandProcessingPeriod = periodMs; +} + +/*************************************************************************************************/ +void Wiconnect::commandProcessingTimerHandler() +{ + checkCurrentCommand(); +} + +#endif +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Endpoint.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,86 @@ +/* Copyright (C) 2012 mbed.org, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#include "api/types/Socket/Socket.h" +#include "api/types/Socket/Endpoint.h" +#include <cstring> +#include <cstdio> + + + +/*************************************************************************************************/ +Endpoint::Endpoint() +{ + reset_address(); +} + +/*************************************************************************************************/ +Endpoint::~Endpoint() {} + +/*************************************************************************************************/ +void Endpoint::reset_address(void) +{ + std::memset(&_remoteHost, 0, sizeof(struct sockaddr_in)); + _ipAddress[0] = '\0'; +} + +/*************************************************************************************************/ +int Endpoint::set_address(const char* host, const int port) +{ + reset_address(); + + // IP Address + char address[5]; + char *p_address = address; + + // Dot-decimal notation + int result = std::sscanf(host, "%3u.%3u.%3u.%3u", + (unsigned int*)&address[0], (unsigned int*)&address[1], + (unsigned int*)&address[2], (unsigned int*)&address[3]); + + if (result != 4) + { + // Resolve address with DNS + struct hostent *host_address = gethostbyname(host); + if (host_address == NULL) + return -1; //Could not resolve address + p_address = (char*)host_address->h_addr_list[0]; + } + std::memcpy((char*)&_remoteHost.sin_addr.s_addr, p_address, 4); + + // Address family + _remoteHost.sin_family = AF_INET; + + // Set port + _remoteHost.sin_port = htons(port); + + return 0; +} + +/*************************************************************************************************/ +char* Endpoint::get_address() +{ + if ((_ipAddress[0] == '\0') && (_remoteHost.sin_addr.s_addr != 0)) + inet_ntoa_r(_remoteHost.sin_addr, _ipAddress, sizeof(_ipAddress)); + return _ipAddress; +} + +/*************************************************************************************************/ +int Endpoint::get_port() +{ + return ntohs(_remoteHost.sin_port); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FileInterface.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,226 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + +/*************************************************************************************************/ +FileInterface::FileInterface(Wiconnect *wiconnect_) +{ + wiconnect = wiconnect_; +} + +/*************************************************************************************************/ +WiconnectResult FileInterface::openFile(WiconnectFile &file, const char *name) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("fop %s", name))) + { + int32_t handle; + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&handle))) + { + file.openForRead(handle, name); + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult FileInterface::createFile(const ReaderFunc &reader, void *user, const char *name, uint32_t size, uint32_t version, FileType type, bool isEssential, int32_t checksum) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + char *ptr = cmdBuffer; + + ptr += sprintf(cmdBuffer, "fcr %s%s %u", isEssential ? "-e " : "", name, (unsigned int)size); + + if(version != 0) + { + *ptr = ' '; + ++ptr; + FileInterface::fileVersionIntToStr(version, true, ptr); + ptr = ptr + strlen(ptr); + } + if(type != FILE_TYPE_ANY) + { + ptr += sprintf(ptr, " %X", type); + } + if(checksum != -1) + { + ptr += sprintf(ptr, " %X", (unsigned int)checksum); + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(reader, user, (const char *)cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + +/*************************************************************************************************/ +WiconnectResult FileInterface::deleteFile(const char *name) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand("fde %s", name); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult FileInterface::deleteFile(const WiconnectFile &file) +{ + return deleteFile(file.getName()); +} + + +/*************************************************************************************************/ +const char* FileInterface::fileVersionIntToStr(uint32_t version, bool verbose, char *buffer) +{ + SET_STR_BUFFER(buffer, 32); + const char *fmt = verbose ? "%u.%u.%u.%u" : "%u.%u.%u"; + sprintf(ptr, fmt, FILE_VERSION_ARGS(version)); + return ptr; +} + +/*************************************************************************************************/ +bool FileInterface::fileVersionStrToInt(const char *versionStr, uint32_t *versionIntPtr) +{ + const uint8_t offsets[] = {27, 21, 8, 0}; + char buffer[18]; + char *tok, *ptr = buffer; + uint32_t version = 0; + + strcpy(buffer, versionStr); + + for(int i = 0; i < 4 && (tok = strtok(ptr, ".")) != NULL; ++i) + { + char *end; + const uint32_t value = strtol(tok, &end, 10); + if(*end != 0) + { + return false; + } + version |= (value << offsets[i]); + ptr = NULL; + } + + *versionIntPtr = version; + + return true; +} + +/*************************************************************************************************/ +const char* FileInterface::fileTypeToStr(FileType type) +{ + switch(type) + { + case FILE_TYPE_UPGRADE_APP: + return "Upgrade App"; + case FILE_TYPE_WIFI_FW: + return "Wifi Firmware"; + case FILE_TYPE_REGULAR_APP: + return "Regular App"; + case FILE_TYPE_TEMPORY: + return "Temporary"; + case FILE_TYPE_GPIO_CONFIG: + return "GPIO Default Configuration"; + case FILE_TYPE_COMMAND_HELP: + return "Command Help"; + case FILE_TYPE_SDC_CAPS: + return "goHACK.me Capabilities"; + case FILE_TYPE_SETUP_SCRIPT: + return "Setup Script"; + case FILE_TYPE_MISC_FIX_LEN: + return "Miscellaneous"; + default: + if(type >= FILE_TYPE_USER_RANGE_START && type <= FILE_TYPE_USER_RANGE_END) + return "User"; + else + return "Unknown"; + } +} + +/*************************************************************************************************/ +const char* FileInterface::fileFlagsToStr(FileFlags flags, char *buffer) +{ + SET_STR_BUFFER(buffer, 64); + char *buf = ptr; + + static const char* const flag_strings[] = { + "Valid", + "Executable", + "Encrypted", + "Internal", + "Bootable", + "User", + "Essential", + }; + + int i = 0; + *ptr = 0; + + for(uint16_t f = flags; f != 0 && i < 7; f >>= 1, ++i) + { + if(f & 0x0001) + { + ptr += sprintf(ptr, "%s,", flag_strings[i]); + } + } + + if(ptr == buffer) + { + strcpy(buffer, "None"); + } + else + { + *(ptr-1) = 0; + } + + return buf; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FileList.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,144 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + + +#include "Wiconnect.h" +#include "api/types/FileList.h" + + + +/*************************************************************************************************/ +FileList::FileList(int bufferLen_, void *buffer_) +{ + count = 0; + listHead = listTail = NULL; + buffer = (uint8_t*)buffer_; + bufferPtr = buffer; + bufferLen = bufferLen_; +} + +/*************************************************************************************************/ +FileList::~FileList() +{ + if(buffer == NULL) + { + WiconnectFile* result = listHead; + while(result != NULL) + { + WiconnectFile* tmp = result; + result = result->next; + delete tmp; + } + } +} + +/*************************************************************************************************/ +WiconnectResult FileList::add(const char *typeStr, const char *flagsStr, const char* sizeStr, const char *versionStr, const char *nameStr) +{ + WiconnectResult result; + WiconnectFile *res; + + if(buffer == NULL) + { +#ifdef WICONNECT_ENABLE_MALLOC + res = new WiconnectFile(); + if(res == NULL) +#endif + { + return WICONNECT_NULL_BUFFER; + } + } + else + { + if(bufferLen < sizeof(WiconnectFile)) + { + return WICONNECT_OVERFLOW; + } + res = (WiconnectFile*)bufferPtr; + memset(res, 0, sizeof(WiconnectFile)); + bufferLen -= sizeof(WiconnectFile); + bufferPtr += sizeof(WiconnectFile); + } + + if(WICONNECT_FAILED(result, res->initWithListing(typeStr, flagsStr, sizeStr, versionStr, nameStr))) + { + if(buffer == NULL) + { + delete res; + } + } + else + { + if(listHead == NULL) + { + listHead = listTail = res; + } + else + { + res->previous = listTail; + listTail->next = res; + listTail = res; + } + ++count; + } + + return result; +} + +/*************************************************************************************************/ +const WiconnectFile* FileList::getListHead() const +{ + return listHead; +} + +/*************************************************************************************************/ +int FileList::getCount() const +{ + return count; +} + +/*************************************************************************************************/ +const WiconnectFile* FileList::getResult(int i) const +{ + if(i >= count) + return NULL; + + WiconnectFile* result = listHead; + while(i-- != 0) + result = result->next; + + return result; +} + +/*************************************************************************************************/ +const WiconnectFile* FileList::operator [](int i) const +{ + return getResult(i); +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FileListing.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,129 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + +static bool nameMatches(const char *needle, const char* haystack); + + + +/*************************************************************************************************/ +WiconnectResult FileInterface::listFiles(FileList &list, const char *name, FileType type, uint32_t version) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("ls -v"))) + { + result = processFileList(wiconnect->internalBuffer, list, name, type, version); + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult FileInterface::processFileList(char *responseStr, FileList &list, const char *name, FileType type, uint32_t version) +{ + WiconnectResult result = WICONNECT_SUCCESS; + char *line, *savedLine; + + for(savedLine = responseStr; (line = StringUtil::strtok_r(savedLine, "\r\n", &savedLine)) != NULL;) + { + uint32_t tmp; + char *toks[7], *savedTok; + + if(*line != '#') + { + continue; + } + savedTok = line + 2; + + for(int i = 0; i < 6 && (toks[i] = StringUtil::strtok_r(savedTok, " ", &savedTok)) != NULL; ++i) + { + if(toks[i] == NULL) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + goto exit; + } + } + + + if(name != NULL && !nameMatches(name, savedTok+1)) + { + continue; + } + else if((type != FILE_TYPE_ANY) && + StringUtil::strHexToUint32((const char*)&toks[1][2], &tmp) && + (type != (FileType)tmp)) + { + continue; + } + else if((version != 0) && + FileInterface::fileVersionStrToInt(toks[5], &tmp) && + (version != tmp)) + { + continue; + } + else if(WICONNECT_FAILED(result, list.add(toks[1], toks[2], toks[4], toks[5], savedTok+1))) + { + goto exit; + } + } + + exit: + return result; +} + + +/*************************************************************************************************/ +static bool nameMatches(const char *needle, const char* haystack) +{ + const int haystackLen = strlen(haystack); + + if(*needle == '*') + { + const int n = strlen(needle + 1); + + if(n > haystackLen) + { + return false; + } + return strcmp(needle+1, &haystack[haystackLen - n]) == 0; + } + else + { + return strcmp(needle, haystack) == 0; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GhmInterface.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,307 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + +/*************************************************************************************************/ +GhmInterface::GhmInterface(Wiconnect *wiconnect_) +{ + wiconnect = wiconnect_; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmDownloadCapabilities(const char *capsNameOrCustomUrl, uint32_t version) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + strcpy(cmdBuffer, "gca download "); + if(capsNameOrCustomUrl != NULL) + { + strcat(cmdBuffer, capsNameOrCustomUrl); + if(version > 0) + { + char temp[16]; + char *ptr = cmdBuffer + strlen(cmdBuffer); + *ptr++ = ' '; + sprintf(ptr, "%s", Wiconnect::fileVersionIntToStr(version, true, temp)); + } + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmActivate(const char *userName, const char *password, const char *capsFilename) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gac %s %s %s", userName, password, (capsFilename == NULL) ? "" : capsFilename); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmDeactivate(const char *userName, const char *password) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gac %s %s", userName, password); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmIsActivated(bool *statusPtr) +{ + WiconnectResult result; + uint32_t status; + + if(WICONNECT_SUCCEEDED(result, wiconnect->getSetting("ghm.status", &status))) + { + *statusPtr = (bool)status; + } + + return result; +} + + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmRead(const char *controlName, const char **valueStrPtr) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gre %s", controlName); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(cmdBuffer))) + { + *valueStrPtr = wiconnect->internalBuffer; + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmRead(const char *controlName, uint32_t *valueIntPtr) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gre %s", controlName); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(cmdBuffer))) + { + result = wiconnect->responseToUint32(valueIntPtr); + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmRead(const char *controlName, char *valueBuffer, uint16_t valueBufferLen) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gre %s", controlName); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(valueBuffer, valueBufferLen, cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmWrite(const char *elementName, const char *strValue) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gwr %s %s", elementName, strValue); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmWrite(const char *elementName, uint32_t uintValue) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gwr %s %lu", elementName, uintValue); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmWrite(const char *elementName, int32_t intValue) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gwr %s %ld", elementName, intValue); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmWrite(const GhmElementArray *elementArray) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + char *ptr = &cmdBuffer[4]; + sprintf(cmdBuffer, "gwr "); + + const GhmElement *elEnd = &elementArray->elements[elementArray->count]; + for(const GhmElement *el = &elementArray->elements[0]; el < elEnd; ++el) + { + if(el-> type == GHM_VALUE_INT) + { + ptr += sprintf(ptr, "%s,%lu|", el->elementName, el->u.intValue); + } + else + { + ptr += sprintf(ptr, "%s,%s|", el->elementName, el->u.strValue); + } + } + *(ptr-1) = 0; + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmSynchronize(GhmSyncType type) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gsy %s", (type == GHM_SYNC_PUSH_ONLY) ? "push" : + (type == GHM_SYNC_PULL_ONLY) ? "pull" : ""); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GhmMessage.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,129 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" +#include "api/types/GhmMessage.h" +#include "internal/common.h" + + + + +/*************************************************************************************************/ +GhmMessage::GhmMessage() +{ + next = NULL; + previous = NULL; + messageId[0] = 0; + timestamp[0] = 0; + length = 0; +} + +/*************************************************************************************************/ +WiconnectResult GhmMessage::init(const char *msgIdStr, const char* timestampStr, const char *lengthStr) +{ + intmax_t r; + if(!StringUtil::parseHex(lengthStr, &r, 0, USHRT_MAX)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + length = (uint16_t)r; + + strncpy(messageId, msgIdStr, sizeof(messageId)); + strncpy(timestamp, timestampStr, sizeof(timestamp)); + + return WICONNECT_SUCCESS; +} + +#ifdef WICONNECT_ENABLE_MALLOC +/*************************************************************************************************/ +void* GhmMessage::operator new(size_t size) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "GhmMessage:new, malloc not defined", wiconnect->_malloc != NULL); + return Wiconnect::getInstance()->_malloc(size); +} + +/*************************************************************************************************/ +void GhmMessage::operator delete(void* ptr) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "GhmMessage:delete, free not defined", wiconnect->_free != NULL); + Wiconnect::getInstance()->_free(ptr); +} +#endif + +/*************************************************************************************************/ +const char* GhmMessage::getMessageId(char *buffer) const +{ + const char *ptr; + if(buffer != NULL) + { + strcpy(buffer, messageId); + ptr = buffer; + } + else + { + ptr = messageId; + } + return ptr; +} + +/*************************************************************************************************/ +const char* GhmMessage::getTimestamp(char *buffer) const +{ + const char *ptr; + if(buffer != NULL) + { + strcpy(buffer, timestamp); + ptr = buffer; + } + else + { + ptr = timestamp; + } + return ptr; +} + +/*************************************************************************************************/ +uint16_t GhmMessage::getLength() const +{ + return length; +} + +/*************************************************************************************************/ +const GhmMessage* GhmMessage::getNext() const +{ + return next; +} + +/*************************************************************************************************/ +const GhmMessage* GhmMessage::getPrevious() const +{ + return previous; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GhmMessageList.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,159 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" +#include "api/types/GhmMessageList.h" +#include "internal/common.h" + + +/*************************************************************************************************/ +GhmMessageList::GhmMessageList(int bufferLen_, void *buffer_) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "GhmMessageList(), bad buffer", (bufferLen_ == 0 && buffer_ == NULL) || (bufferLen_ != 0 && buffer_ != NULL)); + + buffer = (uint8_t*)buffer_; + bufferLen = bufferLen_; + reset(); +} + +/*************************************************************************************************/ +GhmMessageList::~GhmMessageList() +{ + reset(); +} + +/*************************************************************************************************/ +void GhmMessageList::reset(void) +{ +#ifdef WICONNECT_ENABLE_MALLOC + if(buffer == NULL) + { + GhmMessage* result = listHead; + while(result != NULL) + { + GhmMessage* tmp = result; + result = result->next; + delete tmp; + } + } +#endif + listHead = listTail = NULL; + bufferPtr = buffer; + bufferRemaining = bufferLen; + count = 0; +} + +/*************************************************************************************************/ +WiconnectResult GhmMessageList::add(const char *msgId, const char* timestamp, const char *length) +{ + WiconnectResult result; + GhmMessage *res; + + if(buffer == NULL) + { +#ifdef WICONNECT_ENABLE_MALLOC + res = new GhmMessage(); + if(res == NULL) +#endif + { + return WICONNECT_NULL_BUFFER; + } + } + else + { + if(bufferRemaining < sizeof(GhmMessage)) + { + return WICONNECT_OVERFLOW; + } + res = (GhmMessage*)bufferPtr; + memset(res, 0, sizeof(GhmMessage)); + bufferRemaining -= sizeof(GhmMessage); + bufferPtr += sizeof(GhmMessage); + } + + if(WICONNECT_FAILED(result, res->init(msgId, timestamp, length))) + { + if(buffer == NULL) + { + delete res; + } + } + else + { + if(listHead == NULL) + { + listHead = listTail = res; + } + else + { + res->previous = listTail; + listTail->next = res; + listTail = res; + } + ++count; + } + + return result; +} + +/*************************************************************************************************/ +const GhmMessage* GhmMessageList::getListHead() const +{ + return listHead; +} + +/*************************************************************************************************/ +int GhmMessageList::getCount() const +{ + return count; +} + +/*************************************************************************************************/ +const GhmMessage* GhmMessageList::getResult(int i) const +{ + if(i >= count) + return NULL; + + GhmMessage* result = listHead; + while(i-- != 0) + result = result->next; + + return result; +} + +/*************************************************************************************************/ +const GhmMessage* GhmMessageList::operator [](int i) const +{ + return getResult(i); +} + + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GhmMessageProcessing.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,235 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + +#define GHM_HOST_URL "api.gohack.me" + + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmPostMessage(WiconnectSocket &socket, bool jsonFormatted) +{ + WiconnectResult result; + int32_t handle; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + strcpy(cmdBuffer, "gme post "); + if(jsonFormatted) + { + strcat(cmdBuffer, "json"); + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(cmdBuffer))) + { + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&handle))) + { + socket.init(handle, SOCKET_TYPE_GHM, GHM_HOST_URL, 443, SOCKET_ANY_PORT); + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmGetMessage(WiconnectSocket &socket, GhmMessageGetType getType) +{ + return ghmGetMessage(socket, 255, NULL, getType); +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmGetMessage(WiconnectSocket &socket, uint8_t listIndex, GhmMessageGetType getType) +{ + return ghmGetMessage(socket, listIndex, NULL, getType); +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmGetMessage(WiconnectSocket &socket, const char *msgId, GhmMessageGetType getType) +{ + return ghmGetMessage(socket, 255, msgId, getType); +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmGetMessage(WiconnectSocket &socket, uint8_t listIndex, const char *msgId, GhmMessageGetType getType) +{ + WiconnectResult result; + int32_t handle; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + char *ptr = &cmdBuffer[7]; + strcpy(cmdBuffer, "gme get"); + if(listIndex != 255) + { + sprintf(ptr, " %u", listIndex); + } + else if(msgId != NULL) + { + sprintf(ptr, " %s", msgId); + } + + if(getType == GHM_MSG_GET_BODY) + { + strcat(cmdBuffer, " body"); + } + else if(getType == GHM_MSG_GET_ALL) + { + strcat(cmdBuffer, " all"); + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(cmdBuffer))) + { + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&handle))) + { + socket.init(handle, SOCKET_TYPE_GHM, GHM_HOST_URL, 443, SOCKET_ANY_PORT); + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmDeleteMessage(uint8_t listIndex) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gme delete %u", listIndex); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmDeleteMessage(const char *msgId) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "gme delete %s", msgId); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult GhmInterface::ghmListMessages(GhmMessageList &msgList, uint8_t maxCount) +{ + WiconnectResult result; + int32_t handle; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + msgList.reset(); + strcpy(cmdBuffer, "gme list"); + if(maxCount != 0) + { + sprintf(&cmdBuffer[8], " -c %u", maxCount); + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(cmdBuffer))) + { + result = processMessageList(wiconnect->internalBuffer, msgList); + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + +/*************************************************************************************************/ +WiconnectResult GhmInterface::processMessageList(char *resultStr, GhmMessageList &resultList) +{ + WiconnectResult result = WICONNECT_SUCCESS; + char *line, *savedLine; + + for(savedLine = resultStr; (line = StringUtil::strtok_r(savedLine, "\r\n", &savedLine)) != NULL;) + { + char *toks[4], *savedTok; + + if(*line != '#') + { + continue; + } + savedTok = line + 2; + + for(int i = 0; i < 4 && (toks[i] = StringUtil::strtok_r(savedTok, " ", &savedTok)) != NULL; ++i) + { + if(toks[i] == NULL) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + goto exit; + } + } + + if(WICONNECT_FAILED(result, resultList.add(toks[1], toks[2], toks[3]))) + { + goto exit; + } + } + + exit: + return result; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Gpio.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,68 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" + +#include "platform.h" +#include "gpio_api.h" + + + +/*************************************************************************************************/ +Gpio::Gpio(Pin pin) : DigitalOut(pin) +{ +} + +/*************************************************************************************************/ +void Gpio::write(bool value) +{ + gpio_write(&gpio, (int)value); +} + +/*************************************************************************************************/ +bool Gpio::read(void) +{ + const int v = gpio_read(&gpio); + return (bool)v; +} + +/*************************************************************************************************/ +Gpio& Gpio::operator= (bool value) +{ + write(value); + return *this; +} + +/*************************************************************************************************/ +Gpio& Gpio::operator= (const Gpio& other) +{ + memcpy((void*)&gpio, (void*)&other.gpio, sizeof(gpio)); + return *this; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NetworkInterface.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,659 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + +#define IPV4_FORMAT "%u.%u.%u.%u" +#define IPV4_ARGS(ip) \ + (int)(((ip) >> 0) & 0xff), \ + (int)(((ip) >> 8) & 0xff), \ + (int)(((ip) >> 16) & 0xff), \ + (int)(((ip) >> 24) & 0xff) + + + +/*************************************************************************************************/ +NetworkInterface::NetworkInterface(Wiconnect *wiconnect_) +{ + wiconnect = wiconnect_; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::ping(const char *domain, uint32_t *timeMsPtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("ping %s", (domain == NULL) ? "-g" : domain)) && + timeMsPtr != NULL) + { + if(sscanf(wiconnect->internalBuffer, "Ping reply in %ums", (unsigned int*)timeMsPtr) != 1) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::lookup(const char *domain, uint32_t *ipAddressPtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("nlo %s", domain))) + { + if(!NetworkInterface::strToIp(wiconnect->internalBuffer, ipAddressPtr)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::setDhcpEnabled(bool enabled) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(CMD_SET_NETWORK_DHCP, enabled); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getDhcpEnabled(bool *enabledPtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get network.dhcp.enabled"))) + { + int32_t enabled; + if(WICONNECT_SUCCEEDED(result, wiconnect->responseToInt32(&enabled))) + { + *enabledPtr = (bool)enabled; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::setIpSettings(uint32_t ip, uint32_t netmask, uint32_t gateway) +{ + WiconnectResult result = WICONNECT_ERROR; + + enum + { + FS_SET_IP, + FS_SET_NETMASK, + FS_SET_GATEWAY + }; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(wiconnect->internalProcessingState == FS_SET_IP) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(CMD_SET_STATIC_IP, IPV4_ARGS(ip)))) + { + wiconnect->internalProcessingState = FS_SET_NETMASK; + } + } + + if(wiconnect->internalProcessingState == FS_SET_NETMASK) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(CMD_SET_STATIC_NETMASK, IPV4_ARGS(netmask)))) + { + wiconnect->internalProcessingState = FS_SET_GATEWAY; + } + } + + if(wiconnect->internalProcessingState == FS_SET_GATEWAY) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(CMD_SET_STATIC_GATEWAY, IPV4_ARGS(gateway)))) + { + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::setIpSettings(const char* ipStr, const char* netmaskStr, const char* gatewayStr) +{ + uint32_t ip, nm, gw; + + if( !NetworkInterface::strToIp(ipStr, &ip) || + !NetworkInterface::strToIp(netmaskStr, &nm) || + !NetworkInterface::strToIp(gatewayStr, &gw)) + { + return WICONNECT_ERROR; + } + return setIpSettings(ip, nm, gw); +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getIpSettings(uint32_t *ip, uint32_t *netmask, uint32_t *gateway) +{ + WiconnectResult result = WICONNECT_ERROR; + + enum + { + FS_GET_IP, + FS_GET_NETMASK, + FS_GET_GATEWAY + }; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(wiconnect->internalProcessingState == FS_GET_IP) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get network.ip"))) + { + if(!NetworkInterface::strToIp(wiconnect->internalBuffer, ip)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + else + { + wiconnect->internalProcessingState = FS_GET_NETMASK; + } + } + } + + if(wiconnect->internalProcessingState == FS_GET_NETMASK) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get network.netmask"))) + { + if(!NetworkInterface::strToIp(wiconnect->internalBuffer, netmask)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + else + { + wiconnect->internalProcessingState = FS_GET_GATEWAY; + } + } + } + + if(wiconnect->internalProcessingState == FS_GET_GATEWAY) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get network.gateway"))) + { + if(!NetworkInterface::strToIp(wiconnect->internalBuffer, gateway)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::setDnsAddress(uint32_t dnsAddress) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand("set static.dns %d.%d.%d.%d", IPV4_ARGS(dnsAddress)); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getDnsAddress(uint32_t *dnsAddress) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get static.dns"))) + { + if(!NetworkInterface::strToIp(wiconnect->internalBuffer, dnsAddress)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getRssi(int32_t *rssiPtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + *rssiPtr = -999; + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("rssi"))) + { + result = wiconnect->responseToInt32(rssiPtr); + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getSignalStrength(NetworkSignalStrength *signalStrengthPtr) +{ + WiconnectResult result; + int32_t rssiDbm; + + if(WICONNECT_SUCCEEDED(result, getRssi(&rssiDbm))) + { + *signalStrengthPtr = NetworkInterface::rssiToSignalStrength(rssiDbm); + } + else if(result == WICONNECT_CMD_RESPONSE_ERROR) + { + *signalStrengthPtr = NETWORK_RSSI_UNKNOWN; + result = WICONNECT_SUCCESS; + } + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getMacAddress(MacAddress *macAddress) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get wlan.mac"))) + { + if(!Wiconnect::strToMacAddress(wiconnect->internalBuffer, macAddress)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + +/*************************************************************************************************/ +const char* NetworkInterface::getIpAddress(char *ipStrBuffer) +{ + SET_STR_BUFFER(ipStrBuffer, 17); + + if(wiconnect->nonBlocking) + { + return "Err"; + } + + if(wiconnect->sendCommand(ptr, 17, "get network.ip") != WICONNECT_SUCCESS) + { + strcpy(ptr, "0.0.0.0"); + } + + return ptr; +} + + +//----------------------------------------------------------------------------------------------- + + +/*************************************************************************************************/ +bool NetworkInterface::strToIp(const char *str, uint32_t *intPtr) +{ + if (!intPtr) + { + return false; + } + uint32_t ip = 0; + int i; + char *tok; + + for(i = 0; i < 4; ++i, str = tok) + { + uint8_t nibble; + + tok = strchr(str, '.'); + if(tok == NULL) + { + if(i < 3) + { + return false; + } + } + else + { + *tok++ = 0; + } + + if(!StringUtil::strToUint8(str, &nibble)) + { + return false; + } + ip |= (((uint32_t)nibble) << 24); + if(i < 3) + { + ip = (ip >> 8UL); + } + } + + if(i != 4) + { + return false; + } + + *intPtr = ip; + + return true; +} + +/*************************************************************************************************/ +const char* NetworkInterface::ipToStr(uint32_t ip, char *ipStrBuffer) +{ + SET_STR_BUFFER(ipStrBuffer, 17); + + sprintf(ptr, IPV4_FORMAT, IPV4_ARGS(ip)); + return ptr; +} + +/*************************************************************************************************/ +const char* NetworkInterface::networkStatusToStr(NetworkStatus status) +{ + switch(status) + { + case NETWORK_STATUS_DOWN: + return "Down"; + case NETWORK_STATUS_WIFI_ONLY: + return "WiFi Only"; + case NETWORK_STATUS_UP: + return "Up"; + default: + return "Unknown"; + } +} + +/*************************************************************************************************/ +const char* NetworkInterface::networkJoinResultToStr(NetworkJoinResult joinResult) +{ + switch(joinResult) + { + case NETWORK_JOIN_RESULT_NONE: + return "None"; + case NETWORK_JOIN_RESULT_SUCCESS: + return "Success"; + case NETWORK_JOIN_RESULT_JOINING: + return "Joining"; + case NETWORK_JOIN_RESULT_NO_SSID: + return "No SSID"; + case NETWORK_JOIN_RESULT_NO_PASSWORD: + return "No Password"; + case NETWORK_JOIN_RESULT_BAD_SECURITY: + return "Bad Security Setting"; + case NETWORK_JOIN_RESULT_NOT_FOUND: + return "Network Not Found"; + case NETWORK_JOIN_RESULT_FAILED: + return "Failed"; + case NETWORK_JOIN_RESULT_ABORTED: + return "Aborted"; + default: + return "Unknown"; + } +} + + +/*************************************************************************************************/ +const char* NetworkInterface::signalStrengthToStr(NetworkSignalStrength signalStrenth) +{ + switch(signalStrenth) + { + case NETWORK_RSSI_EXCELLENT: + return "Excellent"; + case NETWORK_RSSI_VERY_GOOD: + return "Very Good"; + case NETWORK_RSSI_GOOD: + return "Good"; + case NETWORK_RSSI_POOR: + return "Poor"; + case NETWORK_RSSI_VERY_POOR: + return "Very Poor"; + case NETWORK_RSSI_UNKNOWN: + default: + return "Unknown"; + } +} + +/*************************************************************************************************/ +NetworkSignalStrength NetworkInterface::rssiToSignalStrength(int rssi_dbm) +{ + if(rssi_dbm > -20) + { + return NETWORK_RSSI_EXCELLENT; + } + else if(rssi_dbm > -35) + { + return NETWORK_RSSI_VERY_GOOD; + } + else if(rssi_dbm > -50) + { + return NETWORK_RSSI_GOOD; + } + else if(rssi_dbm > -70) + { + return NETWORK_RSSI_POOR; + } + else + { + return NETWORK_RSSI_VERY_POOR; + } +} + + +typedef struct +{ + const char* key; + NetworkSecurity value; +} NetworkSecurityTableEntry; + +static const NetworkSecurityTableEntry networkSecurityTable[] = { + {"Auto", NETWORK_SECURITY_UNKNOWN}, + {"Open", NETWORK_SECURITY_OPEN}, + {"Unknown", NETWORK_SECURITY_UNKNOWN}, + {"WEP", NETWORK_SECURITY_WEP_PSK}, + {"WPA-AES", NETWORK_SECURITY_WPA_AES_PSK}, + {"WPA-TKIP", NETWORK_SECURITY_WPA_TKIP_PSK}, + {"WPA2-AES", NETWORK_SECURITY_WPA2_AES_PSK}, + {"WPA2-Mixed", NETWORK_SECURITY_WPA2_MIXED_PSK}, + {"WPA2-TKIP", NETWORK_SECURITY_WPA2_TKIP_PSK}, +}; + + +/*************************************************************************************************/ +NetworkSecurity NetworkInterface::strToNetworkSecurity(const char *str) +{ + const NetworkSecurityTableEntry *end = &networkSecurityTable[ARRAY_COUNT(networkSecurityTable)]; + + for(const NetworkSecurityTableEntry *e = networkSecurityTable; e < end; ++e) + { + if(StringUtil::strcasecmp(e->key, str) == 0) + { + return e->value; + } + } + return NETWORK_SECURITY_UNKNOWN; +} + +/*************************************************************************************************/ +const char* NetworkInterface::networkSecurityToStr(NetworkSecurity security) +{ + const NetworkSecurityTableEntry *end = &networkSecurityTable[ARRAY_COUNT(networkSecurityTable)]; + + for(const NetworkSecurityTableEntry *e = networkSecurityTable; e < end; ++e) + { + if(e->value == security) + { + return e->key; + } + } + return "Unknown"; +} + +/*************************************************************************************************/ +bool NetworkInterface::strToSsid(const char *str, Ssid *ssid) +{ +#define ESCAPE_CHARACTER_DELIMITER '\\' +#define HEX_ESCAPE_CHARACTER 'x' + int c; + uint8_t *ssidPtr = ssid->val; + uint32_t ssidLen = 0; + + while((c = (int)(*str++)) != 0) + { + if(c == ESCAPE_CHARACTER_DELIMITER) + { + if(*str == HEX_ESCAPE_CHARACTER) + { + c = StringUtil::hexToInt(str+1); + if(c == -1) + return false; + str += 3; + } + else + { + return false; + } + } + if(ssidLen >= sizeof(ssid->val)) + return false; + ++ssidLen; + *ssidPtr++ = (uint8_t)c; + } + + ssid->len = ssidLen; + + return true; +} + +/*************************************************************************************************/ +const char* NetworkInterface::ssidToStr(const Ssid *ssid, char *ssidStrBuffer) +{ + SET_STR_BUFFER(ssidStrBuffer, sizeof(SsidStrBuffer)); + const char *src = (const char*)ssid->val; + int len = ssid->len; + char *buf = ptr; + + while(len--) + { + if(*src >= 0x20 && *src <= 0x7E) + { + *ptr++ = *src; + } + else + { + ptr += sprintf(ptr, "\\x%02X", (*src) & 0xff); + } + ++src; + } + *ptr = 0; + return buf; +} + +/*************************************************************************************************/ +bool NetworkInterface::strToMacAddress(const char *str, MacAddress *macAddress) +{ + const char* strPtr = str; + uint8_t *macPtr = (uint8_t*)macAddress->octet; + + for(int count = 0; count < 6; ++count) + { + if(count < 5) + { + const char *idx = strchr(strPtr, ':'); + if(idx == NULL) + { + return false; + } + } + int num = StringUtil::hexToInt(strPtr); + if(num == -1) + { + return false; + } + *macPtr++ = (uint8_t)num; + strPtr += 3; + } + + return true; +} + +/*************************************************************************************************/ +const char* NetworkInterface::macAddressToStr(const MacAddress *macAddress, char *macStrBuffer) +{ + SET_STR_BUFFER(macStrBuffer, sizeof(MacAddressStrBuffer)); + const uint8_t *mac = macAddress->octet; + + sprintf(ptr, "%02X:%02X:%02X:%02X:%02X:%02X", + (unsigned int)mac[0], + (unsigned int)mac[1], + (unsigned int)mac[2], + (unsigned int)mac[3], + (unsigned int)mac[4], + (unsigned int)mac[5]); + + return ptr; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NetworkJoin.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,251 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" +#include "internal/common.h" + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::join(const char* ssid, const char *password, const Callback &completeHandler_) +{ + WiconnectResult result = WICONNECT_ERROR; + + enum + { + FS_SET_SSID, + FS_SET_PASSWORD, + FS_NETWORK_UP, + FS_GET_STATUS + }; + + CHECK_CALLBACK_AVAILABLE(completeHandler_); + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(wiconnect->internalProcessingState == FS_SET_SSID) + { + if(ssid == NULL || + WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("set wlan.ssid %s", ssid))) + { + wiconnect->internalProcessingState = FS_SET_PASSWORD; + } + } + + if(wiconnect->internalProcessingState == FS_SET_PASSWORD) + { + if(password == NULL || *password == 0 || + WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("set wlan.passkey %s", password))) + { + wiconnect->internalProcessingState = FS_NETWORK_UP; + } + } + + if(wiconnect->internalProcessingState == FS_NETWORK_UP) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("network_up"))) + { + if(!completeHandler_.isValid()) + { + wiconnect->internalProcessingState = FS_GET_STATUS; + } +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + else + { + monitorTimer.stop(); + completeHandler = completeHandler_; + monitorTimer.start(this, &NetworkInterface::joinStatusMonitor, 1000); + } +#endif + } + } + + if(wiconnect->internalProcessingState == FS_GET_STATUS) + { +#define MAX_JOIN_TIME 30000 + TimeoutTimer timeout; + + status_loop: + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get wlan.join.result"))) + { + int32_t status; + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&status))) + { + if((NetworkJoinResult)status == NETWORK_JOIN_RESULT_JOINING) + { + if(timeout.timedOut(MAX_JOIN_TIME)) + { + result = WICONNECT_TIMEOUT; + } + else if(!wiconnect->nonBlocking) + { + goto status_loop; + } + else + { + result = WICONNECT_PROCESSING; + } + } + else + { + result = ((NetworkJoinResult)status == NETWORK_JOIN_RESULT_SUCCESS) ? WICONNECT_SUCCESS : WICONNECT_NOT_CONNECTED; + } + } + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::leave() +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + monitorTimer.stop(); +#endif + result = wiconnect->sendCommand("network_down"); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getNetworkStatus(NetworkStatus *statusPtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get network.status"))) + { + int32_t status; + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&status))) + { + if(status != NETWORK_STATUS_DOWN) + { +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + monitorTimer.stop(); +#endif + } + *statusPtr = (NetworkStatus)status; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::getNetworkJoinResult(NetworkJoinResult *joinResultPtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("get wlan.join.result"))) + { + int32_t status; + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&status))) + { + if(status != NETWORK_JOIN_RESULT_JOINING) + { +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + monitorTimer.stop(); +#endif + } + *joinResultPtr = (NetworkJoinResult)status; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + + +/*************************************************************************************************/ +// this is called every 1s by the monitorTimer +void NetworkInterface::joinStatusMonitor() +{ + static char responseBuffer[4]; + static uint8_t cmdBuffer[sizeof(QueuedCommand)]; + QueuedCommand *cmd = (QueuedCommand*)cmdBuffer; + + monitorTimer.stop(); + + *cmd = QueuedCommand(sizeof(responseBuffer), responseBuffer, "get wlan.join.result"); + + wiconnect->enqueueCommand(cmd, Callback(this, &NetworkInterface::joinStatusCheckCallback)); +} + +/*************************************************************************************************/ +// this is called on the completion of the 'get'wlan.join.result' command above +void NetworkInterface::joinStatusCheckCallback(WiconnectResult result, void *arg1, void *arg2) +{ + bool isComplete = false; + NetworkJoinResult joinResult = NETWORK_JOIN_RESULT_NONE; + + QueuedCommand *cmd = (QueuedCommand*)arg1; + + if(result == WICONNECT_SUCCESS) + { + int32_t status; + if(!StringUtil::strToInt32(cmd->responseBuffer, &status)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + else if((NetworkJoinResult)status != NETWORK_JOIN_RESULT_JOINING) + { + isComplete = true; + joinResult = (NetworkJoinResult)status; + result = (joinResult == NETWORK_JOIN_RESULT_SUCCESS) ? WICONNECT_SUCCESS : WICONNECT_NOT_CONNECTED; + } + } + + if(isComplete || result != WICONNECT_SUCCESS) + { + completeHandler.call(result, (void*)joinResult, NULL); + } + else + { + monitorTimer.start(this, &NetworkInterface::joinStatusMonitor, 1000); + } +} + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NetworkScan.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,161 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" +#include "internal/common.h" + + +#define SCAN_TIMEOUT 15000 + + + + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::scan(ScanResultList &resultList, const uint8_t *channelList, const char* ssid) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + + if(WICONNECT_IS_IDLE()) + { +#define SCAN_CMD "scan -v " + char *cmdBufferPtr = cmdBuffer + sizeof(SCAN_CMD)-1; + + strcpy(cmdBuffer, SCAN_CMD); + + if(channelList != NULL) + { + for(const uint8_t *ch = (const uint8_t *)channelList; *ch != 0; ++ch) + { + cmdBufferPtr += sprintf(cmdBufferPtr, "%d,", *ch); + } + *(cmdBufferPtr-1) = ' '; + } + else + { + strcat(cmdBufferPtr, "all "); + cmdBufferPtr += 4; + } + + if(ssid != NULL) + { + strcpy(cmdBufferPtr, ssid); + } + + resultList.reset(); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + //if(!completeHandler_.isValid()) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(SCAN_TIMEOUT, cmdBuffer))) + { + result = processScanResults(wiconnect->internalBuffer, resultList); + } + } +//#ifdef WICONNECT_ASYNC_TIMER_ENABLED +// else +// { +// QueuedCommand *cmd = new QueuedCommand(NULL, 4096, SCAN_TIMEOUT, cmdBuffer); +// cmd->userData = (void*)resultList; +// completeHandler = completeHandler_; +// if(WICONNECT_FAILED(result, wiconnect->enqueueCommand(cmd, Callback(this, &NetworkInterface::scanCompleteCallback)))) +// { +// delete cmd; +// } +// else +// { +// result = WICONNECT_PROCESSING; +// } +// } +//#endif + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + + + + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::processScanResults(char *resultStr, ScanResultList &resultList) +{ + WiconnectResult result = WICONNECT_SUCCESS; + char *line, *savedLine; + + for(savedLine = resultStr; (line = StringUtil::strtok_r(savedLine, "\r\n", &savedLine)) != NULL;) + { + char *toks[9], *savedTok; + + if(*line != '#') + { + continue; + } + savedTok = line + 2; + + for(int i = 0; i < 8 && (toks[i] = StringUtil::strtok_r(savedTok, " ", &savedTok)) != NULL; ++i) + { + if(toks[i] == NULL) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + goto exit; + } + } + + if(WICONNECT_FAILED(result, resultList.add(toks[1], toks[2], toks[3], toks[4], toks[5], savedTok))) + { + goto exit; + } + } + + exit: + return result; +} + +//#ifdef WICONNECT_ASYNC_TIMER_ENABLED +// +/*************************************************************************************************/ +//void NetworkInterface::scanCompleteCallback(WiconnectResult result, void *arg1, void *arg2) +//{ +// QueuedCommand *cmd = (QueuedCommand*)arg1; +// ScanResultList *listPtr = (ScanResultList*)cmd->userData; +// +// if(result == WICONNECT_SUCCESS) +// { +// result = processScanResults(cmd->responseBuffer, listPtr); +// } +// delete cmd; +// +// completeHandler.call(result, listPtr, NULL); +//} +// +//#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NetworkSoftAp.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,49 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" + + + +///*************************************************************************************************/ +//WiconnectResult NetworkInterface::startSoftAp(const char* ssid, const char *password, WiconnectAsyncCallback *clientConnected) +//{ +// return WICONNECT_UNSUPPORTED; +//} +// +///*************************************************************************************************/ +//WiconnectResult NetworkInterface::stopSoftAp() +//{ +// return WICONNECT_UNSUPPORTED; +//} +// +///*************************************************************************************************/ +//WiconnectResult NetworkInterface::getSoftApClientList() +//{ +// return WICONNECT_UNSUPPORTED; +//}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NetworkWebSetup.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,181 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" +#include "internal/common.h" + + + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::startWebSetup(const char *ssid, const char *password, const Callback &completeHandler_) +{ + WiconnectResult result = WICONNECT_ERROR;; + + enum + { + FS_SET_SSID, + FS_SET_PASSWORD, + FS_NETWORK_UP + }; + + CHECK_CALLBACK_AVAILABLE(completeHandler_); + CHECK_OTHER_COMMAND_EXECUTING(); + + if(wiconnect->internalProcessingState == FS_SET_SSID) + { + if(ssid == NULL || + WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("set setup.web.ssid %s", ssid))) + { + wiconnect->internalProcessingState = FS_SET_PASSWORD; + } + } + + if(wiconnect->internalProcessingState == FS_SET_PASSWORD) + { + if(password == NULL || + WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("set setup.web.passkey %s", password))) + { + wiconnect->internalProcessingState = FS_NETWORK_UP; + } + } + + if(wiconnect->internalProcessingState == FS_NETWORK_UP) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("setup web"))) + { +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + if(completeHandler_.isValid()) + { +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + monitorTimer.stop(); +#endif + completeHandler = completeHandler_; + monitorTimer.start(this, &NetworkInterface::webSetupStatusMonitor, 1000); + } +#endif + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::stopWebSetup() +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + #ifdef WICONNECT_ASYNC_TIMER_ENABLED + monitorTimer.stop(); + #endif + result = wiconnect->sendCommand("setup stop"); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + +/*************************************************************************************************/ +WiconnectResult NetworkInterface::isWebSetupRunning(bool *isRunningPtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("setup status"))) + { + int32_t status; + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&status))) + { + if(status) + { +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + monitorTimer.stop(); +#endif + } + *isRunningPtr = (bool)status; + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + +/*************************************************************************************************/ +void NetworkInterface::webSetupStatusMonitor() +{ + static char responseBuffer[4]; + static uint8_t cmdBuffer[sizeof(QueuedCommand)]; + QueuedCommand *cmd = (QueuedCommand*)cmdBuffer; + + monitorTimer.stop(); + + *cmd = QueuedCommand(sizeof(responseBuffer), responseBuffer, "setup status"); + + wiconnect->enqueueCommand(cmd, Callback(this, &NetworkInterface::webSetupStatusCheckCallback)); +} + +/*************************************************************************************************/ +void NetworkInterface::webSetupStatusCheckCallback(WiconnectResult result, void *arg1, void *arg2) +{ + bool isComplete = true; + + QueuedCommand *cmd = (QueuedCommand*)arg1; + + if(result == WICONNECT_SUCCESS) + { + int32_t status; + if(!StringUtil::strToInt32(cmd->responseBuffer, &status)) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + else if(status > 0) + { + isComplete = false; + } + } + + if(isComplete) + { + completeHandler.call(result, NULL, NULL); + } + else + { + monitorTimer.start(this, &NetworkInterface::webSetupStatusMonitor, 1000); + } +} + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PeriodicTimer.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,65 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" + +#include "Ticker.h" + + +/*************************************************************************************************/ +PeriodicTimer::PeriodicTimer() +{ + running = false; +} + +/*************************************************************************************************/ +template<typename T> +void PeriodicTimer::start(T* tptr, void (T::*mptr)(void), int timeoutMs) +{ + attach_us(tptr, mptr, timeoutMs*1000); + running = true; +} +template void PeriodicTimer::start<Wiconnect>(Wiconnect* tptr, void (Wiconnect::*mptr)(void), int timeoutMs); +template void PeriodicTimer::start<NetworkInterface>(NetworkInterface* tptr, void (NetworkInterface::*mptr)(void), int timeoutMs); +template void PeriodicTimer::start<SocketInterface>(SocketInterface* tptr, void (SocketInterface::*mptr)(void), int timeoutMs); +template void PeriodicTimer::start<FileInterface>(FileInterface* tptr, void (FileInterface::*mptr)(void), int timeoutMs); + +/*************************************************************************************************/ +void PeriodicTimer::stop(void) +{ + detach(); + running = false; +} + +/*************************************************************************************************/ +bool PeriodicTimer::isRunning() +{ + return running; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PinIrqHandler.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,57 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + + +#include "Wiconnect.h" +#include "api/types/PinIrqHandler.h" + + + +/*************************************************************************************************/ +PinIrqHandler::PinIrqHandler(PinName irqPin_, const Callback &callback_) : InterruptIn(irqPin_) +{ + irqPin = irqPin_; + callback = callback_; + mode(PullDown); + rise(this, &PinIrqHandler::irqHandler); + enable_irq(); +} + +/*************************************************************************************************/ +PinIrqHandler::~PinIrqHandler() +{ + disable_irq(); +} + + +/*************************************************************************************************/ +void PinIrqHandler::irqHandler() +{ + callback.call(WICONNECT_SUCCESS, (void*)irqPin, NULL); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProcessCommand.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,356 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "internal/CommandCommon.h" + + + +/*************************************************************************************************/ +WiconnectResult Wiconnect::checkCurrentCommand() +{ + WiconnectResult result; + + start: + CHECK_INITIALIZED(); + if(!commandExecuting) + { + return WICONNECT_IDLE; + } + CommandContext *context = (CommandContext*)commandContext; + + if(context->commandLen > 0) + { + const TimerTimeout timeout = context->nonBlocking ? 0 : timeoutTimer.remainingMs(context->timeoutMs); + const int bytesToWrite = context->commandLen; + const int bytesWritten = serial.write(context->commandPtr, bytesToWrite, timeout); + context->commandPtr += bytesWritten; + context->commandLen -= bytesWritten; + if(bytesToWrite != bytesWritten) + { + if(timeoutTimer.timedOut(context->timeoutMs)) + { + issueCommandCallback(WICONNECT_TIMEOUT); + return WICONNECT_TIMEOUT; + } + else + { + return WICONNECT_PROCESSING; + } + } + } + + while(context->reader.isValid()) + { + if(context->bytesToWrite == 0) + { + context->responseBufferPtr = context->responseBuffer; + if(WICONNECT_FAILED(result, context->reader.call(context->user, context->responseBuffer, context->responseBufferLen, &context->bytesToWrite))) + { + issueCommandCallback(result); + return result; + } + else if(context->bytesToWrite == EOF) + { + context->reader.setInvalid(); + context->bytesToWrite = 0; + context->responseBufferPtr = context->responseBuffer; + break; + } + else + { + timeoutTimer.reset(); + } + } + if(context->bytesToWrite > 0) + { + const TimerTimeout timeout = context->nonBlocking ? 0 : timeoutTimer.remainingMs(context->timeoutMs); + const int bytesToWrite = context->bytesToWrite; + const int bytesWritten = serial.write(context->responseBufferPtr, bytesToWrite, timeout); + context->responseBufferPtr += bytesWritten; + context->bytesToWrite -= bytesWritten; + if(bytesToWrite != bytesWritten) + { + if(timeoutTimer.timedOut(context->timeoutMs)) + { + issueCommandCallback(WICONNECT_TIMEOUT); + return WICONNECT_TIMEOUT; + } + else + { + return WICONNECT_PROCESSING; + } + } + } + } + + result = receiveResponse(); + if(result == WICONNECT_PROCESSING && !context->nonBlocking) + { + goto start; + } + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::receiveResponse() +{ +loop: + WiconnectResult result = receivePacket(); + + if(result == WICONNECT_PROCESSING) + { + } + else if(result == WICONNECT_SUCCESS) + { + CommandHeader *header = (CommandHeader*)commandHeaderBuffer; + CommandContext *context = (CommandContext*)commandContext; + + // TODO: need to notify safemode + + if(header->response_type == WICONNECT_CMD_TYPE_REPLY || header->response_type == WICONNECT_CMD_TYPE_SAFEMODE) + { + if(header->response_code != WICONNECT_CMD_SUCCESS) + { + DEBUG_CMD_ERROR(header->response_code); + flush(); + issueCommandCallback(WICONNECT_CMD_RESPONSE_ERROR); + return WICONNECT_CMD_RESPONSE_ERROR; + } + else if(header->response_len > 0) + { + DEBUG_CMD_RESPONSE(context->responseBuffer); + + if(header->response_len < (uint16_t)context->responseBufferLen) + { + context->responseBuffer[header->response_len] = 0; + } + } + else + { + *context->responseBuffer = 0; + } + + issueCommandCallback(WICONNECT_SUCCESS); + + return WICONNECT_SUCCESS; + } + else + { + DEBUG_CMD_LOG(context->responseBuffer); + RESET_CMD_HEADER(header); + context->responseBufferPtr = context->responseBuffer; + goto loop; + } + } + else + { + issueCommandCallback(result); + } + + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::receivePacket() +{ + CommandHeader *header = (CommandHeader*)commandHeaderBuffer; + CommandContext *context = (CommandContext*)commandContext; + if(header->bytes_remaining > 0) + { + uint16_t bytesReceived; + static uint8_t buffer[WICONNECT_HEADER_LENGTH]; + + while(header->bytes_remaining > 0) + { + const TimerTimeout timeout = context->nonBlocking ? 0 : timeoutTimer.remainingMs(context->timeoutMs); + bytesReceived = serial.read((char*)buffer, header->bytes_remaining, timeout); + if(bytesReceived == 0) + { + return timeoutTimer.timedOut(context->timeoutMs) ? WICONNECT_TIMEOUT : WICONNECT_PROCESSING; + } + + for(uint8_t *ptr = buffer; bytesReceived > 0; ++ptr) + { + if(header->response_type == WICONNECT_CMD_TYPE_NULL) + { + if( *ptr == WICONNECT_CMD_TYPE_REPLY || + *ptr == WICONNECT_CMD_TYPE_LOG || + *ptr == WICONNECT_CMD_TYPE_SAFEMODE) + { + header->response_type = (ResponseType)*ptr; + -- header->bytes_remaining; + } + --bytesReceived; + } + else if(header->response_code == WICONNECT_CMD_CODE_NULL) + { + if(*ptr >= '0' && *ptr <= '7') + { + header->response_code = (ResponseCode)(*ptr - '0' + 1); + --header->bytes_remaining; + header->len_buffer_ptr = header->len_buffer; + } + else + { + RESET_CMD_HEADER(header); + } + --bytesReceived; + } + else if(header->bytes_remaining > 2) + { + uint8_t len_chars = MIN((int)bytesReceived, (int)(header->bytes_remaining-2)); + header->bytes_remaining -= len_chars; + bytesReceived -= len_chars; + while(len_chars-- > 0) + { + *header->len_buffer_ptr++ = *ptr++; + } + --ptr; // need to decrement since the for loop increments + if(header->bytes_remaining == 2) + { + uint32_t packetLen; + *header->len_buffer_ptr = 0; + if(!StringUtil::strToUint32((const char*)header->len_buffer, &packetLen)) + { + RESET_CMD_HEADER(header); + } + else + { + if(packetLen > 0) + { + if(packetLen <= 2) + { + return WICONNECT_CMD_RESPONSE_ERROR; + } + packetLen -= 2; + } + if((int)packetLen > context->responseBufferLen) + { + DEBUG_ERROR("Packet larger than response buffer: %d > %d", packetLen, context->responseBufferLen); + return WICONNECT_OVERFLOW; + } + header->response_len = (uint16_t)packetLen; + context->bytesToRead = packetLen; + } + } + } + else if(header->bytes_remaining == 2) + { + --bytesReceived; + if(*ptr == '\r') + { + header->bytes_remaining = 1; + } + else + { + RESET_CMD_HEADER(header); + } + } + else + { + --bytesReceived; + if(*ptr == '\n') + { + header->bytes_remaining = 0; + break; + } + else + { + RESET_CMD_HEADER(header); + } + } + } + } + } + + while(context->bytesToRead > 0) + { + const TimerTimeout timeout = context->nonBlocking ? 0 : timeoutTimer.remainingMs(context->timeoutMs); + const int bytesToRead = context->bytesToRead; + const int bytesReceived = serial.read(context->responseBufferPtr, bytesToRead, timeout); + context->responseBufferPtr += bytesReceived; + context->bytesToRead -= bytesReceived; + + if(bytesReceived != bytesToRead) + { + return timeoutTimer.timedOut(context->timeoutMs) ? WICONNECT_TIMEOUT : WICONNECT_PROCESSING; + } + else if(context->bytesToRead == 0) + { + char buf[2]; + int bytesRemaining = 2; + *context->responseBufferPtr = 0; + + // read the trailing \r\n + while(bytesRemaining > 0) + { + const int bytesReceived = serial.read(buf, bytesRemaining, 0); + bytesRemaining -= bytesReceived; + + if(bytesRemaining > 0 && timeoutTimer.timedOut(context->timeoutMs)) + { + return WICONNECT_TIMEOUT; + } + } + } + } + + return (header->response_code != WICONNECT_CMD_CODE_NULL && + header->response_type != WICONNECT_CMD_TYPE_NULL && + context->bytesToRead == 0) ? WICONNECT_SUCCESS : WICONNECT_PROCESSING; +} + +/*************************************************************************************************/ +void Wiconnect::issueCommandCallback(WiconnectResult result) +{ + CommandHeader *header = (CommandHeader*)commandHeaderBuffer; + CommandContext *context = (CommandContext*)commandContext; +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + void *returnPtr = (currentQueuedCommand != NULL) ? (void*)currentQueuedCommand : (void*)context->responseBuffer; + currentQueuedCommand = NULL; + commandProcessorTimer.stop(); +#else + void *returnPtr = (void*)context->responseBuffer; +#endif + + context->callback.call(result, returnPtr, (void*)(uint32_t)header->response_len); + commandExecuting = false; + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + processNextQueuedCommand(); +#endif +} + +/*************************************************************************************************/ +void Wiconnect::stopCurrentCommand() +{ + internalProcessingState = 0; + issueCommandCallback(WICONNECT_ABORTED); +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QueuedCommand.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,196 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + +/*************************************************************************************************/ +QueuedCommand::QueuedCommand(int responseBufferLen_, char *responseBuffer_, int timeoutMs_, const ReaderFunc &reader_, void *user_, const char *cmd_, va_list vaList) +{ + initialize(responseBufferLen_, responseBuffer_, timeoutMs_, reader_, user_, cmd_, vaList); +} + +/*************************************************************************************************/ +QueuedCommand::QueuedCommand(int responseBufferLen_, char* responseBuffer_, int timeoutMs_, const char *cmd_, ...) +{ + va_list args; + va_start(args, cmd_); + initialize(responseBufferLen_, responseBuffer_, timeoutMs_, ReaderFunc(), NULL, cmd_, args); + va_end(args); +} + +/*************************************************************************************************/ +QueuedCommand::QueuedCommand(int responseBufferLen_, char *responseBuffer_, const char *cmd_, ...) +{ + va_list args; + va_start(args, cmd_); + initialize(responseBufferLen_, responseBuffer_, WICONNECT_DEFAULT_TIMEOUT, ReaderFunc(), NULL, cmd_, args); + va_end(args); +} + +/*************************************************************************************************/ +QueuedCommand::QueuedCommand(int timeoutMs_, const char *cmd_, ...) +{ + va_list args; + va_start(args, cmd_); + initialize(0, NULL, timeoutMs_, ReaderFunc(), NULL, cmd_, args); + va_end(args); +} + +/*************************************************************************************************/ +QueuedCommand::QueuedCommand(const char *cmd_, ...) +{ + va_list args; + va_start(args, cmd_); + initialize(0, NULL, WICONNECT_DEFAULT_TIMEOUT, ReaderFunc(), NULL, cmd_, args); + va_end(args); +} + +/*************************************************************************************************/ +QueuedCommand::~QueuedCommand() +{ +#ifdef WICONNECT_ENABLE_MALLOC + if(allocatedBuffer) + { + Wiconnect::getInstance()->_free(responseBuffer); + } +#endif +} + +/*************************************************************************************************/ +char *QueuedCommand::getResponseBuffer() +{ + return responseBuffer; +} +/*************************************************************************************************/ +int QueuedCommand::getResponseBufferLen() +{ + return responseBufferLen; +} +/*************************************************************************************************/ +int QueuedCommand::getTimeoutMs() +{ + return timeoutMs; +} +/*************************************************************************************************/ +ReaderFunc QueuedCommand::getReader() +{ + return reader; +} +/*************************************************************************************************/ +void * QueuedCommand::getReaderUserData() +{ + return user; +} +/*************************************************************************************************/ +char* QueuedCommand::getCommand() +{ + return command; +} +/*************************************************************************************************/ +Callback QueuedCommand::getCompletedCallback() +{ + return completeCallback; +} +/*************************************************************************************************/ +void QueuedCommand::setCompletedCallback(const Callback &cb) +{ + completeCallback = cb; +} + +/*************************************************************************************************/ +QueuedCommand& QueuedCommand::operator=( const QueuedCommand& other ) +{ + responseBuffer = other.responseBuffer; + responseBufferLen = other.responseBufferLen; + timeoutMs = other.timeoutMs; + reader = other.reader; + user = other.user; + completeCallback = other.completeCallback; + memcpy(command, other.command, sizeof(command)); + return *this; +} + +/*************************************************************************************************/ +void* QueuedCommand::operator new(size_t size) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "QueuedCommand:new malloc not defined", wiconnect->_malloc != NULL); + return Wiconnect::getInstance()->_malloc(size); +} + +/*************************************************************************************************/ +void QueuedCommand::operator delete(void* ptr) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "QueuedCommand:delete free not defined", wiconnect->_free != NULL); + Wiconnect::getInstance()->_free(ptr); +} + +/*************************************************************************************************/ +void QueuedCommand::initialize(int responseBufferLen_, char *responseBuffer_, int timeoutMs_, const ReaderFunc &reader_, void *user_, const char *cmd_, va_list vaList) +{ + if(responseBufferLen_ > 0) + { +#ifdef WICONNECT_ENABLE_MALLOC + Wiconnect *wiconnect = Wiconnect::getInstance(); + allocatedBuffer = false; + if(responseBuffer_ == NULL) + { + wiconnect_assert(wiconnect, "QueuedCommand() malloc not defined", wiconnect->_malloc != NULL); + responseBuffer = (char*)wiconnect->_malloc(responseBufferLen_); + wiconnect_assert(wiconnect, "QueuedCommand() responseBuffer malloc failed", responseBuffer != NULL); + allocatedBuffer = true; + } + else +#endif + { + wiconnect_assert(wiconnect, "QueuedCommand(), null buffer", responseBuffer_ != NULL); + responseBuffer = responseBuffer_; + } + } + responseBufferLen = responseBufferLen_; + timeoutMs = timeoutMs_; + reader = reader_; + user = user_; + userData = NULL; + + if(cmd_ != NULL) + { + int len = vsnprintf(command, sizeof(command)-3, cmd_, vaList); + command[len++] = '\r'; + command[len++] = '\n'; + command[len] = 0; + } +} + + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ScanResult.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,186 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" +#include "api/types/ScanResult.h" +#include "api/NetworkInterface.h" +#include "internal/common.h" + + +static inline bool floatToFixedPointInt(const char *str, uint32_t *res); + + + +/*************************************************************************************************/ +ScanResult::ScanResult() +{ + next = NULL; + previous = NULL; + channel = 0xff; + rssi = -9999; + rate = 0; + security = NETWORK_SECURITY_UNKNOWN; + memset(&mac, 0, (uint32_t)sizeof(mac)); + memset(&ssid, 0, (uint32_t)sizeof(ssid)); +} + +/*************************************************************************************************/ +WiconnectResult ScanResult::init(const char *channelStr, const char *rssiStr, const char* macStr, const char *rateStr, const char *secStr, const char *ssidStr) +{ + intmax_t r; + if(!StringUtil::parseInt(channelStr, &r, 0, 15)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + channel = (int)r; + if(!StringUtil::parseInt(rssiStr, &r, -200, 100)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + rssi = (int)r; + + if(!Wiconnect::strToMacAddress(macStr, &mac)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + + if(!floatToFixedPointInt(rateStr, &rate)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + security = Wiconnect::strToNetworkSecurity(secStr); + + if(!Wiconnect::strToSsid(ssidStr, &ssid)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + + return WICONNECT_SUCCESS; +} + +#ifdef WICONNECT_ENABLE_MALLOC +/*************************************************************************************************/ +void* ScanResult::operator new(size_t size) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "ScanResult:new, malloc not defined", wiconnect->_malloc != NULL); + return Wiconnect::getInstance()->_malloc(size); +} + +/*************************************************************************************************/ +void ScanResult::operator delete(void* ptr) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "ScanResult:delete, free not defined", wiconnect->_free != NULL); + Wiconnect::getInstance()->_free(ptr); +} +#endif + +/*************************************************************************************************/ +uint8_t ScanResult::getChannel() const +{ + return channel; +} +/*************************************************************************************************/ +NetworkSignalStrength ScanResult::getSignalStrength() const +{ + return Wiconnect::rssiToSignalStrength(rssi); +} +/*************************************************************************************************/ +const MacAddress* ScanResult::getMacAddress() const +{ + return &mac; +} +/*************************************************************************************************/ +uint32_t ScanResult::getRate() const +{ + return rate; +} +/*************************************************************************************************/ +const char* ScanResult::getRateStr(char *buffer) const +{ + SET_STR_BUFFER(buffer, 16); + uint32_t i = rate / 10; + uint32_t f = rate % 10; + sprintf(ptr, "%u.%u", (unsigned int)i, (unsigned int)f); + return ptr; +} +/*************************************************************************************************/ +NetworkSecurity ScanResult::getSecurityType() const +{ + return security; +} +/*************************************************************************************************/ +const Ssid* ScanResult::getSsid() const +{ + return &ssid; +} + +/*************************************************************************************************/ +const ScanResult* ScanResult::getNext() const +{ + return next; +} + +/*************************************************************************************************/ +const ScanResult* ScanResult::getPrevious() const +{ + return previous; +} + + +/*************************************************************************************************/ +static inline bool floatToFixedPointInt(const char *str, uint32_t *res) +{ + intmax_t i; + intmax_t f = 0; + char buffer[32]; + + strcpy(buffer, str); + + char* frac = strchr(buffer, '.'); + if(frac != NULL) + { + *frac = 0; + ++frac; + } + + if(!StringUtil::parseInt(buffer, &i, 0, 1000)) + { + return false; + } + if(frac != NULL && !StringUtil::parseInt(frac, &f, 0, 9)) + { + return false; + } + + *res = (((uint32_t)i) * 10) + (uint32_t)f; + + return true; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ScanResultList.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,159 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include "Wiconnect.h" +#include "api/types/ScanResult.h" +#include "internal/common.h" + + +/*************************************************************************************************/ +ScanResultList::ScanResultList(int bufferLen_, void *buffer_) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "ScanResultList(), bad buffer", (bufferLen_ == 0 && buffer_ == NULL) || (bufferLen_ != 0 && buffer_ != NULL)); + buffer = (uint8_t*)buffer_; + bufferLen = bufferLen_; + reset(); +} + +/*************************************************************************************************/ +ScanResultList::~ScanResultList() +{ + reset(); +} + +/*************************************************************************************************/ +void ScanResultList::reset(void) +{ +#ifdef WICONNECT_ENABLE_MALLOC + if(buffer == NULL) + { + ScanResult* result = listHead; + while(result != NULL) + { + ScanResult* tmp = result; + result = result->next; + delete tmp; + } + } +#endif + listHead = listTail = NULL; + bufferPtr = buffer; + bufferRemaining = bufferLen; + count = 0; +} + + +/*************************************************************************************************/ +WiconnectResult ScanResultList::add(const char *channelStr, const char *rssiStr, const char* macStr, const char *rateStr, const char *secStr, const char *ssidStr) +{ + WiconnectResult result; + ScanResult *res; + + if(buffer == NULL) + { +#ifdef WICONNECT_ENABLE_MALLOC + res = new ScanResult(); + if(res == NULL) +#endif + { + return WICONNECT_NULL_BUFFER; + } + } + else + { + if(bufferRemaining < sizeof(ScanResult)) + { + return WICONNECT_OVERFLOW; + } + res = (ScanResult*)bufferPtr; + memset(res, 0, sizeof(ScanResult)); + bufferRemaining -= sizeof(ScanResult); + bufferPtr += sizeof(ScanResult); + } + + if(WICONNECT_FAILED(result, res->init(channelStr, rssiStr, macStr, rateStr, secStr, ssidStr))) + { + if(buffer == NULL) + { + delete res; + } + } + else + { + if(listHead == NULL) + { + listHead = listTail = res; + } + else + { + res->previous = listTail; + listTail->next = res; + listTail = res; + } + ++count; + } + + return result; +} + +/*************************************************************************************************/ +const ScanResult* ScanResultList::getListHead() const +{ + return listHead; +} + +/*************************************************************************************************/ +int ScanResultList::getCount() const +{ + return count; +} + +/*************************************************************************************************/ +const ScanResult* ScanResultList::getResult(int i) const +{ + if(i >= count) + return NULL; + + ScanResult* result = listHead; + while(i-- != 0) + result = result->next; + + return result; +} + +/*************************************************************************************************/ +const ScanResult* ScanResultList::operator [](int i) const +{ + return getResult(i); +} + + + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SendCommand.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,209 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "internal/CommandCommon.h" + + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, + int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, + const char *cmd, va_list vaList) +{ + // preprocessor assertion + ct_assert(sizeof(commandContext) >=sizeof(CommandContext)); + CHECK_INITIALIZED(); + CHECK_NULL_BUFFER(responseBuffer); + if(commandExecuting) + { + return checkCurrentCommand(); + } + + CommandContext *context = (CommandContext*)commandContext; + CommandHeader *header = (CommandHeader*)commandHeaderBuffer; + + int len = vsnprintf(commandFormatBuffer, sizeof(commandFormatBuffer)-3, cmd, vaList); + + if(len > (int)(sizeof(commandFormatBuffer)-3)) + { + DEBUG_ERROR("Command overflowed: %d > %d", len, sizeof(commandFormatBuffer)-3); + return WICONNECT_OVERFLOW; + } + + commandFormatBuffer[len++] = '\r'; + commandFormatBuffer[len++] = '\n'; + commandFormatBuffer[len] = 0; + + RESET_CMD_HEADER(header); + + memset(context, 0, sizeof(CommandContext)); + context->responseBuffer = responseBuffer; + context->responseBufferPtr = context->responseBuffer; + context->responseBufferLen = responseBufferLen; + context->commandLen = len; + context->commandPtr = commandFormatBuffer; + context->reader = reader; + context->user = user; + context->timeoutMs = timeoutMs; + context->callback = completeCallback; + context->nonBlocking = nonBlocking; + + DEBUG_CMD_SEND(commandFormatBuffer); + + commandExecuting = true; + flush(0); + timeoutTimer.reset(); + + return checkCurrentCommand(); +} + + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, + const ReaderFunc &reader, void *user, const char *cmd, va_list vaList) +{ + return sendCommand(Callback(), responseBuffer, responseBufferLen, timeoutMs, reader, user, cmd, vaList); +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, + const ReaderFunc &reader, void *user, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(Callback(), responseBuffer, responseBufferLen, timeoutMs, reader, user, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(Callback(), internalBuffer, internalBufferSize, timeoutMs, reader, user, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(const ReaderFunc &reader, void *user, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(Callback(), internalBuffer, internalBufferSize, defaultTimeoutMs, reader, user, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(Callback(), responseBuffer, responseBufferLen, timeoutMs, ReaderFunc(), NULL, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(completeCallback, responseBuffer, responseBufferLen, defaultTimeoutMs, ReaderFunc(), NULL, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(Callback(), responseBuffer, responseBufferLen, defaultTimeoutMs, ReaderFunc(), NULL, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(const Callback &completeCallback, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(completeCallback, internalBuffer, internalBufferSize, defaultTimeoutMs, ReaderFunc(), NULL, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(Callback(), internalBuffer, internalBufferSize, defaultTimeoutMs, ReaderFunc(), NULL, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(const Callback &completeCallback, TimerTimeout timeoutMs, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(completeCallback, internalBuffer, internalBufferSize, timeoutMs, ReaderFunc(), NULL, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(TimerTimeout timeoutMs, const char *cmd, ...) +{ + WiconnectResult result; + va_list args; + va_start(args, cmd); + result = sendCommand(Callback(), internalBuffer, internalBufferSize, timeoutMs, ReaderFunc(), NULL, cmd, args); + va_end(args); + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::sendCommand(const char *cmd, va_list vaList) +{ + return sendCommand(Callback(), internalBuffer, internalBufferSize, defaultTimeoutMs, ReaderFunc(), NULL, cmd, vaList); +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Socket.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,80 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + + +#include "api/types/Socket/Socket.h" +#include "common.h" + + + + +/*************************************************************************************************/ +Socket::Socket() : _blocking(true), _timeout(1500) +{ +} + +/*************************************************************************************************/ +Socket::Socket(int rxBufferLen, void *rxBuffer, int txBufferLen, void *txBuffer) : + _blocking(true), _timeout(1500), socket(rxBufferLen, rxBuffer, txBufferLen, txBuffer) +{ + +} + +/*************************************************************************************************/ +Socket::~Socket() +{ + close(true); +} + +/*************************************************************************************************/ +void Socket::set_blocking(bool blocking, unsigned int timeout) +{ + _blocking = blocking; + _timeout = timeout; +} + +/*************************************************************************************************/ +int Socket::set_option(int level, int optname, const void *optval, socklen_t optlen) +{ + return -1; +} + +/*************************************************************************************************/ +int Socket::get_option(int level, int optname, void *optval, socklen_t *optlen) +{ + return -1; +} + +/*************************************************************************************************/ +int Socket::close(bool shutdown) +{ + return (socket.close() == WICONNECT_SUCCESS) ? 0 : -1; +} + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SocketInterface.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,304 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include <string.h> +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + +#ifdef WICONNECT_GPIO_IRQ_ENABLED +#include "api/types/SocketIrqHandlerMap.h" +#endif + + +/*************************************************************************************************/ +SocketInterface::SocketInterface(Wiconnect *wiconnect_) +{ + wiconnect = wiconnect_; + serverConnectedClientList = 0; +} + +/*************************************************************************************************/ +SocketInterface::~SocketInterface() +{ +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::connect(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG) +{ + WiconnectResult result; + int32_t handle; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + char gpioOption[8] = ""; + +#ifdef WICONNECT_GPIO_IRQ_ENABLED + if(irqPin != PIN_NC) + { + PinToGpioMapper mapper = wiconnect->pinToGpioMapper; + if(mapper == NULL) + { + return WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL; + } + int8_t gpio = mapper(irqPin); + if(gpio == -1) + { + return WICONNECT_PINNAME_TO_GPIO_NO_MAPPING; + } + else if(!irqHandlers.pinIsRegistered(irqPin)) + { + return WICONNECT_NOT_FOUND; + } + + sprintf(gpioOption, "-g %d ", gpio); + } +#endif + + switch(type) + { + case SOCKET_TYPE_TCP: + sprintf(cmdBuffer, "tcpc %s%s %d", gpioOption, host, remortPort); + break; + + case SOCKET_TYPE_UDP: { + char tmp[16]; + sprintf(cmdBuffer, "udpc %s%s %d %s", gpioOption, host, remortPort, + (localPort != SOCKET_ANY_PORT) ? StringUtil::uint32ToStr(tmp, localPort) : ""); + } break; + + case SOCKET_TYPE_TLS: + sprintf(cmdBuffer, "tlsc %s%s %d %s", gpioOption, host, remortPort, + (args != NULL) ? (char*)args : ""); + break; + + case SOCKET_TYPE_HTTP: { + const HttpSocketArgs *httpArgs = (const HttpSocketArgs*)args; + switch(httpArgs->type) + { + case SOCKET_HTTP_GET: + sprintf(cmdBuffer, "http_get %s%s %s", httpArgs->openOnly ? "-o " : "", + host, + (httpArgs->certName != NULL) ? httpArgs->certName : ""); + break; + + case SOCKET_HTTP_HEAD: + sprintf(cmdBuffer, "http_head %s%s %s", httpArgs->openOnly ? "-o " : "", + host, + (httpArgs->certName != NULL) ? httpArgs->certName : ""); + break; + + case SOCKET_HTTP_POST: + sprintf(cmdBuffer, "http_post %s%s %s %s", httpArgs->openOnly ? "-o " : "", + host, + httpArgs->contextType, + (httpArgs->certName != NULL) ? httpArgs->certName : ""); + break; + + default: + return WICONNECT_BAD_ARG; + } + + } break; + default: + return WICONNECT_BAD_ARG; + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(cmdBuffer))) + { + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&handle))) + { + socket.init(handle, type, host, remortPort, localPort); + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::tcpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG) +{ + return connect(socket, SOCKET_TYPE_TCP, host, remortPort, SOCKET_ANY_PORT, NULL GPIO_IRQ_PARAM); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::tlsConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename GPIO_IRQ_ARG) +{ + return connect(socket, SOCKET_TYPE_TLS, host, remortPort, SOCKET_ANY_PORT, certFilename GPIO_IRQ_PARAM); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::udpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort GPIO_IRQ_ARG) +{ + return connect(socket, SOCKET_TYPE_UDP, host, remortPort, localPort, NULL GPIO_IRQ_PARAM); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::httpConnect(WiconnectSocket &socket, const char *url, const HttpSocketArgs *args) +{ +#ifdef WICONNECT_GPIO_IRQ_ENABLED +#define IRQ_NC ,NC +#else +#define IRQ_NC +#endif + return connect(socket, SOCKET_TYPE_HTTP, url, SOCKET_ANY_PORT, SOCKET_ANY_PORT, args IRQ_NC); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::httpGet(WiconnectSocket &socket, const char *url, bool openOnly, const char *certFilename) +{ + const HttpSocketArgs args = + { + NULL, + certFilename, + openOnly, + SOCKET_HTTP_GET + }; + return httpConnect(socket, url, &args); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::httpPost(WiconnectSocket &socket, const char *url, const char *contextType, bool openOnly, const char *certFilename) +{ + const HttpSocketArgs args = + { + contextType, + certFilename, + openOnly, + SOCKET_HTTP_POST + }; + return httpConnect(socket, url, &args); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::httpHead(WiconnectSocket &socket, const char *url, const char *certFilename) +{ + const HttpSocketArgs args = + { + NULL, + certFilename, + false, + SOCKET_HTTP_HEAD + }; + return httpConnect(socket, url, &args); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::httpAddHeader(WiconnectSocket &socket, const char *key, const char *value) +{ + WiconnectResult result; + char *cmdBuffer = wiconnect->internalBuffer; + + if(WICONNECT_IS_IDLE()) + { + sprintf(cmdBuffer, "http_add_header %d %s %s", socket.getHandle(), key, value); + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand(cmdBuffer); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::httpGetStatus(WiconnectSocket &socket, uint32_t *statusCodePtr) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand("http_read_status %d", socket.getHandle()); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::closeAllSockets() +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand("close all"); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + + +#ifdef WICONNECT_GPIO_IRQ_ENABLED +/*************************************************************************************************/ +WiconnectResult SocketInterface::registerSocketIrqHandler(Pin irqPin, const Callback &handler) +{ + PinToGpioMapper mapper = wiconnect->pinToGpioMapper; + if(irqHandlers.pinIsRegistered(irqPin)) + { + return WICONNECT_DUPLICATE; + } + else if(mapper == NULL) + { + return WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL; + } + int8_t gpio = mapper(irqPin); + if(gpio == -1) + { + return WICONNECT_PINNAME_TO_GPIO_NO_MAPPING; + } + + return irqHandlers.registerHandler(irqPin, handler); +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::unregisterSocketIrqHandler(Pin irqPin) +{ + return irqHandlers.unregisterHandler(irqPin); +} +#endif + +/*************************************************************************************************/ +void SocketInterface::socketClosedCallback(const WiconnectSocket *socket) +{ + const uint32_t handleMask = (1 << socket->handle); + if(serverConnectedClientList & handleMask) + { + serverConnectedClientList &= ~handleMask; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TCPSocketConnection.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,141 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + + +#include "api/types/Socket/TCPSocketConnection.h" +#include "common.h" + + + +/*************************************************************************************************/ +TCPSocketConnection::TCPSocketConnection(int rxBufferLen, void *rxBuffer, int txBufferLen, void *txBuffer) +: Socket(rxBufferLen, rxBuffer, txBufferLen, txBuffer) +{ +} + +/*************************************************************************************************/ +int TCPSocketConnection::connect(const char* host, const int port) +{ + return (Wiconnect::getInstance()->tcpConnect(socket, host, (uint16_t)port) == WICONNECT_SUCCESS) ? 0 : -1; +} + +/*************************************************************************************************/ +bool TCPSocketConnection::is_connected(void) +{ + return socket.isConnected(); +} + +/*************************************************************************************************/ +// currently there's no way to timeout writing data to WiConnect, so we just have to try and send it all. +// NOTE: this WILL be fixed in the next version +int TCPSocketConnection::send(char* data, int length) +{ + return send_all(data, length); +} + +/*************************************************************************************************/ +// -1 if unsuccessful, else number of bytes written +int TCPSocketConnection::send_all(char* data, int length) +{ + return (socket.write(data, length, true) == WICONNECT_SUCCESS) ? length : -1; +} + +/*************************************************************************************************/ +int TCPSocketConnection::receive(char* data, int length) +{ + uint16_t bytesRead; + + if (!_blocking) + { + if(socket.getRxBufferSize() == 0 || socket.getRxBufferBytesPending() == 0) + { + TimeoutTimer timer; + + for(;;) + { + bool hasData; + + if(socket.poll(&hasData) != WICONNECT_SUCCESS) + { + return -1; + } + else if(hasData) + { + break; + } + else if(timer.timedOut(_timeout)) + { + return -1; + } + } + } + } + + if(length == 1 && socket.getRxBufferSize() > 0) + { + return (socket.getc((uint8_t*)data) == WICONNECT_SUCCESS) ? 1 : -1; + } + else + { + for(;;) + { + if(socket.read(data, length, &bytesRead) != WICONNECT_SUCCESS) + { + return -1; + } + else if(bytesRead > 0) + { + return bytesRead; + } + } + } +} + +/*************************************************************************************************/ +// -1 if unsuccessful, else number of bytes received +int TCPSocketConnection::receive_all(char* data, int length) +{ + char *ptr = data; + int totReadSize = length; + + while(length > 0) + { + int bytesRead = receive(ptr, length); + if(bytesRead == -1) + { + return -1; + } + ptr += bytesRead; + length -= bytesRead; + } + + return totReadSize; +} + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TCPSocketServer.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,56 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "api/types/Socket/TCPSocketServer.h" +#include "common.h" + + +/*************************************************************************************************/ +TCPSocketServer::TCPSocketServer() +{ +} + + +/*************************************************************************************************/ +int TCPSocketServer::bind(int port) +{ + return -1; +} + +/*************************************************************************************************/ +int TCPSocketServer::listen(int max) +{ + return -1; +} + +/*************************************************************************************************/ +int TCPSocketServer::accept(TCPSocketConnection& connection) +{ + return -1; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TcpServer.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,275 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + +#ifdef WICONNECT_GPIO_IRQ_ENABLED +#include "api/types/SocketIrqHandlerMap.h" +#endif + +#define TCP_SERVER_MONITOR_PERIOD 250 //ms + + + +static WiconnectResult parseIpPortStr(char *str, uint32_t *ipAddress, uint16_t *port); + + + + +/*************************************************************************************************/ +WiconnectResult SocketInterface::tcpListen(uint16_t listeningPort, int maxClients GPIO_IRQ_ARG) +{ + WiconnectResult result = WICONNECT_ERROR; + + enum + { + FS_SET_MAX_CLIENTS, + FS_SET_DATA_GPIO, + FS_START_SERVER, + }; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(wiconnect->internalProcessingState == FS_SET_MAX_CLIENTS) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("set tcp.server.max_clients", maxClients))) + { + wiconnect->internalProcessingState = FS_SET_DATA_GPIO; + } + else if(result == WICONNECT_CMD_RESPONSE_ERROR) + { + // if there was a module error, then the wiconnect version probably doesn't support this option + // just continue to the next state + wiconnect->internalProcessingState = FS_SET_DATA_GPIO; + } + } + + if(wiconnect->internalProcessingState == FS_SET_DATA_GPIO) + { +#ifdef WICONNECT_GPIO_IRQ_ENABLED + if(irqPin == PIN_NC) + { + wiconnect->internalProcessingState = FS_START_SERVER; + } + else + { + PinToGpioMapper mapper = wiconnect->pinToGpioMapper; + if(mapper == NULL) + { + return WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL; + } + int8_t gpio = mapper(irqPin); + if(gpio == -1) + { + return WICONNECT_PINNAME_TO_GPIO_NO_MAPPING; + } + else if(!irqHandlers.pinIsRegistered(irqPin)) + { + return WICONNECT_NOT_FOUND; + } + else if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("set tcp.server.data_gpio %d", gpio))) + { + wiconnect->internalProcessingState = FS_START_SERVER; + } + } +#else + wiconnect->internalProcessingState = FS_START_SERVER; +#endif + } + + if(wiconnect->internalProcessingState == FS_START_SERVER) + { + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("tcps start %d", listeningPort))) + { +//#ifdef WICONNECT_ASYNC_TIMER_ENABLED +// if(clientConnectedCallback.isValid() && !wiconnect->nonBlocking) +// { +// serverClientConnectedCallback = clientConnectedCallback; +// serverMonitorTimer.start(this, &SocketInterface::serverClientMonitor, TCP_SERVER_MONITOR_PERIOD); +// } +//#endif + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::tcpAccept(WiconnectSocket &socket, uint32_t timeoutMs) +{ + TimeoutTimer timer; + + do + { + uint8_t handle; + uint16_t local, remote; + uint32_t ipAddress; + WiconnectResult result; + + if(WICONNECT_SUCCEEDED(result, pollForServerClient(&handle, &local, &remote, &ipAddress))) + { + char ipBuffer[17]; + if(WICONNECT_FAILED(result, socket.init(handle, SOCKET_TYPE_TCP, Wiconnect::ipToStr(ipAddress, ipBuffer), remote, local))) + { + return result; + } + serverConnectedClientList |= (1 << handle); + return WICONNECT_SUCCESS; + } + else if(!(result == WICONNECT_PROCESSING || result == WICONNECT_NOT_FOUND)) + { + return result; + } + + } while(timeoutMs == WICONNECT_WAIT_FOREVER || !timer.timedOut(timeoutMs)); + + return WICONNECT_TIMEOUT; +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::tcpServerStop(void) +{ + WiconnectResult result = WICONNECT_ERROR; + + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand("tcps stop"); + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult SocketInterface::pollForServerClient(uint8_t *handlePtr, uint16_t *localPort, uint16_t *remotePort, uint32_t *ipAddress) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("list"))) + { + uint32_t connectedClients = 0; + char *line, *savedLine; + result = WICONNECT_NOT_FOUND; + + for(savedLine = wiconnect->internalBuffer; (line = StringUtil::strtok_r(savedLine, "\r\n", &savedLine)) != NULL;) + { + char *toks[4], *savedTok; + + if(*line != '#') + { + continue; + } + savedTok = line + 2; + + for(int i = 0; i < 4 && (toks[i] = StringUtil::strtok_r(savedTok, " ", &savedTok)) != NULL; ++i) + { + if(toks[i] == NULL) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + goto exit; + } + } + + if(strcmp(toks[1], "TCPS") != 0) + { + continue; + } + + uint8_t handle = (uint8_t)(*toks[0] - '0'); + if(handle >= WICONNECT_MAX_SOCKETS) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + goto exit; + } + const uint32_t handleMask = (1 << handle); + connectedClients |= handleMask; + + if(result == WICONNECT_SUCCESS) + { + continue; + } + else if(serverConnectedClientList & handleMask) + { + continue; + } + + result = WICONNECT_SUCCESS; + + if(handlePtr != NULL) + { + *handlePtr = handle; + parseIpPortStr(toks[2], NULL, localPort); + parseIpPortStr(toks[3], ipAddress, remotePort); + } + } + + uint32_t mask = 1; + for(int i = 0; i < WICONNECT_MAX_SOCKETS; ++i, mask <<= 1) + { + if(!(connectedClients & mask)) + { + serverConnectedClientList &= ~mask; + } + } + } + + +exit: + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +static WiconnectResult parseIpPortStr(char *str, uint32_t *ipAddress, uint16_t *port) +{ + char *colon = strchr(str, ':'); + if(colon == NULL) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + *colon++ = 0; + + if(ipAddress != NULL && !Wiconnect::strToIp(str, ipAddress)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + else if(!StringUtil::strToUint16(colon, port)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + + return WICONNECT_SUCCESS; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TimeoutTimer.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,66 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "us_ticker_api.h" + +/*************************************************************************************************/ +TimeoutTimer::TimeoutTimer() +{ + _start = 0; + us_ticker_init(); +} + +/*************************************************************************************************/ +void TimeoutTimer::reset(void) +{ + _start = us_ticker_read(); +} + +/*************************************************************************************************/ +TimerTimeout TimeoutTimer::remainingMs(TimerTimeout timeoutMs) +{ + volatile TimerTimeout diff = readMs(); + return (timeoutMs > diff) ? (timeoutMs - diff) : 0; +} + +/*************************************************************************************************/ +TimerTimeout TimeoutTimer::readMs() +{ + volatile TimerTimeout now = us_ticker_read(); + TimerTimeout remaining = (now > _start) ? (now - _start) : ((ULONG_MAX - _start) + now); + return remaining / 1000; +} + +/*************************************************************************************************/ +bool TimeoutTimer::timedOut(TimerTimeout timeoutMs) +{ + volatile TimerTimeout now = us_ticker_read(); + return ((now - _start) / 1000) > timeoutMs; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UDPSocket.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,140 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + + +#include "api/types/Socket/UDPSocket.h" +#include "common.h" + + +/*************************************************************************************************/ +UDPSocket::UDPSocket(int rxBufferLen, void *rxBuffer, int txBufferLen, void *txBuffer) +: Socket(rxBufferLen, rxBuffer, txBufferLen, txBuffer), localPort(SOCKET_ANY_PORT) +{ +} + +/*************************************************************************************************/ +int UDPSocket::init(void) +{ + return 0; +} + +/*************************************************************************************************/ +// Server initialization +int UDPSocket::bind(int port) +{ + localPort = port; + return 0; +} + +/*************************************************************************************************/ +int UDPSocket::join_multicast_group(const char* address) +{ + return -1; +} + +/*************************************************************************************************/ +int UDPSocket::set_broadcasting(bool broadcast) +{ + return 0; +} + +/*************************************************************************************************/ +// -1 if unsuccessful, else number of bytes written +int UDPSocket::sendTo(Endpoint &remote, char *packet, int length) +{ + if(!socket.isConnected()) + { + if(Wiconnect::getInstance()->udpConnect(socket, remote.get_address(), remote.get_port(), localPort) != WICONNECT_SUCCESS) + { + return -1; + } + } + return (socket.write(packet, length, true) == WICONNECT_SUCCESS) ? length : -1; +} + +/*************************************************************************************************/ +// -1 if unsuccessful, else number of bytes received +int UDPSocket::receiveFrom(Endpoint &remote, char *buffer, int length) +{ + uint16_t bytesRead; + + if(!socket.isConnected()) + { + if(Wiconnect::getInstance()->udpConnect(socket, remote._ipAddress, remote.get_port(), localPort) != WICONNECT_SUCCESS) + { + return -1; + } + } + + if (!_blocking) + { + if(socket.getRxBufferSize() == 0 || socket.getRxBufferBytesPending() == 0) + { + TimeoutTimer timer; + + for(;;) + { + bool hasData; + + if(socket.poll(&hasData) != WICONNECT_SUCCESS) + { + return -1; + } + else if(hasData) + { + break; + } + else if(timer.timedOut(_timeout)) + { + return -1; + } + } + } + } + + if(length == 1 && socket.getRxBufferSize() > 0) + { + return (socket.getc((uint8_t*)buffer) == WICONNECT_SUCCESS) ? 1 : -1; + } + else + { + for(;;) + { + if(socket.read(buffer, length, &bytesRead) != WICONNECT_SUCCESS) + { + return -1; + } + else if(bytesRead > 0) + { + return bytesRead; + } + } + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UdpServer.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,53 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + + +/*************************************************************************************************/ +WiconnectResult SocketInterface::udpListen(WiconnectUdpServer &udpServer, uint16_t listeningPort) +{ + WiconnectResult result; + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("udps start %d", listeningPort))) + { + // FIXME: the firmware had a bug, the above command should return the handle of the udp server stream, + // just default to 0 for now + udpServer.init(0, SOCKET_TYPE_UDPS, 0, 0, listeningPort); + } + + CHECK_CLEANUP_COMMAND(); + + return result; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Wiconnect.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,398 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include <stdio.h> +#include <stdarg.h> +#include <string.h> + +#include "api/WiconnectInterface.h" +#include "internal/common.h" +#include "internal/CommandCommon.h" + + + + +using namespace wiconnect; + + + + + +#ifdef WICONNECT_ENABLE_MALLOC +#define MALLOC_ARGS , void* (*mallocPtr)(size_t), void (*freePtr)(void*) +#define MALLOC_CONSTRUCTORS _malloc(mallocPtr), _free(freePtr), +#else +#define MALLOC_ARGS +#define MALLOC_CONSTRUCTORS +#endif + + +static Wiconnect* instance = NULL; + + + + +/*************************************************************************************************/ +void Wiconnect::prepare(void *internalBuffer_, int internalBufferSize_, bool nonBlocking_) +{ + instance = this; + internalBufferAlloc = false; +#ifdef WICONNECT_ENABLE_MALLOC + if(internalBufferSize_ > 0 && internalBuffer_ == NULL) + { + wiconnect_assert(this, "Wiconnect(), malloc not defined", _malloc != NULL); + internalBuffer = (char*)_malloc(internalBufferSize_); + internalBufferAlloc = true; + } + else +#endif + { + internalBuffer = (char*)internalBuffer_; + } + + internalProcessingState = 0; + currentCommandId = NULL; + internalBufferSize = internalBufferSize_;; + nonBlocking = nonBlocking_; + commandExecuting = false; + initialized = false; + pinToGpioMapper = NULL; + defaultTimeoutMs = WICONNECT_DEFAULT_TIMEOUT; + + memset(commandContext, 0, sizeof(commandContext)); + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + commandProcessingPeriod = WICONNECT_DEFAULT_COMMAND_PROCESSING_PERIOD; + currentQueuedCommand = NULL; +#endif +} + + +/*************************************************************************************************/ +Wiconnect::Wiconnect(const SerialConfig &serialConfig, int internalBufferSize, void *internalBuffer, Pin reset, Pin wake, bool nonBlocking MALLOC_ARGS) : + NetworkInterface(this), SocketInterface(this), FileInterface(this), GhmInterface(this), + MALLOC_CONSTRUCTORS serial(serialConfig, this), resetGpio(reset), wakeGpio(wake) +{ +#ifdef WICONNECT_ENABLE_MALLOC + wiconnect_assert(this, "Wiconnect(), bad malloc/free", (mallocPtr == NULL && freePtr == NULL) || (mallocPtr != NULL && freePtr != NULL)); +#endif + prepare(internalBuffer, internalBufferSize, nonBlocking); +} + +/*************************************************************************************************/ +Wiconnect::Wiconnect(const SerialConfig &serialConfig, Pin reset, Pin wake, bool nonBlocking MALLOC_ARGS) : + NetworkInterface(this), SocketInterface(this), FileInterface(this), GhmInterface(this), + MALLOC_CONSTRUCTORS serial(serialConfig, this), resetGpio(reset), wakeGpio(wake) +{ +#ifdef WICONNECT_ENABLE_MALLOC + wiconnect_assert(this, "Wiconnect(), bad malloc/free", (mallocPtr == NULL && freePtr == NULL) || (mallocPtr != NULL && freePtr != NULL)); +#endif + prepare(NULL, 0, nonBlocking); +} + +/*************************************************************************************************/ +Wiconnect::~Wiconnect() +{ +#ifdef WICONNECT_ENABLE_MALLOC + if(internalBufferAlloc) + { + _free(internalBuffer); + } +#endif +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::init(bool bringNetworkUp) +{ + WiconnectResult result; + int retries; + bool configuredBus = false; + bool savedNonBlocking = nonBlocking; + + DEBUG_INFO("Initializing wiconnect"); + + serial.initialize(); + + if(WICONNECT_FAILED(result, reset())) + { + return result; + } + + delayMs(1000); + + initialized = true; + nonBlocking = false; + + + loop: + for(retries = 3; retries > 0; --retries) + { + result = sendCommand(1000, CMD_SET_SYSTEM_COMMAND_MODE, "machine"); + if(result != WICONNECT_SUCCESS) + { + delayMs(100); + } + else + { + break; + } + } + + if(result != WICONNECT_SUCCESS && !configuredBus) + { + configuredBus = true; + if(configureModuleDataBus()) + { + goto loop; + } + } + + if(result == WICONNECT_SUCCESS) + { + sendCommand("set stream.auto_close 0"); + } + if(result == WICONNECT_SUCCESS && bringNetworkUp) + { + sendCommand(15000, "ping -g"); + } + + nonBlocking = savedNonBlocking; + if(result != WICONNECT_SUCCESS) + { + initialized = false; + } + + + return result; +} + +/*************************************************************************************************/ +void Wiconnect::deinit(void) +{ + initialized = false; +} + +/*************************************************************************************************/ +Wiconnect* Wiconnect::getInstance() +{ + return instance; +} + +/*************************************************************************************************/ +bool Wiconnect::isInitialized() +{ + return initialized; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::reset() +{ + resetGpio = 0; + delayMs(10); + resetGpio = 1; + delayMs(1000); + return WICONNECT_SUCCESS; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::wakeup() +{ + wakeGpio = 1; + delayMs(1); + wakeGpio = 0; + return WICONNECT_SUCCESS; +} + +/*************************************************************************************************/ +void Wiconnect::flush(int delayMs) +{ +// if(delayMs != 0) +// { +// serial.write("\r\n\r\n", 4, 0); +// } +// delayMs(delayMs); +// serial.flush(); +} + +/*************************************************************************************************/ +void Wiconnect::setPinToGpioMapper(PinToGpioMapper mapper) +{ + pinToGpioMapper = mapper; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::getVersion(char *versionBuffer, int versionBufferSize, const Callback &completeCallback) +{ + WiconnectResult result; + + if(versionBuffer != NULL && versionBufferSize == 0) + { + return WICONNECT_BAD_ARG; + } + + _CHECK_OTHER_COMMAND_EXECUTING(); + + if(versionBuffer == NULL) + { + result = sendCommand(completeCallback, CMD_GET_VERSION); + } + else + { + result = sendCommand(completeCallback, versionBuffer, versionBufferSize, CMD_GET_VERSION); + } + + _CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::updateFirmware(bool forced, const char *versionStr, const Callback &completeCallback) +{ + WiconnectResult result; + char *cmdBuffer = internalBuffer; + + if(_WICONNECT_IS_IDLE()) + { + strcpy(cmdBuffer, "ota "); + if(versionStr != NULL) + { + strcat(cmdBuffer, "-b wiconnect-"); + strcat(cmdBuffer, versionStr); + } + else if(forced) + { + strcat(cmdBuffer, "-f"); + } + } + + _CHECK_OTHER_COMMAND_EXECUTING(); + + result = sendCommand(completeCallback, WICONNECT_FIRMWARE_UPDATE_TIMEOUT, cmdBuffer); + + _CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +const char* Wiconnect::getWiconnectResultStr(WiconnectResult wiconnectResult) +{ + static const char* const wiconnectSuccessStrTable[] = { + "Success", // WICONNECT_SUCCESS + "Processing command", // WICONNECT_PROCESSING + "Idle", // WICONNECT_IDLE + "Aborted", // WICONNECT_ABORTED + }; + static const char* const wiconnectErrorStrTable[] = { + "", + "General error", // WICONNECT_ERROR + "WiConnect command code error", // WICONNECT_CMD_RESPONSE_ERROR + "Null buffer", // WICONNECT_NULL_BUFFER + "Not initialized", // WICONNECT_NOT_INITIALIZED + "Overflow", // WICONNECT_OVERFLOW + "Timeout", // WICONNECT_TIMEOUT + "Response handler null", // WICONNECT_RESPONSE_HANDLER_NULL + "Response parse error", // WICONNECT_RESPONSE_PARSE_ERROR + "Another command is executing", // WICONNECT_ANOTHER_CMD_EXECUTING + "Bad argument(s)", // WICONNECT_BAD_ARG + "Unsupported", // WICONNECT_UNSUPPORTED + "Pin name to GPIO mapper null", // WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL + "Duplicate", // WICONNECT_DUPLICATE + "Not found", // WICONNECT_NOT_FOUND + "No mapping for pinname to GPIO", // WICONNECT_PINNAME_TO_GPIO_NO_MAPPING + "Not connected", // WICONNECT_NOT_CONNECTED + "Underflow", // WICONNECT_UNDERFLOW + "A monitor is not available", // WICONNECT_MONITOR_NOT_AVAILABLE + "Not opened for reading", // WICONNECT_NOT_OPENED_FOR_READING + }; + + if((int)wiconnectResult >= (int)WICONNECT_SUCCESS) + { + return wiconnectSuccessStrTable[wiconnectResult]; + } + else + { + wiconnectResult = (WiconnectResult)(-((int)wiconnectResult)); + return wiconnectErrorStrTable[wiconnectResult]; + } +} + + +/*************************************************************************************************/ +void Wiconnect::setDebugLogger(LogFunc logFunc) +{ +#ifdef WICONNECT_ENABLE_DEBUGGING + debugLogger = logFunc; +#endif +} + +/*************************************************************************************************/ +void Wiconnect::setAssertLogger(LogFunc assertLogFunc) +{ + assertLogger = assertLogFunc; +} + +#ifdef WICONNECT_ENABLE_DEBUGGING +/*************************************************************************************************/ +void Wiconnect::debugLog(const char *msg, ...) +{ + if(!debugLogger.isValid()) + { + return; + } + + static char buffer[96]; + va_list args; + va_start(args, msg); + int len = vsnprintf(buffer, sizeof(buffer)-1, msg, args); + va_end(args); + + if(len > (int)(sizeof(buffer)-6)) + { + char *p = &buffer[sizeof(buffer)-6]; + *p++ = '.'; + *p++ = '.'; + *p++ = '.'; + *p++ = '\r'; + *p++ = '\n'; + *p = 0; + } + else + { + if(buffer[len-2] != '\r') + { + char *p = &buffer[len]; + *p++ = '\r'; + *p++ = '\n'; + *p = 0; + } + } + debugLogger.call(buffer); +} +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Wiconnect.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,35 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "api/WiconnectInterface.h" + + +using namespace wiconnect; +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiconnectCommand.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,111 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "internal/CommandCommon.h" +#include "api/StringUtil.h" + + + +/*************************************************************************************************/ +void Wiconnect::setCommandDefaultTimeout(TimerTimeout timeoutMs) +{ + defaultTimeoutMs = timeoutMs; +} + +/*************************************************************************************************/ +TimerTimeout Wiconnect::getCommandDefaultTimeout() +{ + return defaultTimeoutMs; +} + +/*************************************************************************************************/ +void Wiconnect::setBlockingEnabled(bool blockingEnabled) +{ + nonBlocking = !blockingEnabled; +} + +/*************************************************************************************************/ +bool Wiconnect::getBlockingEnabled(void) +{ + return !nonBlocking; +} + +/*************************************************************************************************/ +char* Wiconnect::getResponseBuffer() +{ + return internalBuffer; +} + +/*************************************************************************************************/ +uint16_t Wiconnect::getLastCommandResponseLength() +{ + CommandHeader *header = (CommandHeader*)commandHeaderBuffer; + return header->response_len; +} + +/*************************************************************************************************/ +const char* Wiconnect::getLastCommandResponseCodeStr() +{ + if(!initialized) + { + return NULL; + } + static const char* const response_error_strings[] ={ + "Null", + "Success", + "Failed", + "Parse error", + "Unknown command", + "Too few arguments", + "Too many arguments", + "Unknown command option", + "Bad command arguments" + }; + CommandHeader *header = (CommandHeader*)commandHeaderBuffer; + + return response_error_strings[header->response_code]; +} + + +/*************************************************************************************************/ +WiconnectResult Wiconnect::responseToUint32(uint32_t *uint32Ptr) +{ + CHECK_INITIALIZED(); + return StringUtil::strToUint32(internalBuffer, uint32Ptr) ? WICONNECT_SUCCESS : WICONNECT_RESPONSE_PARSE_ERROR; +} + + +/*************************************************************************************************/ +WiconnectResult Wiconnect::responseToInt32(int32_t *int32Ptr) +{ + CHECK_INITIALIZED(); + return StringUtil::strToInt32(internalBuffer, int32Ptr) ? WICONNECT_SUCCESS : WICONNECT_RESPONSE_PARSE_ERROR; +} + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiconnectFile.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,346 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" + +#define CHECK_OPENED_FOR_READING() if(!readEnabled) return WICONNECT_NOT_OPENED_FOR_READING + + + + +/*************************************************************************************************/ +WiconnectFile::WiconnectFile(int rxBufferLen, void *rxBuffer_) +{ + wiconnect = Wiconnect::getInstance(); + + memset(&rxBuffer, 0, sizeof(Buffer)); + + rxBuffer.size = rxBufferLen - 4; + rxBuffer.buffer = (uint8_t*)rxBuffer_; + + if(rxBuffer.size > 0) + { + if(rxBuffer_ == NULL) + { +#ifdef WICONNECT_ENABLE_MALLOC + wiconnect_assert(wiconnect, "File(), malloc not defined", wiconnect->_malloc != NULL); + rxBuffer.buffer = (uint8_t*)wiconnect->_malloc(rxBufferLen); + wiconnect_assert(wiconnect, "File(), failed to malloc buffer", rxBuffer.buffer != NULL); + rxBuffer.allocated = true; +#else + wiconnect_assert(wiconnect, "must specify buffer", 0); +#endif + } + rxBuffer.size -= 4; + } + + previous = next = NULL; + handle = 0xff; + readEnabled = false; + *name = 0; + size = 0; + type = FILE_TYPE_UNKNOWN; + version = 0; + flags = FILE_FLAG_NONE; +} + +/*************************************************************************************************/ +WiconnectFile::~WiconnectFile() +{ + while(close() == WICONNECT_PROCESSING) + { + } + +#ifdef WICONNECT_ENABLE_MALLOC + if(rxBuffer.allocated && rxBuffer.size > 0) + { + wiconnect_assert(wiconnect, "~File(), free not defined", wiconnect->_free != NULL); + wiconnect->_free(rxBuffer.buffer); + } +#endif +} + +/*************************************************************************************************/ +WiconnectResult WiconnectFile::openForRead(uint8_t handle_, const char *filename) +{ + handle = handle_; + readEnabled = true; + strcpy(name, filename); + + return WICONNECT_SUCCESS; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectFile::initWithListing(const char *typeStr, const char *flagsStr, const char* sizeStr, const char *versionStr, const char *nameStr) +{ + uint32_t tmp; + + if(!StringUtil::strHexToUint32(&typeStr[2], &tmp)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + type = (FileType)tmp; + + if(!StringUtil::strHexToUint32(flagsStr, &tmp)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + flags = (FileFlags)tmp; + + if(!StringUtil::strToUint32(sizeStr, &tmp)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + size = (uint32_t)tmp; + + if(!FileInterface::fileVersionStrToInt(versionStr, &version)) + { + return WICONNECT_RESPONSE_PARSE_ERROR; + } + + strcpy(name, nameStr); + + return WICONNECT_SUCCESS; +} + +#ifdef WICONNECT_ENABLE_MALLOC +/*************************************************************************************************/ +void* WiconnectFile::operator new(size_t size) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "File:new, malloc not defined", wiconnect->_malloc != NULL); + return Wiconnect::getInstance()->_malloc(size); +} + +/*************************************************************************************************/ +void WiconnectFile::operator delete(void* ptr) +{ + Wiconnect *wiconnect = Wiconnect::getInstance(); + wiconnect_assert(wiconnect, "File:delete, free not defined", wiconnect->_free != NULL); + Wiconnect::getInstance()->_free(ptr); +} +#endif + +/*************************************************************************************************/ +WiconnectResult WiconnectFile::close() +{ + WiconnectResult result; + CHECK_OPENED_FOR_READING(); + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("close %d", handle))) + { + readEnabled = false; + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +const char* WiconnectFile::getName() const +{ + return name; +} + +/*************************************************************************************************/ +uint32_t WiconnectFile::getSize() const +{ + return size; +} + +/*************************************************************************************************/ +FileType WiconnectFile::getType() const +{ + return type; +} + +/*************************************************************************************************/ +FileFlags WiconnectFile::getFlags() const +{ + return flags; +} + +/*************************************************************************************************/ +uint32_t WiconnectFile::getVersion() const +{ + return version; +} + +/*************************************************************************************************/ +const char* WiconnectFile::getVersionStr(char *buffer) const +{ + return FileInterface::fileVersionIntToStr(version, true, buffer); +} + +/*************************************************************************************************/ +const WiconnectFile* WiconnectFile::getNext() const +{ + return next; +} + +/*************************************************************************************************/ +const WiconnectFile* WiconnectFile::getPrevious() const +{ + return previous; +} + + +/*************************************************************************************************/ +WiconnectResult WiconnectFile::read(void* buffer, uint16_t maxLength, uint16_t *bytesReadPtr) +{ + WiconnectResult result; + + CHECK_OPENED_FOR_READING(); + + if(rxBuffer.size > 0) + { + uint16_t bytesToRead = 0; + const uint16_t bufferedBytes = (&rxBuffer.buffer[rxBuffer.bytesPending] - rxBuffer.ptr); + if(bufferedBytes > 0) + { + bytesToRead = MIN(bufferedBytes, maxLength); + memcpy(buffer, rxBuffer.ptr, bytesToRead); + rxBuffer.ptr += bytesToRead; + *bytesReadPtr = bytesToRead; + } + if(rxBuffer.ptr >= &rxBuffer.buffer[rxBuffer.bytesPending]) + { + clearRxBuffer(); + } + if(bytesToRead > 0) + { + return WICONNECT_SUCCESS; + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand((char*)buffer, maxLength, "read %d %d", handle, maxLength))) + { + *bytesReadPtr = wiconnect->getLastCommandResponseLength(); + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectFile::read(uint8_t **bufferPtr, uint16_t *bytesReadPtr) +{ + WiconnectResult result = WICONNECT_SUCCESS; + + CHECK_OPENED_FOR_READING(); + + if(rxBuffer.size == 0) + { + return WICONNECT_UNSUPPORTED; + } + else if(bufferPtr != NULL && bytesReadPtr == NULL) + { + return WICONNECT_BAD_ARG; + } + + if(rxBuffer.ptr >= &rxBuffer.buffer[rxBuffer.bytesPending]) + { + clearRxBuffer(); + } + + + if(rxBuffer.bytesPending < rxBuffer.size) + { + const int bytesToRead = rxBuffer.size - rxBuffer.bytesPending; + char* ptr = (char*)&rxBuffer.buffer[rxBuffer.bytesPending]; + + CHECK_OTHER_COMMAND_EXECUTING(); + + loop: + if(bytesToRead > 0 && WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(ptr, bytesToRead, "read %d %d", handle, bytesToRead))) + { + const uint16_t bytesRead = wiconnect->getLastCommandResponseLength(); + rxBuffer.bytesPending += bytesRead; + } + + // if still processing and in non-blocking mode, + // then this api call must block until the command completes + if(result == WICONNECT_PROCESSING && wiconnect->nonBlocking) + { + goto loop; + } + + CHECK_CLEANUP_COMMAND(); + } + + if(bufferPtr != NULL) + { + *bufferPtr = rxBuffer.buffer; + *bytesReadPtr = rxBuffer.bytesPending; + clearRxBuffer(); + } + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectFile::getc(uint8_t *c) +{ + WiconnectResult result; + + if(rxBuffer.size == 0) + { + return WICONNECT_UNSUPPORTED; + } + + if(rxBuffer.bytesPending == 0 && + WICONNECT_FAILED(result, read())) + { + return result; + } + else if(rxBuffer.ptr < &rxBuffer.buffer[rxBuffer.bytesPending]) + { + *c = *rxBuffer.ptr; + ++rxBuffer.ptr; + return WICONNECT_SUCCESS; + } + else + { + clearRxBuffer(); + return WICONNECT_ERROR; + } +} + +/*************************************************************************************************/ +void WiconnectFile::clearRxBuffer() +{ + rxBuffer.bytesPending = 0; + rxBuffer.ptr = rxBuffer.buffer; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiconnectModuleBusConfig.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,23 @@ +/* + * Copyright 2014, ACKme Networks + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks; + * the contents of this file may not be disclosed to third parties, copied + * or duplicated in any form, in whole or in part, without the prior + * written permission of ACKme Networks. + */ + + +#include "Wiconnect.h" +#include "internal/common.h" + + + + +/*************************************************************************************************/ +// attempt to configure the module data bus for the uart the wiconnect library was configured +bool Wiconnect::configureModuleDataBus(void) +{ + return false; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiconnectSerial.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,202 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" + +#ifndef WICONNECT_SERIAL_RX_BUFFER +#error WICONNECT_SERIAL_RX_BUFFER NOT defined NOT currently supported +#endif + + + + +typedef struct +{ + uint16_t size; + volatile uint16_t count; + uint8_t *start, *end; + volatile uint8_t *head; + volatile uint8_t *tail; +} SerialRxBuffer; + + +/*************************************************************************************************/ +WiconnectSerial::WiconnectSerial(const SerialConfig &config, Wiconnect *wiconnect) : RawSerial(config.tx, config.rx) +{ + ct_assert(sizeof(ringBuffer) >= sizeof(SerialRxBuffer)); + + baud(config.baud); + + SerialRxBuffer *rxBuffer = (SerialRxBuffer*)ringBuffer; + memset(rxBuffer, 0, sizeof(SerialRxBuffer)); + bufferAlloc = false; + if(config.serialRxBufferSize > 0) + { + if(config.serialRxBuffer != NULL) + { + rxBuffer->start = (uint8_t*)config.serialRxBuffer; + } +#ifdef WICONNECT_ENABLE_MALLOC + else + { + wiconnect_assert(wiconnect, "WiconnectSerial(), malloc not defined", wiconnect->_malloc != NULL); + rxBuffer->start = (uint8_t*)wiconnect->_malloc(config.serialRxBufferSize); + wiconnect_assert(wiconnect, "WiconnectSerial(), malloc failed", rxBuffer->start != NULL); + bufferAlloc = true; + } +#endif + rxBuffer->head = rxBuffer->tail = (volatile uint8_t*)rxBuffer->start; + rxBuffer->end = (uint8_t*)rxBuffer->head + config.serialRxBufferSize; + rxBuffer->size = config.serialRxBufferSize; + attach(this, &WiconnectSerial::rxIrqHandler, SerialBase::RxIrq); + } +} + +/*************************************************************************************************/ +WiconnectSerial::~WiconnectSerial() +{ +#ifdef WICONNECT_ENABLE_MALLOC + if(bufferAlloc) + { + SerialRxBuffer *rxBuffer = (SerialRxBuffer*)ringBuffer; + Wiconnect::getInstance()->_free(rxBuffer->start); + } +#endif +} + +/*************************************************************************************************/ +void WiconnectSerial::initialize(void) +{ +} + +/*************************************************************************************************/ +void WiconnectSerial::flush(void) +{ + while (readable()) + { + int c = getc(); + } + + SerialRxBuffer *rxBuffer = (SerialRxBuffer*)ringBuffer; + rxBuffer->tail = rxBuffer->head = rxBuffer->start; + rxBuffer->count = 0; +} + +/*************************************************************************************************/ +int WiconnectSerial::write(const void *data, int bytesToWrite, TimerTimeout timeoutMs) +{ + uint8_t *ptr = (uint8_t*)data; + int remaining = bytesToWrite; + + while(remaining > 0) + { + if(!writeable()) + { + timeoutTimer.reset(); + while(!writeable()) + { + if(timeoutMs == 0) + { + if(timeoutTimer.readMs() > 0) + { + goto exit; + } + } + else + { + if(timeoutTimer.readMs() >= timeoutMs) + { + goto exit; + } + } + } + } + + putc(*ptr); + ++ptr; + --remaining; + } + + exit: + return bytesToWrite - remaining; +} + +/*************************************************************************************************/ +int WiconnectSerial::read(void *data, int bytesToRead, TimerTimeout timeoutMs) +{ + SerialRxBuffer *rxBuffer = (SerialRxBuffer*)ringBuffer; + uint8_t *ptr = (uint8_t*)data; + int remaining = bytesToRead; + + while(remaining > 0) + { + if(rxBuffer->count == 0) + { + if(timeoutMs == 0) + { + break; + } + else + { + timeoutTimer.reset(); + while(rxBuffer->count == 0) + { + if(timeoutTimer.readMs() >= timeoutMs) + { + goto exit; + } + } + } + } + + *ptr++ = *rxBuffer->tail++; + --remaining; + --rxBuffer->count; + if(rxBuffer->tail >= rxBuffer->end) + rxBuffer->tail = rxBuffer->start; + } + +exit: + return bytesToRead - remaining; +} + +/*************************************************************************************************/ +void WiconnectSerial::rxIrqHandler(void) +{ + SerialRxBuffer *rxBuffer = (SerialRxBuffer*)ringBuffer; + + while (readable() && rxBuffer->count < rxBuffer->size) + { + *rxBuffer->head++ = (uint8_t)getc(); + ++rxBuffer->count; + if(rxBuffer->head >= rxBuffer->end) + rxBuffer->head = rxBuffer->start; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiconnectSettings.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,113 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "Wiconnect.h" +#include "internal/common.h" + + + +/*************************************************************************************************/ +WiconnectResult Wiconnect::setSetting(const char *settingStr, uint32_t value) +{ + WiconnectResult result; + + _CHECK_OTHER_COMMAND_EXECUTING(); + + result = sendCommand("set %s %u", settingStr, value); + + _CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::setSetting(const char *settingStr, const char *value) +{ + WiconnectResult result; + + _CHECK_OTHER_COMMAND_EXECUTING(); + + result = sendCommand("set %s %s", settingStr, value); + + _CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::getSetting(const char *settingStr, uint32_t *valuePtr) +{ + WiconnectResult result = WICONNECT_ERROR; + + + _CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, sendCommand("get %s", settingStr))) + { + result = responseToUint32(valuePtr); + } + + _CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::getSetting(const char *settingStr, char **valuePtr) +{ + WiconnectResult result = WICONNECT_ERROR; + + + _CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, sendCommand("get %s", settingStr))) + { + *valuePtr = internalBuffer; + } + + _CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult Wiconnect::getSetting(const char *settingStr, char *valueBuffer, uint16_t valueBufferLen) +{ + WiconnectResult result = WICONNECT_ERROR; + + + _CHECK_OTHER_COMMAND_EXECUTING(); + + result = sendCommand(valueBuffer, valueBufferLen, "get %s", settingStr); + + _CHECK_CLEANUP_COMMAND(); + + return result; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiconnectSocket.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,615 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include <stdarg.h> +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + +#define CHECK_CONNECTED() if(!isConnected()) return WICONNECT_NOT_CONNECTED + + +WiconnectResult readerCallback(void *user, void *data, int maxReadSize, int *bytesRead); + + + +/*************************************************************************************************/ +WiconnectSocket::WiconnectSocket(int rxBufferLen_, void *rxBuffer_, int txBufferLen_, void *txBuffer_) +{ + wiconnect = Wiconnect::getInstance(); + + memset((void*)&txBuffer, 0, sizeof(Buffer)); + memset((void*)&rxBuffer, 0, sizeof(Buffer)); + + txBuffer.size = txBufferLen_; + txBuffer.buffer = (uint8_t*)txBuffer_; + + rxBuffer.size = rxBufferLen_; + rxBuffer.buffer = (uint8_t*)rxBuffer_; + + if(txBuffer.size > 0) + { + if(txBuffer_ == NULL) + { +#ifdef WICONNECT_ENABLE_MALLOC + wiconnect_assert(wiconnect, "Socket(), malloc not defined", wiconnect->_malloc != NULL); + txBuffer.buffer = (uint8_t*)wiconnect->_malloc(txBufferLen_); + wiconnect_assert(wiconnect, "Socket(), txBuffer malloc failed", txBuffer.buffer != NULL); + txBuffer.allocated = true; +#else + wiconnect_assert(wiconnect, "must specify buffer", 0); +#endif + } + txBuffer.size -= 4; + } + + if(rxBuffer.size > 0) + { + if(rxBuffer_ == NULL) + { +#ifdef WICONNECT_ENABLE_MALLOC + wiconnect_assert(wiconnect, "Socket(), malloc not defined", wiconnect->_malloc != NULL); + rxBuffer.buffer = (uint8_t*)wiconnect->_malloc(rxBufferLen_); + wiconnect_assert(wiconnect, "Socket(), rxBuffer malloc failed", rxBuffer.buffer != NULL); + rxBuffer.allocated = true; +#else + wiconnect_assert(wiconnect, "must specify buffer", 0); +#endif + } + rxBuffer.size -= 4; + } + + handle = SOCKET_INVALID_HANDLE; + type = SOCKET_TYPE_UNKNOWN; + remotePort = 0; + localPort = 0; + connected = false; + enableAutoClose = false; + host[0] = 0; +} + + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::init(uint8_t handle_, SocketType type_, const char *host_, uint16_t remotePort_, uint16_t localPort_) +{ + handle = handle_; + type = type_; + remotePort = remotePort_; + localPort = localPort_; + connected = true; + enableAutoClose = false; + + rxBuffer.ptr = rxBuffer.buffer; + rxBuffer.bytesPending = 0; + txBuffer.ptr = txBuffer.buffer; + txBuffer.bytesPending = 0; + + strncpy(host, host_, sizeof(host)-1); + + return WICONNECT_SUCCESS; +} + +/*************************************************************************************************/ +WiconnectSocket::~WiconnectSocket() +{ + while((handle != SOCKET_INVALID_HANDLE) && (close() == WICONNECT_PROCESSING)) + { + } + +#ifdef WICONNECT_ENABLE_MALLOC + if(txBuffer.allocated && txBuffer.size > 0) + { + wiconnect_assert(wiconnect, "~Socket(), free not defined", wiconnect->_free != NULL); + wiconnect->_free(txBuffer.buffer); + } + if(rxBuffer.allocated && rxBuffer.size > 0) + { + wiconnect_assert(wiconnect, "~Socket(), free not defined", wiconnect->_free != NULL); + wiconnect->_free(rxBuffer.buffer); + } +#endif +} + +/*************************************************************************************************/ +bool WiconnectSocket::isConnected() +{ + return connected; +} + +/*************************************************************************************************/ +SocketType WiconnectSocket::getType() +{ + return type; +} + +/*************************************************************************************************/ +const char* WiconnectSocket::getHost() +{ + return host; +} + +/*************************************************************************************************/ +uint16_t WiconnectSocket::getLocalPort() +{ + return localPort; +} + +/*************************************************************************************************/ +uint16_t WiconnectSocket::getRemotePort() +{ + return remotePort; +} + +/*************************************************************************************************/ +uint8_t WiconnectSocket::getHandle() +{ + return handle; +} + + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::close() +{ + WiconnectResult result; + CHECK_CONNECTED(); + CHECK_OTHER_COMMAND_EXECUTING(); + + result = wiconnect->sendCommand("close %d", handle); + + if(result != WICONNECT_PROCESSING) + { + connected = false; + wiconnect->socketClosedCallback(this); + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::poll(bool *rxDataAvailablePtr, bool autoClose) +{ + WiconnectResult result; + int32_t status; + bool autoClosed = false; + + *rxDataAvailablePtr = false; + + CHECK_CONNECTED(); + + if(rxBuffer.size > 0 && WICONNECT_IS_IDLE()) + { + if(rxBuffer.ptr < &rxBuffer.buffer[rxBuffer.bytesPending]) + { + *rxDataAvailablePtr = true; + return WICONNECT_SUCCESS; + } + else if(read() == WICONNECT_SUCCESS && (rxBuffer.ptr < &rxBuffer.buffer[rxBuffer.bytesPending])) + { + *rxDataAvailablePtr = true; + return WICONNECT_SUCCESS; + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("poll %d", handle))) + { + if(!WICONNECT_FAILED(result, wiconnect->responseToInt32(&status))) + { + if(status > 0) + { + if(status == 2 && enableAutoClose) + { + autoClosed = autoClose; + *rxDataAvailablePtr = false; + } + else + { + *rxDataAvailablePtr = true; + } + } + } + } + + CHECK_CLEANUP_COMMAND(); + + // if we auto-closed, then block until everything is cleaned-up + if(autoClosed) + { + while(WICONNECT_IS_PROCESSING(result, close())) + { + } + } + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::write(int length, bool flush) +{ + CHECK_CONNECTED(); + + if( txBuffer.size == 0) + { + return WICONNECT_UNSUPPORTED; + } + else if(length > txBuffer.size) + { + return WICONNECT_OVERFLOW; + } + txBuffer.bytesPending = length; + + return flush ? flushTxBuffer() : WICONNECT_SUCCESS; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::write(const void* buffer, int length, bool flush) +{ + WiconnectResult result = WICONNECT_SUCCESS; + CHECK_CONNECTED(); + + if(txBuffer.size > 0) + { + const uint8_t *src = (const uint8_t *)buffer; + + while(length > 0) + { + int bytesToWrite = MIN(length, txBuffer.size - txBuffer.bytesPending); + uint8_t *dst = (uint8_t*)&txBuffer.buffer[txBuffer.bytesPending]; + memcpy(dst, src, bytesToWrite); + txBuffer.bytesPending += bytesToWrite; + length -= bytesToWrite; + src += bytesToWrite; + + if((txBuffer.bytesPending >= txBuffer.size) && + WICONNECT_FAILED(result, flushTxBuffer())) + { + break; + } + } + + if(flush && txBuffer.bytesPending > 0) + { + result = flushTxBuffer(); + } + } + else + { + if(WICONNECT_IS_IDLE()) + { + txBuffer.ptr = (uint8_t*)buffer; + txBuffer.bytesPending = length; + } + + result = flushTxBuffer(); + } + + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::read(void* buffer, uint16_t maxLength, uint16_t *bytesReadPtr) +{ + WiconnectResult result; + + CHECK_CONNECTED(); + + if(rxBuffer.size > 0) + { + uint16_t bytesToRead = 0; + const uint16_t bufferedBytes = (&rxBuffer.buffer[rxBuffer.bytesPending] - rxBuffer.ptr); + if(bufferedBytes > 0) + { + bytesToRead = MIN(bufferedBytes, maxLength); + memcpy(buffer, rxBuffer.ptr, bytesToRead); + rxBuffer.ptr += bytesToRead; + *bytesReadPtr = bytesToRead; + } + if(rxBuffer.ptr >= &rxBuffer.buffer[rxBuffer.bytesPending]) + { + clearRxBuffer(); + } + if(bytesToRead > 0) + { + return WICONNECT_SUCCESS; + } + } + + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand((char*)buffer, maxLength, "read %d %d", handle, maxLength))) + { + const uint16_t bytesRead = wiconnect->getLastCommandResponseLength(); + enableAutoClose = (bytesRead == 0); + *bytesReadPtr = bytesRead; + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::read(uint8_t **bufferPtr, uint16_t *bytesReadPtr) +{ + WiconnectResult result = WICONNECT_SUCCESS; + + CHECK_CONNECTED(); + + if(rxBuffer.size == 0) + { + return WICONNECT_UNSUPPORTED; + } + else if(bufferPtr != NULL && bytesReadPtr == NULL) + { + return WICONNECT_BAD_ARG; + } + + if(rxBuffer.ptr >= &rxBuffer.buffer[rxBuffer.bytesPending]) + { + clearRxBuffer(); + } + + if(rxBuffer.bytesPending < rxBuffer.size) + { + const int bytesToRead = rxBuffer.size - rxBuffer.bytesPending; + char* ptr = (char*)&rxBuffer.buffer[rxBuffer.bytesPending]; + + CHECK_OTHER_COMMAND_EXECUTING(); + + loop: + if(bytesToRead > 0 && WICONNECT_SUCCEEDED(result, wiconnect->sendCommand(ptr, bytesToRead, "read %d %d", handle, bytesToRead))) + { + const uint16_t bytesRead = wiconnect->getLastCommandResponseLength(); + enableAutoClose = (bytesRead == 0); + rxBuffer.bytesPending += bytesRead; + } + + // if still processing and in non-blocking mode, + // then this api call must block until the command completes + if(result == WICONNECT_PROCESSING && wiconnect->nonBlocking) + { + goto loop; + } + + CHECK_CLEANUP_COMMAND(); + } + + if(bufferPtr != NULL) + { + *bufferPtr = rxBuffer.buffer; + *bytesReadPtr = rxBuffer.bytesPending; + clearRxBuffer(); + } + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::getc(uint8_t *c) +{ + WiconnectResult result; + + if(rxBuffer.size == 0) + { + return WICONNECT_UNSUPPORTED; + } + + if(rxBuffer.bytesPending == 0 && + WICONNECT_FAILED(result, read())) + { + return result; + } + else if(rxBuffer.ptr < &rxBuffer.buffer[rxBuffer.bytesPending]) + { + *c = *rxBuffer.ptr; + ++rxBuffer.ptr; + return WICONNECT_SUCCESS; + } + else + { + clearRxBuffer(); + return WICONNECT_ERROR; + } +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::putc(uint8_t c, bool flush) +{ + WiconnectResult result = WICONNECT_SUCCESS; + CHECK_CONNECTED(); + + if(txBuffer.size == 0) + { + return WICONNECT_UNSUPPORTED; + } + else if(txBuffer.bytesPending < txBuffer.size) + { + uint8_t *ptr = (uint8_t*)&txBuffer.buffer[txBuffer.bytesPending]; + *ptr = c; + ++txBuffer.bytesPending; + + if(flush || txBuffer.bytesPending >= txBuffer.size) + { + result = flushTxBuffer(); + } + } + else + { + result = WICONNECT_OVERFLOW; + } + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::puts(const char *s, bool flush) +{ + const int len = strlen(s); + return write(s, len, flush); +} + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::printf(const char* format, ...) +{ + WiconnectResult result = WICONNECT_SUCCESS; + + CHECK_CONNECTED(); + if(txBuffer.size == 0) + { + return WICONNECT_UNSUPPORTED; + } + + const int available = txBuffer.size - txBuffer.bytesPending; + char *ptr = (char*)&txBuffer.buffer[txBuffer.bytesPending]; + va_list args; + va_start(args, format); + const int len = vsnprintf(ptr, available, format, args); + if(len > available) + { + return WICONNECT_OVERFLOW; + } + else + { + txBuffer.bytesPending += len; + } + + if(txBuffer.bytesPending >= txBuffer.size) + { + result = flushTxBuffer(); + } + + return result; +} + + +/*************************************************************************************************/ +WiconnectResult WiconnectSocket::flushTxBuffer() +{ + WiconnectResult result = WICONNECT_SUCCESS; + + CHECK_CONNECTED(); + + if(txBuffer.size == 0) + { + CHECK_OTHER_COMMAND_EXECUTING(); + } + + if(txBuffer.bytesPending > 0) + { + loop: + result = wiconnect->sendCommand(ReaderFunc(readerCallback), &this->txBuffer, "write %u %u", handle, txBuffer.bytesPending); + + // if still processing and in non-blocking mode and using a txtBuffer, + // then this api call must block until the command completes + if(result == WICONNECT_PROCESSING && wiconnect->nonBlocking && txBuffer.size > 0) + { + goto loop; + } + } + + if(txBuffer.size == 0) + { + CHECK_CLEANUP_COMMAND(); + } + + if(result != WICONNECT_PROCESSING) + { + txBuffer.ptr = txBuffer.buffer; + txBuffer.bytesPending = 0; + } + + return result; +} + + + +/*************************************************************************************************/ +void WiconnectSocket::clearRxBuffer() +{ + rxBuffer.bytesPending = 0; + rxBuffer.ptr = rxBuffer.buffer; +} + +/*************************************************************************************************/ +uint8_t* WiconnectSocket::getTxBuffer() +{ + return txBuffer.buffer; +} +/*************************************************************************************************/ +int WiconnectSocket::getTxBufferSize() +{ + return txBuffer.size; +} +/*************************************************************************************************/ +int WiconnectSocket::getTxBufferBytesPending() +{ + return txBuffer.bytesPending; +} +/*************************************************************************************************/ +uint8_t* WiconnectSocket::getRxBuffer() +{ + return rxBuffer.buffer; +} +/*************************************************************************************************/ +int WiconnectSocket::getRxBufferSize() +{ + return rxBuffer.size; +} +/*************************************************************************************************/ +int WiconnectSocket::getRxBufferBytesPending() +{ + return rxBuffer.bytesPending; +} + + +/*************************************************************************************************/ +WiconnectResult readerCallback(void *user, void *data, int maxReadSize, int *bytesRead) +{ + Buffer *txBuffer = (Buffer*)user; + + if(txBuffer->bytesPending == 0) + { + *bytesRead = EOF; + } + else + { + const int bytesToWrite = MIN(maxReadSize, txBuffer->bytesPending); + memcpy(data, txBuffer->ptr, bytesToWrite); + txBuffer->ptr += bytesToWrite; + txBuffer->bytesPending -= bytesToWrite; + *bytesRead = bytesToWrite; + } + + return WICONNECT_SUCCESS; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiconnectUdpServer.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,145 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#include <stdarg.h> + +#include "Wiconnect.h" +#include "internal/common.h" +#include "api/StringUtil.h" + + +#define CHECK_CONNECTED() if(!isConnected()) return WICONNECT_NOT_CONNECTED + +extern WiconnectResult readerCallback(void *user, void *data, int maxReadSize, int *bytesRead); + + +/*************************************************************************************************/ +WiconnectUdpServer::WiconnectUdpServer(int rxBufferLen_, void *rxBuffer_, int txBufferLen_, void *txBuffer_) : +WiconnectSocket(rxBufferLen_, rxBuffer_, txBufferLen_, txBuffer_) +{ +} + +/*************************************************************************************************/ +WiconnectResult WiconnectUdpServer::getRemoteClient(uint32_t *ipAddress, uint16_t *port) +{ + WiconnectResult result; + + CHECK_CONNECTED(); + CHECK_OTHER_COMMAND_EXECUTING(); + + if(WICONNECT_SUCCEEDED(result, wiconnect->sendCommand("udps read -q"))) + { + char *portStr = strchr(wiconnect->internalBuffer, ','); + if(portStr == NULL) + { + result = WICONNECT_RESPONSE_PARSE_ERROR; + } + else + { + *portStr++ = 0; + Wiconnect::strToIp(wiconnect->internalBuffer, ipAddress); + StringUtil::strToUint16(portStr, port); + } + } + + CHECK_CLEANUP_COMMAND(); + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectUdpServer::setRemoteClient(const char* _host, uint16_t port) +{ + WiconnectResult result; + uint32_t ip; + + if(WICONNECT_SUCCEEDED(result, wiconnect->lookup(_host, &ip))) + { + ip = htonl(ip); // due to a bug in the firmware, need to reserve byte order + Wiconnect::ipToStr(ip, host); + remotePort = port; + } + + return result; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectUdpServer::setRemoteClient(uint32_t ip, uint16_t port) +{ + ip = htonl(ip); // due to a bug in the firmware, need to reserve byte order + Wiconnect::ipToStr(ip, host); + remotePort = port; + return WICONNECT_SUCCESS; +} + +/*************************************************************************************************/ +WiconnectResult WiconnectUdpServer::flushTxBuffer() +{ + WiconnectResult result = WICONNECT_SUCCESS; + + CHECK_CONNECTED(); + + if(txBuffer.size == 0) + { + CHECK_OTHER_COMMAND_EXECUTING(); + } + + + if(txBuffer.bytesPending > 0) + { + loop: + if(host[0] != 0) + { + result = wiconnect->sendCommand(ReaderFunc(readerCallback), &this->txBuffer, "udps write %u %s %u", txBuffer.bytesPending, host, remotePort); + } + else + { + result = wiconnect->sendCommand(ReaderFunc(readerCallback), &this->txBuffer, "udps write %u", txBuffer.bytesPending); + } + + // if still processing and in non-blocking mode and using a txtBuffer, + // then this api call must block until all the data is sent + if(result == WICONNECT_PROCESSING && wiconnect->nonBlocking && txBuffer.size > 0) + { + goto loop; + } + } + + if(txBuffer.size == 0) + { + CHECK_CLEANUP_COMMAND(); + } + + if(result != WICONNECT_PROCESSING) + { + txBuffer.ptr = txBuffer.buffer; + txBuffer.bytesPending = 0; + } + + return result; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/FileInterface.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,187 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "WiconnectTypes.h" +#include "types/FileList.h" + + +/** + * @ingroup api_file_macro + * @brief The maximum filename size of a file on the WiConnect WiFi module filesystem + */ +#define FILE_NAME_MAX_SIZE 96 + +/** + * @ingroup api_file_macro + * @def FILE_MAKE_VERSION(major, minor, patch, rc) + * @brief Combine <\a major>.<\a minor>.<\a patch>.<\a rc> and create version as a uint32_t + */ +#define FILE_MAKE_VERSION(major, minor, patch, rc) ((unsigned int)((major) << 27)|(unsigned int)((minor) << 21)|(unsigned int)((patch) << 8)|(unsigned int)((rc) << 0)) +/** + * @ingroup api_file_macro + * @def FILE_VERSION_ARGS(version) + * @brief Given a uint32_t \a version, return arguments for a variable argument function such as printf(). The format string is: %d.%d.%d.%d + */ +#define FILE_VERSION_ARGS(version) (unsigned int)((version >> 27) & 0x1F),(unsigned int)((version >> 21) & 0x3F),(unsigned int)((version >> 8) & 0x1FFF),(unsigned int)(version & 0xFF) + + +namespace wiconnect { + + +/** + * @ingroup api_file_types + * + * @brief The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. + * A client socket connects to a remote server. + * + * @note This class is an interface to the Wiconnect class. It should never be + * independently instantiated or the parent of another class. + */ +class FileInterface +{ +public: + /** + * @ingroup api_file_methods + * + * @brief Create a file on the Wiconnect WiFi module filesystem. + * + * This creates a file on the module's filesystem. The file's name and size are required. + * Optionally specify the version, type and if it's essential (i.e. if it should never be automatically deleted, careful with + * this optional as it could cause the the module to not be able to update its firmware). + * + * When this method is executed, the file is created on the module then the 'reader' parameter callback is + * called until all the file data is read from the HOST and written to the module file. + * + * @param[in] reader Callback to be executed until all file data has been read from the HOST and written to the module + * @param[in] user This is supplied to the @ref ReaderFunc callback. It is not used by the library. Leave NULL if not needed. + * @param[in] name The name of the file to create + * @param[in] size The size in bytes of the file + * @param[in] version Optional, the version of the file, defaults to 1.0.0.0 + * @param[in] type Optional, the file type, defaults to FILE_TYPE_MISC_FIX_LEN + * @param[in] isEssential Optional, specify if the file should never be automatically deleted during a firmware upgrade + * @param[in] checksum The CRC16 checksum of the file data. The module verifies the written data against this checksum + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult createFile(const ReaderFunc &reader, void *user, const char *name, uint32_t size, uint32_t version = 0, FileType type = FILE_TYPE_ANY, bool isEssential = false, int32_t checksum = -1); + + /** + * @ingroup api_file_methods + * + * @brief Open a file on the Wiconnect WiFi module filesystem for reading. + * + * Once opened, the returned @ref WiconnectFile object may only be read. + * + * @param[out] file The @ref WiconnectFile object to read data from + * @param[in] name The name of the file to open + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult openFile(WiconnectFile &file, const char *name); + + /** + * @ingroup api_file_methods + * + * @brief Delete a file for the Wiconnect WiFi module filesystem. + * + * @param[in] name The name of the file to delete + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult deleteFile(const char *name); + + /** + * @ingroup api_file_methods + * + * @brief Delete a file for the Wiconnect WiFi module filesystem. + * + * @param[in] file The @ref WiconnectFile object of the file to delete + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult deleteFile(const WiconnectFile &file); + + /** + * @ingroup api_file_methods + * + * @brief List the files on the Wiconnect WiFi module filesystem. + * + * This lists all the files on the filesystem. + * Optionally filter by one or more parameters: + * * name - list files only with given name. If the name started with the wildcard character '*', then + * only the characters after it are used for filter. + * Example: + * @code + * wiconnect.listFiles(fileList, "*.txt"); // only list files with '.txt' extension + * @endcode + * * type - only list files with given type + * * version - only list file with given version + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult listFiles(FileList &list, const char *name = NULL, FileType type = FILE_TYPE_ANY, uint32_t version = 0); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup conversion_util + * + * @brief Convert file version uint32 to string. + */ + static const char* fileVersionIntToStr(uint32_t version, bool verbose = true, char *buffer = NULL); + + /** + * @ingroup conversion_util + * + * @brief Convert string to file version uint32. + */ + static bool fileVersionStrToInt(const char *versionStr, uint32_t *versionIntPtr); + + /** + * @ingroup conversion_util + * + * Convert @ref FileType to string. + */ + static const char* fileTypeToStr(FileType type); + + /** + * @ingroup conversion_util + * + * @brief Convert @ref FileFlags to string. + */ + static const char* fileFlagsToStr(FileFlags flags, char *buffer = NULL); + +protected: + FileInterface(Wiconnect *wiconnect); + + WiconnectResult processFileList(char *responseStr, FileList &list, const char *name, FileType type, uint32_t version); +private: + Wiconnect *wiconnect; +}; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/GhmInterface.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,356 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "Wiconnect.h" + +#include "api/types/WiconnectSocket.h" +#include "api/types/GhmMessageList.h" + +/** + * @namespace wiconnect + */ +namespace wiconnect { + +/** + * @ingroup api_ghm_macros + * @brief Helper macro for adding an integer value to a @ref GhmElementArray + */ +#define GHM_ADD_INT(array, name, integerVal) \ +{ \ + array.elementName = name; \ + array.type = GHM_VALUE_INT; \ + array.u.intValue = (uint32_t)integerVal; \ +} + + +/** + * @ingroup api_ghm_macros + * @brief Helper macro for adding a string value to a @ref GhmElementArray + */ +#define GHM_ADD_STR(array, name, stringVal) \ +{ \ + array.elementName = name; \ + array.type = GHM_VALUE_STR; \ + array.u.strValue = (const char*)stringVal; \ +} + + + + +/** + * @ingroup api_ghm_types + * + * @brief The provides an interface for http://goHACK.me + * + * The goHACK.me API provided by WiConnect enables monitoring and control of your ACKme device. + * You can set up a goHACK.me account, then using goHACK.me commands and goHACK.me variables, + * you can activate your device and synchronize data, control and messages with the goHACK.me cloud service. + * + * More information here: http://wiconnect.ack.me/2.0/gohackme + * + * @note This class is an interface to the Wiconnect class. It should never be + * independently instantiated or the parent of another class. + */ +class GhmInterface +{ +public: + + /** + * @ingroup api_ghm_activate + * + * @brief Download a device capabilities file to WiFi module's internal + * file system. + * + * @param[in] capsNameOrCustomUrl Optional, specify the caps file name or URL to caps file + * @param[in] version Optional, version to set downloaded caps file as + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmDownloadCapabilities(const char *capsNameOrCustomUrl = NULL, uint32_t version = 0); + + /** + * @ingroup api_ghm_activate + * + * @brief Activate WiFi module with http://goHACK.me + * + * @note You must first sign-up with http://goHACK.me before you can + * activate the device. Go to http://goHACK.me to sign-up. + * + * @param[in] userName Your username + * @param[in] password Your password + * @param[in] capsFilename Optional, filename of existing capabilities file on module's internal file system. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmActivate(const char *userName, const char *password, const char *capsFilename = NULL); + + /** + * @ingroup api_ghm_activate + * + * @brief Deactivate WiFi module with http://goHACK.me + * + * @note You must first sign-up with http://goHACK.me before you can + * deactivate the device. Go to http://goHACK.me to sign-up. + * + * @param[in] userName Your username + * @param[in] password Your password + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmDeactivate(const char *userName, const char *password); + + /** + * @ingroup api_ghm_activate + * + * @brief Return if WiFi module is activated with http://goHACK.me + * + * @param[out] statusPtr Pointer to hold activation status. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmIsActivated(bool *statusPtr); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_ghm_com + * + * @brief Read control data from http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] controlName The name of the control in the activated capabilities file. + * @param[in] valueStrPtr Pointer to pointer to hold control's string value + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmRead(const char *controlName, const char **valueStrPtr); + + /** + * @ingroup api_ghm_com + * + * @brief Read control data from http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] controlName The name of the control in the activated capabilities file. + * @param[in] valueIntPtr Pointer hold control's integer value + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmRead(const char *controlName, uint32_t *valueIntPtr); + + /** + * @ingroup api_ghm_com + * + * @brief Read control data from http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] controlName The name of the control in the activated capabilities file. + * @param[in] valueBuffer Buffer to hold control's string value + * @param[in] valueBufferLen Length of valueBuffer + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmRead(const char *controlName, char *valueBuffer, uint16_t valueBufferLen); + + /** + * @ingroup api_ghm_com + * + * @brief Write stream or control data to http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] elementName The name of the control or stream in the activated capabilities file. + * @param[in] strValue String value of control or stream + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmWrite(const char *elementName, const char *strValue); + + /** + * @ingroup api_ghm_com + * + * @brief Write stream or control data to http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] elementName The name of the control or stream in the activated capabilities file. + * @param[in] uintValue Unsigned integer value of control or stream + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmWrite(const char *elementName, uint32_t uintValue); + + /** + * @ingroup api_ghm_com + * + * @brief Write stream or control data to http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] elementName The name of the control or stream in the activated capabilities file. + * @param[in] intValue signed integer value of control or stream + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmWrite(const char *elementName, int32_t intValue); + + /** + * @ingroup api_ghm_com + * + * @brief Write stream or control data to http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] elementArray Array of stream and/or control values to send to http://goHACK.me + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmWrite(const GhmElementArray *elementArray); + + /** + * @ingroup api_ghm_com + * + * @brief Synchronize WiFi module with http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] type Type of synchronization. See @ref GhmSyncType + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmSynchronize(GhmSyncType type = GHM_SYNC_ALL); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_ghm_msg + * + * @brief POST message to http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[out] socket @ref WiconnectSocket used to send message data to http://goHACK.me + * @param[in] jsonFormatted If true, the input message data should be JSON formatted, else the message data should be ASCII formatted. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmPostMessage(WiconnectSocket &socket, bool jsonFormatted=false); + + /** + * @ingroup api_ghm_msg + * + * @brief GET message from http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[out] socket @ref WiconnectSocket used to receive message data from http://goHACK.me + * @param[in] getType The additional message data to receive. See @ref GhmMessageGetType + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmGetMessage(WiconnectSocket &socket, GhmMessageGetType getType = GHM_MSG_GET_DATA_ONLY); + + /** + * @ingroup api_ghm_msg + * + * @brief GET message from http://goHACK.me + * + * @note @ref ghmListMessages() must be called first before using this method. + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[out] socket @ref WiconnectSocket used to receive message data from http://goHACK.me + * @param[in] listIndex The index of the message returned from ghmListMessages() + * @param[in] getType The additional message data to receive. See @ref GhmMessageGetType + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmGetMessage(WiconnectSocket &socket, uint8_t listIndex, GhmMessageGetType getType = GHM_MSG_GET_DATA_ONLY); + + /** + * @ingroup api_ghm_msg + * + * @brief GET message from http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[out] socket @ref WiconnectSocket used to receive message data from http://goHACK.me + * @param[in] msgId The http://goHACK.me message ID. + * @param[in] getType The additional message data to receive. See @ref GhmMessageGetType + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmGetMessage(WiconnectSocket &socket, const char *msgId, GhmMessageGetType getType = GHM_MSG_GET_DATA_ONLY); + + /** + * @ingroup api_ghm_msg + * + * @brief Delete message from http://goHACK.me + * + * @note @ref ghmListMessages() must be called first before using this method. + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] listIndex The index of the message returned from ghmListMessages() + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmDeleteMessage(uint8_t listIndex); + + /** + * @ingroup api_ghm_msg + * + * @brief Delete message from http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[in] msgId The http://goHACK.me message ID. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmDeleteMessage(const char *msgId); + + /** + * @ingroup api_ghm_msg + * + * @brief List available messages for device on http://goHACK.me + * + * @note The WiFi module must first be activated. See @ref ghmActivate() + * + * @param[out] msgList @ref GhmMessageList to hold received messages. + * @param[in] maxCount Optional, the maximum number of messages to receive. If 0, + * receive all messages (max of 25). + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ghmListMessages(GhmMessageList &msgList, uint8_t maxCount = 0); + + +protected: + GhmInterface(Wiconnect *wiconnect); + + WiconnectResult ghmGetMessage(WiconnectSocket &socket, uint8_t listIndex, const char *msgId, GhmMessageGetType getType); + WiconnectResult processMessageList(char *resultStr, GhmMessageList &resultList); + +private: + Wiconnect *wiconnect; + +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/NetworkInterface.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,437 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "WiconnectTypes.h" +#include "api/types/ScanResultList.h" + + +namespace wiconnect { + + +#ifdef WICONNECT_USE_DEFAULT_STRING_BUFFERS +#define ALLOW_NULL_STRING_BUFFER = NULL +#else +#define ALLOW_NULL_STRING_BUFFER +#endif + +/** + * @ingroup api_network_types + * + * @brief The provides an interface for joining and/or creating a network. + * It provides other utilities such as scanning for networks, pinging a network, + * resolving a domain name to IP address. + * + * @note This class is an interface to the Wiconnect class. It should never be + * independently instantiated or the parent of another class. + */ +class NetworkInterface +{ +public: + /** + * @ingroup api_network_setup + * + * @brief Start the WiConnect WiFi module 'web setup' feature. + * + * This command has an optional background processing feature. + * Background processing is enabled if the completeHandler parameter + * is specified. If enabled, the library will poll the module every second + * for the web setup status (essentially it'll call isWebSetupRunning() every + * second in the background). When the web setup is no longer running the + * callback will be executed. The background processing is disabled when stopWebSetup() + * is called. + * + * @note only the 'result' parameter of the callback handler is valid. + * + * Refer to @ref setting_async_processing for more info. + * + * @param[in] ssid Optional, optionally set the SSID of module's softAp + * @param[in] password Optional, optionally set the WPA2-PSK password for the module'S softap + * Note: make an OPEN softAp, set this parameter to a null string (i.e. "") + * @param[in] completeHandler Optional, callback to be executed when module web setup completes. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult startWebSetup(const char *ssid = NULL, const char *password = NULL, const Callback &completeHandler = Callback()); + + /** + * @ingroup api_network_setup + * + * @brief Stop the WiConnect WiFi module 'web setup' feature. + * + * This method should be called AFTER startWebSetup() to prematurely terminate + * web setup. Note that this is not needed if web setup completes by itself + * (i.e. if the user exits web setup from the webpage). + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult stopWebSetup(); + + /** + * @ingroup api_network_setup + * + * @brief Return status of WiConnect WiFi module 'web setup' feature. + * + * This may be called at any time (whether web setpu has been stared or not). + * + * @param[out] isRunningPtr Pointer to bool to contain TRUE if web setup is running, FALSE else + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult isWebSetupRunning(bool *isRunningPtr); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_network_wlan + * + * @brief Join a WiFi network. + * + * This command has an optional background processing feature. + * Background processing is enabled if the completeHandler parameter + * is specified. If enabled, the library will poll the module every second + * for the join status (essentially it'll call getNetworkStatus() every + * second in the background). When the module join sequence complete the callback will be executed. + * The background processing is disabled when leave() is called. + * + * * If completeHandler parameter is NOT specified: + * This command will BLOCK/return WICONNECT_PROCESSING until the module has + * either successfully joined the network or failed. + * * If the completeHandler parameter IS specified: + * This command will return and use the background processing feature described above. + * + * @note only the 'result' parameter of the callback handler is valid. + * + * Refer to @ref setting_async_processing for more info. + * + * @param[in] ssid Optional, optionally set the SSID of the network to join + * @param[in] password Optional, optionally set the passkey of the network to join + * Note: to join an OPEN network, set this parameter to a null string (i.e. "") + * @param[in] completeHandler Optional, callback to be executed when the join sequence completes. + * The 'result' callback parameter contains the WiconnectResult of joining. + * The 'arg1' parameter is a @ref NetworkJoinResult of joining. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult join(const char* ssid = NULL, const char *password = NULL, const Callback &completeHandler = Callback()); + + /** + * @ingroup api_network_wlan + * + * @brief Leave a WiFi network. + * + * This method may be called to either terminate a join sequence or + * leave a previously connected networked. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult leave(); + + /** + * @ingroup api_network_wlan + * + * @brief Get connection status to WiFi network. + * + * Refer to @ref NetworkStatus for more info. + * + * @param[out] statusPtr Point to a @ref NetworkStatus which will hold current network status of module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult getNetworkStatus(NetworkStatus *statusPtr); + + /** + * @ingroup api_network_wlan + * + * @brief Get the result of joining the network + * + * Refer to @ref NetworkJoinResult for more info. + * + * @param[out] joinResultPtr Point to a @ref NetworkJoinResult which will hold the result of joining the network + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult getNetworkJoinResult(NetworkJoinResult *joinResultPtr); + + /** + * @ingroup api_network_wlan + * + * @brief Get @ref NetworkSignalStrength of WiFi network module is connected + */ + WiconnectResult getSignalStrength(NetworkSignalStrength *signalStrengthPtr); + + /** + * @ingroup api_network_wlan + * + * @brief Get the RSSI in dBm of WiFi network + */ + WiconnectResult getRssi(int32_t *rssiPtr); + + /** + * @ingroup api_network_wlan + * + * @brief Get MAC address of the WiFi module + */ + WiconnectResult getMacAddress(MacAddress *macAddress); + + + // ------------------------------------------------------------------------ + + +// WiconnectResult startSoftAp(const char* ssid = NULL, const char *password = NULL, const Callback &clientConnectedCallback = Callback()); +// WiconnectResult stopSoftAp(); +// WiconnectResult getSoftApClientList(); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_network_util + * + * @brief Scan for available WiFi networks. + * + * The populate the supplied @ref ScanResultList with @ref ScanResult of each found network. + * + * Optionally only scan of specific channels by supplying a null terminated list of channels. + * Example: + * @code + * const uint8_t channelsToScan[] = {1, 6, 11, 0}; + * @endcode + * + * @param[out] resultList List to populate with scan results. + * @param[in] channelList Optional, null terminated list of channels to scan. + * @param[in] ssid Optional, specific network name to scan for. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult scan(ScanResultList &resultList, const uint8_t *channelList = NULL, const char* ssid = NULL); + + /** + * @ingroup api_network_util + * + * @brief Ping a WiFi network. + * + * Optionally ping a specific server and return the time in milliseconds it took + * for the network to response. If no domain is supplied, the module pings to gateway + * (i.e router it's connected to). + * + * @param[in] domain Optional, the domain name to ping + * @param[out] timeMsPtr Optional, pointer to uint32 to hold time in milliseconds the ping took + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult ping(const char *domain = NULL, uint32_t *timeMsPtr = NULL); + + /** + * @ingroup api_network_util + * + * @brief Resolve domain name into IP address. + * + * @param[in] domain The domain name to resolve + * @param[out] ipAddressPtr pointer to uint32 to hold resolved IP address. Note, the IP address is in network-byte-order. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult lookup(const char *domain, uint32_t *ipAddressPtr); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_network_settings + * + * @brief Set DHCP enabled. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult setDhcpEnabled(bool enabled); + + /** + * @ingroup api_network_settings + * + * @brief Get if DHCP enabled. + */ + WiconnectResult getDhcpEnabled(bool *enabledPtr); + + /** + * @ingroup api_network_settings + * + * @brief Set static IP settings + */ + WiconnectResult setIpSettings(uint32_t ip, uint32_t netmask, uint32_t gateway); + + /** + * @ingroup api_network_settings + * + * @brief Set static IP settings (with string parameters) + */ + WiconnectResult setIpSettings(const char* ip, const char* netmask, const char* gateway); + + /** + * @ingroup api_network_settings + * + * @brief Get network IP settings + */ + WiconnectResult getIpSettings(uint32_t *ip, uint32_t *netmask, uint32_t *gateway); + + /** + * @ingroup api_network_settings + * + * @brief Set static DNS Address + */ + WiconnectResult setDnsAddress(uint32_t dnsAddress); + + /** + * @ingroup api_network_settings + * + * @brief Get the static DNS address + */ + WiconnectResult getDnsAddress(uint32_t *dnsAddress); + + /** + * @ingroup api_network_settings + * + * @note This method is only supported in blocking mode. + * + * @brief Return the current IP address of the module if possible, else + * return 0.0.0.0 + * @param[in] buffer Optional, buffer to IP address string. If omitted, + * the IP address string is stored in a local static buffer (this is non-reentrant!) + */ + const char* getIpAddress(char *buffer ALLOW_NULL_STRING_BUFFER); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup conversion_util + * + * @brief Convert string to IP address + */ + static bool strToIp(const char *str, uint32_t *intPtr); + + /** + * @ingroup conversion_util + * + * @brief Convert IP address to string + */ + static const char* ipToStr(uint32_t ip, char *ipStrBuffer ALLOW_NULL_STRING_BUFFER); + + + /** + * @ingroup conversion_util + * + * @brief Convert @ref NetworkStatus to string + */ + static const char* networkStatusToStr(NetworkStatus status); + + /** + * @ingroup conversion_util + * + * @brief Convert @ref NetworkJoinResult to string + */ + static const char* networkJoinResultToStr(NetworkJoinResult joinResult); + + /** + * @ingroup conversion_util + * + * @brief Convert @ref NetworkSignalStrength to string + */ + static const char* signalStrengthToStr(NetworkSignalStrength signalStrenth); + + /** + * @ingroup conversion_util + * + * @brief Convert RSSI (in dBm) to @ref NetworkSignalStrength + */ + static NetworkSignalStrength rssiToSignalStrength(int rssi); + + /** + * @ingroup conversion_util + * + * @brief Convert string to @ref NetworkSecurity + */ + static NetworkSecurity strToNetworkSecurity(const char *str); + + /** + * @ingroup conversion_util + * + * @brief Convert @ref NetworkSecurity to string + */ + static const char* networkSecurityToStr(NetworkSecurity security); + + /** + * @ingroup conversion_util + * + * @brief Convert string @ref Ssid + */ + static bool strToSsid(const char *str, Ssid *ssid); + + /** + * @ingroup conversion_util + * + * @brief Convert @ref Ssid to string + */ + static const char* ssidToStr(const Ssid *ssid, char *ssidStrBuffer ALLOW_NULL_STRING_BUFFER); + + /** + * @ingroup conversion_util + * + * @brief Convert string @ref MacAddress + */ + static bool strToMacAddress(const char *str, MacAddress *macAddress); + + /** + * @ingroup conversion_util + * + * @brief Convert @ref MacAddress to string + */ + static const char* macAddressToStr(const MacAddress *macAddress, char *macStrBuffer ALLOW_NULL_STRING_BUFFER); + +protected: + NetworkInterface(Wiconnect *wiconnect); + + WiconnectResult processScanResults(char *resultStr, ScanResultList &resultList); + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + Callback completeHandler; + PeriodicTimer monitorTimer; + + void webSetupStatusMonitor(); + void webSetupStatusCheckCallback(WiconnectResult result, void *arg1, void *arg2); + + void joinStatusMonitor(); + void joinStatusCheckCallback(WiconnectResult result, void *arg1, void *arg2); + + //void scanCompleteCallback(WiconnectResult result, void *arg1, void *arg2); +#endif + +private: + Wiconnect *wiconnect; +}; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/README.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,320 @@ +/** + * @mainpage Library Overview + * + * @section Overview + * 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> + * + * @section notes Important Notes + * - This class is implemented as a 'singleton'. This means it only needs to be + * instantiated once. + * - 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 + * + * + * @section features Library Settings + * The WiConnect Library has multiple settings so as to allow + * for the most flexibility within a user's application. + * + * Some of these configurations are as follows: + * - Blocking / Non-blocking + * - Dynamic / Static allocation + * - Asynchronous Processing + * + * + * @subsection setting_blocking_modes Blocking / Non-blocking Modes + * The WiConnect Library may be configured for either 'blocking' or + * 'non-blocking' operation: + * - blocking - API calls do not return until they complete successfully or timeout. + * - 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. + * + * @subsubsection setting_blocking_mode Blocking Mode + * In blocking mode, an API function will block until it completes. + * More details to come... + * + * @subsubsection setting_nonblocking_mode Non-Blocking Mode + * In non-blocking mode, an API function returns immediately. + * More details to come... + * + * + * + * @subsection setting_alloc Dynamic / Static Allocation + * There are two cases when memory allocation is required: + * - Buffer allocation + * - Class instantiation + * + * In both cases, either static or dynamic memory allocation may be used. + * + * 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. + * + * 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. + * + * @note To use dynamic allocation the WiConnect Library must be compiled with + * @ref WICONNECT_ENABLE_MALLOC defined, and the Wiconnect() constructor must be + * supplied with pointers to malloc() and free() functions. + * + * @note 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. + * + * + * @subsection setting_async_processing Asynchronous Processing + * When applicable, the WiConnect Library will asynchronously process + * commands in the background. When the background processing completes, the + * supplied callback is called. + * + * User commands may also be executed in the background using the enqueueCommand() + * API function. + * + * @note The WiConnect Library must be compiled with @ref WICONNECT_ASYNC_TIMER_ENABLED + * defined for background processing to be enabled. + * + * + * + * @section send_command_desc Sending Commands To WiFi Module + * More details to come... + * + * + */ + +// ---------------------------------------------------------------------------- + +/** + * @defgroup api_core Core + * @brief This contains all core related operations + * + * @{ + */ + +/** + * @defgroup api_core_settings Settings Methods + * @brief API getters/setters for core library settings + */ + +/** + * @defgroup api_core_send_command Send Command Methods + * @brief API methods for sending commands to WiConnect WiFi module + */ + +/** + * @defgroup api_core_misc Miscellaneous Methods + * @brief Other core methods + */ + +/** + * @defgroup api_core_types Types + * @brief Core Types + */ + + +/** + * @defgroup api_core_macro Macros + * @brief Core macros + */ + +/** + * @defgroup api_core_examples Examples + * @brief Core examples + * * @ref ota/example.cpp + */ + +// @} + + +// ---------------------------------------------------------------------------- + +/** + * @defgroup api_network Network + * @brief This contains all network related operations + * + * @{ + */ + +/** + * @defgroup api_network_settings Settings Methods + * @brief API getters/setters for module network settings + */ + +/** + * @defgroup api_network_wlan WLAN Methods + * @brief Methods for joining/leaving a WLAN + */ + +/** + * @defgroup api_network_setup Web Setup Methods + * @brief Methods for enabled/disabling module web setup + */ + +/** + * @defgroup api_network_util Utility Methods + * @brief Network utility methods + */ + +/** + * @defgroup api_network_types Types + * @brief Network Types + */ + +/** + * @defgroup api_network_macros Macros + * @brief Network specific macros + */ + +/** + * @defgroup api_network_examples Examples + * @brief Network examples + * * @ref web_setup/example.cpp + * * @ref join/example.cpp + */ + +// @} + + +// ---------------------------------------------------------------------------- + +/** + * @defgroup api_socket Socket + * @brief This contains all socket related operations + * + * @{ + */ + +/** + * @defgroup api_socket_tcp TCP Methods + * @brief TCP methods + */ + +/** + * @defgroup api_socket_udp UDP Methods + * @brief UDP methods + */ + +/** + * @defgroup api_socket_tls TLS Methods + * @brief TLS methods + */ + +/** + * @defgroup api_socket_http HTTP Methods + * @brief HTTP methods + */ + +/** + * @defgroup api_socket_misc Miscellaneous Methods + * @brief Miscellaneous socket methods + */ + +/** + * @defgroup api_socket_types Types + * @brief Socket Types + */ + +/** + * @defgroup api_socket_macro Macros + * @brief Socket specific macros + */ + +/** + * @defgroup api_socket_examples Examples + * @brief Socket examples + * * @ref http_get/example.cpp + * * @ref tcp_server/example.cpp + * + */ + +// @} + + +// ---------------------------------------------------------------------------- + +/** + * @defgroup api_file File + * @brief This contains all file related operations + * + * @{ + */ + +/** + * @defgroup api_file_methods Methods + * @brief File methods + */ + +/** + * @defgroup api_file_types Types + * @brief File types + */ + +/** + * @defgroup api_file_macro Macros + * @brief API specific macros + */ + +/** + * @defgroup api_file_examples Examples + * @brief File examples + */ + +// @} + +// ---------------------------------------------------------------------------- + +/** + * @defgroup api_ghm goHACK.me + * @brief This contains all goHACK.me related operations + * + * @{ + */ + +/** + * @defgroup api_ghm_activate Activation + * @brief Methods for activating/deactivating the module with http://goHACK.me + */ + +/** + * @defgroup api_ghm_com Read/Write + * @brief Methods for reading & writing data from/to http://goHACK.me + */ + +/** + * @defgroup api_ghm_msg Message + * @brief Methods for getting, posting, listing, deleting messages wtih http://goHACK.me + */ + +/** + * @defgroup api_ghm_types Types + * @brief goHACK.me Types + */ + +/** + * @defgroup api_ghm_macro Macros + * @brief API specific macros + */ + +/** + * @defgroup api_ghm_examples Examples + * @brief goHACK.me examples + */ + +// @} + +// ---------------------------------------------------------------------------- + +/** + * @defgroup conversion_util Conversion Utilities + * @brief This contains all the conversion utility static functions. + * + */ + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/SocketInterface.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,375 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "Wiconnect.h" +#include "types/WiconnectSocket.h" +#include "types/WiconnectUdpServer.h" + +#ifdef WICONNECT_GPIO_IRQ_ENABLED +#include "types/SocketIrqHandlerMap.h" +#endif + +/** + * @namespace wiconnect + */ +namespace wiconnect { + +#ifdef WICONNECT_GPIO_IRQ_ENABLED +#define GPIO_IRQ_ARG_NC ,Pin irqPin = PIN_NC +#define GPIO_IRQ_ARG ,Pin irqPin +#define GPIO_IRQ_PARAM ,irqPin +#else +#define GPIO_IRQ_ARG_NC +#define GPIO_IRQ_ARG +#define GPIO_IRQ_PARAM +#endif + +/** + * @ingroup api_socket_types + * + * @brief The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. + * A client socket connects to a remote server. + * + * @note This class is an interface to the Wiconnect class. It should never be + * independently instantiated or the parent of another class. + */ +class SocketInterface +{ +public: + /** + * @ingroup api_socket_misc + * + * @brief Close all opened sockets. + * + * @note This closes all open sockets on the MODULE side. + * Socket objects on the HOST side will be still open until + * issuing a read/write command to the module using the socket handle. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult closeAllSockets(); + +#ifdef WICONNECT_GPIO_IRQ_ENABLED + /** + * @ingroup api_socket_misc + * + * @brief Register a host pin as an external interrupt. When the external interrupt is + * triggered, the supplied callback is executed. + * + * @note WICONNECT_GPIO_IRQ_ENABLED must be defined to use this feature + * + * This should be called before calling one of the connect methods below + * with an irqPin parameter. + * + * Basically how this works is: + * 1. The supplied irqPin is configured as an external interrupt pin. + * 2. A connection is opened and configured with the same irqPin. This + * irqPin physically connected to a GPIO on the WiFi module. + * 3. When the WiFi module has data to send to the HOST it asserts the irqPin. + * 4. The irqPin interrupt executes and calls the supplied handler. + * 5. The handler should notify the HOST that the given irqPin has triggered + * and have the associated socket read data from the module. + * + * @note arg1 of the handler contains the irqPin + * + * + * @param[in] irqPin The HOST pin to configure as an external interrupt. + * This pin should be physically connected to a module GPIO. + * @param[in] handler Callback to be executed with the external irqPin interrupt triggers + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult registerSocketIrqHandler(Pin irqPin, const Callback &handler); + + /** + * @ingroup api_socket_misc + * + * @brief Unregister a previously registered IRQ pin. + * + * This disables the given irqPin as an external interrupt. + * Refer to registerSocketIrqHandler() for more information. + * + * @param[in] irqPin The HOST pin to unregister + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult unregisterSocketIrqHandler(Pin irqPin); +#endif + + /** + * @ingroup api_socket_misc + * + * @brief Connect to remote server. + * + * This is the base method used by all the other connect methods. + * + * @param[out] socket @ref WiconnectSocket object of opened connection. + * @param[in] type The @ref SocketType of connection to open + * @param[in] host The host/IP address of the remote server + * @param[in] remortPort The port of the remote server + * @param[in] localPort The port of the module's side of the connection + * @param[in] args Depedent on the connection type + * @param[in] irqPin Data available external interrupt pin. See registerSocketIrqHandler() for more info + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult connect(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_socket_tcp + * + * @brief Connect to remote TCP server. + * + * @param[out] socket TCP @ref WiconnectSocket object of opened connection. + * @param[in] host The host/IP address of the remote TCP server + * @param[in] remortPort The port of the remote server + * @param[in] irqPin Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult tcpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG_NC); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_socket_tcp + * + * @brief Start internal TCP server and listen on specified port. + * + * @param[in] listeningPort The local port the server should listen on + * @param[in] maxClients Optional, the maximum simultaneous connected clients, 0 is default, 1-8 valid range + * @param[in] irqPin Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult tcpListen(uint16_t listeningPort, int maxClients = 0 GPIO_IRQ_ARG_NC); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_socket_tcp + * + * @brief Wait for next client to connect to TCP server. + * + * @param[in] socket Socket to connected client + * @param[in] timeoutMs Optional, specifiy maximum amount of time in ms to wait for a client + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult tcpAccept(WiconnectSocket &socket, uint32_t timeoutMs = WICONNECT_WAIT_FOREVER); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_socket_tcp + * + * @brief Stop TCP server from listening on port. Close all connected clients. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult tcpServerStop(void); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_socket_tls + * + * @brief Connect to remote TLS server. + * + * @param[out] socket TLS @ref WiconnectSocket object of opened connection. + * @param[in] host The host/IP address of the remote TLS server + * @param[in] remortPort The port of the remote server + * @param[in] certFilename Optional, filename of certificate on module's file system + * @param[in] irqPin Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult tlsConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename = NULL GPIO_IRQ_ARG_NC); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_socket_udp + * + * @brief Connect to remote UDP server. + * + * @param[out] socket UDP @ref WiconnectSocket object of opened connection. + * @param[in] host The host/IP address of the remote UDP server + * @param[in] remortPort The port of the remote server + * @param[in] localPort Optional, port of module's side of the connection + * @param[in] irqPin Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult udpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort = SOCKET_ANY_PORT GPIO_IRQ_ARG_NC); + + /** + * @ingroup api_socket_udp + * + * @brief Start a UDP server listening on the given port + * + * @param[out] udpServer UDP @ref WiconnectUdpServer object listening server + * @param[in] listeningPort The port the UDP server listens on + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult udpListen(WiconnectUdpServer &udpServer, uint16_t listeningPort); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_socket_http + * + * @brief Connect to remote HTTP server. + * + * This is the base method for the other HTTP methods. + * + * @section secure_http_connection Secure HTTP + * Each HTTP method is able to connect to a secure HTTP server. To do this, + * the URL string parameter must start with 'https://' + * To connect to a secure HTTP server a TLS certificate is needed. The certificate + * is specified in the certFilename parameter of the method (or @ref HttpSocketArgs parameter). + * This is the filename of an existing certificate on the module file system. + * + * @note If the URL starts with 'https://' and no certificate filename is specified, + * the module's default certificate is used. + * + * @param[out] socket HTTP @ref WiconnectSocket object of opened connection. + * @param[in] url URL of HTTP request + * @param[in] args Configuration @ref HttpSocketArgs for HTTP connection + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult httpConnect(WiconnectSocket &socket, const char *url, const HttpSocketArgs *args); + + /** + * @ingroup api_socket_http + * + * @brief Issue HTTP GET Request + * + * This method has the open to only 'open' the connection (disabled by default). This means a connection + * to the remote HTTP server is opened, but the HTTP request isn't issued. This + * allow for addition data to be added to the request. For instance, use httpAddHeader() to add + * additional headers to the request. + * Use httpGetStatus() to issue the HTTP request and receive the HTTP response. + * + * @param[out] socket HTTP @ref WiconnectSocket object of opened connection. + * @param[in] url URL of HTTP GET request + * @param[in] openOnly Optional, if TRUE this will only open a connection to the server (it won't issue the request) + * @param[in] certFilename Optional, filename of existing TLS certificate on module's file system. See @ref secure_http_connection + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult httpGet(WiconnectSocket &socket, const char *url, bool openOnly = false, const char *certFilename = NULL); + + /** + * @ingroup api_socket_http + * + * @brief Issue HTTP POST Request + * + * This method has the open to only 'open' the connection which enabled by default. This means a connection + * to the remote HTTP server is opened, but the HTTP request isn't issued. This + * allow for addition data to be added to the request. Use the returned @ref WiconnectSocket object's 'write' methods + * to add POST data to the request. + * When all POST data has been written, use httpGetStatus() to issue the HTTP request and receive the HTTP response. + * + * @param[out] socket HTTP @ref WiconnectSocket object of opened connection. + * @param[in] url URL of HTTP POST request + * @param[in] contextType The value to go into the 'content-type' HTTP header (e.g. 'application/json') + * @param[in] openOnly Optional, if FALSE this will immediately issue the POST request. + * @param[in] certFilename Optional, filename of existing TLS certificate on module's file system. See @ref secure_http_connection + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult httpPost(WiconnectSocket &socket, const char *url, const char *contextType, bool openOnly = true, const char *certFilename = NULL); + + /** + * @ingroup api_socket_http + * + * @brief Issue HTTP HEAD Request + * + * @param[out] socket HTTP @ref WiconnectSocket object of opened connection. + * @param[in] url URL of HTTP HEAD request + * @param[in] certFilename Optional, filename of existing TLS certificate on module's file system. See @ref secure_http_connection + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult httpHead(WiconnectSocket &socket, const char *url, const char *certFilename = NULL); + + /** + * @ingroup api_socket_http + * + * @brief Add HTTP header key/value pair to opened HTTP request. + * + * To use this function, the supplied @ref WiconnectSocket parameter must have been created + * using either httpGet() or httpPost() and the 'openOnly' parameter TRUE. + * + * This will add additional header to the HTTP request. + * + * Use httpGetStatus() to issue the request. + * + * @param[in] socket Opened socket to add additonal HTTP header + * @param[in] key Header key (e.g. 'content-type') + * @param[in] value Header value (e.g. 'application/json') + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult httpAddHeader(WiconnectSocket &socket, const char *key, const char *value); + + /** + * @ingroup api_socket_http + * + * @brief Get the HTTP status code from HTTP request. + * + * This may be used to either issue an HTTP request of an opened HTTP connection + * or return the status code of a request already issued. + * + * @param[in] socket Opened socket to get http response status code + * @param[out] statusCodePtr Pointer to uint32 to hold http status code + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult httpGetStatus(WiconnectSocket &socket, uint32_t *statusCodePtr); + +protected: + SocketInterface(Wiconnect *wiconnect); + ~SocketInterface(); + +#ifdef WICONNECT_GPIO_IRQ_ENABLED + SocketIrqHandlerMap irqHandlers; +#endif + + uint32_t serverConnectedClientList; + + WiconnectResult pollForServerClient(uint8_t *handle = NULL, uint16_t *localPort = NULL, uint16_t *remotePort = NULL, uint32_t *ipAddress = NULL); + + void socketClosedCallback(const WiconnectSocket *socket); + + friend class GhmInterface; + +private: + Wiconnect *wiconnect; +}; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/StringUtil.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,423 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include <string.h> +#include <ctype.h> +#include <stdint.h> +#include <limits.h> + + +#ifdef WICONNECT_USE_STRTOLL +// Necessary to get strtoll in C99 mode. +// http://sourceware.org/ml/newlib/2012/msg00425.html +extern long long strtoll(const char *__n, char **__end_PTR, int __base); +#endif + + +class StringUtil +{ + +public: + /*************************************************************************************************/ + // Helper to find an occurrence of a delimiter string, + // insert '\0' in its place and return string after + // the delimiter e.g. + // if char s[] = "foo://bar"; + // - strchop(s, "://") returns "bar" + // - s becomes "foo" + static char *chop(char *haystack, const char *needle) + { + if (!haystack) + { + return NULL; + } + char *end = strstr(haystack, needle); + if (end) + { + *end = '\0'; + return end + strlen(needle); + } + return NULL; + } + + /*************************************************************************************************/ + // Check if string is non-null and non-empty. + static bool empty(const char *s) + { + return !(s && *s); + } + + /*************************************************************************************************/ + static bool isSpace(const char *s) + { + while(*s != 0) + { + if(!isspace((uint8_t)*s++)) + return false; + } + return true; + } + + /*************************************************************************************************/ + // Convert null-terminated string to lower case. + // ASCII charset only. + static void toLower(char *s) + { + for (; *s; ++s) + { + *s = tolower((int) * s); + } + } + + /*************************************************************************************************/ + // Combination of strip left + right. + static char *strip(char *s, const char *chars) + { + return rightStrip(leftStrip(s, chars), chars); + } + + /*************************************************************************************************/ + // Strip string from the left. + // Returns pointer into the input string. + static char *leftStrip(char *s, const char *chars) + { + return s + strspn(s, chars); + } + + /*************************************************************************************************/ + // Strip string from the right. + // Modified in place. + static char *rightStrip(char *s, const char *chars) + { + char *end = s + strlen(s) - 1; + while (end > s && strstr(chars, end)) + { + *end-- = '\0'; + } + return s; + } + + /*************************************************************************************************/ + // Parse decimal integer and check if it's in bounds [min, max]. + static bool parseInt(const char *s, intmax_t *result, intmax_t min, intmax_t max) + { + return parseBase(s, result, min, max, 10); + } + + // Parse hexadecimal integer and check if it's in bounds [min, max]. + static bool parseHex(const char *s, intmax_t *result, intmax_t min, intmax_t max) + { + return parseBase(s, result, min, max, 16); + } + + /*************************************************************************************************/ + static bool parseBase(const char *s, intmax_t *result, intmax_t min, intmax_t max, int base) + { + if (!s) + { + return false; + } + char *end; +#ifdef WICONNECT_USE_STRTOLL + intmax_t value = strtoll(s, &end, base); +#else + intmax_t value = strtol(s, &end, base); +#endif + if (*end || value < min || value > max) + { + return false; + } + *result = value; + return true; + } + + /*************************************************************************************************/ + // Parse an long long integer. + static bool parseBool(const char *onoff, bool *var) + { + const char* const on_vals[] = + { + "1", + "on", + "true", + "yes", + }; + + for(uint8_t i = 0; i < ARRAY_COUNT(on_vals); ++i) + { + if(strcasecmp(on_vals[i], onoff) == 0) + { + *var = true; + return true; + } + } + + const char* const off_vals[] = + { + "0", + "false", + "no", + "off", + NULL + }; + for(uint8_t i = 0; i < ARRAY_COUNT(off_vals); ++i) + { + if(strcasecmp(off_vals[i], onoff) == 0) + { + *var = false; + return true; + } + } + + return false; + } + + /*************************************************************************************************/ + // convert binary data to hex string + static void binToHex(char *dst, int max_dst, const void *data, int data_len) + { + char *end = dst + max_dst - 1; + for (int i = 0; i < data_len; ++i) + { + if (dst < end) + { + dst += sprintf(dst, "%2.2x", ((uint8_t *)data)[i]); + } + } + } + + + /*************************************************************************************************/ + // Parse binary data into hex string + // the input buffer MUST be len*2 long + // as the parsing is destructive and done in-place + static void binToHex(void *h, int len) + { + char *dst = (char*)h; + char *src= (char*)h+len; + + memmove(src, dst, len); + + while(len--) + { + sprintf(dst, "%2.2X", (unsigned int)(*src & 0xff)); + dst += 2; + ++src; + } + } + + + /*************************************************************************************************/ + // Parses hex representation of binary data destructively. + // Returns number of bytes parsed or -1 on error. + static int hexToBin(char *s) + { + int len, i, j; + len = strlen(s); + if (len % 2) + { + return -1; + } + for (i = j = 0; i < len; i += 2, j++) + { + const int num = hexToInt(&s[i]); + if(num == -1) + return -1; + s[j] = (char)num; + } + return j; + } + + /*************************************************************************************************/ + // hex string to integer, returns -1 on error + static int hexToInt(const char *hex_str) + { + int hi = hexToNibble(*hex_str); + int lo = hexToNibble(*(hex_str+1)); + if (hi == -1 || lo == -1) + { + return -1; + } + return (hi << 4) | lo; + } + + /*************************************************************************************************/ + static int hexToNibble(char c) + { + if (c >= '0' && c <= '9') + { + return c - '0'; + } + if (c >= 'a' && c <= 'f') + { + return 10 + (c - 'a'); + } + if (c >= 'A' && c <= 'F') + { + return 10 + (c - 'A'); + } + return -1; + } + + /*************************************************************************************************/ + static const char* uint32ToStr(char* intStrBuffer, int integer) + { + sprintf(intStrBuffer, "%u", integer); + return intStrBuffer; + } + + /*************************************************************************************************/ + static bool strToUint32(const char *str, uint32_t *uint32Ptr) + { + intmax_t r; + bool result = (str[0] == '0' && str[1] == 'x') ? StringUtil::parseHex(&str[2], &r, 0, UINT_MAX): StringUtil::parseInt(str, &r, 0, UINT_MAX); + *uint32Ptr = (uint32_t)r; + return result; + } + + + /*************************************************************************************************/ + static bool strToUint16(const char *str, uint16_t *uint16Ptr) + { + intmax_t r; + bool result = StringUtil::parseInt(str, &r, 0, USHRT_MAX); + *uint16Ptr = (uint16_t)r; + return result; + } + + /*************************************************************************************************/ + static bool strToUint8(const char *str, uint8_t *uint8Ptr) + { + intmax_t r; + bool result = StringUtil::parseInt(str, &r, 0, UCHAR_MAX); + *uint8Ptr = (uint8_t)r; + return result; + } + + /*************************************************************************************************/ + static bool strToInt32(const char *str, int32_t *int32Ptr) + { + intmax_t r; + bool result = StringUtil::parseInt(str, &r, INT_MIN, INT_MAX); + *int32Ptr = (int32_t)r; + return result; + } + + /*************************************************************************************************/ + // uint32 hex string to uint32 + static bool strHexToUint32(const char *strHex, uint32_t *uint32Ptr) + { + intmax_t r; + bool result = StringUtil::parseHex(strHex, &r, 0, UINT_MAX); + *uint32Ptr = (uint32_t)r; + return result; + } + + /*************************************************************************************************/ + static char *strtok_r(char *str, const char *delim, char **nextp) + { + char *ret; + + if (str == NULL) + { + str = *nextp; + } + + str += strspn(str, delim); + + if (*str == '\0') + { + return NULL; + } + + ret = str; + + str += strcspn(str, delim); + + if (*str) + { + *str++ = '\0'; + } + + *nextp = str; + + return ret; + } + + /*************************************************************************************************/ + static int strncasecmp(const char *s1, const char *s2, int n) + { + if (n == 0) + return 0; + + while (n-- != 0 && tolower(*s1) == tolower(*s2)) + { + if (n == 0 || *s1 == '\0' || *s2 == '\0') + break; + s1++; + s2++; + } + + return tolower(*(unsigned char *) s1) - tolower(*(unsigned char *) s2); + } + + /*************************************************************************************************/ + static int strcasecmp(const char *s1, const char *s2) + { + register const unsigned char *p1 = (const unsigned char *) s1; + register const unsigned char *p2 = (const unsigned char *) s2; + unsigned char c1, c2; + + if (p1 == p2) + return 0; + + do + { + c1 = tolower (*p1); + c2 = tolower (*p2); + + if (c1 == '\0') + break; + + ++p1; + ++p2; + } + while (c1 == c2); + + if (UCHAR_MAX <= INT_MAX) + return c1 - c2; + else + /* On machines where 'char' and 'int' are types of the same size, the + difference of two 'unsigned char' values - including the sign bit - + doesn't fit in an 'int'. */ + return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0); + } +};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/WiconnectInterface.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,788 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "WiconnectTypes.h" + + +#include "types/LogFunc.h" +#include "types/ReaderFunc.h" +#include "types/Callback.h" +#include "types/TimeoutTimer.h" +#include "types/PeriodicTimer.h" +#include "types/Gpio.h" +#include "types/WiconnectSerial.h" + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED +#include "types/QueuedCommand.h" +#include "types/CommandQueue.h" +#endif + +#include "NetworkInterface.h" +#include "SocketInterface.h" +#include "FileInterface.h" +#include "GhmInterface.h" + + +#ifdef WICONNECT_ENABLE_MALLOC +/// These are optional arguments for host specific malloc/free +#define WICONNECT_MALLOC_ARGS , void* (*malloc_)(size_t) = WICONNECT_DEFAULT_MALLOC, void (*free_)(void*) = WICONNECT_DEFAULT_FREE +#else +#define WICONNECT_MALLOC_ARGS +#endif + + +/** + * @namespace wiconnect + */ +namespace wiconnect { + + +/** + * @ingroup api_core_types + * + * @brief The root WiConnect library class. This class + * inheriets all WiConnect functionality. + * + * This class is implemented as a 'singleton'. This means it + * only needs to be instantiated once. Subsequent class may either + * use the class instance or the static function: @ref Wiconnect::getInstance() + * + */ +class Wiconnect : public NetworkInterface, + public SocketInterface, + public FileInterface, + public GhmInterface +{ +public: + + /** + * @brief WiConnect class constructor + * + * @note This should only be called once within a program as the WiConnect + * library is implemented as a singleton. + * + * @note If this constructor is used, then all commands must be supplied with an external response buffer. + * This means most the API functions will not work as they use the internal buffer. + * It's recommended to use the other constructor that supplies an internal buffer. See @ref setting_alloc + * + * @param[in] serialConfig The serial (i.e. UART) configuration connected to a WiConnect module. + * @param[in] reset Optional, The pin connected to the WiConnect module reset signal. Default: No connection + * @param[in] wake Optional, The pin connected to the WiConnect module wake signal. Default: No connection + * @param[in] nonBlocking Optional, indicates if the API blocking mode. See @ref setting_blocking_modes + */ + Wiconnect(const SerialConfig &serialConfig, Pin reset = PIN_NC, Pin wake = PIN_NC, bool nonBlocking = WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS); + + /** + * @brief WiConnect class constructor + * + * @note This should only be called once within a program as the WiConnect + * library is implemented as a singleton. + * + * @note This is the recommended construstor as it supplies the WiConnect library with an + * internal buffer. Most API calls require the internal buffer. + * + * @param[in] serialConfig The serial (i.e. UART) configuration connected to a WiConnect module. + * @param[in] internalBufferSize The size of the internal buffer. If internalBuffer is NULL, then this size will be dynamically allocated. See @ref setting_alloc + * @param[in] internalBuffer Optional, a user allocated buffer. See @ref setting_alloc + * @param[in] reset Optional, The pin connected to the WiConnect module reset signal. Default: No connection + * @param[in] wake Optional, The pin connected to the WiConnect module wake signal. Default: No connection + * @param[in] nonBlocking Optional, indicates if the API blocking mode. See @ref setting_blocking_modes + */ + Wiconnect(const SerialConfig &serialConfig, int internalBufferSize, void *internalBuffer = NULL, Pin reset = PIN_NC, Pin wake = PIN_NC, bool nonBlocking = WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS); + ~Wiconnect(); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_core_misc + * + * @brief Get instance of previously instantiated Wiconnect Library + * + * @return Pointer to instance of @ref Wiconnect Library. + */ + static Wiconnect* getInstance(); + + /** + * @ingroup api_core_misc + * + * @brief Initialize library and communication link with WiConnect WiFi module. + * + * @note This function is always blocking regardless of configured mode. + * + * @param[in] bringNetworkUp Flag indicating if the module should try to bring the network up upon initialization. + * @return Result of initialization. See @ref WiconnectResult + */ + WiconnectResult init(bool bringNetworkUp=false); + + /** + * @ingroup api_core_misc + * + * @brief De-initialize library. + */ + void deinit(); + + /** + * @ingroup api_core_misc + * + * @brief Return TRUE if library is able to communicated with WiConnect WiFi module. + * FALSE else. + * + * @return TRUE if library can communicate with WiFi module, FALSE else. + */ + bool isInitialized(); + + /** + * @ingroup api_core_misc + * + * @brief Toggle the WiConnect WiFi module reset signal. + * + * @note This only resets the module if the library was instantiated with the 'reset' pin + * parameter in the Wiconnect::Wiconnect constructor. + * @note This method is always blocking. A small (1s) delay is added to ensure the module + * has returned from reset and ready. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult reset(); + + /** + * @ingroup api_core_misc + * + * @brief Toggle the WiConnect WiFi moduel wakeup signal. + * + * @note This only wakes the module if the library was instantiated with the 'wake' pin + * parameter in the Wiconnect::Wiconnect constructor. + * @note This method is always blocking. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult wakeup(); + + /** + * @ingroup api_core_misc + * + * @brief Flush any received data in serial RX buffer and terminate any commands on WiConnect WiFi module. + * + * The delayMs parameter is used as the delay between terminating commands on the module and flushing + * the serial RX buffer. This is needed because after terminating commands on the module, the module will + * returns a response. These responses are invalid at this point and should be flushed from the serial RX buffer. + * + * @param[in] delayMs Optional, if not specificed this only flushes the serial RX buffer. + */ + void flush(int delayMs = 500); + + /** + * @ingroup api_core_misc + * + * @brief Return current version of WiConnect WiFi module. + * @param[in] versionBuffer Optional, Buffer to hold received version string + * @param[in] versionBufferSize Optional, required if versionBuffer specified. + * @param[in] completeCallback Optional, callback when version is received. arg1 of callback contains version buffer pointer. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult getVersion(char *versionBuffer = NULL, int versionBufferSize = 0, const Callback &completeCallback = Callback()); + + + /** + * @ingroup api_core_misc + * + * @brief Update the wifi module's internal firmware. + * @param[in] forced Optional, If true, force update of all firmware files to latest version, else only update out-dated files. + * @param[in] versionStr Optional, If specified, update to specific firmware version, else update to latest version. + * @param[in] completeCallback Optional, callback when update is complete. 'result' callback argument contains result of update. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult updateFirmware(bool forced = false, const char *versionStr = NULL, const Callback &completeCallback = Callback()); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * @note Refer to @ref send_command_desc for more info + * + * @param[in] completeCallback Callback when command completes. arg1 of callback contains responseBuffer pointer, arg2 contains the response length + * @param[in] responseBuffer Buffer to hold command response + * @param[in] responseBufferLen Length of responseBuffer + * @param[in] timeoutMs Maximum time in milliseconds this command should execute + * @param[in] reader Callback for reading data to be read from host and send to module during command + * @param[in] user User data struct used during read Callback. Library doesn't use this. Set NULL if not used. + * @param[in] cmd WiConnect command to send to module + * @param[in] vaList Varaible list of arguments + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, + TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList); + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * @note Refer to @ref send_command_desc for more info + * + * @param[in] responseBuffer Buffer to hold command response + * @param[in] responseBufferLen Length of responseBuffer + * @param[in] timeoutMs Maximum time in milliseconds this command should execute + * @param[in] reader Callback for reading data to be read from host and send to module during command + * @param[in] user User data struct used during read Callback. Library doesn't use this. Set NULL if not used. + * @param[in] cmd WiConnect command to send to module + * @param[in] vaList Varaible list of arguments + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, + void *user, const char *cmd, va_list vaList); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] responseBuffer Buffer to hold command response + * @param[in] responseBufferLen Length of responseBuffer + * @param[in] timeoutMs Maximum time in milliseconds this command should execute + * @param[in] reader Callback for reading data to be read from host and send to module during command + * @param[in] user User data struct used during read Callback. Library doesn't use this. Set NULL if not used. + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, + void *user, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * This method uses the library internal buffer. + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] timeoutMs Maximum time in milliseconds this command should execute + * @param[in] reader Callback for reading data to be read from host and send to module during command + * @param[in] user User data struct used during read Callback. Library doesn't use this. Set NULL if not used. + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * - This method uses the library internal buffer and + * - default timeout. See setCommandDefaultTimeout() + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] reader Callback for reading data to be read from host and send to module during command + * @param[in] user User data struct used during read Callback. Library doesn't use this. Set NULL if not used. + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(const ReaderFunc &reader, void *user, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] responseBuffer Buffer to hold command response + * @param[in] responseBufferLen Length of responseBuffer + * @param[in] timeoutMs Maximum time in milliseconds this command should execute + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] completeCallback Callback when command completes. arg1 of callback contains responseBuffer pointer, arg2 contains the response length + * @param[in] responseBuffer Buffer to hold command response + * @param[in] responseBufferLen Length of responseBuffer + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] responseBuffer Buffer to hold command response + * @param[in] responseBufferLen Length of responseBuffer + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(char *responseBuffer, int responseBufferLen, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * - This method uses the library internal buffer and + * - default timeout. See setCommandDefaultTimeout() + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] completeCallback Callback when command completes. arg1 of callback contains responseBuffer pointer, arg2 contains the response length + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(const Callback &completeCallback, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * - This method uses the library internal buffer and + * - default timeout. See setCommandDefaultTimeout() + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * This method uses the library internal buffer + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] completeCallback Callback when command completes. arg1 of callback contains responseBuffer pointer, arg2 contains the response length + * @param[in] timeoutMs Maximum time in milliseconds this command should execute + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(const Callback &completeCallback, TimerTimeout timeoutMs, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * @brief Send command to WiConnect WiFi module + * + * This method uses the library internal buffer + * + * @note Refer to @ref send_command_desc for more info + * @note This method supports variable arguments + * + * @param[in] timeoutMs Maximum time in milliseconds this command should execute + * @param[in] cmd WiConnect command to send to module + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(TimerTimeout timeoutMs, const char *cmd, ...); + + /** + * @ingroup api_core_send_command + * + * - This method uses the library internal buffer and + * - default timeout. See setCommandDefaultTimeout() + * + * @note Refer to @ref send_command_desc for more info + * + * @param[in] cmd WiConnect command to send to module + * @param[in] vaList Varaible list of arguments + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult sendCommand(const char *cmd, va_list vaList); + + /** + * @ingroup api_core_send_command + * + * @brief Check the status of the currently executing command. + * + * Refer to @ref WiconnectResult for more information about the return code. + * + * @note This command is only applicable for non-blocking mode. Refer to @ref setting_blocking_modes. + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult checkCurrentCommand(); + + /** + * @ingroup api_core_send_command + * + * @brief Stop the currently executing command. + * + * @note This command is only applicable for non-blocking mode. Refer to @ref setting_blocking_modes. + */ + void stopCurrentCommand(); + + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_core_misc + * + * @brief When the WiConnect WiFi module returns a response, it contains a + * response code in the header. This function converts the previous response code + * to a readable string. + * + * @return string representation of module response code + */ + const char* getLastCommandResponseCodeStr(); + + /** + * @ingroup api_core_misc + * + * @brief Return the length in bytes of the previous response. + * + * @return length of previous response + */ + uint16_t getLastCommandResponseLength(); + + /** + * @ingroup api_core_misc + * + * @brief Return pointer to internal response buffer. + * + * @return pointer to internal response buffer + */ + char* getResponseBuffer(); + + /** + * @ingroup api_core_misc + * + * @brief Helper method to convert previous response to uint32 + * + * @note This uses the internal response buffer. + * + * @param[out] uint32Ptr Pointer to hold result of conversion. + * @return Result of conversion. See @ref WiconnectResult + */ + WiconnectResult responseToUint32(uint32_t *uint32Ptr); + + /** + * @ingroup api_core_misc + * + * @brief Helper method to convert previous response to int32 + * + * @note This uses the internal response buffer. + * + * @param[out] int32Ptr Pointer to hold result of conversion. + * @return Result of conversion. See @ref WiconnectResult + */ + WiconnectResult responseToInt32(int32_t *int32Ptr); + + + // ------------------------------------------------------------------------ + + /** + * @ingroup api_core_settings + * + * @brief Set a module setting + * + * Refer to: http://wiconnect.ack.me/2.0/variables + * for a list of the available settings and descriptions + * + * @param settingStr String module setting name. + * @param value The integer value to set + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult setSetting(const char *settingStr, uint32_t value); + + /** + * @ingroup api_core_settings + * + * @brief Set a module setting + * + * Refer to: http://wiconnect.ack.me/2.0/variables + * for a list of the available settings and descriptions + * + * @param settingStr String module setting name. + * @param value The string value to set + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult setSetting(const char *settingStr, const char *value); + + /** + * @ingroup api_core_settings + * + * @brief Get a module setting + * + * Refer to: http://wiconnect.ack.me/2.0/variables + * for a list of the available settings and descriptions + * + * @param settingStr String module setting name. + * @param valuePtr Pointer to buffer to contain integer value + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult getSetting(const char *settingStr, uint32_t *valuePtr); + + /** + * @ingroup api_core_settings + * + * @brief Get a module setting + * + * Refer to: http://wiconnect.ack.me/2.0/variables + * for a list of the available settings and descriptions + * + * @param settingStr String module setting name. + * @param valuePtr Pointer to hold pointer to internal API buffer containing retrieved setting result + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult getSetting(const char *settingStr, char **valuePtr); + + /** + * @ingroup api_core_settings + * + * @brief Get a module setting + * + * Refer to: http://wiconnect.ack.me/2.0/variables + * for a list of the available settings and descriptions + * + * @param settingStr String module setting name. + * @param valueBuffer Buffer to hold retrieved setting result + * @param valueBufferLen The length of the input buffer + * + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult getSetting(const char *settingStr, char *valueBuffer, uint16_t valueBufferLen); + + + /** + * @ingroup api_core_settings + * + * @brief Sets if API calls are blocking or non-blocking. + * + * @param[in] blockingEnabled The new blocking value + */ + void setBlockingEnabled(bool blockingEnabled); + + /** + * @ingroup api_core_settings + * + * @brief Gets if API calls are blocking or non-blocking. + */ + bool getBlockingEnabled(void); + + /** + * @ingroup api_core_settings + * + * @brief Sets the default maximum time an API method may execute before + * terminating and return a timeout error code. + * + * @note All API methods (execpt some sendCommand()) use this default value. + * + * @param[in] timeoutMs Default command timeout in milliseconds + */ + void setCommandDefaultTimeout(TimerTimeout timeoutMs); + + /** + * @ingroup api_core_settings + * + * @brief Returns the current default maximum API execution time. + * + * @return Default command timeout in milliseconds + */ + TimerTimeout getCommandDefaultTimeout(); + + /** + * @ingroup api_core_settings + * + * @brief Sets a mapping function used to convert from a host Pin to WiConnect WiFi module GPIO. + * + * @param[in] mapper Pin to GPIO mapper function pointer + */ + void setPinToGpioMapper(PinToGpioMapper mapper); + + /** + * @ingroup api_core_settings + * + * @brief Sets callback function used to debug WiConnect WiFi module RX/TX serial data. + * + * @param[in] logFunc Logging function pointer + */ + void setDebugLogger(LogFunc logFunc); + + /** + * @ingroup api_core_settings + * + * @brief Sets callback used when Wiconnect Library hits and internal assertion. + * + * @note This is mainly for debugging. There's nothing the callback can do to fix the assertion. + * + * @param[in] assertLogFunc Logging function pointer + */ + void setAssertLogger(LogFunc assertLogFunc); + + // ------------------------------------------------------------------------ + + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + /** + * @ingroup api_core_send_command + * + * @brief Add user command to be executed asynchronously. + * + * Refer to @ref setting_async_processing for more info. + * + * @param[in] command Pointer to QueuedCommand to be executed asynchronously + * @param[in] commandCompleteHandler Callback to be executed when processing is complete. + * @return Result of method. See @ref WiconnectResult + */ + WiconnectResult enqueueCommand(QueuedCommand *command, const Callback &commandCompleteHandler = Callback()); + + /** + * @ingroup api_core_settings + * + * @brief Set the period at which an asynchronous command should be processed. + * + * Refer to @ref setting_async_processing for more info. + * + * @param[in] periodMs Processing period in milliseconds + */ + void setCommandProcessingPeriod(uint32_t periodMs); +#endif + + + /** + * @ingroup conversion_util + * + * @brief Converts a @ref WiconnectResult to string representation. + * + * @param[in] wiconnectResult Result code + * @return String representaion of result code + */ + static const char* getWiconnectResultStr(WiconnectResult wiconnectResult); + +protected: + +#ifdef WICONNECT_ENABLE_MALLOC + void* (*_malloc)(size_t); + void (*_free)(void *); + friend class QueuedCommand; + friend class WiconnectSerial; + friend class ScanResult; +#endif + + wiconnect::WiconnectSerial serial; + wiconnect::Gpio resetGpio; + wiconnect::Gpio wakeGpio; + + volatile bool commandExecuting; + bool initialized; + bool nonBlocking; + + PinToGpioMapper pinToGpioMapper; + + char *internalBuffer; + int internalBufferSize; + bool internalBufferAlloc; + uint8_t internalProcessingState; + void *currentCommandId; + + wiconnect::TimeoutTimer timeoutTimer; + TimerTimeout defaultTimeoutMs; + + uint8_t commandHeaderBuffer[32]; + char commandFormatBuffer[WICONNECT_MAX_CMD_SIZE]; + uint8_t commandContext[96]; + + void prepare(void *internalBuffer, int internalBufferSize, bool nonBlocking); + bool configureModuleDataBus(void); + WiconnectResult inline receiveResponse(); + WiconnectResult inline receivePacket(); + void issueCommandCallback(WiconnectResult result); + +#ifdef WICONNECT_ENABLE_DEBUGGING + LogFunc debugLogger; +#endif + LogFunc assertLogger; + + void debugLog(const char *msg, ...); + +#ifdef WICONNECT_ASYNC_TIMER_ENABLED + wiconnect::PeriodicTimer commandProcessorTimer; + uint32_t commandProcessingPeriod; + CommandQueue commandQueue; + wiconnect::QueuedCommand *currentQueuedCommand; + + void commandProcessingTimerHandler(void); + void processNextQueuedCommand(); + void checkQueuedCommandTimeout(); +#endif + + friend class NetworkInterface; + friend class SocketInterface; + friend class FileInterface; + friend class GhmInterface; + friend class GhmMessageList; + friend class GhmMessage; + friend class ScanResultList; + friend class WiconnectFile; + friend class WiconnectSocket; + friend class WiconnectUdpServer; +}; + +} + + +#include "sdkTypes.h" +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/WiconnectTypes.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,507 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include <stdint.h> +#include <stdarg.h> +#include <stddef.h> + +#include "sdk.h" + +/** + * @namespace wiconnect + * + * @brief The entire Wiconnect Library is contained within the 'wiconnect' namespace + */ +namespace wiconnect { + + +#ifndef MIN +/** + * @ingroup api_core_macro + * @def MIN(x,y) + * @brief Computes the minimum of \a x and \a y. + */ +#define MIN(x,y) ((x) < (y) ? (x) : (y)) +#endif +#ifndef MAX +/** + * @ingroup api_core_macro + * @def MAX(x,y) + * @brief Computes the maximum of \a x and \a y. + */ +#define MAX(x,y) ((x) > (y) ? (x) : (y)) +#endif +/** + * @ingroup api_core_macro + * @def ALIGN_n(x, n) + * @brief Align \a x to \a n bytes (\a n must be power of 2) + */ +#define ALIGN_n(x, n) ((((uint32_t)x) + ((n)-1)) & ~((n)-1)) +/** + * @ingroup api_core_macro + * @def ALIGN_8(x) + * @brief Align \a x to 8 bytes + */ +#define ALIGN_8(x) ALIGN_n(x, 8) +/** + * @ingroup api_core_macro + * @def ALIGN_4(x) + * @brief Align \a x to 4 bytes + */ +#define ALIGN_4(x) ALIGN_n(x, 4) +/** + * @ingroup api_core_macro + * @def ARRAY_COUNT(x) + * @brief Return number of elements in static array \a x + */ +#define ARRAY_COUNT(x) (sizeof (x) / sizeof *(x)) + + + +/** + * @ingroup api_core_macro + * @def WICONNECT_FAILED(result, func) + * @brief Populates \a result with return value from \a func, returns TRUE if return value contains error. + */ +#define WICONNECT_FAILED(result, func) ((int)(result = (func)) < (int)wiconnect::WICONNECT_SUCCESS) + +/** + * @ingroup api_core_macro + * @def WICONNECT_SUCCEEDED(result, func) + * @brief Populates \a result with return value from \a func, returns TRUE if return value is WICONNECT_SUCCESS. + */ +#define WICONNECT_SUCCEEDED(result, func) ((result = (func)) == wiconnect::WICONNECT_SUCCESS) + +/** + * @ingroup api_core_macro + * @def WICONNECT_IS_PROCESSING(result, func) + * @brief Populates \a result with return value from \a func, returns TRUE if return value is WICONNECT_PROCESSING. + */ +#define WICONNECT_IS_PROCESSING(result, func) ((result = (func)) == wiconnect::WICONNECT_PROCESSING) + +/** + * @ingroup api_core_macro + * @brief The maximum command size that may be sent to the WiConnect WiFi module + */ +#define WICONNECT_MAX_CMD_SIZE 128 +/** + * @ingroup api_core_macro + * @brief The maximum WiConnect WiFi module version string size + */ +#define WICONNECT_MAX_VERSION_SIZE 96 +/** + * @ingroup api_core_macro + * @brief The maximum number of simulanteous opened sockets + */ +#define WICONNECT_MAX_SOCKETS 8 +/** + * @ingroup api_core_macro + * @brief The maximum server string length + */ +#define WICONNECT_MAX_HOST_SIZE 64 +/** + * @ingroup api_core_macro + * @brief The maximum Wiconnect Module flash filesystem filename length + */ +#define WICONNECT_MAX_FILENAME_SIZE 96 +/** + * @ingroup api_core_macro + * @brief Never timeout + */ +#define WICONNECT_WAIT_FOREVER 0xFFFFFFFFUL +/** + * @ingroup api_core_macro + * @brief Timeout immediately + */ +#define WICONNECT_NO_WAIT 0 +/** + * @ingroup api_core_macro + * @brief Default firmware update timeout in ms + */ +#define WICONNECT_FIRMWARE_UPDATE_TIMEOUT 90000UL + +/** + * @ingroup api_socket_macro + * @brief Default which indicates to use the most optimal port + */ +#define SOCKET_ANY_PORT (uint16_t)0 +/** + * @ingroup api_socket_macro + * @brief Default which indicates to use the most optimal port + */ +#define SOCKET_INVALID_HANDLE ((uint8_t)0xFF) + + +/** + * @ingroup api_core_types + * @brief API Result code + */ +typedef enum +{ + // Status Codes + WICONNECT_ABORTED = 3, ///< Command was aborted + WICONNECT_IDLE = 2, ///< Library not processing any commands + WICONNECT_PROCESSING = 1, ///< Library processing current command + WICONNECT_SUCCESS = 0, ///< Command successfully completed + + // Error codes + WICONNECT_ERROR = -1, ///< Generic error + WICONNECT_CMD_RESPONSE_ERROR = -2, ///< Module returned error code + WICONNECT_NULL_BUFFER = -3, ///< Null buffer supplied + WICONNECT_NOT_INITIALIZED = -4, ///< Library not initialed + WICONNECT_OVERFLOW = -5, ///< Buffer overflowed + WICONNECT_TIMEOUT = -6, ///< Command timed out +// WICONNECT_RESPONSE_HANDLER_NULL = -7, ///< + WICONNECT_RESPONSE_PARSE_ERROR = -8, ///< Failed to parse module response + WICONNECT_ANOTHER_CMD_EXECUTING = -9, ///< Currently executing another command + WICONNECT_BAD_ARG = -10, ///< Bad argument supplied + WICONNECT_UNSUPPORTED = -11, ///< Command / parameter not supported + WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL = -12, ///< The pinToGpioMapper hasn't been set + WICONNECT_DUPLICATE = -13, ///< Duplicate value + WICONNECT_NOT_FOUND = -14, ///< Not found + WICONNECT_PINNAME_TO_GPIO_NO_MAPPING = -15, ///< No mapping found for given pin + WICONNECT_NOT_CONNECTED = -16, ///< Not connected + WICONNECT_UNDERFLOW = -17, ///< Data underflow + WICONNECT_MONITOR_NOT_AVAILABLE = -18, ///< Background processing monitor is not available (i.e in use) + WICONNECT_NOT_OPENED_FOR_READING = -19, ///< The file is not open for reading +} WiconnectResult; + + + +/** + * @ingroup types_core + * @brief Function pointer for mapping from a host pin to a WiConnect Module GPIO. + * + * @param[in] pin A host pin + * @return The corresponding WiConnect Module GPIO (which the given pin is physically connected). + * Return -1 if no mapping is available. + */ +typedef int8_t (*PinToGpioMapper)(Pin pin); + +/** + * @ingroup types_core + * @brief Timeout type + */ +typedef unsigned long TimerTimeout; + + +/** + * @brief Generic buffer type + * + * @note Internal use only + */ +typedef struct +{ + int size; + uint8_t *buffer; + uint8_t *ptr; + int bytesPending; + bool allocated; +} Buffer; + + +// ---------------------------------------------------------------------------- + + + +/** + * @ingroup api_network_types + * @brief Network connection status + */ +typedef enum +{ + NETWORK_STATUS_DOWN, ///< Not connected to network + NETWORK_STATUS_WIFI_ONLY, ///< Connected to network but don't have IP address + NETWORK_STATUS_UP, ///< Conntected to network and have IP address + NETWORK_STATUS_JOINING ///< Joining a network +} NetworkStatus; + +/** + * @ingroup api_network_types + * @brief Network connection status + */ +typedef enum +{ + NETWORK_JOIN_RESULT_NONE, ///< Haven't attempted to join + NETWORK_JOIN_RESULT_SUCCESS, ///< Successfully joined the network + NETWORK_JOIN_RESULT_JOINING, ///< Currently attempting to join + NETWORK_JOIN_RESULT_NO_SSID, ///< The SSID has not be configured + NETWORK_JOIN_RESULT_NO_PASSWORD, ///< The network requires a password and none has been set + NETWORK_JOIN_RESULT_BAD_SECURITY, ///< The specified security type is not supported by the network + NETWORK_JOIN_RESULT_NOT_FOUND, ///< The network with the configured SSID was not found + NETWORK_JOIN_RESULT_FAILED, ///< Failed to join the network + NETWORK_JOIN_RESULT_ABORTED, ///< Joining was aborted (via command) +} NetworkJoinResult; + +/** + * @ingroup api_network_types + * @brief Network RSSI signal level + */ +typedef enum +{ + NETWORK_RSSI_EXCELLENT = 0, ///< \> -20 dBm + NETWORK_RSSI_VERY_GOOD = 1, ///< \> -35 dBm + NETWORK_RSSI_GOOD = 2, ///< \> -50 dBm + NETWORK_RSSI_POOR = 3, ///< \> -70 dBm + NETWORK_RSSI_VERY_POOR = 4, ///< < -71 dBm + NETWORK_RSSI_UNKNOWN = 5 ///< Not available +} NetworkSignalStrength; + +/** + * @ingroup api_network_types + * @brief Network security type + */ +typedef enum +{ + NETWORK_SECURITY_OPEN, + NETWORK_SECURITY_WEP_PSK, + NETWORK_SECURITY_WPA_AES_PSK, + NETWORK_SECURITY_WPA_TKIP_PSK, + NETWORK_SECURITY_WPA2_AES_PSK, + NETWORK_SECURITY_WPA2_MIXED_PSK, + NETWORK_SECURITY_WPA2_TKIP_PSK, + NETWORK_SECURITY_UNKNOWN +} NetworkSecurity; + +/** + * @ingroup api_network_types + * @brief Network SSID type + */ +typedef struct +{ + uint8_t val[32]; ///< The raw data of the SSID (not necessarily a string) + uint8_t len; ///< The length in bytes of the SSID raw data +} Ssid; + +/** + * @ingroup api_network_types + * @brief Network MAC Address type + */ +typedef struct +{ + uint8_t octet[6]; +} MacAddress; + +/** + * @ingroup api_network_types + * @brief Buffer to hold a MAC address string + */ +typedef char MacAddressStrBuffer[18]; + +/** + * @ingroup api_network_types + * @brief Buffer to hold a SSID string + */ +typedef char SsidStrBuffer[129]; + +/** + * @ingroup api_network_types + * @brief Buffer to hold an IP address string + */ +typedef char IpStrBuffer[18]; + + +// ---------------------------------------------------------------------------- + + +/** + * @ingroup api_socket_types + * @brief Socket type + */ +typedef enum +{ + SOCKET_TYPE_UNKNOWN, ///< Socket type not known + SOCKET_TYPE_TCP, ///< TCP Socket type + SOCKET_TYPE_TLS, ///< TLS Socket type + SOCKET_TYPE_UDP, ///< UDP Socket type + SOCKET_TYPE_HTTP, ///< HTTP Socket type, + SOCKET_TYPE_UDPS, ///< UDP Server Socket type + SOCKET_TYPE_GHM, ///< goHACK.me message type +} SocketType; + +/** + * @ingroup api_socket_types + * @brief HTTP Socket sub-type + */ +typedef enum +{ + SOCKET_HTTP_GET, ///< HTTP GET Request socket type + SOCKET_HTTP_POST, ///< HTTP POST Request socket type + SOCKET_HTTP_HEAD, ///< HTTP HEAD Request socket type +} HttpSocketType; + +/** + * @ingroup api_socket_types + * @brief Struct for hold HTTP socket configuration + */ +typedef struct +{ + const char *contextType; ///< A POST Request 'context-type' value + const char *certName; ///< TLS certificate filename on module flash file system + bool openOnly; ///< Only open the connection, don't issue the request yet + HttpSocketType type; ///< The type of HTTP connection +} HttpSocketArgs; + + +// ---------------------------------------------------------------------------- + + +/** + * @ingroup api_file_types + * @brief File flags type + */ +typedef enum +{ + FILE_FLAG_NONE = 0, ///< No flags + + FILE_FLAG_VALID = (1 << 0), ///< File valid + FILE_FLAG_EXECUTABLE = (1 << 1), ///< File executable + FILE_FLAG_ENCRYPTED = (1 << 2), ///< File encrypted + FILE_FLAG_INTERNAL = (1 << 3), ///< File on internal module flash + FILE_FLAG_BOOTABLE = (1 << 4), ///< File bootable + FILE_FLAG_USER = (1 << 5), ///< File created by user + FILE_FLAG_ESSENTIAL = (1 << 6), ///< File is essential + + FILE_FLAG_INVALID = 0xFFFF ///< File flags invalid +} FileFlags; + +/** + * @ingroup api_file_types + * @brief File type type + */ +typedef enum +{ + FILE_TYPE_UPGRADE_APP = 0x00, ///< Internal upgrade application + FILE_TYPE_WIFI_FW = 0x01, ///< Wifi firmware binary + + FILE_TYPE_REGULAR_APP = 0x81, ///< Regular application + + FILE_TYPE_USER_RANGE_START = 150, ///< User type start index + FILE_TYPE_USER_RANGE_END = 199, ///< User type end index + + FILE_TYPE_TEMPORY = 0xF9, ///< Temporary file + FILE_TYPE_GPIO_CONFIG = 0xFA, ///< GPIO configuration file + FILE_TYPE_COMMAND_HELP = 0xFB, ///< WiConnect command help file + FILE_TYPE_SDC_CAPS = 0xFC, ///< SDC / goHACK.me file + FILE_TYPE_SETUP_SCRIPT = 0xFD, ///< Setup script file + FILE_TYPE_MISC_FIX_LEN = 0xFE, ///< Miscellaneous fixed length file + FILE_TYPE_UNKNOWN = 0xFF, ///< Unknown file type + FILE_TYPE_ANY = FILE_TYPE_UNKNOWN +} FileType; + + +// ---------------------------------------------------------------------------- + +/** + * @ingroup api_ghm_types + * @brief goHACK.me stream or control value type + */ +typedef enum +{ + GHM_VALUE_INT, + GHM_VALUE_STR +} GhmElementValueType; + +/** + * @ingroup api_ghm_types + * @brief goHACK.me stream or control value + */ +typedef struct +{ + const char *elementName; + GhmElementValueType type; + union + { + const char *strValue; + uint32_t intValue; + } u; +} GhmElement; + +/** + * @ingroup api_ghm_types + * @brief Array of goHACK.me stream or control values + */ +typedef struct +{ + uint16_t count; + GhmElement elements[1]; +} GhmElementArray; + +/** + * @ingroup api_ghm_types + * @brief goHACK.me sychronization type + */ +typedef enum +{ + GHM_SYNC_ALL, ///< Push and pull all streams and controls + GHM_SYNC_PUSH_ONLY, ///< Only push streams and controls to remote server + GHM_SYNC_PULL_ONLY ///< Only pull controls from remote server +} GhmSyncType; + +/** + * @ingroup api_ghm_types + * @brief goHACK.me message GET type + */ +typedef enum +{ + GHM_MSG_GET_DATA_ONLY, ///< Only GET the message data + GHM_MSG_GET_BODY, ///< Get the message body. This is JSON formatted. + GHM_MSG_GET_ALL ///< Get entire message. This includes headers. Is JSON formatted. +} GhmMessageGetType; + + + +// ---------------------------------------------------------------------------- + + +// Forward declarations + +class Wiconnect; +class TimeoutTimer; +class PeriodicTimer; +class QueuedCommand; +class CommandQueue; +class LogFunc; +class ReaderFunc; +class ReaderFuncCallback; +class Callback; +class ScanResult; +class ScanResultList; +class WiconnectSocket; +class WiconnectSerial; +class WiconnectFile; +class FileList; +class Gpio; +class SocketIrqHandlerMap; +class WiconnectUdpServer; +class GhmMessageList; +class GhmMessage; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/sdk.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,196 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#define MBED_SDK + +#include "mbed.h" + + + + +namespace wiconnect +{ + +/** + * @ingroup api_core_macro + * @brief When defined enables asynchronous command processing + */ +#define WICONNECT_ASYNC_TIMER_ENABLED +/** + * @ingroup api_core_macro + * @brief When defined enables user supplied dynamic memory allocation + */ +#define WICONNECT_ENABLE_MALLOC +/** + * @ingroup api_core_macro + * @brief When defined enables Host<->Wiconnect Module serial RX buffering + */ +#define WICONNECT_SERIAL_RX_BUFFER +/** + * @ingroup api_core_macro + * @brief When defined enables certain conversion API functions to use a default buffer to store string + */ +#define WICONNECT_USE_DEFAULT_STRING_BUFFERS + +/** + * @ingroup api_core_macro + * @brief When defined enables external interrupts on specified gpios + */ +#define WICONNECT_GPIO_IRQ_ENABLED + +/** + * @ingroup api_core_macro + * @brief When WICONNECT_ENABLE_MALLOC defined, this is the default malloc function + */ +#define WICONNECT_DEFAULT_MALLOC malloc +/** + * @ingroup api_core_macro + * @brief When WICONNECT_ENABLE_MALLOC defined, this is the default free function + */ +#define WICONNECT_DEFAULT_FREE free + +/** + * @ingroup api_core_macro + * @brief The default Host<->Wiconnect Module serial BAUD rate + */ +#define WICONNECT_DEFAULT_BAUD 115200 +/** + * @ingroup api_core_macro + * @brief The default command timeout (i.e max command executing time) + */ +#define WICONNECT_DEFAULT_TIMEOUT 3000 // ms +/** + * @ingroup api_core_macro + * @brief When WICONNECT_ASYNC_TIMER_ENABLED, this specifies the max number of asynchronous commands that may be queued + */ +#define WICONNECT_MAX_QUEUED_COMMANDS 8 +/** + * @ingroup api_core_macro + * @brief When WICONNECT_ASYNC_TIMER_ENABLED, this specifies the period in milliseconds commands should be processed + */ +#define WICONNECT_DEFAULT_COMMAND_PROCESSING_PERIOD 50 // ms + +/** + * @ingroup api_core_macro + * @brief The default blocking mode of the Library. + */ +#define WICONNECT_DEFAULT_NONBLOCKING false + +/** + * @ingroup api_core_macro + * @brief If defined, enables low-level debugging + */ +#define WICONNECT_ENABLE_DEBUGGING + + +// ---------------------------------------------------------------------------- + +#define WICONNECT_GPIO_BASE_CLASS : DigitalOut +#define WICONNECT_SERIAL_BASE_CLASS : RawSerial +#define WICONNECT_PERIODIC_TIMER_BASE_CLASS : Ticker +#define WICONNECT_EXTERNAL_INTERRUPT_GPIO_BASE_CLASS : InterruptIn + +#define WICONNECT_MAX_PIN_IRQ_HANDLERS 3 + + +/** + * @ingroup api_core_macro + * @brief Default value for a pin, Not connected + */ +#define PIN_NC NC + +/** + * @ingroup api_core_types + * @brief Pin name on HOST + */ +typedef PinName Pin; + +/** + * @ingroup api_core_types + * @brief Host<->Wiconnect Module serial configuration + */ +class SerialConfig +{ +public: + Pin rx; + Pin tx; + Pin cts; + Pin rts; + int baud; + void *serialRxBuffer; + int serialRxBufferSize; + + SerialConfig(Pin rx, Pin tx, Pin cts, Pin rts, int baud, int serialRxBufferSize, void *serialRxBuffer = NULL) + { + this->rx =rx; + this->tx =tx; + this->cts =cts; + this->rts =rts; + this->baud = baud; + this->serialRxBuffer =serialRxBuffer; + this->serialRxBufferSize =serialRxBufferSize; + } + + SerialConfig(Pin rx, Pin tx, int serialRxBufferSize, void *serialRxBuffer = NULL) + { + this->rx =rx; + this->tx =tx; + this->cts = PIN_NC; + this->rts = PIN_NC; + this->baud = WICONNECT_DEFAULT_BAUD; + this->serialRxBuffer =serialRxBuffer; + this->serialRxBufferSize =serialRxBufferSize; + } + + SerialConfig(Pin rx, Pin tx) + { + this->rx =rx; + this->tx =tx; + this->cts =PIN_NC; + this->rts =PIN_NC; + this->baud = WICONNECT_DEFAULT_BAUD; + this->serialRxBuffer =NULL; + this->serialRxBufferSize =0; + } + +}; + + +/** + * @ingroup api_core_macro + * @brief Function to stop processor for specified number of milliseconds + */ +#define delayMs(ms) wait_ms(ms) + + + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/sdkTypes.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,30 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ + +#include "api/types/Socket/mBedSocketApi.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/target_config.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,92 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +// The BAUD rate your PC/MAC/Linux terminal uses with the eval board +#define CONSOLE_BAUD 115200 + + +// Uncomment this to enable WiConnect serial interface hardware flow control +// NOTE: your platform must support the serial flow control api functions +//#define ENABLE_FLOW_CONTROL + + +#define WICONNECT_INTERNAL_BUFFER_SIZE (4*1024) +#define WICONNECT_SERIAL_RX_BUFFER_SIZE (4*1024) + +#define DEFAULT_CMD_GETCHAR_TIMEOUT 250 +#define DEFAULT_COMMAND_LINE_LENGTH_MAX 128 +#define DEFAULT_COMMAND_MAX_HISTORY 16 +#define DEFAULT_CMD_PROMPT_STR "> " +#define DEFAULT_COMMAND_MAX_ARGV 16 + +#define TEST_NONBLOCKING_API false +#define TEST_BUFFER_LENGTH 4*1024 + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Seabass Target Configuration +#ifdef TARGET_SEABASS + +#define WICONNECT_TX_PIN PA_9 +#define WICONNECT_RX_PIN PA_10 +#define WICONNECT_RESET_PIN PB_0 +#define WICONNECT_WAKE_PIN NC + +#ifdef ENABLE_FLOW_CONTROL +#define WICONNECT_CTS_PIN PA_11 +#define WICONNECT_RTS_PIN PA_12 +#else +#define WICONNECT_CTS_PIN NC +#define WICONNECT_RTS_PIN NC +#endif + +#endif + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Nucleo F401RE Target Configuration +#ifdef TARGET_NUCLEO_F401RE + +#define WICONNECT_TX_PIN PA_9 +#define WICONNECT_RX_PIN PA_10 +#define WICONNECT_RESET_PIN PC_7 +#define WICONNECT_WAKE_PIN NC + +#ifdef ENABLE_FLOW_CONTROL +#define WICONNECT_CTS_PIN PA_11 +#define WICONNECT_RTS_PIN PA_12 +#else +#define WICONNECT_CTS_PIN NC +#define WICONNECT_RTS_PIN NC +#endif + +#endif +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Callback.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,99 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "api/WiconnectTypes.h" +#include "FunctionPointer.h" + + + +namespace wiconnect +{ + + +typedef void (*_Callback)(WiconnectResult result, void *arg1, void *arg2); + + +/** + * @ingroup api_core_types + * + * @brief Generic callback function. + */ +class Callback : public FunctionPointer +{ +public: + /*************************************************************************************************/ + Callback(_Callback func = 0) + { + _function = (void*)func; + _membercaller = NULL; + _object = NULL; + } + + /*************************************************************************************************/ + template<typename T> + Callback(T *object, void (T::*member)(WiconnectResult result, void *arg1, void *arg2)) + { + _object = static_cast<void*>(object); + memcpy(_member, (char*)&member, sizeof(member)); + _membercaller = (void*)&Callback::membercaller<T>; + _function = 0; + } + + /*************************************************************************************************/ + void call(WiconnectResult result, void *arg1, void *arg2) + { + if (_function) + { + ((_Callback)_function)(result, arg1, arg2); + } + else if (_object) + { + typedef void (*membercallerFunc)(void*, char*, WiconnectResult result, void *arg1, void *arg2); + ((membercallerFunc)_membercaller)(_object, _member, result, arg1, arg2); + } + } + +private: + + /*************************************************************************************************/ + template<typename T> + static void membercaller(void *object, char *member, WiconnectResult result, void *arg1, void *arg2) + { + T* o = static_cast<T*>(object); + void (T::*m)(WiconnectResult result, void *arg1, void *arg2); + memcpy((char*)&m, member, sizeof(m)); + (o->*m)(result, arg1, arg2); + } + +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/CommandQueue.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,107 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "api/WiconnectTypes.h" + + +namespace wiconnect +{ + +/** + * Class for hold queued commands + * + * @note Internal use only + */ +class CommandQueue +{ +public: + /*************************************************************************************************/ + CommandQueue() + { + head = tail = queue; + count = 0; + } + + /*************************************************************************************************/ + bool isFull() + { + return count == WICONNECT_MAX_QUEUED_COMMANDS; + } + + /*************************************************************************************************/ + bool isEmpty() + { + return count == 0; + } + + /*************************************************************************************************/ + bool push(QueuedCommand *cmd) + { + if(isFull()) + { + return false; + } + ++count; + *tail = cmd; + if(++tail >= queue + WICONNECT_MAX_QUEUED_COMMANDS) + { + tail = queue; + } + + return true; + } + + /*************************************************************************************************/ + QueuedCommand* pop() + { + if(isEmpty()) + return NULL; + + QueuedCommand* cmd = *head; + --count; + if(++head >= queue + WICONNECT_MAX_QUEUED_COMMANDS) + { + head = queue; + } + return cmd; + } + +protected: + QueuedCommand* queue[WICONNECT_MAX_QUEUED_COMMANDS]; + QueuedCommand** head; + QueuedCommand** tail; + int count; +}; + + + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/FileList.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,68 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "Wiconnect.h" +#include "WiconnectFile.h" + +namespace wiconnect +{ + +/** + * @ingroup api_file_types + * + * @brief WiConnect WiFi module file listing. + * + */ +class FileList +{ +public: + FileList(int bufferLen = 0, void *buffer = NULL); + ~FileList(); + + const WiconnectFile* getListHead() const; + int getCount() const; + const WiconnectFile* getResult(int i) const; + const WiconnectFile* operator [](int i) const; + +protected: + WiconnectFile *listHead, *listTail; + uint8_t *buffer; + uint8_t *bufferPtr; + uint16_t bufferLen; + int count; + + WiconnectResult add(const char *typeStr, const char *flagsStr, const char* sizeStr, const char *versionStr, const char *nameStr); + + friend class FileInterface; +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/FunctionPointer.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,73 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +namespace wiconnect +{ + + +/** + * @brief Generic function pointer. + * @note Internal use only + */ +class FunctionPointer +{ +public: + /*************************************************************************************************/ + FunctionPointer& operator=( const FunctionPointer& other ) + { + _object = other._object; + _function = other._function; + _membercaller = other._membercaller; + memcpy(_member, other._member, sizeof(_member)); + return *this; + } + + /*************************************************************************************************/ + bool isValid() const + { + return (_function != NULL) || (_object != NULL); + } + + /*************************************************************************************************/ + void setInvalid() + { + _function = NULL; + _object = NULL; + } + +protected: + void *_object; + void *_function; + char _member[16]; + void *_membercaller; +}; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/GhmMessage.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,79 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + + +#include "api/WiconnectTypes.h" +#include "api/StringUtil.h" + + +namespace wiconnect +{ + +/** + * @ingroup api_ghm_types + * + * @brief Contains single entry from goHACK.me message listing + * + */ +class GhmMessage +{ +public: + const char* getMessageId(char *buffer = NULL) const; + const char* getTimestamp(char *buffer = NULL) const; + uint16_t getLength() const; + + const GhmMessage* getNext() const; + const GhmMessage* getPrevious() const; + +protected: + GhmMessage(); + + WiconnectResult init(const char *msgIdStr, const char* timestampStr, const char *lengthStr); + GhmMessage *next; + GhmMessage *previous; + char messageId[37]; + char timestamp[14]; + uint16_t length; + +#ifdef WICONNECT_ENABLE_MALLOC + void* operator new(size_t size); + void operator delete(void*); +#endif + + friend class GhmMessageList; +}; + + + + + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/GhmMessageList.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,73 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "api/WiconnectTypes.h" +#include "GhmMessage.h" + + + +namespace wiconnect +{ + + +/** + * @ingroup api_ghm_types + * + * @brief List of goHACK.me messages. + * + */ +class GhmMessageList +{ +public: + GhmMessageList(int bufferLen = 0, void *buffer = NULL); + ~GhmMessageList(); + + void reset(void); + const GhmMessage* getListHead() const; + int getCount() const; + const GhmMessage* getResult(int i) const; + const GhmMessage* operator [](int i) const; + +protected: + GhmMessage *listHead, *listTail; + uint8_t *buffer; + uint8_t *bufferPtr; + uint16_t bufferLen; + uint16_t bufferRemaining; + int count; + + WiconnectResult add(const char *msgId, const char* timestamp, const char *length); + + + friend class GhmInterface; +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Gpio.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,59 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "api/WiconnectTypes.h" + + +namespace wiconnect +{ + +/** + * Host GPIO class. + * + * @note Internal use only + */ +class Gpio WICONNECT_GPIO_BASE_CLASS +{ +public: + Gpio(Pin pin); + + void write(bool value); + + bool read(void); + + Gpio& operator= (bool value); + + Gpio& operator= (const Gpio& other); + +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/LogFunc.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,100 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "api/WiconnectTypes.h" +#include "FunctionPointer.h" + +namespace wiconnect +{ + +typedef int (*_LogFunc)(const char *str); + + +/** + * @ingroup api_core_types + * + * @brief Logging callback function. + */ +class LogFunc : public FunctionPointer +{ +public: + /*************************************************************************************************/ + LogFunc(_LogFunc func = 0) + { + _function = (void*)func; + _membercaller = NULL; + _object = NULL; + } + + /*************************************************************************************************/ + template<typename T> + LogFunc(T *object, WiconnectResult (T::*member)(const char *str)) + { + _object = static_cast<void*>(object); + memcpy(_member, (char*)&member, sizeof(member)); + _membercaller = (void*)&LogFunc::membercaller<T>; + _function = 0; + } + + /*************************************************************************************************/ + int call(const char *str) + { + if (_function) + { + return ((_LogFunc)_function)(str); + } + else if (_object) + { + typedef int (*membercallerFunc)(void*, char*, const char *str); + return ((membercallerFunc)_membercaller)(_object, _member, str); + } + else + { + return -1; + } + } + +private: + + /*************************************************************************************************/ + template<typename T> + static int membercaller(void *object, char *member, const char *str) + { + T* o = static_cast<T*>(object); + int (T::*m)(const char *str); + memcpy((char*)&m, member, sizeof(m)); + return (o->*m)(str); + } +}; + + + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/PeriodicTimer.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,56 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "api/WiconnectTypes.h" + + +namespace wiconnect +{ + +/** + * Class for periodically calling a supplied callback. + * + * @note Internal use only + */ +class PeriodicTimer WICONNECT_PERIODIC_TIMER_BASE_CLASS +{ +public: + PeriodicTimer(); + + template<typename T> + void start(T* tptr, void (T::*mptr)(void), int timeoutMs); + void stop(void); + bool isRunning(); +protected: + bool running; +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/PinIrqHandler.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,63 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "Wiconnect.h" + +namespace wiconnect +{ + + +class SocketIrqHandlerMap; + +/** + * Class for handlinga Pin IRQ. + * + * @note Internal use only + */ +class PinIrqHandler WICONNECT_EXTERNAL_INTERRUPT_GPIO_BASE_CLASS +{ +public: + PinIrqHandler(Pin irqPin, const Callback &callback); + virtual ~PinIrqHandler(); + + void irqHandler(); + +protected: + PinName irqPin; + Callback callback; + + friend class SocketIrqHandlerMap; +}; + + +typedef uint8_t PinIrqHandlerBuffer[sizeof(PinIrqHandler)]; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/QueuedCommand.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,88 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "api/WiconnectTypes.h" + + +namespace wiconnect +{ +/** + * @ingroup api_core_types + * + * @brief Class which contains command for asynchronous processing. + */ + +class QueuedCommand +{ +public: + void *userData; + + + QueuedCommand(int responseBufferLen, char *responseBuffer, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList); + QueuedCommand(int responseBufferLen, char *responseBuffer, int timeoutMs, const char *cmd, ...); + QueuedCommand(int responseBufferLen, char *responseBuffer, const char *cmd, ...); + QueuedCommand(int timeoutMs_, const char *cmd, ...); + QueuedCommand(const char *cmd, ...); + ~QueuedCommand(); + + char *getResponseBuffer(); + int getResponseBufferLen(); + int getTimeoutMs(); + ReaderFunc getReader(); + void * getReaderUserData(); + char* getCommand(); + Callback getCompletedCallback(); + void setCompletedCallback(const Callback &cb); + + QueuedCommand& operator=( const QueuedCommand& other ); + void* operator new(size_t size); + void operator delete(void*); + +protected: + char *responseBuffer; + int responseBufferLen; + int timeoutMs; + ReaderFunc reader; + void *user; + char command[WICONNECT_MAX_CMD_SIZE]; + Callback completeCallback; +#ifdef WICONNECT_ENABLE_MALLOC + bool allocatedBuffer; +#endif + friend class NetworkInterface; + friend class Wiconnect; + + void initialize(int responseBufferLen, char *responseBuffer_, int timeoutMs_, const ReaderFunc &reader_, void *user_, const char *cmd_, va_list vaList); +}; + + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/ReaderFunc.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,98 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "api/WiconnectTypes.h" +#include "FunctionPointer.h" + + +namespace wiconnect +{ + +typedef WiconnectResult (*_ReaderFunc)(void *user, void *data, int maxReadSize, int *bytesRead); + +/** + * @ingroup api_core_types + * + * @brief Generic data reading callback function. + */ +class ReaderFunc : public FunctionPointer +{ +public: + + /*************************************************************************************************/ + ReaderFunc(_ReaderFunc func = 0) + { + _function = (void*)func; + _membercaller = NULL; + _object = NULL; + } + + /*************************************************************************************************/ + template<typename T> + ReaderFunc(T *object, WiconnectResult (T::*member)(void *user, void *data, int maxReadSize, int *bytesRead)) + { + _object = static_cast<void*>(object); + memcpy(_member, (char*)&member, sizeof(member)); + _membercaller = (void*)&ReaderFunc::membercaller<T>; + _function = 0; + } + + /*************************************************************************************************/ + WiconnectResult call(void *user, void *data, int maxReadSize, int *bytesRead) + { + if (_function) + { + return ((_ReaderFunc)_function)(user, data, maxReadSize, bytesRead); + } + else if (_object) + { + typedef WiconnectResult (*membercallerFunc)(void*, char*, void *user, void *data, int maxReadSize, int *bytesRead); + return ((membercallerFunc)_membercaller)(_object, _member, user, data, maxReadSize, bytesRead); + } + else + { + return WICONNECT_ERROR; + } + } + +private: + + /*************************************************************************************************/ + template<typename T> + static WiconnectResult membercaller(void *object, char *member, void *user, void *data, int maxReadSize, int *bytesRead) + { + T* o = static_cast<T*>(object); + WiconnectResult (T::*m)(void *user, void *data, int maxReadSize, int *bytesRead); + memcpy((char*)&m, member, sizeof(m)); + return (o->*m)(user, data, maxReadSize, bytesRead); + } +}; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/ScanResult.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,86 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + + +#include "api/WiconnectTypes.h" +#include "api/StringUtil.h" + + +namespace wiconnect +{ + +/** + * @ingroup api_network_types + * + * @brief Contains single entry from WiFi scan results + * + */ +class ScanResult +{ +public: + uint8_t getChannel() const; + NetworkSignalStrength getSignalStrength() const; + const MacAddress* getMacAddress() const; + NetworkSecurity getSecurityType() const; + uint32_t getRate() const; + const char* getRateStr(char *buffer = NULL) const; + const Ssid* getSsid() const; + + const ScanResult* getNext() const; + const ScanResult* getPrevious() const; + +protected: + ScanResult(); + + WiconnectResult init(const char *channelStr, const char *rssiStr, const char* macStr, const char *rateStr, const char *secStr, const char *ssidStr); + ScanResult *next; + ScanResult *previous; + uint8_t channel; + int16_t rssi; + MacAddress mac; + uint32_t rate; + NetworkSecurity security; + Ssid ssid; + +#ifdef WICONNECT_ENABLE_MALLOC + void* operator new(size_t size); + void operator delete(void*); +#endif + + friend class ScanResultList; +}; + + + + + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/ScanResultList.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,73 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "api/WiconnectTypes.h" +#include "ScanResult.h" + + + +namespace wiconnect +{ + + +/** + * @ingroup api_network_types + * + * @brief List of WiFi network scan results. + * + */ +class ScanResultList +{ +public: + ScanResultList(int bufferLen = 0, void *buffer = NULL); + ~ScanResultList(); + + void reset(void); + const ScanResult* getListHead() const; + int getCount() const; + const ScanResult* getResult(int i) const; + const ScanResult* operator [](int i) const; + +protected: + ScanResult *listHead, *listTail; + uint8_t *buffer; + uint8_t *bufferPtr; + uint16_t bufferLen; + uint16_t bufferRemaining; + int count; + + WiconnectResult add(const char *channelStr, const char *rssiStr, const char* macStr, const char *rateStr, const char *secStr, const char *ssidStr); + + + friend class NetworkInterface; +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/Endpoint.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,67 @@ +/* Copyright (C) 2012 mbed.org, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef ENDPOINT_H +#define ENDPOINT_H + + +#include "api/types/Socket/lwip/sockets.h" + + +class UDPSocket; + +/** +IP Endpoint (address, port) +*/ +class Endpoint { + friend class UDPSocket; + +public: + /** IP Endpoint (address, port) + */ + Endpoint(void); + + ~Endpoint(void); + + /** Reset the address of this endpoint + */ + void reset_address(void); + + /** Set the address of this endpoint + \param host The endpoint address (it can either be an IP Address or a hostname that will be resolved with DNS). + \param port The endpoint port + \return 0 on success, -1 on failure (when an hostname cannot be resolved by DNS). + */ + int set_address(const char* host, const int port); + + /** Get the IP address of this endpoint + \return The IP address of this endpoint. + */ + char* get_address(void); + + /** Get the port of this endpoint + \return The port of this endpoint + */ + int get_port(void); + +protected: + char _ipAddress[17]; + struct sockaddr_in _remoteHost; + +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/Socket.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,98 @@ +/* Copyright (C) 2012 mbed.org, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef SOCKET_H_ +#define SOCKET_H_ + + +#include "api/types/Socket/lwip/sockets.h" +#include "api/types/Socket/lwip/netdb.h" +#include "api/WiconnectTypes.h" +#include "api/types/WiconnectSocket.h" + + +using namespace wiconnect; + + +#define SOCKET_API_DEFAULT_RX_BUFFER_SIZE 128 +#define SOCKET_API_DEFAULT_TX_BUFFER_SIZE 128 + + +int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop); +struct hostent *gethostbyname(const char *name); + + + + +/** Socket file descriptor and select wrapper + */ +class Socket { +public: + /** Socket + */ + Socket(); + Socket(int rxBufferLen, void *rxBuffer, int txBufferLen, void *txBuffer); + + /** Set blocking or non-blocking mode of the socket and a timeout on + blocking socket operations + + \note Currently the blocking/timeout functionality is only supported + for 'read' methods + \param blocking true for blocking mode, false for non-blocking mode. + \param timeout timeout in ms [Default: (1500)ms]. + */ + void set_blocking(bool blocking, unsigned int timeout=1500); + + /** Set socket options + * + * \note NOT supported in this version. + * + \param level stack level (see: lwip/sockets.h) + \param optname option ID + \param optval option value + \param socklen_t length of the option value + \return 0 on success, -1 on failure + */ + int set_option(int level, int optname, const void *optval, socklen_t optlen); + + /** Get socket options + * + * \note NOT supported in this version. + * + \param level stack level (see: lwip/sockets.h) + \param optname option ID + \param optval buffer pointer where to write the option value + \param socklen_t length of the option value + \return 0 on success, -1 on failure + */ + int get_option(int level, int optname, void *optval, socklen_t *optlen); + + /** Close the socket + \param shutdown free the left-over data in message queues + */ + int close(bool shutdown=true); + + ~Socket(); + +protected: + bool _blocking; + unsigned int _timeout; + + WiconnectSocket socket; +}; + +#endif /* SOCKET_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/TCPSocketConnection.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,79 @@ +/* Copyright (C) 2012 mbed.org, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef TCPSOCKET_H +#define TCPSOCKET_H + +#include "api/types/Socket/Socket.h" +#include "api/types/Socket/Endpoint.h" + +/** +TCP socket connection +*/ +class TCPSocketConnection : public Socket, public Endpoint { + friend class TCPSocketServer; + +public: + /** TCP socket connection + */ + TCPSocketConnection(int rxBufferLen = SOCKET_API_DEFAULT_RX_BUFFER_SIZE, void *rxBuffer = NULL, int txBufferLen = SOCKET_API_DEFAULT_TX_BUFFER_SIZE, void *txBuffer = NULL); + + /** Connects this TCP socket to the server + \param host The host to connect to. It can either be an IP Address or a hostname that will be resolved with DNS. + \param port The host's port to connect to. + \return 0 on success, -1 on failure. + */ + int connect(const char* host, const int port); + + /** Check if the socket is connected + \return true if connected, false otherwise. + */ + bool is_connected(void); + + /** Send data to the remote host. + \param data The buffer to send to the host. + \param length The length of the buffer to send. + \return the number of written bytes on success (>=0) or -1 on failure + */ + int send(char* data, int length); + + /** Send all the data to the remote host. + \param data The buffer to send to the host. + \param length The length of the buffer to send. + \return the number of written bytes on success (>=0) or -1 on failure + */ + int send_all(char* data, int length); + + /** Receive data from the remote host. + \param data The buffer in which to store the data received from the host. + \param length The maximum length of the buffer. + \return the number of received bytes on success (>=0) or -1 on failure + */ + int receive(char* data, int length); + + /** Receive all the data from the remote host. + \param data The buffer in which to store the data received from the host. + \param length The maximum length of the buffer. + \return the number of received bytes on success (>=0) or -1 on failure + */ + int receive_all(char* data, int length); + + +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/TCPSocketServer.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,59 @@ +/* Copyright (C) 2012 mbed.org, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#ifndef TCPSOCKETSERVER_H +#define TCPSOCKETSERVER_H + +#include "api/types/Socket/Socket.h" +#include "api/types/Socket/TCPSocketConnection.h" + +/** TCP Server. + * + * + * + * NOTE: This class is not currently supported + * + * + * + */ +class TCPSocketServer : public Socket { + public: + /** Instantiate a TCP Server. + */ + TCPSocketServer(); + + /** Bind a socket to a specific port. + \param port The port to listen for incoming connections on. + \return 0 on success, -1 on failure. + */ + int bind(int port); + + /** Start listening for incoming connections. + \param backlog number of pending connections that can be queued up at any + one time [Default: 1]. + \return 0 on success, -1 on failure. + */ + int listen(int backlog=1); + + /** Accept a new connection. + \param connection A TCPSocketConnection instance that will handle the incoming connection. + \return 0 on success, -1 on failure. + */ + int accept(TCPSocketConnection& connection); +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/UDPSocket.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,93 @@ +/* Copyright (C) 2012 mbed.org, MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software + * and associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, + * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or + * substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef UDPSOCKET_H +#define UDPSOCKET_H + +#include "api/types/Socket/Socket.h" +#include "api/types/Socket/Endpoint.h" + +/** +UDP Socket +*/ +class UDPSocket : public Socket { + +public: + /** Instantiate an UDP Socket. + */ + UDPSocket(int rxBufferLen = SOCKET_API_DEFAULT_RX_BUFFER_SIZE, void *rxBuffer = NULL, int txBufferLen = SOCKET_API_DEFAULT_TX_BUFFER_SIZE, void *txBuffer = NULL); + + /** Init the UDP Client Socket without binding it to any specific port + \return 0 on success, -1 on failure. + */ + int init(void); + + /** Bind a UDP Server Socket to a specific port + \param port The port to listen for incoming connections on + \return 0 on success, -1 on failure. + */ + int bind(int port); + + /** Join the multicast group at the given address + * + * \note This is not currently supported. + * + \param address The address of the multicast group + \return 0 on success, -1 on failure. + */ + int join_multicast_group(const char* address); + + /** Set the socket in broadcasting mode + * + * \note Broadcasting is always enabled, so this + * doesn't do anything useful. + * + \return 0 on success, -1 on failure. + */ + int set_broadcasting(bool broadcast=true); + + /** Send a packet to a remote endpoint + * + * \note Currently only one remote client address is supported + * + \param remote The remote endpoint + \param packet The packet to be sent + \param length The length of the packet to be sent + \return the number of written bytes on success (>=0) or -1 on failure + */ + int sendTo(Endpoint &remote, char *packet, int length); + + /** Receive a packet from a remote endpoint + * + * \note Currently only one remote client address is supported + * + * + \param remote The remote endpoint + \param buffer The buffer for storing the incoming packet data. If a packet + is too long to fit in the supplied buffer, excess bytes are discarded + \param length The length of the buffer + \return the number of received bytes on success (>=0) or -1 on failure + */ + int receiveFrom(Endpoint &remote, char *buffer, int length); + + +private: + int localPort; +}; + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/lwip/inet.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,108 @@ + +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_INET_H__ +#define __LWIP_INET_H__ + +#include "opt.h" +#include "ip_addr.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +/** For compatibility with BSD code */ +struct in_addr { + u32_t s_addr; +}; + +/** 255.255.255.255 */ +#define INADDR_NONE IPADDR_NONE +/** 127.0.0.1 */ +#define INADDR_LOOPBACK IPADDR_LOOPBACK +/** 0.0.0.0 */ +#define INADDR_ANY IPADDR_ANY +/** 255.255.255.255 */ +#define INADDR_BROADCAST IPADDR_BROADCAST + +/* Definitions of the bits in an Internet address integer. + + On subnets, host and network parts are found according to + the subnet mask, not these masks. */ +#define IN_CLASSA(a) IP_CLASSA(a) +#define IN_CLASSA_NET IP_CLASSA_NET +#define IN_CLASSA_NSHIFT IP_CLASSA_NSHIFT +#define IN_CLASSA_HOST IP_CLASSA_HOST +#define IN_CLASSA_MAX IP_CLASSA_MAX + +#define IN_CLASSB(b) IP_CLASSB(b) +#define IN_CLASSB_NET IP_CLASSB_NET +#define IN_CLASSB_NSHIFT IP_CLASSB_NSHIFT +#define IN_CLASSB_HOST IP_CLASSB_HOST +#define IN_CLASSB_MAX IP_CLASSB_MAX + +#define IN_CLASSC(c) IP_CLASSC(c) +#define IN_CLASSC_NET IP_CLASSC_NET +#define IN_CLASSC_NSHIFT IP_CLASSC_NSHIFT +#define IN_CLASSC_HOST IP_CLASSC_HOST +#define IN_CLASSC_MAX IP_CLASSC_MAX + +#define IN_CLASSD(d) IP_CLASSD(d) +#define IN_CLASSD_NET IP_CLASSD_NET /* These ones aren't really */ +#define IN_CLASSD_NSHIFT IP_CLASSD_NSHIFT /* net and host fields, but */ +#define IN_CLASSD_HOST IP_CLASSD_HOST /* routing needn't know. */ +#define IN_CLASSD_MAX IP_CLASSD_MAX + +#define IN_MULTICAST(a) IP_MULTICAST(a) + +#define IN_EXPERIMENTAL(a) IP_EXPERIMENTAL(a) +#define IN_BADCLASS(a) IP_BADCLASS(a) + +#define IN_LOOPBACKNET IP_LOOPBACKNET + +#define inet_addr_from_ipaddr(target_inaddr, source_ipaddr) ((target_inaddr)->s_addr = ip4_addr_get_u32(source_ipaddr)) +#define inet_addr_to_ipaddr(target_ipaddr, source_inaddr) (ip4_addr_set_u32(target_ipaddr, (source_inaddr)->s_addr)) +/* ATTENTION: the next define only works because both s_addr and ip_addr_t are an u32_t effectively! */ +#define inet_addr_to_ipaddr_p(target_ipaddr_p, source_inaddr) ((target_ipaddr_p) = (ip_addr_t*)&((source_inaddr)->s_addr)) + +/* directly map this to the lwip internal functions */ +#define inet_addr(cp) ipaddr_addr(cp) +#define inet_aton(cp, addr) ipaddr_aton(cp, (ip_addr_t*)addr) +#define inet_ntoa(addr) ipaddr_ntoa((ip_addr_t*)&(addr)) +#define inet_ntoa_r(addr, buf, buflen) ipaddr_ntoa_r((ip_addr_t*)&(addr), buf, buflen) + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_INET_H__ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/lwip/ip_addr.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,243 @@ +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ +#ifndef __LWIP_IP_ADDR_H__ +#define __LWIP_IP_ADDR_H__ + +#include "opt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* This is the aligned version of ip_addr_t, + used as local variable, on the stack, etc. */ +struct ip_addr { + u32_t addr; +}; + +/* This is the packed version of ip_addr_t, + used in network headers that are itself packed */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip_addr_packed { + PACK_STRUCT_FIELD(u32_t addr); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/** ip_addr_t uses a struct for convenience only, so that the same defines can + * operate both on ip_addr_t as well as on ip_addr_p_t. */ +typedef struct ip_addr ip_addr_t; +typedef struct ip_addr_packed ip_addr_p_t; + +/* + * struct ipaddr2 is used in the definition of the ARP packet format in + * order to support compilers that don't have structure packing. + */ +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/bpstruct.h" +#endif +PACK_STRUCT_BEGIN +struct ip_addr2 { + PACK_STRUCT_FIELD(u16_t addrw[2]); +} PACK_STRUCT_STRUCT; +PACK_STRUCT_END +#ifdef PACK_STRUCT_USE_INCLUDES +# include "arch/epstruct.h" +#endif + +/* Forward declaration to not include netif.h */ +struct netif; + +extern const ip_addr_t ip_addr_any; +extern const ip_addr_t ip_addr_broadcast; + +/** IP_ADDR_ can be used as a fixed IP address + * for the wildcard and the broadcast address + */ +#define IP_ADDR_ANY ((ip_addr_t *)&ip_addr_any) +#define IP_ADDR_BROADCAST ((ip_addr_t *)&ip_addr_broadcast) + +/** 255.255.255.255 */ +#define IPADDR_NONE ((u32_t)0xffffffffUL) +/** 127.0.0.1 */ +#define IPADDR_LOOPBACK ((u32_t)0x7f000001UL) +/** 0.0.0.0 */ +#define IPADDR_ANY ((u32_t)0x00000000UL) +/** 255.255.255.255 */ +#define IPADDR_BROADCAST ((u32_t)0xffffffffUL) + +/* Definitions of the bits in an Internet address integer. + + On subnets, host and network parts are found according to + the subnet mask, not these masks. */ +#define IP_CLASSA(a) ((((u32_t)(a)) & 0x80000000UL) == 0) +#define IP_CLASSA_NET 0xff000000 +#define IP_CLASSA_NSHIFT 24 +#define IP_CLASSA_HOST (0xffffffff & ~IP_CLASSA_NET) +#define IP_CLASSA_MAX 128 + +#define IP_CLASSB(a) ((((u32_t)(a)) & 0xc0000000UL) == 0x80000000UL) +#define IP_CLASSB_NET 0xffff0000 +#define IP_CLASSB_NSHIFT 16 +#define IP_CLASSB_HOST (0xffffffff & ~IP_CLASSB_NET) +#define IP_CLASSB_MAX 65536 + +#define IP_CLASSC(a) ((((u32_t)(a)) & 0xe0000000UL) == 0xc0000000UL) +#define IP_CLASSC_NET 0xffffff00 +#define IP_CLASSC_NSHIFT 8 +#define IP_CLASSC_HOST (0xffffffff & ~IP_CLASSC_NET) + +#define IP_CLASSD(a) (((u32_t)(a) & 0xf0000000UL) == 0xe0000000UL) +#define IP_CLASSD_NET 0xf0000000 /* These ones aren't really */ +#define IP_CLASSD_NSHIFT 28 /* net and host fields, but */ +#define IP_CLASSD_HOST 0x0fffffff /* routing needn't know. */ +#define IP_MULTICAST(a) IP_CLASSD(a) + +#define IP_EXPERIMENTAL(a) (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL) +#define IP_BADCLASS(a) (((u32_t)(a) & 0xf0000000UL) == 0xf0000000UL) + +#define IP_LOOPBACKNET 127 /* official! */ + + +#if BYTE_ORDER == BIG_ENDIAN +/** Set an IP address given by the four byte-parts */ +#define IP4_ADDR(ipaddr, a,b,c,d) \ + (ipaddr)->addr = ((u32_t)((a) & 0xff) << 24) | \ + ((u32_t)((b) & 0xff) << 16) | \ + ((u32_t)((c) & 0xff) << 8) | \ + (u32_t)((d) & 0xff) +#else +/** Set an IP address given by the four byte-parts. + Little-endian version that prevents the use of htonl. */ +#define IP4_ADDR(ipaddr, a,b,c,d) \ + (ipaddr)->addr = ((u32_t)((d) & 0xff) << 24) | \ + ((u32_t)((c) & 0xff) << 16) | \ + ((u32_t)((b) & 0xff) << 8) | \ + (u32_t)((a) & 0xff) +#endif + +/** MEMCPY-like copying of IP addresses where addresses are known to be + * 16-bit-aligned if the port is correctly configured (so a port could define + * this to copying 2 u16_t's) - no NULL-pointer-checking needed. */ +#ifndef IPADDR2_COPY +#define IPADDR2_COPY(dest, src) SMEMCPY(dest, src, sizeof(ip_addr_t)) +#endif + +/** Copy IP address - faster than ip_addr_set: no NULL check */ +#define ip_addr_copy(dest, src) ((dest).addr = (src).addr) +/** Safely copy one IP address to another (src may be NULL) */ +#define ip_addr_set(dest, src) ((dest)->addr = \ + ((src) == NULL ? 0 : \ + (src)->addr)) +/** Set complete address to zero */ +#define ip_addr_set_zero(ipaddr) ((ipaddr)->addr = 0) +/** Set address to IPADDR_ANY (no need for htonl()) */ +#define ip_addr_set_any(ipaddr) ((ipaddr)->addr = IPADDR_ANY) +/** Set address to loopback address */ +#define ip_addr_set_loopback(ipaddr) ((ipaddr)->addr = PP_HTONL(IPADDR_LOOPBACK)) +/** Safely copy one IP address to another and change byte order + * from host- to network-order. */ +#define ip_addr_set_hton(dest, src) ((dest)->addr = \ + ((src) == NULL ? 0:\ + htonl((src)->addr))) +/** IPv4 only: set the IP address given as an u32_t */ +#define ip4_addr_set_u32(dest_ipaddr, src_u32) ((dest_ipaddr)->addr = (src_u32)) +/** IPv4 only: get the IP address as an u32_t */ +#define ip4_addr_get_u32(src_ipaddr) ((src_ipaddr)->addr) + +/** Get the network address by combining host address with netmask */ +#define ip_addr_get_network(target, host, netmask) ((target)->addr = ((host)->addr) & ((netmask)->addr)) + +/** + * Determine if two address are on the same network. + * + * @arg addr1 IP address 1 + * @arg addr2 IP address 2 + * @arg mask network identifier mask + * @return !0 if the network identifiers of both address match + */ +#define ip_addr_netcmp(addr1, addr2, mask) (((addr1)->addr & \ + (mask)->addr) == \ + ((addr2)->addr & \ + (mask)->addr)) +#define ip_addr_cmp(addr1, addr2) ((addr1)->addr == (addr2)->addr) + +#define ip_addr_isany(addr1) ((addr1) == NULL || (addr1)->addr == IPADDR_ANY) + +#define ip_addr_isbroadcast(ipaddr, netif) ip4_addr_isbroadcast((ipaddr)->addr, (netif)) +u8_t ip4_addr_isbroadcast(u32_t addr, const struct netif *netif); + +#define ip_addr_netmask_valid(netmask) ip4_addr_netmask_valid((netmask)->addr) +u8_t ip4_addr_netmask_valid(u32_t netmask); + +#define ip_addr_ismulticast(addr1) (((addr1)->addr & PP_HTONL(0xf0000000UL)) == PP_HTONL(0xe0000000UL)) + +#define ip_addr_islinklocal(addr1) (((addr1)->addr & PP_HTONL(0xffff0000UL)) == PP_HTONL(0xa9fe0000UL)) + +//#define ip_addr_debug_print(debug, ipaddr) \ +// LWIP_DEBUGF(debug, ("%"U16_F".%"U16_F".%"U16_F".%"U16_F, \ +// ipaddr != NULL ? ip4_addr1_16(ipaddr) : 0, \ +// ipaddr != NULL ? ip4_addr2_16(ipaddr) : 0, \ +// ipaddr != NULL ? ip4_addr3_16(ipaddr) : 0, \ +// ipaddr != NULL ? ip4_addr4_16(ipaddr) : 0)) + +/* Get one byte from the 4-byte address */ +#define ip4_addr1(ipaddr) (((u8_t*)(ipaddr))[0]) +#define ip4_addr2(ipaddr) (((u8_t*)(ipaddr))[1]) +#define ip4_addr3(ipaddr) (((u8_t*)(ipaddr))[2]) +#define ip4_addr4(ipaddr) (((u8_t*)(ipaddr))[3]) +/* These are cast to u16_t, with the intent that they are often arguments + * to printf using the U16_F format from cc.h. */ +#define ip4_addr1_16(ipaddr) ((u16_t)ip4_addr1(ipaddr)) +#define ip4_addr2_16(ipaddr) ((u16_t)ip4_addr2(ipaddr)) +#define ip4_addr3_16(ipaddr) ((u16_t)ip4_addr3(ipaddr)) +#define ip4_addr4_16(ipaddr) ((u16_t)ip4_addr4(ipaddr)) + +/** For backwards compatibility */ +#define ip_ntoa(ipaddr) ipaddr_ntoa(ipaddr) + +u32_t ipaddr_addr(const char *cp); +int ipaddr_aton(const char *cp, ip_addr_t *addr); +/** returns ptr to static buffer; not reentrant! */ +char *ipaddr_ntoa(const ip_addr_t *addr); +char *ipaddr_ntoa_r(const ip_addr_t *addr, char *buf, int buflen); + +#ifdef __cplusplus +} +#endif + +#endif /* __LWIP_IP_ADDR_H__ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/lwip/netdb.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,111 @@ +/* + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Simon Goldschmidt + * + */ + +#include "opt.h" + +#if LWIP_DNS && LWIP_SOCKET + +#include "sockets.h" + +/* some rarely used options */ +#ifndef LWIP_DNS_API_DECLARE_H_ERRNO +#define LWIP_DNS_API_DECLARE_H_ERRNO 1 +#endif + +#ifndef LWIP_DNS_API_DEFINE_ERRORS +#define LWIP_DNS_API_DEFINE_ERRORS 1 +#endif + +#ifndef LWIP_DNS_API_DECLARE_STRUCTS +#define LWIP_DNS_API_DECLARE_STRUCTS 1 +#endif + +#if LWIP_DNS_API_DEFINE_ERRORS +/** Errors used by the DNS API functions, h_errno can be one of them */ +#define EAI_NONAME 200 +#define EAI_SERVICE 201 +#define EAI_FAIL 202 +#define EAI_MEMORY 203 + +#define HOST_NOT_FOUND 210 +#define NO_DATA 211 +#define NO_RECOVERY 212 +#define TRY_AGAIN 213 +#endif /* LWIP_DNS_API_DEFINE_ERRORS */ + +#if LWIP_DNS_API_DECLARE_STRUCTS +struct hostent { + char *h_name; /* Official name of the host. */ + char **h_aliases; /* A pointer to an array of pointers to alternative host names, + terminated by a null pointer. */ + int h_addrtype; /* Address type. */ + int h_length; /* The length, in bytes, of the address. */ + char **h_addr_list; /* A pointer to an array of pointers to network addresses (in + network byte order) for the host, terminated by a null pointer. */ +#define h_addr h_addr_list[0] /* for backward compatibility */ +}; + +struct addrinfo { + int ai_flags; /* Input flags. */ + int ai_family; /* Address family of socket. */ + int ai_socktype; /* Socket type. */ + int ai_protocol; /* Protocol of socket. */ + socklen_t ai_addrlen; /* Length of socket address. */ + struct sockaddr *ai_addr; /* Socket address of socket. */ + char *ai_canonname; /* Canonical name of service location. */ + struct addrinfo *ai_next; /* Pointer to next in list. */ +}; +#endif /* LWIP_DNS_API_DECLARE_STRUCTS */ + +#if LWIP_DNS_API_DECLARE_H_ERRNO +/* application accessable error code set by the DNS API functions */ +extern int h_errno; +#endif /* LWIP_DNS_API_DECLARE_H_ERRNO*/ + +#if 0 +struct hostent *lwip_gethostbyname(const char *name); +int lwip_gethostbyname_r(const char *name, struct hostent *ret, char *buf, + size_t buflen, struct hostent **result, int *h_errnop); +void lwip_freeaddrinfo(struct addrinfo *ai); +int lwip_getaddrinfo(const char *nodename, + const char *servname, + const struct addrinfo *hints, + struct addrinfo **res); +#endif + +#if LWIP_COMPAT_SOCKETS +#define gethostbyname(name) lwip_gethostbyname(name) +#define gethostbyname_r(name, ret, buf, buflen, result, h_errnop) \ + lwip_gethostbyname_r(name, ret, buf, buflen, result, h_errnop) +#define freeaddrinfo(addrinfo) lwip_freeaddrinfo(a) +#define getaddrinfo(nodname, servname, hints, res) \ + lwip_getaddrinfo(nodname, servname, hints, res) +#endif /* LWIP_COMPAT_SOCKETS */ + +#endif /* LWIP_DNS && LWIP_SOCKET */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/lwip/opt.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,53 @@ + +#include <stdint.h> + + +#define LWIP_SOCKET 1 +#define LWIP_TCP 1 +#define LWIP_UDPLITE 1 +#define LWIP_DNS 1 + +#define LWIP_DNS_API_DECLARE_H_ERRNO 0 +#define LWIP_DNS_API_DEFINE_ERRORS 0 + +#define LWIP_PLATFORM_BYTESWAP 1 + + +typedef uint8_t u8_t; +typedef uint16_t u16_t; +typedef uint32_t u32_t; + +typedef int8_t s8_t; +typedef int16_t s16_t; +typedef int32_t s32_t; + + + + +#define PACK_STRUCT_FIELD(x) x __attribute__((packed)) + #define PACK_STRUCT_STRUCT __attribute__((packed)) + #define PACK_STRUCT_BEGIN + #define PACK_STRUCT_END + + + +#define LWIP_PLATFORM_HTONS(x) ( (((u16_t)(x))>>8) | (((x)&0xFF)<<8) ) +#define LWIP_PLATFORM_HTONL(x) ( (((u32_t)(x))>>24) | (((x)&0xFF0000)>>8) \ + | (((x)&0xFF00)<<8) | (((x)&0xFF)<<24) ) + + +#ifdef LWIP_PLATFORM_BYTESWAP + +#define htons LWIP_PLATFORM_HTONS +#define htonl LWIP_PLATFORM_HTONL +#define ntohs LWIP_PLATFORM_HTONS +#define ntohl LWIP_PLATFORM_HTONL + +#else + +#define htons(x) x +#define htonl(x) x +#define ntohs(x) x +#define ntohl(x) x + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/lwip/sockets.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,379 @@ +/* + * Copyright (c) 2001-2004 Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + * + * This file is part of the lwIP TCP/IP stack. + * + * Author: Adam Dunkels <adam@sics.se> + * + */ + + +#ifndef __LWIP_SOCKETS_H__ +#define __LWIP_SOCKETS_H__ + +#include "opt.h" + +#if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */ + +#include <stddef.h> /* for size_t */ + +#include "ip_addr.h" +#include "inet.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/* members are in network byte order */ +struct sockaddr_in { + u8_t sin_len; + u8_t sin_family; + u16_t sin_port; + struct in_addr sin_addr; + char sin_zero[8]; +}; + +struct sockaddr { + u8_t sa_len; + u8_t sa_family; + u16_t sa_data[14]; +}; + +#ifndef socklen_t +# define socklen_t u32_t +#endif + +/* Socket protocol types (TCP/UDP/RAW) */ +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#define SOCK_RAW 3 + +/* + * Option flags per-socket. These must match the SOF_ flags in ip.h (checked in init.c) + */ +#define SO_DEBUG 0x0001 /* Unimplemented: turn on debugging info recording */ +#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ +#define SO_REUSEADDR 0x0004 /* Allow local address reuse */ +#define SO_KEEPALIVE 0x0008 /* keep connections alive */ +#define SO_DONTROUTE 0x0010 /* Unimplemented: just use interface addresses */ +#define SO_BROADCAST 0x0020 /* permit to send and to receive broadcast messages (see IP_SOF_BROADCAST option) */ +#define SO_USELOOPBACK 0x0040 /* Unimplemented: bypass hardware when possible */ +#define SO_LINGER 0x0080 /* linger on close if data present */ +#define SO_OOBINLINE 0x0100 /* Unimplemented: leave received OOB data in line */ +#define SO_REUSEPORT 0x0200 /* Unimplemented: allow local address & port reuse */ + +#define SO_DONTLINGER ((int)(~SO_LINGER)) + +/* + * Additional options, not kept in so_options. + */ +#define SO_SNDBUF 0x1001 /* Unimplemented: send buffer size */ +#define SO_RCVBUF 0x1002 /* receive buffer size */ +#define SO_SNDLOWAT 0x1003 /* Unimplemented: send low-water mark */ +#define SO_RCVLOWAT 0x1004 /* Unimplemented: receive low-water mark */ +#define SO_SNDTIMEO 0x1005 /* Unimplemented: send timeout */ +#define SO_RCVTIMEO 0x1006 /* receive timeout */ +#define SO_ERROR 0x1007 /* get error status and clear */ +#define SO_TYPE 0x1008 /* get socket type */ +#define SO_CONTIMEO 0x1009 /* Unimplemented: connect timeout */ +#define SO_NO_CHECK 0x100a /* don't create UDP checksum */ + + +/* + * Structure used for manipulating linger option. + */ +struct linger { + int l_onoff; /* option on/off */ + int l_linger; /* linger time */ +}; + +/* + * Level number for (get/set)sockopt() to apply to socket itself. + */ +#define SOL_SOCKET 0xfff /* options for socket level */ + + +#define AF_UNSPEC 0 +#define AF_INET 2 +#define PF_INET AF_INET +#define PF_UNSPEC AF_UNSPEC + +#define IPPROTO_IP 0 +#define IPPROTO_TCP 6 +#define IPPROTO_UDP 17 +#define IPPROTO_UDPLITE 136 + +/* Flags we can use with send and recv. */ +#define MSG_PEEK 0x01 /* Peeks at an incoming message */ +#define MSG_WAITALL 0x02 /* Unimplemented: Requests that the function block until the full amount of data requested can be returned */ +#define MSG_OOB 0x04 /* Unimplemented: Requests out-of-band data. The significance and semantics of out-of-band data are protocol-specific */ +#define MSG_DONTWAIT 0x08 /* Nonblocking i/o for this operation only */ +#define MSG_MORE 0x10 /* Sender will send more */ + + +/* + * Options for level IPPROTO_IP + */ +#define IP_TOS 1 +#define IP_TTL 2 + +#if LWIP_TCP +/* + * Options for level IPPROTO_TCP + */ +#define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ +#define TCP_KEEPALIVE 0x02 /* send KEEPALIVE probes when idle for pcb->keep_idle milliseconds */ +#define TCP_KEEPIDLE 0x03 /* set pcb->keep_idle - Same as TCP_KEEPALIVE, but use seconds for get/setsockopt */ +#define TCP_KEEPINTVL 0x04 /* set pcb->keep_intvl - Use seconds for get/setsockopt */ +#define TCP_KEEPCNT 0x05 /* set pcb->keep_cnt - Use number of probes sent for get/setsockopt */ +#endif /* LWIP_TCP */ + +#if LWIP_UDP && LWIP_UDPLITE +/* + * Options for level IPPROTO_UDPLITE + */ +#define UDPLITE_SEND_CSCOV 0x01 /* sender checksum coverage */ +#define UDPLITE_RECV_CSCOV 0x02 /* minimal receiver checksum coverage */ +#endif /* LWIP_UDP && LWIP_UDPLITE*/ + + +#if LWIP_IGMP +/* + * Options and types for UDP multicast traffic handling + */ +#define IP_ADD_MEMBERSHIP 3 +#define IP_DROP_MEMBERSHIP 4 +#define IP_MULTICAST_TTL 5 +#define IP_MULTICAST_IF 6 +#define IP_MULTICAST_LOOP 7 + +typedef struct ip_mreq { + struct in_addr imr_multiaddr; /* IP multicast address of group */ + struct in_addr imr_interface; /* local IP address of interface */ +} ip_mreq; +#endif /* LWIP_IGMP */ + +/* + * The Type of Service provides an indication of the abstract + * parameters of the quality of service desired. These parameters are + * to be used to guide the selection of the actual service parameters + * when transmitting a datagram through a particular network. Several + * networks offer service precedence, which somehow treats high + * precedence traffic as more important than other traffic (generally + * by accepting only traffic above a certain precedence at time of high + * load). The major choice is a three way tradeoff between low-delay, + * high-reliability, and high-throughput. + * The use of the Delay, Throughput, and Reliability indications may + * increase the cost (in some sense) of the service. In many networks + * better performance for one of these parameters is coupled with worse + * performance on another. Except for very unusual cases at most two + * of these three indications should be set. + */ +#define IPTOS_TOS_MASK 0x1E +#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) +#define IPTOS_LOWDELAY 0x10 +#define IPTOS_THROUGHPUT 0x08 +#define IPTOS_RELIABILITY 0x04 +#define IPTOS_LOWCOST 0x02 +#define IPTOS_MINCOST IPTOS_LOWCOST + +/* + * The Network Control precedence designation is intended to be used + * within a network only. The actual use and control of that + * designation is up to each network. The Internetwork Control + * designation is intended for use by gateway control originators only. + * If the actual use of these precedence designations is of concern to + * a particular network, it is the responsibility of that network to + * control the access to, and use of, those precedence designations. + */ +#define IPTOS_PREC_MASK 0xe0 +#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) +#define IPTOS_PREC_NETCONTROL 0xe0 +#define IPTOS_PREC_INTERNETCONTROL 0xc0 +#define IPTOS_PREC_CRITIC_ECP 0xa0 +#define IPTOS_PREC_FLASHOVERRIDE 0x80 +#define IPTOS_PREC_FLASH 0x60 +#define IPTOS_PREC_IMMEDIATE 0x40 +#define IPTOS_PREC_PRIORITY 0x20 +#define IPTOS_PREC_ROUTINE 0x00 + + +/* + * Commands for ioctlsocket(), taken from the BSD file fcntl.h. + * lwip_ioctl only supports FIONREAD and FIONBIO, for now + * + * Ioctl's have the command encoded in the lower word, + * and the size of any in or out parameters in the upper + * word. The high 2 bits of the upper word are used + * to encode the in/out status of the parameter; for now + * we restrict parameters to at most 128 bytes. + */ +#if !defined(FIONREAD) || !defined(FIONBIO) +#define IOCPARM_MASK 0x7fU /* parameters must be < 128 bytes */ +#define IOC_VOID 0x20000000UL /* no parameters */ +#define IOC_OUT 0x40000000UL /* copy out parameters */ +#define IOC_IN 0x80000000UL /* copy in parameters */ +#define IOC_INOUT (IOC_IN|IOC_OUT) + /* 0x20000000 distinguishes new & + old ioctl's */ +#define _IO(x,y) (IOC_VOID|((x)<<8)|(y)) + +#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) + +#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) +#endif /* !defined(FIONREAD) || !defined(FIONBIO) */ + +#ifndef FIONREAD +#define FIONREAD _IOR('f', 127, unsigned long) /* get # bytes to read */ +#endif +#ifndef FIONBIO +#define FIONBIO _IOW('f', 126, unsigned long) /* set/clear non-blocking i/o */ +#endif + +/* Socket I/O Controls: unimplemented */ +#ifndef SIOCSHIWAT +#define SIOCSHIWAT _IOW('s', 0, unsigned long) /* set high watermark */ +#define SIOCGHIWAT _IOR('s', 1, unsigned long) /* get high watermark */ +#define SIOCSLOWAT _IOW('s', 2, unsigned long) /* set low watermark */ +#define SIOCGLOWAT _IOR('s', 3, unsigned long) /* get low watermark */ +#define SIOCATMARK _IOR('s', 7, unsigned long) /* at oob mark? */ +#endif + +/* commands for fnctl */ +#ifndef F_GETFL +#define F_GETFL 3 +#endif +#ifndef F_SETFL +#define F_SETFL 4 +#endif + +/* File status flags and file access modes for fnctl, + these are bits in an int. */ +#ifndef O_NONBLOCK +#define O_NONBLOCK 1 /* nonblocking I/O */ +#endif +#ifndef O_NDELAY +#define O_NDELAY 1 /* same as O_NONBLOCK, for compatibility */ +#endif + +#ifndef SHUT_RD + #define SHUT_RD 1 + #define SHUT_WR 2 + #define SHUT_RDWR 3 +#endif + +/* FD_SET used for lwip_select */ +//#ifndef FD_SET +// #undef FD_SETSIZE +// /* Make FD_SETSIZE match NUM_SOCKETS in socket.c */ +// #define FD_SETSIZE MEMP_NUM_NETCONN +// #define FD_SET(n, p) ((p)->fd_bits[(n)/8] |= (1 << ((n) & 7))) +// #define FD_CLR(n, p) ((p)->fd_bits[(n)/8] &= ~(1 << ((n) & 7))) +// #define FD_ISSET(n,p) ((p)->fd_bits[(n)/8] & (1 << ((n) & 7))) +// #define FD_ZERO(p) memset((void*)(p),0,sizeof(*(p))) +// +// typedef struct fd_set { +// unsigned char fd_bits [(FD_SETSIZE+7)/8]; +// } fd_set; +// +//#endif /* FD_SET */ + +/** LWIP_TIMEVAL_PRIVATE: if you want to use the struct timeval provided + * by your system, set this to 0 and include <sys/time.h> in cc.h */ +#ifndef LWIP_TIMEVAL_PRIVATE +#define LWIP_TIMEVAL_PRIVATE 1 +#endif + +#if LWIP_TIMEVAL_PRIVATE +struct timeval { + long tv_sec; /* seconds */ + long tv_usec; /* and microseconds */ +}; +#endif /* LWIP_TIMEVAL_PRIVATE */ + +#if 0 +void lwip_socket_init(void); + +int lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen); +int lwip_bind(int s, const struct sockaddr *name, socklen_t namelen); +int lwip_shutdown(int s, int how); +int lwip_getpeername (int s, struct sockaddr *name, socklen_t *namelen); +int lwip_getsockname (int s, struct sockaddr *name, socklen_t *namelen); +int lwip_getsockopt (int s, int level, int optname, void *optval, socklen_t *optlen); +int lwip_setsockopt (int s, int level, int optname, const void *optval, socklen_t optlen); +int lwip_close(int s); +int lwip_connect(int s, const struct sockaddr *name, socklen_t namelen); +int lwip_listen(int s, int backlog); +int lwip_recv(int s, void *mem, size_t len, int flags); +int lwip_read(int s, void *mem, size_t len); +int lwip_recvfrom(int s, void *mem, size_t len, int flags, + struct sockaddr *from, socklen_t *fromlen); +int lwip_send(int s, const void *dataptr, size_t size, int flags); +int lwip_sendto(int s, const void *dataptr, size_t size, int flags, + const struct sockaddr *to, socklen_t tolen); +int lwip_socket(int domain, int type, int protocol); +int lwip_write(int s, const void *dataptr, size_t size); +int lwip_select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, + struct timeval *timeout); +int lwip_ioctl(int s, long cmd, void *argp); +int lwip_fcntl(int s, int cmd, int val); + +#if LWIP_COMPAT_SOCKETS +#define accept(a,b,c) lwip_accept(a,b,c) +#define bind(a,b,c) lwip_bind(a,b,c) +#define shutdown(a,b) lwip_shutdown(a,b) +#define closesocket(s) lwip_close(s) +#define connect(a,b,c) lwip_connect(a,b,c) +#define getsockname(a,b,c) lwip_getsockname(a,b,c) +#define getpeername(a,b,c) lwip_getpeername(a,b,c) +#define setsockopt(a,b,c,d,e) lwip_setsockopt(a,b,c,d,e) +#define getsockopt(a,b,c,d,e) lwip_getsockopt(a,b,c,d,e) +#define listen(a,b) lwip_listen(a,b) +#define recv(a,b,c,d) lwip_recv(a,b,c,d) +#define recvfrom(a,b,c,d,e,f) lwip_recvfrom(a,b,c,d,e,f) +#define send(a,b,c,d) lwip_send(a,b,c,d) +#define sendto(a,b,c,d,e,f) lwip_sendto(a,b,c,d,e,f) +#define socket(a,b,c) lwip_socket(a,b,c) +#define select(a,b,c,d,e) lwip_select(a,b,c,d,e) +#define ioctlsocket(a,b,c) lwip_ioctl(a,b,c) + +#if LWIP_POSIX_SOCKETS_IO_NAMES +#define read(a,b,c) lwip_read(a,b,c) +#define write(a,b,c) lwip_write(a,b,c) +#define close(s) lwip_close(s) +#endif /* LWIP_POSIX_SOCKETS_IO_NAMES */ + +#endif /* LWIP_COMPAT_SOCKETS */ +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* LWIP_SOCKET */ + +#endif /* __LWIP_SOCKETS_H__ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/Socket/mBedSocketApi.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,35 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "api/types/Socket/Socket.h" +#include "api/types/Socket/TCPSocketServer.h" +#include "api/types/Socket/TCPSocketConnection.h" +#include "api/types/Socket/UDPSocket.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/SocketIrqHandlerMap.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,128 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "Wiconnect.h" +#include "PinIrqHandler.h" + +namespace wiconnect +{ + +/** + * Generic callback function. + * + * @note Internal use only. + */ +class SocketIrqHandlerMap +{ +public: + /*************************************************************************************************/ + SocketIrqHandlerMap() + { + memset(handlers, 0, sizeof(handlers)); + } + + /*************************************************************************************************/ + ~SocketIrqHandlerMap() + { + for(int i = 0; i < WICONNECT_MAX_PIN_IRQ_HANDLERS; ++i) + { + if(handlers[i] != NULL) + { + handlers[i]->~PinIrqHandler(); + } + } + } + + /*************************************************************************************************/ + bool pinIsRegistered(Pin pin) + { + for(int i = 0; i < WICONNECT_MAX_PIN_IRQ_HANDLERS; ++i) + { + if(handlers[i] != NULL && handlers[i]->irqPin == pin) + { + return true; + } + } + return false; + } + + /*************************************************************************************************/ + WiconnectResult registerHandler(Pin pin, const Callback &callback) + { + if(pinIsRegistered(pin)) + { + return WICONNECT_DUPLICATE; + } + + PinIrqHandler *handler = NULL; + + for(int i = 0; i < WICONNECT_MAX_PIN_IRQ_HANDLERS; ++i) + { + if(handlers[i] == NULL) + { + handler = (PinIrqHandler*)&handlerBuffers[i]; + handlers[i] = handler; + } + } + + if(handler == NULL) + { + return WICONNECT_NOT_FOUND; + } + + *handler = PinIrqHandler(pin, callback); + + return WICONNECT_SUCCESS; + } + + /*************************************************************************************************/ + WiconnectResult unregisterHandler(Pin pin) + { + for(int i = 0; i < WICONNECT_MAX_PIN_IRQ_HANDLERS; ++i) + { + if(handlers[i] != NULL && handlers[i]->irqPin == pin) + { + handlers[i]->~PinIrqHandler(); + handlers[i] = NULL; + return WICONNECT_SUCCESS; + } + } + + return WICONNECT_NOT_FOUND; + } + +private: + PinIrqHandler *handlers[WICONNECT_MAX_PIN_IRQ_HANDLERS]; + PinIrqHandlerBuffer handlerBuffers[WICONNECT_MAX_PIN_IRQ_HANDLERS]; +}; + + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/TimeoutTimer.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,58 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +namespace wiconnect +{ + +/** + * Class for maintaining command processing timeouts. + * + * @note Internal use only. + */ +class TimeoutTimer +{ +public: + TimeoutTimer(); + + void reset(void); + + TimerTimeout remainingMs(TimerTimeout timeoutMs); + TimerTimeout readMs(); + + bool timedOut(TimerTimeout timeoutMs); + +protected: + volatile TimerTimeout _start; + +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/WiconnectFile.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,90 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "Wiconnect.h" + +namespace wiconnect +{ + + +/** + * @ingroup api_file_types + * + * @brief WiConnect WiFi module file object. + * + */ +class WiconnectFile +{ +public: + WiconnectFile(int rxBufferLen = 0, void *rxBuffer = NULL); + ~WiconnectFile(); + + const char* getName() const; + uint32_t getSize() const; + FileType getType() const; + FileFlags getFlags() const; + uint32_t getVersion() const; + const char* getVersionStr(char *buffer = NULL) const; + + WiconnectResult close(); + WiconnectResult read(void* buffer, uint16_t maxLength, uint16_t *bytesRead); + WiconnectResult read(uint8_t **bufferPtr = NULL, uint16_t *bytesReadPtr = NULL); + WiconnectResult getc(uint8_t *c); + void clearRxBuffer(); + + const WiconnectFile* getNext() const; + const WiconnectFile* getPrevious() const; + +protected: + WiconnectResult openForRead(uint8_t handle, const char *filename); + WiconnectResult initWithListing(const char *typeStr, const char *flagsStr, const char* sizeStr, const char *versionStr, const char *nameStr); + + uint8_t handle; + bool readEnabled; + char name[WICONNECT_MAX_FILENAME_SIZE]; + uint32_t size; + FileType type; + FileFlags flags; + uint32_t version; + Wiconnect *wiconnect; + WiconnectFile *next; + WiconnectFile *previous; + + Buffer rxBuffer; + + void* operator new(size_t size); + void operator delete(void*); + + friend class FileInterface; + friend class FileList; +}; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/WiconnectSerial.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,69 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + +#include "api/WiconnectTypes.h" + + +namespace wiconnect +{ + +/** + * Serial class for interfacing to WiConnect WiFi module. + * + * @note Internal use only. + */ +class WiconnectSerial WICONNECT_SERIAL_BASE_CLASS +{ +public: + WiconnectSerial(const SerialConfig &config, Wiconnect *wiconnect = NULL); + virtual ~WiconnectSerial(); + + void initialize(void); + void flush(void); + int write(const void *data, int bytesToWrite, TimerTimeout timeoutMs); + int read(void *data, int bytesToRead, TimerTimeout timeoutMs); + + uint32_t getBaud(){ return baudRate; } + +protected: + TimeoutTimer timeoutTimer; + uint32_t baudRate; + +#ifdef WICONNECT_SERIAL_RX_BUFFER + uint8_t ringBuffer[32]; + bool bufferAlloc; + void rxIrqHandler(void); +#endif +}; + + +} + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/WiconnectSocket.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,95 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "api/WiconnectTypes.h" + +namespace wiconnect +{ + +/** + * @ingroup api_socket_types + * + * @brief Connection object to remote server. + * + */ +class WiconnectSocket +{ +public: + WiconnectSocket(int rxBufferLen = 0, void *rxBuffer = NULL, int txBufferLen = 0, void *txBuffer = NULL); + ~WiconnectSocket(); + + WiconnectResult close(); + WiconnectResult poll(bool *rxDataAvailablePtr, bool autoClose = false); + WiconnectResult write(const void* buffer, int length, bool flush = true); + WiconnectResult write(int length, bool flush = true); + WiconnectResult read(void* buffer, uint16_t maxLength, uint16_t *bytesRead); + WiconnectResult read(uint8_t **bufferPtr = NULL, uint16_t *bytesReadPtr = NULL); + WiconnectResult putc(uint8_t c, bool flush = false); + WiconnectResult puts(const char *s, bool flush = true); + WiconnectResult getc(uint8_t *c); + WiconnectResult printf(const char* format, ...); + virtual WiconnectResult flushTxBuffer(); + void clearRxBuffer(); + + uint8_t *getTxBuffer(); + int getTxBufferSize(); + int getTxBufferBytesPending(); + uint8_t *getRxBuffer(); + int getRxBufferSize(); + int getRxBufferBytesPending(); + + bool isConnected(); + SocketType getType(); + const char* getHost(); + uint16_t getLocalPort(); + uint16_t getRemotePort(); + uint8_t getHandle(); + +protected: + bool connected; + bool enableAutoClose; + SocketType type; + uint8_t handle; + char host[WICONNECT_MAX_HOST_SIZE]; + uint16_t localPort; + uint16_t remotePort; + Wiconnect *wiconnect; + Buffer txBuffer; + Buffer rxBuffer; + + WiconnectResult init(uint8_t handle, SocketType type, const char *host, uint16_t remotePort, uint16_t localPort); + + friend class SocketInterface; + friend class GhmInterface; +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/types/WiconnectUdpServer.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,58 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include "api/WiconnectTypes.h" +#include "WiconnectSocket.h" + +namespace wiconnect +{ + +/** + * @ingroup api_socket_types + * + * @brief UDP Server Listening socket + * + */ +class WiconnectUdpServer : public WiconnectSocket +{ +public: + WiconnectUdpServer(int rxBufferLen = 0, void *rxBuffer = NULL, int txBufferLen = 0, void *txBuffer = NULL); + + WiconnectResult getRemoteClient(uint32_t *ipAddress, uint16_t *port); + WiconnectResult setRemoteClient(const char* host, uint16_t port); + WiconnectResult setRemoteClient(uint32_t ip, uint16_t port); + + WiconnectResult flushTxBuffer(); + +}; + + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common.cpp Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,79 @@ +/* + * Copyright 2014, ACKme Networks + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks; + * the contents of this file may not be disclosed to third parties, copied + * or duplicated in any form, in whole or in part, without the prior + * written permission of ACKme Networks. + */ + + + +#include "api/types/Socket/Socket.h" +#include "common.h" + + +/*************************************************************************************************/ +int gethostbyname_r(const char *name, struct hostent *ret, char *buf, size_t buflen, struct hostent **result, int *h_errnop) +{ + return -1; +} + +/*************************************************************************************************/ +struct hostent *gethostbyname(const char *name) +{ + static uint8_t buffer[sizeof(struct hostent) + sizeof(void*)*3 + 1*sizeof(uint32_t)]; + struct hostent *hostPtr = (struct hostent*)buffer; + char **ipPtrList = (char**)&buffer[sizeof(struct hostent)]; + char **aliasPtrList = (char**)&buffer[sizeof(struct hostent) + sizeof(void*)*2]; + uint32_t *ipPtr = (uint32_t*)&buffer[sizeof(struct hostent) + sizeof(void*)*3]; + + + hostPtr->h_addr_list = ipPtrList; + hostPtr->h_aliases = aliasPtrList; + hostPtr->h_addrtype = AF_INET; + hostPtr->h_length = sizeof(uint32_t); + hostPtr->h_name = (char*)name; + + aliasPtrList[0] = NULL; + ipPtrList[0] = (char*)ipPtr; + ipPtrList[1] = NULL; + + Wiconnect *wiconnect = Wiconnect::getInstance(); + if(wiconnect->lookup(name, ipPtr) != WICONNECT_SUCCESS) + { + ipPtrList[0] = NULL; + } + + return hostPtr; +} + +/*************************************************************************************************/ +u32_t ipaddr_addr(const char *cp) +{ + u32_t ip = 0; + + Wiconnect::strToIp(cp, &ip); + + return ip; +} + +/*************************************************************************************************/ +int ipaddr_aton(const char *cp, ip_addr_t *addr) +{ + return Wiconnect::strToIp(cp, &addr->addr) ? 0 : -1; +} + +/*************************************************************************************************/ +// returns ptr to static buffer; not reentrant! +char *ipaddr_ntoa(const ip_addr_t *addr) +{ + return (char*)Wiconnect::ipToStr(addr->addr); +} + +/*************************************************************************************************/ +char *ipaddr_ntoa_r(const ip_addr_t *addr, char *buf, int buflen) +{ + return (char*)Wiconnect::ipToStr(addr->addr, buf); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/DoxygenLayout.xml Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,189 @@ +<doxygenlayout version="1.0"> + <!-- Generated by doxygen 1.8.7 --> + <!-- Navigation index tabs for HTML output --> + <navindex> + <tab type="mainpage" visible="yes" title="Library Overview"/> + <tab type="pages" visible="yes" title="" intro=""/> + <tab type="modules" visible="yes" title="Library API" intro=""/> + <tab type="examples" visible="yes" title="API Examples" intro=""/> + + <tab type="classes" visible="yes" title=""> + <tab type="classlist" visible="yes" title="" intro=""/> + <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> + <tab type="hierarchy" visible="yes" title="" intro=""/> + <tab type="classmembers" visible="yes" title="" intro=""/> + </tab> + <tab type="user" url="http://wiconnect.ack.me/2.0/general_overview" title="WiConnect Reference Manual"/> + <tab type="user" url="http://www.ack.me/WiConnect" title="ACKme Website"/> + </navindex> + + <!-- Layout definition for a class page --> + <class> + <briefdescription visible="yes"/> + <includes visible="$SHOW_INCLUDE_FILES"/> + <inheritancegraph visible="$CLASS_GRAPH"/> + <collaborationgraph visible="$COLLABORATION_GRAPH"/> + <memberdecl> + <nestedclasses visible="yes" title=""/> + <publictypes title=""/> + <services title=""/> + <interfaces title=""/> + <publicslots title=""/> + <signals title=""/> + <publicmethods title=""/> + <publicstaticmethods title=""/> + <publicattributes title=""/> + <publicstaticattributes title=""/> + <protectedtypes title=""/> + <protectedslots title=""/> + <protectedmethods title=""/> + <protectedstaticmethods title=""/> + <protectedattributes title=""/> + <protectedstaticattributes title=""/> + <packagetypes title=""/> + <packagemethods title=""/> + <packagestaticmethods title=""/> + <packageattributes title=""/> + <packagestaticattributes title=""/> + <properties title=""/> + <events title=""/> + <privatetypes title=""/> + <privateslots title=""/> + <privatemethods title=""/> + <privatestaticmethods title=""/> + <privateattributes title=""/> + <privatestaticattributes title=""/> + <friends title=""/> + <related title="" subtitle=""/> + <membergroups visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + <memberdef> + <inlineclasses title=""/> + <typedefs title=""/> + <enums title=""/> + <services title=""/> + <interfaces title=""/> + <constructors title=""/> + <functions title=""/> + <related title=""/> + <variables title=""/> + <properties title=""/> + <events title=""/> + </memberdef> + <allmemberslink visible="yes"/> + <usedfiles visible="$SHOW_USED_FILES"/> + <authorsection visible="yes"/> + </class> + + <!-- Layout definition for a namespace page --> + <namespace> + <briefdescription visible="yes"/> + <memberdecl> + <nestednamespaces visible="yes" title=""/> + <constantgroups visible="yes" title=""/> + <classes visible="yes" title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + <membergroups visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + <memberdef> + <inlineclasses title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + </memberdef> + <authorsection visible="yes"/> + </namespace> + + <!-- Layout definition for a file page --> + <file> + <briefdescription visible="yes"/> + <includes visible="$SHOW_INCLUDE_FILES"/> + <includegraph visible="$INCLUDE_GRAPH"/> + <includedbygraph visible="$INCLUDED_BY_GRAPH"/> + <sourcelink visible="yes"/> + <memberdecl> + <classes visible="yes" title=""/> + <namespaces visible="yes" title=""/> + <constantgroups visible="yes" title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + <membergroups visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + <memberdef> + <inlineclasses title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <functions title=""/> + <variables title=""/> + </memberdef> + <authorsection/> + </file> + + <!-- Layout definition for a group page --> + <group> + <briefdescription visible="yes"/> + <groupgraph visible="$GROUP_GRAPHS"/> + <memberdecl> + <nestedgroups visible="yes" title=""/> + <dirs visible="yes" title=""/> + <files visible="yes" title=""/> + <namespaces visible="yes" title=""/> + <classes visible="yes" title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <enumvalues title=""/> + <functions title=""/> + <variables title=""/> + <signals title=""/> + <publicslots title=""/> + <protectedslots title=""/> + <privateslots title=""/> + <events title=""/> + <properties title=""/> + <friends title=""/> + <membergroups visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + <memberdef> + <pagedocs/> + <inlineclasses title=""/> + <defines title=""/> + <typedefs title=""/> + <enums title=""/> + <enumvalues title=""/> + <functions title=""/> + <variables title=""/> + <signals title=""/> + <publicslots title=""/> + <protectedslots title=""/> + <privateslots title=""/> + <events title=""/> + <properties title=""/> + <friends title=""/> + </memberdef> + <authorsection visible="yes"/> + </group> + + <!-- Layout definition for a directory page --> + <directory> + <briefdescription visible="yes"/> + <directorygraph visible="yes"/> + <memberdecl> + <dirs visible="yes"/> + <files visible="yes"/> + </memberdecl> + <detaileddescription title=""/> + </directory> +</doxygenlayout>
Binary file doc/ackmelogo.png has changed
Binary file doc/favicon.ico has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/footer.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,7 @@ +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/header.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,40 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div> \ No newline at end of file
--- a/doc/html/_callback_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_callback_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -105,7 +105,7 @@ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "FunctionPointer.h"</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> @@ -168,7 +168,7 @@ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> <div class="ttc" id="classwiconnect_1_1_function_pointer_html"><div class="ttname"><a href="classwiconnect_1_1_function_pointer.html">wiconnect::FunctionPointer</a></div><div class="ttdoc">Generic function pointer. </div><div class="ttdef"><b>Definition:</b> <a href="_function_pointer_8h_source.html#l00040">FunctionPointer.h:40</a></div></div> </div><!-- fragment --></div><!-- contents -->
--- a/doc/html/_command_queue_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_command_queue_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -105,7 +105,7 @@ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">namespace </span>wiconnect</div> @@ -176,7 +176,7 @@ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span> }</div> -<div class="ttc" id="group__api__core__macro_html_ga7352d6662e438d0969593df9e657d43f"><div class="ttname"><a href="group__api__core__macro.html#ga7352d6662e438d0969593df9e657d43f">WICONNECT_MAX_QUEUED_COMMANDS</a></div><div class="ttdeci">#define WICONNECT_MAX_QUEUED_COMMANDS</div><div class="ttdoc">When WICONNECT_ASYNC_TIMER_ENABLED, this specifies the max number of asynchronous commands that may b...</div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00088">sdk.h:88</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga7352d6662e438d0969593df9e657d43f"><div class="ttname"><a href="group__api__core__macro.html#ga7352d6662e438d0969593df9e657d43f">WICONNECT_MAX_QUEUED_COMMANDS</a></div><div class="ttdeci">#define WICONNECT_MAX_QUEUED_COMMANDS</div><div class="ttdoc">When WICONNECT_ASYNC_TIMER_ENABLED, this specifies the max number of asynchronous commands that may b...</div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00094">sdk.h:94</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_file_interface_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_file_interface_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -153,7 +153,7 @@ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span> };</div> <div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="group__conversion__util_html_gae995028f5a70c58ccf6013c9811e79aa"><div class="ttname"><a href="group__conversion__util.html#gae995028f5a70c58ccf6013c9811e79aa">wiconnect::FileInterface::fileVersionStrToInt</a></div><div class="ttdeci">static bool fileVersionStrToInt(const char *versionStr, uint32_t *versionIntPtr)</div><div class="ttdoc">Convert string to file version uint32. </div></div> <div class="ttc" id="group__conversion__util_html_ga8d8da39cd5d2948367429ed4d8885c6b"><div class="ttname"><a href="group__conversion__util.html#ga8d8da39cd5d2948367429ed4d8885c6b">wiconnect::FileInterface::fileTypeToStr</a></div><div class="ttdeci">static const char * fileTypeToStr(FileType type)</div></div> <div class="ttc" id="group__api__file__methods_html_ga10536639c61213c037883dade021838f"><div class="ttname"><a href="group__api__file__methods.html#ga10536639c61213c037883dade021838f">wiconnect::FileInterface::listFiles</a></div><div class="ttdeci">WiconnectResult listFiles(FileList &list, const char *name=NULL, FileType type=FILE_TYPE_ANY, uint32_t version=0)</div><div class="ttdoc">List the files on the Wiconnect WiFi module filesystem. </div></div> @@ -162,11 +162,11 @@ <div class="ttc" id="classwiconnect_1_1_reader_func_html"><div class="ttname"><a href="classwiconnect_1_1_reader_func.html">wiconnect::ReaderFunc</a></div><div class="ttdoc">Generic data reading callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_reader_func_8h_source.html#l00045">ReaderFunc.h:45</a></div></div> <div class="ttc" id="group__api__file__methods_html_gaaf2977c691be09aeda102267a6769583"><div class="ttname"><a href="group__api__file__methods.html#gaaf2977c691be09aeda102267a6769583">wiconnect::FileInterface::openFile</a></div><div class="ttdeci">WiconnectResult openFile(WiconnectFile &file, const char *name)</div><div class="ttdoc">Open a file on the Wiconnect WiFi module filesystem for reading. </div></div> <div class="ttc" id="group__api__file__methods_html_gafcf335cef42b7b3d0fd9d5af70c6ef7d"><div class="ttname"><a href="group__api__file__methods.html#gafcf335cef42b7b3d0fd9d5af70c6ef7d">wiconnect::FileInterface::deleteFile</a></div><div class="ttdeci">WiconnectResult deleteFile(const char *name)</div><div class="ttdoc">Delete a file for the Wiconnect WiFi module filesystem. </div></div> -<div class="ttc" id="group__api__file__types_html_ga9919a4237eea2b0d1f27c16d64e62c63"><div class="ttname"><a href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">wiconnect::FileType</a></div><div class="ttdeci">FileType</div><div class="ttdoc">File type type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00383">WiconnectTypes.h:383</a></div></div> +<div class="ttc" id="group__api__file__types_html_ga9919a4237eea2b0d1f27c16d64e62c63"><div class="ttname"><a href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">wiconnect::FileType</a></div><div class="ttdeci">FileType</div><div class="ttdoc">File type type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00399">WiconnectTypes.h:399</a></div></div> <div class="ttc" id="group__api__file__methods_html_ga16fb09105975644879eb09581ce486e5"><div class="ttname"><a href="group__api__file__methods.html#ga16fb09105975644879eb09581ce486e5">wiconnect::FileInterface::createFile</a></div><div class="ttdeci">WiconnectResult createFile(const ReaderFunc &reader, void *user, const char *name, uint32_t size, uint32_t version=0, FileType type=FILE_TYPE_ANY, bool isEssential=false, int32_t checksum=-1)</div><div class="ttdoc">Create a file on the Wiconnect WiFi module filesystem. </div></div> <div class="ttc" id="group__conversion__util_html_gad74fbe6faf90d987b31380978f3ea341"><div class="ttname"><a href="group__conversion__util.html#gad74fbe6faf90d987b31380978f3ea341">wiconnect::FileInterface::fileVersionIntToStr</a></div><div class="ttdeci">static const char * fileVersionIntToStr(uint32_t version, bool verbose=true, char *buffer=NULL)</div><div class="ttdoc">Convert file version uint32 to string. </div></div> -<div class="ttc" id="group__api__file__types_html_gafbe48908f5c190c3b0f272d3016e609e"><div class="ttname"><a href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">wiconnect::FileFlags</a></div><div class="ttdeci">FileFlags</div><div class="ttdoc">File flags type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00364">WiconnectTypes.h:364</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="group__api__file__types_html_gafbe48908f5c190c3b0f272d3016e609e"><div class="ttname"><a href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">wiconnect::FileFlags</a></div><div class="ttdeci">FileFlags</div><div class="ttdoc">File flags type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00380">WiconnectTypes.h:380</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> <div class="ttc" id="classwiconnect_1_1_file_interface_html"><div class="ttname"><a href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_file_interface_8h_source.html#l00068">FileInterface.h:68</a></div></div> <div class="ttc" id="group__conversion__util_html_ga7503f1876a6e1f5086d8b4bb2c1a653a"><div class="ttname"><a href="group__conversion__util.html#ga7503f1876a6e1f5086d8b4bb2c1a653a">wiconnect::FileInterface::fileFlagsToStr</a></div><div class="ttdeci">static const char * fileFlagsToStr(FileFlags flags, char *buffer=NULL)</div><div class="ttdoc">Convert FileFlags to string. </div></div> </div><!-- fragment --></div><!-- contents -->
--- a/doc/html/_file_list_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_file_list_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -106,7 +106,7 @@ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "Wiconnect.h"</span></div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "types/WiconnectFile.h"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "WiconnectFile.h"</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">namespace </span>wiconnect</div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {</div> @@ -126,7 +126,7 @@ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classwiconnect_1_1_wiconnect_file.html">WiconnectFile</a> *listHead, *listTail;</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  uint8_t *buffer;</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  uint8_t *bufferPtr;</div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">int</span> bufferLen;</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  uint16_t bufferLen;</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordtype">int</span> count;</div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> add(<span class="keyword">const</span> <span class="keywordtype">char</span> *typeStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *flagsStr, <span class="keyword">const</span> <span class="keywordtype">char</span>* sizeStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *versionStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *nameStr);</div> @@ -136,7 +136,7 @@ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_file_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_file.html">wiconnect::WiconnectFile</a></div><div class="ttdoc">WiConnect WiFi module file object. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_file_8h_source.html#l00044">WiconnectFile.h:44</a></div></div> <div class="ttc" id="classwiconnect_1_1_file_list_html"><div class="ttname"><a href="classwiconnect_1_1_file_list.html">wiconnect::FileList</a></div><div class="ttdoc">WiConnect WiFi module file listing. </div><div class="ttdef"><b>Definition:</b> <a href="_file_list_8h_source.html#l00044">FileList.h:44</a></div></div> <div class="ttc" id="classwiconnect_1_1_file_interface_html"><div class="ttname"><a href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_file_interface_8h_source.html#l00068">FileInterface.h:68</a></div></div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/_ghm_interface_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,225 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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('_ghm_interface_8h_source.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">GhmInterface.h</div> </div> +</div><!--header--> +<div class="contents"> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "Wiconnect.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "api/types/WiconnectSocket.h"</span></div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "api/types/GhmMessageList.h"</span></div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">namespace </span>wiconnect {</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#define GHM_ADD_INT(array, name, integerVal) \</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">{ \</span></div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"> array.elementName = name; \</span></div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"> array.type = GHM_VALUE_INT; \</span></div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"> array.u.intValue = (uint32_t)integerVal; \</span></div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">}</span></div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#define GHM_ADD_STR(array, name, stringVal) \</span></div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">{ \</span></div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"> array.elementName = name; \</span></div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"> array.type = GHM_VALUE_STR; \</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"> array.u.strValue = (const char*)stringVal; \</span></div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">}</span></div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> +<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_ghm_interface.html"> 81</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a></div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">ghmDownloadCapabilities</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *capsNameOrCustomUrl = NULL, uint32_t version = 0);</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *userName, <span class="keyword">const</span> <span class="keywordtype">char</span> *password, <span class="keyword">const</span> <span class="keywordtype">char</span> *capsFilename = NULL);</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">ghmDeactivate</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *userName, <span class="keyword">const</span> <span class="keywordtype">char</span> *password);</div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">ghmIsActivated</a>(<span class="keywordtype">bool</span> *statusPtr);</div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">ghmRead</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controlName, <span class="keyword">const</span> <span class="keywordtype">char</span> **valueStrPtr);</div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">ghmRead</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controlName, uint32_t *valueIntPtr);</div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">ghmRead</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *controlName, <span class="keywordtype">char</span> *valueBuffer, uint16_t valueBufferLen);</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *elementName, <span class="keyword">const</span> <span class="keywordtype">char</span> *strValue);</div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *elementName, uint32_t uintValue);</div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div> +<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *elementName, int32_t intValue);</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a>(<span class="keyword">const</span> <a class="code" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a> *elementArray);</div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">ghmSynchronize</a>(<a class="code" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a> type = <a class="code" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">GHM_SYNC_ALL</a>);</div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div> +<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">ghmPostMessage</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keywordtype">bool</span> jsonFormatted=<span class="keyword">false</span>);</div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="code" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType = <a class="code" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>);</div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint8_t listIndex, <a class="code" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType = <a class="code" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>);</div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div> +<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *msgId, <a class="code" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType = <a class="code" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>);</div> +<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div> +<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">ghmDeleteMessage</a>(uint8_t listIndex);</div> +<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div> +<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">ghmDeleteMessage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *msgId);</div> +<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div> +<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">ghmListMessages</a>(<a class="code" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> &msgList, uint8_t maxCount = 0);</div> +<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div> +<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div> +<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a>(<a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect);</div> +<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div> +<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint8_t listIndex, <span class="keyword">const</span> <span class="keywordtype">char</span> *msgId, <a class="code" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType);</div> +<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> processMessageList(<span class="keywordtype">char</span> *resultStr, <a class="code" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> &resultList);</div> +<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div> +<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="keyword">private</span>:</div> +<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect;</div> +<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div> +<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> };</div> +<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div> +<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div> +<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> }</div> +<div class="ttc" id="group__api__ghm__activate_html_gad0e0484d1f9a6608475874544f96708b"><div class="ttname"><a href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">wiconnect::GhmInterface::ghmDeactivate</a></div><div class="ttdeci">WiconnectResult ghmDeactivate(const char *userName, const char *password)</div><div class="ttdoc">Deactivate WiFi module with http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__msg_html_gae69971594793e1a10f11a51277909502"><div class="ttname"><a href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">wiconnect::GhmInterface::ghmListMessages</a></div><div class="ttdeci">WiconnectResult ghmListMessages(GhmMessageList &msgList, uint8_t maxCount=0)</div><div class="ttdoc">List available messages for device on http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__types_html_gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7"><div class="ttname"><a href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">wiconnect::GHM_SYNC_ALL</a></div><div class="ttdoc">Push and pull all streams and controls. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00463">WiconnectTypes.h:463</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="group__api__ghm__activate_html_ga8bec70f780ca7de9dce1a15830c179ff"><div class="ttname"><a href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">wiconnect::GhmInterface::ghmIsActivated</a></div><div class="ttdeci">WiconnectResult ghmIsActivated(bool *statusPtr)</div><div class="ttdoc">Return if WiFi module is activated with http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__msg_html_ga451de9d69f7ecbf38e36056e502b94b0"><div class="ttname"><a href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">wiconnect::GhmInterface::ghmDeleteMessage</a></div><div class="ttdeci">WiconnectResult ghmDeleteMessage(uint8_t listIndex)</div><div class="ttdoc">Delete message from http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__com_html_ga2f57fc33ad0e71d608b1350d4e3ab223"><div class="ttname"><a href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">wiconnect::GhmInterface::ghmWrite</a></div><div class="ttdeci">WiconnectResult ghmWrite(const char *elementName, const char *strValue)</div><div class="ttdoc">Write stream or control data to http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__msg_html_gadc281f497041b26a151c72a0b5d03543"><div class="ttname"><a href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">wiconnect::GhmInterface::ghmPostMessage</a></div><div class="ttdeci">WiconnectResult ghmPostMessage(WiconnectSocket &socket, bool jsonFormatted=false)</div><div class="ttdoc">POST message to http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__types_html_gaf75750bfef61c73f9e4677e9de663df1"><div class="ttname"><a href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">wiconnect::GhmMessageGetType</a></div><div class="ttdeci">GhmMessageGetType</div><div class="ttdoc">goHACK.me message GET type </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00472">WiconnectTypes.h:472</a></div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_message_list_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_message_list.html">wiconnect::GhmMessageList</a></div><div class="ttdoc">List of goHACK.me messages. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_message_list_8h_source.html#l00046">GhmMessageList.h:46</a></div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_interface_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></div><div class="ttdoc">The provides an interface for http://goHACK.me. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_interface_8h_source.html#l00081">GhmInterface.h:81</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127"><div class="ttname"><a href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">wiconnect::GHM_MSG_GET_DATA_ONLY</a></div><div class="ttdoc">Only GET the message data. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00474">WiconnectTypes.h:474</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_ga44ea17651dcf42ac9816f549beb577ac"><div class="ttname"><a href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">wiconnect::GhmSyncType</a></div><div class="ttdeci">GhmSyncType</div><div class="ttdoc">goHACK.me sychronization type </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00461">WiconnectTypes.h:461</a></div></div> +<div class="ttc" id="group__api__ghm__activate_html_gaa0213731eebd4a14e9099d01ff76beff"><div class="ttname"><a href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">wiconnect::GhmInterface::ghmActivate</a></div><div class="ttdeci">WiconnectResult ghmActivate(const char *userName, const char *password, const char *capsFilename=NULL)</div><div class="ttdoc">Activate WiFi module with http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__activate_html_gaff03ecaa08146e6925820209cdab56bd"><div class="ttname"><a href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">wiconnect::GhmInterface::ghmDownloadCapabilities</a></div><div class="ttdeci">WiconnectResult ghmDownloadCapabilities(const char *capsNameOrCustomUrl=NULL, uint32_t version=0)</div><div class="ttdoc">Download a device capabilities file to WiFi module's internal file system. </div></div> +<div class="ttc" id="group__api__ghm__com_html_ga3fde7b34da992719b41fc52178b73bc2"><div class="ttname"><a href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">wiconnect::GhmInterface::ghmRead</a></div><div class="ttdeci">WiconnectResult ghmRead(const char *controlName, const char **valueStrPtr)</div><div class="ttdoc">Read control data from http://goHACK.me. </div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_socket_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></div><div class="ttdoc">Connection object to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_socket_8h_source.html#l00043">WiconnectSocket.h:43</a></div></div> +<div class="ttc" id="group__api__ghm__com_html_ga0aa48506edb22c90be513683672b96c7"><div class="ttname"><a href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">wiconnect::GhmInterface::ghmSynchronize</a></div><div class="ttdeci">WiconnectResult ghmSynchronize(GhmSyncType type=GHM_SYNC_ALL)</div><div class="ttdoc">Synchronize WiFi module with http://goHACK.me. </div></div> +<div class="ttc" id="group__api__ghm__msg_html_gaaa05391432b2ca38bb416c671f57b234"><div class="ttname"><a href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">wiconnect::GhmInterface::ghmGetMessage</a></div><div class="ttdeci">WiconnectResult ghmGetMessage(WiconnectSocket &socket, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)</div><div class="ttdoc">GET message from http://goHACK.me. </div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> +<div class="ttc" id="structwiconnect_1_1_ghm_element_array_html"><div class="ttname"><a href="structwiconnect_1_1_ghm_element_array.html">wiconnect::GhmElementArray</a></div><div class="ttdoc">Array of goHACK.me stream or control values. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00451">WiconnectTypes.h:451</a></div></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/_ghm_message_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,161 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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('_ghm_message_8h_source.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">GhmMessage.h</div> </div> +</div><!--header--> +<div class="contents"> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "api/StringUtil.h"</span></div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">namespace </span>wiconnect</div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> +<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_ghm_message.html"> 46</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a></div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* getMessageId(<span class="keywordtype">char</span> *buffer = NULL) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* getTimestamp(<span class="keywordtype">char</span> *buffer = NULL) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  uint16_t getLength() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a>* getNext() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a>* getPrevious() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a>();</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> init(<span class="keyword">const</span> <span class="keywordtype">char</span> *msgIdStr, <span class="keyword">const</span> <span class="keywordtype">char</span>* timestampStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *lengthStr);</div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a> *next;</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a> *previous;</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordtype">char</span> messageId[37];</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordtype">char</span> timestamp[14];</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  uint16_t length;</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#ifdef WICONNECT_ENABLE_MALLOC</span></div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">void</span>* <span class="keyword">operator</span> <span class="keyword">new</span>(<span class="keywordtype">size_t</span> size);</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>*);</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a>;</div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> };</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> }</div> +<div class="ttc" id="classwiconnect_1_1_ghm_message_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_message.html">wiconnect::GhmMessage</a></div><div class="ttdoc">Contains single entry from goHACK.me message listing. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_message_8h_source.html#l00046">GhmMessage.h:46</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_message_list_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_message_list.html">wiconnect::GhmMessageList</a></div><div class="ttdoc">List of goHACK.me messages. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_message_list_8h_source.html#l00046">GhmMessageList.h:46</a></div></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/_ghm_message_list_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,156 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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('_ghm_message_list_8h_source.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">GhmMessageList.h</div> </div> +</div><!--header--> +<div class="contents"> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "GhmMessage.h"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">namespace </span>wiconnect</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> {</div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> +<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_ghm_message_list.html"> 46</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a></div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a>(<span class="keywordtype">int</span> bufferLen = 0, <span class="keywordtype">void</span> *buffer = NULL);</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  ~<a class="code" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a>();</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordtype">void</span> reset(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a>* getListHead() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">int</span> getCount() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a>* getResult(<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a>* operator [](<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a> *listHead, *listTail;</div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  uint8_t *buffer;</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  uint8_t *bufferPtr;</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  uint16_t bufferLen;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  uint16_t bufferRemaining;</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">int</span> count;</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> add(<span class="keyword">const</span> <span class="keywordtype">char</span> *msgId, <span class="keyword">const</span> <span class="keywordtype">char</span>* timestamp, <span class="keyword">const</span> <span class="keywordtype">char</span> *length);</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a>;</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> };</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div> +<div class="ttc" id="classwiconnect_1_1_ghm_message_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_message.html">wiconnect::GhmMessage</a></div><div class="ttdoc">Contains single entry from goHACK.me message listing. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_message_8h_source.html#l00046">GhmMessage.h:46</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_message_list_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_message_list.html">wiconnect::GhmMessageList</a></div><div class="ttdoc">List of goHACK.me messages. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_message_list_8h_source.html#l00046">GhmMessageList.h:46</a></div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_interface_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></div><div class="ttdoc">The provides an interface for http://goHACK.me. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_interface_8h_source.html#l00081">GhmInterface.h:81</a></div></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- a/doc/html/_gpio_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_gpio_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -105,7 +105,7 @@ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">namespace </span>wiconnect</div> @@ -128,7 +128,7 @@ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00123">sdk.h:123</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00134">sdk.h:134</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_log_func_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_log_func_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "FunctionPointer.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>wiconnect</div> @@ -169,7 +169,7 @@ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_log_func_html"><div class="ttname"><a href="classwiconnect_1_1_log_func.html">wiconnect::LogFunc</a></div><div class="ttdoc">Logging callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_log_func_8h_source.html#l00045">LogFunc.h:45</a></div></div> <div class="ttc" id="classwiconnect_1_1_function_pointer_html"><div class="ttname"><a href="classwiconnect_1_1_function_pointer.html">wiconnect::FunctionPointer</a></div><div class="ttdoc">Generic function pointer. </div><div class="ttdef"><b>Definition:</b> <a href="_function_pointer_8h_source.html#l00040">FunctionPointer.h:40</a></div></div> </div><!-- fragment --></div><!-- contents -->
--- a/doc/html/_network_interface_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_network_interface_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -106,159 +106,178 @@ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "types/ScanResultList.h"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "api/types/ScanResultList.h"</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">namespace </span>wiconnect {</div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div> -<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_network_interface.html"> 49</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a></div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div> -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">public</span>:</div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847">startWebSetup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid = NULL, <span class="keyword">const</span> <span class="keywordtype">char</span> *password = NULL, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeHandler = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a">stopWebSetup</a>();</div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65">isWebSetupRunning</a>(<span class="keywordtype">bool</span> *isRunningPtr);</div> -<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> -<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div> -<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div> -<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">join</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ssid = NULL, <span class="keyword">const</span> <span class="keywordtype">char</span> *password = NULL, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeHandler = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> -<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328">leave</a>();</div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5">getNetworkStatus</a>(<a class="code" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> *statusPtr);</div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div> -<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">getNetworkJoinResult</a>(<a class="code" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a> *joinResultPtr);</div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div> -<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div> -<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">// WiconnectResult startSoftAp(const char* ssid = NULL, const char *password = NULL, const Callback &clientConnectedCallback = Callback());</span></div> -<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">// WiconnectResult stopSoftAp();</span></div> -<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="comment">// WiconnectResult getSoftApClientList();</span></div> -<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> -<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">scan</a>(<a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> &resultList, <span class="keyword">const</span> uint8_t *channelList = NULL, <span class="keyword">const</span> <span class="keywordtype">char</span>* ssid = NULL);</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#ifdef WICONNECT_USE_DEFAULT_STRING_BUFFERS</span></div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#define ALLOW_NULL_STRING_BUFFER = NULL</span></div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#define ALLOW_NULL_STRING_BUFFER</span></div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div> +<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_network_interface.html"> 55</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a></div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847">startWebSetup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid = NULL, <span class="keyword">const</span> <span class="keywordtype">char</span> *password = NULL, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeHandler = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a">stopWebSetup</a>();</div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65">isWebSetupRunning</a>(<span class="keywordtype">bool</span> *isRunningPtr);</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">join</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ssid = NULL, <span class="keyword">const</span> <span class="keywordtype">char</span> *password = NULL, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeHandler = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328">leave</a>();</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5">getNetworkStatus</a>(<a class="code" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> *statusPtr);</div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">getNetworkJoinResult</a>(<a class="code" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a> *joinResultPtr);</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a>(<a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> *signalStrengthPtr);</div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">getRssi</a>(int32_t *rssiPtr);</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">getMacAddress</a>(<a class="code" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress);</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div> <div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div> -<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc">ping</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *domain = NULL, uint32_t *timeMsPtr = NULL);</div> -<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div> -<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89">lookup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *domain, uint32_t *ipAddressPtr);</div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> -<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> -<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> -<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div> -<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">setDhcpEnabled</a>(<span class="keywordtype">bool</span> enabled);</div> -<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> -<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">getDhcpEnabled</a>(<span class="keywordtype">bool</span> *enabledPtr);</div> -<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div> -<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">setIpSettings</a>(uint32_t ip, uint32_t netmask, uint32_t gateway);</div> -<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div> -<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">setIpSettings</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ip, <span class="keyword">const</span> <span class="keywordtype">char</span>* netmask, <span class="keyword">const</span> <span class="keywordtype">char</span>* gateway);</div> -<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div> -<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">getIpSettings</a>(uint32_t *ip, uint32_t *netmask, uint32_t *gateway);</div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// WiconnectResult startSoftAp(const char* ssid = NULL, const char *password = NULL, const Callback &clientConnectedCallback = Callback());</span></div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">// WiconnectResult stopSoftAp();</span></div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="comment">// WiconnectResult getSoftApClientList();</span></div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">scan</a>(<a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> &resultList, <span class="keyword">const</span> uint8_t *channelList = NULL, <span class="keyword">const</span> <span class="keywordtype">char</span>* ssid = NULL);</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc">ping</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *domain = NULL, uint32_t *timeMsPtr = NULL);</div> +<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div> +<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89">lookup</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *domain, uint32_t *ipAddressPtr);</div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div> +<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">setDhcpEnabled</a>(<span class="keywordtype">bool</span> enabled);</div> <div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div> -<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a>(<a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> *signalStrengthPtr);</div> +<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">getDhcpEnabled</a>(<span class="keywordtype">bool</span> *enabledPtr);</div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div> -<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div> -<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">getIpAddress</a>(<span class="keywordtype">char</span> *buffer = NULL);</div> -<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">setIpSettings</a>(uint32_t ip, uint32_t netmask, uint32_t gateway);</div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">setIpSettings</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ip, <span class="keyword">const</span> <span class="keywordtype">char</span>* netmask, <span class="keyword">const</span> <span class="keywordtype">char</span>* gateway);</div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div> -<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div> -<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div> -<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591">strToIp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, uint32_t *intPtr);</div> -<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div> -<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">ipToStr</a>(uint32_t ip, <span class="keywordtype">char</span> *ipStrBuffer = NULL);</div> -<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> -<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a>(<a class="code" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> status);</div> -<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div> -<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6">networkJoinResultToStr</a>(<a class="code" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a> joinResult);</div> -<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> -<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gad4661f859cfadbe193793898671043c9">signalStrengthToStr</a>(<a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> signalStrenth);</div> -<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div> -<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keyword">static</span> <a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> <a class="code" href="group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8">rssiToSignalStrength</a>(<span class="keywordtype">int</span> rssi);</div> -<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div> -<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keyword">static</span> <a class="code" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">NetworkSecurity</a> <a class="code" href="group__conversion__util.html#gad7d49be19f9ca91bc129668dd50d9e57">strToNetworkSecurity</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str);</div> +<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">getIpSettings</a>(uint32_t *ip, uint32_t *netmask, uint32_t *gateway);</div> +<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div> +<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">setDnsAddress</a>(uint32_t dnsAddress);</div> +<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div> +<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">getDnsAddress</a>(uint32_t *dnsAddress);</div> +<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">getIpAddress</a>(<span class="keywordtype">char</span> *buffer ALLOW_NULL_STRING_BUFFER);</div> +<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div> +<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div> +<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div> +<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div> +<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591">strToIp</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, uint32_t *intPtr);</div> +<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div> +<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">ipToStr</a>(uint32_t ip, <span class="keywordtype">char</span> *ipStrBuffer ALLOW_NULL_STRING_BUFFER);</div> +<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div> <div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div> -<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f">networkSecurityToStr</a>(<a class="code" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">NetworkSecurity</a> security);</div> +<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a>(<a class="code" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> status);</div> <div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div> -<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17">strToSsid</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid);</div> +<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6">networkJoinResultToStr</a>(<a class="code" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a> joinResult);</div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div> -<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">ssidToStr</a>(<span class="keyword">const</span> <a class="code" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid, <span class="keywordtype">char</span> *ssidStrBuffer = NULL);</div> +<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gad4661f859cfadbe193793898671043c9">signalStrengthToStr</a>(<a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> signalStrenth);</div> <div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div> -<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b">strToMacAddress</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress);</div> +<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keyword">static</span> <a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> <a class="code" href="group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8">rssiToSignalStrength</a>(<span class="keywordtype">int</span> rssi);</div> <div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div> -<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">macAddressToStr</a>(<span class="keyword">const</span> <a class="code" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress, <span class="keywordtype">char</span> *macStrBuffer = NULL);</div> +<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keyword">static</span> <a class="code" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">NetworkSecurity</a> <a class="code" href="group__conversion__util.html#gad7d49be19f9ca91bc129668dd50d9e57">strToNetworkSecurity</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str);</div> <div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div> -<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>(<a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect);</div> -<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div> -<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> processScanResults(<span class="keywordtype">char</span> *resultStr, <a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> &resultList);</div> -<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div> -<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor">#ifdef WICONNECT_ASYNC_TIMER_ENABLED</span></div> -<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> completeHandler;</div> -<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  PeriodicTimer monitorTimer;</div> -<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div> -<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordtype">void</span> webSetupStatusMonitor();</div> -<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordtype">void</span> webSetupStatusCheckCallback(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> result, <span class="keywordtype">void</span> *arg1, <span class="keywordtype">void</span> *arg2);</div> -<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div> -<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordtype">void</span> joinStatusMonitor();</div> -<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordtype">void</span> joinStatusCheckCallback(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> result, <span class="keywordtype">void</span> *arg1, <span class="keywordtype">void</span> *arg2);</div> -<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div> -<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="comment">//void scanCompleteCallback(WiconnectResult result, void *arg1, void *arg2);</span></div> -<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div> -<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keyword">private</span>:</div> -<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect;</div> -<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> };</div> -<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div> -<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div> +<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f">networkSecurityToStr</a>(<a class="code" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">NetworkSecurity</a> security);</div> +<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div> +<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17">strToSsid</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid);</div> +<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div> +<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">ssidToStr</a>(<span class="keyword">const</span> <a class="code" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid, <span class="keywordtype">char</span> *ssidStrBuffer ALLOW_NULL_STRING_BUFFER);</div> +<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div> +<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b">strToMacAddress</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, <a class="code" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress);</div> +<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div> +<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">macAddressToStr</a>(<span class="keyword">const</span> <a class="code" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress, <span class="keywordtype">char</span> *macStrBuffer ALLOW_NULL_STRING_BUFFER);</div> +<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div> +<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>(<a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect);</div> +<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div> +<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> processScanResults(<span class="keywordtype">char</span> *resultStr, <a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> &resultList);</div> +<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div> +<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor">#ifdef WICONNECT_ASYNC_TIMER_ENABLED</span></div> +<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> completeHandler;</div> +<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  PeriodicTimer monitorTimer;</div> +<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div> +<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordtype">void</span> webSetupStatusMonitor();</div> +<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordtype">void</span> webSetupStatusCheckCallback(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> result, <span class="keywordtype">void</span> *arg1, <span class="keywordtype">void</span> *arg2);</div> +<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div> +<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordtype">void</span> joinStatusMonitor();</div> +<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordtype">void</span> joinStatusCheckCallback(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> result, <span class="keywordtype">void</span> *arg1, <span class="keywordtype">void</span> *arg2);</div> +<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div> +<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="comment">//void scanCompleteCallback(WiconnectResult result, void *arg1, void *arg2);</span></div> +<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div> +<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="keyword">private</span>:</div> +<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect;</div> +<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> };</div> +<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div> +<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> }</div> <div class="ttc" id="group__api__network__settings_html_ga70ec796b88eb6f8e7990dbf3eb2f2eff"><div class="ttname"><a href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">wiconnect::NetworkInterface::getDhcpEnabled</a></div><div class="ttdeci">WiconnectResult getDhcpEnabled(bool *enabledPtr)</div><div class="ttdoc">Get if DHCP enabled. </div></div> -<div class="ttc" id="group__api__network__types_html_ga026bd11cd5df47b7022362243e2d553f"><div class="ttname"><a href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">wiconnect::NetworkSecurity</a></div><div class="ttdeci">NetworkSecurity</div><div class="ttdoc">Network security type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00267">WiconnectTypes.h:267</a></div></div> -<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00049">NetworkInterface.h:49</a></div></div> +<div class="ttc" id="group__api__network__wlan_html_gaa9db3c463cf6b4f351c37671882dd3ee"><div class="ttname"><a href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">wiconnect::NetworkInterface::getRssi</a></div><div class="ttdeci">WiconnectResult getRssi(int32_t *rssiPtr)</div><div class="ttdoc">Get the RSSI in dBm of WiFi network. </div></div> +<div class="ttc" id="group__api__network__types_html_ga026bd11cd5df47b7022362243e2d553f"><div class="ttname"><a href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">wiconnect::NetworkSecurity</a></div><div class="ttdeci">NetworkSecurity</div><div class="ttdoc">Network security type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00281">WiconnectTypes.h:281</a></div></div> +<div class="ttc" id="group__api__network__settings_html_gabd8eb629fd40defaa9ab22c189652a3f"><div class="ttname"><a href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">wiconnect::NetworkInterface::getIpAddress</a></div><div class="ttdeci">const char * getIpAddress(char *buffer ALLOW_NULL_STRING_BUFFER)</div><div class="ttdoc">Return the current IP address of the module if possible, else return 0.0.0.0. </div></div> +<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00055">NetworkInterface.h:55</a></div></div> +<div class="ttc" id="group__conversion__util_html_ga02e6b01f11f2283208f051b1b49b634c"><div class="ttname"><a href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">wiconnect::NetworkInterface::ipToStr</a></div><div class="ttdeci">static const char * ipToStr(uint32_t ip, char *ipStrBuffer ALLOW_NULL_STRING_BUFFER)</div><div class="ttdoc">Convert IP address to string. </div></div> <div class="ttc" id="group__api__network__settings_html_ga291aef702f1c10bf2970394e3458022b"><div class="ttname"><a href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">wiconnect::NetworkInterface::getIpSettings</a></div><div class="ttdeci">WiconnectResult getIpSettings(uint32_t *ip, uint32_t *netmask, uint32_t *gateway)</div><div class="ttdoc">Get network IP settings. </div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> +<div class="ttc" id="group__api__network__wlan_html_gaba16b9918e55c08285cf5b8b50dbabea"><div class="ttname"><a href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface::getSignalStrength</a></div><div class="ttdeci">WiconnectResult getSignalStrength(NetworkSignalStrength *signalStrengthPtr)</div><div class="ttdoc">Get NetworkSignalStrength of WiFi network module is connected. </div></div> <div class="ttc" id="group__api__network__settings_html_ga2f7ec21084d3f2835d9c1c201915a9e0"><div class="ttname"><a href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">wiconnect::NetworkInterface::setIpSettings</a></div><div class="ttdeci">WiconnectResult setIpSettings(uint32_t ip, uint32_t netmask, uint32_t gateway)</div><div class="ttdoc">Set static IP settings. </div></div> <div class="ttc" id="group__conversion__util_html_ga5a682e671900b9b7f931137deb847fa6"><div class="ttname"><a href="group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6">wiconnect::NetworkInterface::networkJoinResultToStr</a></div><div class="ttdeci">static const char * networkJoinResultToStr(NetworkJoinResult joinResult)</div><div class="ttdoc">Convert NetworkJoinResult to string. </div></div> <div class="ttc" id="group__conversion__util_html_gae02c549079cfb0350117cd6343a3d66f"><div class="ttname"><a href="group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f">wiconnect::NetworkInterface::networkSecurityToStr</a></div><div class="ttdeci">static const char * networkSecurityToStr(NetworkSecurity security)</div><div class="ttdoc">Convert NetworkSecurity to string. </div></div> <div class="ttc" id="group__conversion__util_html_gad7d49be19f9ca91bc129668dd50d9e57"><div class="ttname"><a href="group__conversion__util.html#gad7d49be19f9ca91bc129668dd50d9e57">wiconnect::NetworkInterface::strToNetworkSecurity</a></div><div class="ttdeci">static NetworkSecurity strToNetworkSecurity(const char *str)</div><div class="ttdoc">Convert string to NetworkSecurity. </div></div> -<div class="ttc" id="structwiconnect_1_1_mac_address_html"><div class="ttname"><a href="structwiconnect_1_1_mac_address.html">wiconnect::MacAddress</a></div><div class="ttdoc">Network MAC Address type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00293">WiconnectTypes.h:293</a></div></div> +<div class="ttc" id="structwiconnect_1_1_mac_address_html"><div class="ttname"><a href="structwiconnect_1_1_mac_address.html">wiconnect::MacAddress</a></div><div class="ttdoc">Network MAC Address type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00307">WiconnectTypes.h:307</a></div></div> +<div class="ttc" id="group__conversion__util_html_gae8b534c249d503aa764017bb088f3890"><div class="ttname"><a href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">wiconnect::NetworkInterface::ssidToStr</a></div><div class="ttdeci">static const char * ssidToStr(const Ssid *ssid, char *ssidStrBuffer ALLOW_NULL_STRING_BUFFER)</div><div class="ttdoc">Convert Ssid to string. </div></div> <div class="ttc" id="group__api__network__setup_html_gaea3e133f2ee8c95d8d108c15561f3847"><div class="ttname"><a href="group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847">wiconnect::NetworkInterface::startWebSetup</a></div><div class="ttdeci">WiconnectResult startWebSetup(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</div><div class="ttdoc">Start the WiConnect WiFi module 'web setup' feature. </div></div> +<div class="ttc" id="group__api__network__settings_html_ga585cb71d386ee61db3772f4b3218cb6e"><div class="ttname"><a href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">wiconnect::NetworkInterface::getDnsAddress</a></div><div class="ttdeci">WiconnectResult getDnsAddress(uint32_t *dnsAddress)</div><div class="ttdoc">Get the static DNS address. </div></div> <div class="ttc" id="group__api__network__util_html_ga1da909dadb6f0e90218927ed350f72bc"><div class="ttname"><a href="group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc">wiconnect::NetworkInterface::ping</a></div><div class="ttdeci">WiconnectResult ping(const char *domain=NULL, uint32_t *timeMsPtr=NULL)</div><div class="ttdoc">Ping a WiFi network. </div></div> <div class="ttc" id="group__conversion__util_html_ga93bdb8669a70adaa61dc76073ce66591"><div class="ttname"><a href="group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591">wiconnect::NetworkInterface::strToIp</a></div><div class="ttdeci">static bool strToIp(const char *str, uint32_t *intPtr)</div><div class="ttdoc">Convert string to IP address. </div></div> -<div class="ttc" id="group__api__network__settings_html_ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><div class="ttname"><a href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">wiconnect::NetworkInterface::getIpAddress</a></div><div class="ttdeci">const char * getIpAddress(char *buffer=NULL)</div><div class="ttdoc">Return the current IP address of the module if possible, else return 0.0.0.0. </div></div> <div class="ttc" id="group__conversion__util_html_gacff5a4927d79e8b4c0d5a3050f5950b0"><div class="ttname"><a href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">wiconnect::NetworkInterface::networkStatusToStr</a></div><div class="ttdeci">static const char * networkStatusToStr(NetworkStatus status)</div><div class="ttdoc">Convert NetworkStatus to string. </div></div> <div class="ttc" id="group__api__network__setup_html_gab52d3a01427d0e8bd52460d992144f65"><div class="ttname"><a href="group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65">wiconnect::NetworkInterface::isWebSetupRunning</a></div><div class="ttdeci">WiconnectResult isWebSetupRunning(bool *isRunningPtr)</div><div class="ttdoc">Return status of WiConnect WiFi module 'web setup' feature. </div></div> -<div class="ttc" id="group__api__network__settings_html_gaba16b9918e55c08285cf5b8b50dbabea"><div class="ttname"><a href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface::getSignalStrength</a></div><div class="ttdeci">WiconnectResult getSignalStrength(NetworkSignalStrength *signalStrengthPtr)</div><div class="ttdoc">Get signal strength to WiFi network. </div></div> <div class="ttc" id="group__api__network__settings_html_ga65eb99f880ed739d0f3cd393e5b56eaf"><div class="ttname"><a href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">wiconnect::NetworkInterface::setDhcpEnabled</a></div><div class="ttdeci">WiconnectResult setDhcpEnabled(bool enabled)</div><div class="ttdoc">Set DHCP enabled. </div></div> <div class="ttc" id="group__api__network__wlan_html_ga14dc0f4fa58a7ebb25b77fae22052328"><div class="ttname"><a href="group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328">wiconnect::NetworkInterface::leave</a></div><div class="ttdeci">WiconnectResult leave()</div><div class="ttdoc">Leave a WiFi network. </div></div> -<div class="ttc" id="group__api__network__types_html_gac5aead2b4cca0122a60168e75ea41d36"><div class="ttname"><a href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">wiconnect::NetworkSignalStrength</a></div><div class="ttdeci">NetworkSignalStrength</div><div class="ttdoc">Network RSSI signal level. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00253">WiconnectTypes.h:253</a></div></div> +<div class="ttc" id="group__api__network__types_html_gac5aead2b4cca0122a60168e75ea41d36"><div class="ttname"><a href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">wiconnect::NetworkSignalStrength</a></div><div class="ttdeci">NetworkSignalStrength</div><div class="ttdoc">Network RSSI signal level. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00267">WiconnectTypes.h:267</a></div></div> <div class="ttc" id="group__conversion__util_html_ga347f05073370d6872a5cdac74de39b1b"><div class="ttname"><a href="group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b">wiconnect::NetworkInterface::strToMacAddress</a></div><div class="ttdeci">static bool strToMacAddress(const char *str, MacAddress *macAddress)</div><div class="ttdoc">Convert string MacAddress. </div></div> <div class="ttc" id="group__api__network__util_html_gacdf014d8aca9de33dbc1563c6bb1f956"><div class="ttname"><a href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">wiconnect::NetworkInterface::scan</a></div><div class="ttdeci">WiconnectResult scan(ScanResultList &resultList, const uint8_t *channelList=NULL, const char *ssid=NULL)</div><div class="ttdoc">Scan for available WiFi networks. </div></div> -<div class="ttc" id="structwiconnect_1_1_ssid_html"><div class="ttname"><a href="structwiconnect_1_1_ssid.html">wiconnect::Ssid</a></div><div class="ttdoc">Network SSID type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00283">WiconnectTypes.h:283</a></div></div> -<div class="ttc" id="group__api__network__types_html_ga5f6f5c916a5dd1676f98da7fa511451d"><div class="ttname"><a href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">wiconnect::NetworkJoinResult</a></div><div class="ttdeci">NetworkJoinResult</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00236">WiconnectTypes.h:236</a></div></div> +<div class="ttc" id="structwiconnect_1_1_ssid_html"><div class="ttname"><a href="structwiconnect_1_1_ssid.html">wiconnect::Ssid</a></div><div class="ttdoc">Network SSID type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00297">WiconnectTypes.h:297</a></div></div> +<div class="ttc" id="group__api__network__types_html_ga5f6f5c916a5dd1676f98da7fa511451d"><div class="ttname"><a href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">wiconnect::NetworkJoinResult</a></div><div class="ttdeci">NetworkJoinResult</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00250">WiconnectTypes.h:250</a></div></div> +<div class="ttc" id="group__conversion__util_html_ga01520d55f1923d90fb899ddef2f21cdf"><div class="ttname"><a href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">wiconnect::NetworkInterface::macAddressToStr</a></div><div class="ttdeci">static const char * macAddressToStr(const MacAddress *macAddress, char *macStrBuffer ALLOW_NULL_STRING_BUFFER)</div><div class="ttdoc">Convert MacAddress to string. </div></div> <div class="ttc" id="group__api__network__wlan_html_gafefe6e679d7b48a7127d3ed6371fe58b"><div class="ttname"><a href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">wiconnect::NetworkInterface::getNetworkJoinResult</a></div><div class="ttdeci">WiconnectResult getNetworkJoinResult(NetworkJoinResult *joinResultPtr)</div><div class="ttdoc">Get the result of joining the network. </div></div> -<div class="ttc" id="group__conversion__util_html_ga13ecaf390b4bf4a68b51a6b18e669134"><div class="ttname"><a href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">wiconnect::NetworkInterface::macAddressToStr</a></div><div class="ttdeci">static const char * macAddressToStr(const MacAddress *macAddress, char *macStrBuffer=NULL)</div><div class="ttdoc">Convert MacAddress to string. </div></div> <div class="ttc" id="classwiconnect_1_1_scan_result_list_html"><div class="ttname"><a href="classwiconnect_1_1_scan_result_list.html">wiconnect::ScanResultList</a></div><div class="ttdoc">List of WiFi network scan results. </div><div class="ttdef"><b>Definition:</b> <a href="_scan_result_list_8h_source.html#l00046">ScanResultList.h:46</a></div></div> +<div class="ttc" id="group__api__network__settings_html_ga258d8b80064c6ce311a433affe63a0e9"><div class="ttname"><a href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">wiconnect::NetworkInterface::setDnsAddress</a></div><div class="ttdeci">WiconnectResult setDnsAddress(uint32_t dnsAddress)</div><div class="ttdoc">Set static DNS Address. </div></div> <div class="ttc" id="group__conversion__util_html_gad4661f859cfadbe193793898671043c9"><div class="ttname"><a href="group__conversion__util.html#gad4661f859cfadbe193793898671043c9">wiconnect::NetworkInterface::signalStrengthToStr</a></div><div class="ttdeci">static const char * signalStrengthToStr(NetworkSignalStrength signalStrenth)</div><div class="ttdoc">Convert NetworkSignalStrength to string. </div></div> <div class="ttc" id="group__api__network__wlan_html_ga047ba9670f60406466391cec5bdd28e5"><div class="ttname"><a href="group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5">wiconnect::NetworkInterface::getNetworkStatus</a></div><div class="ttdeci">WiconnectResult getNetworkStatus(NetworkStatus *statusPtr)</div><div class="ttdoc">Get connection status to WiFi network. </div></div> <div class="ttc" id="group__conversion__util_html_ga6a479a58591ead92dcf0586e11fcad17"><div class="ttname"><a href="group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17">wiconnect::NetworkInterface::strToSsid</a></div><div class="ttdeci">static bool strToSsid(const char *str, Ssid *ssid)</div><div class="ttdoc">Convert string Ssid. </div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> <div class="ttc" id="group__conversion__util_html_ga6216eed4cc05c37ce1ed13a0fbb6acd8"><div class="ttname"><a href="group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8">wiconnect::NetworkInterface::rssiToSignalStrength</a></div><div class="ttdeci">static NetworkSignalStrength rssiToSignalStrength(int rssi)</div><div class="ttdoc">Convert RSSI (in dBm) to NetworkSignalStrength. </div></div> <div class="ttc" id="group__api__network__util_html_ga1770babfc2abc6da7c085ef92709ee89"><div class="ttname"><a href="group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89">wiconnect::NetworkInterface::lookup</a></div><div class="ttdeci">WiconnectResult lookup(const char *domain, uint32_t *ipAddressPtr)</div><div class="ttdoc">Resolve domain name into IP address. </div></div> -<div class="ttc" id="group__conversion__util_html_gafce7929a10e16cf9be7307a2f97bef3f"><div class="ttname"><a href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">wiconnect::NetworkInterface::ssidToStr</a></div><div class="ttdeci">static const char * ssidToStr(const Ssid *ssid, char *ssidStrBuffer=NULL)</div><div class="ttdoc">Convert Ssid to string. </div></div> <div class="ttc" id="group__api__network__setup_html_gac5ca67b7bfa587935b5619e441dc8d8a"><div class="ttname"><a href="group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a">wiconnect::NetworkInterface::stopWebSetup</a></div><div class="ttdeci">WiconnectResult stopWebSetup()</div><div class="ttdoc">Stop the WiConnect WiFi module 'web setup' feature. </div></div> -<div class="ttc" id="group__api__network__types_html_gab448e57fc1a5e21cbba0283fd1a35d99"><div class="ttname"><a href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">wiconnect::NetworkStatus</a></div><div class="ttdeci">NetworkStatus</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00224">WiconnectTypes.h:224</a></div></div> +<div class="ttc" id="group__api__network__types_html_gab448e57fc1a5e21cbba0283fd1a35d99"><div class="ttname"><a href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">wiconnect::NetworkStatus</a></div><div class="ttdeci">NetworkStatus</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00238">WiconnectTypes.h:238</a></div></div> +<div class="ttc" id="group__api__network__wlan_html_ga70991a2c5865c8f0b44b67de35f3b6b3"><div class="ttname"><a href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">wiconnect::NetworkInterface::getMacAddress</a></div><div class="ttdeci">WiconnectResult getMacAddress(MacAddress *macAddress)</div><div class="ttdoc">Get MAC address of the WiFi module. </div></div> <div class="ttc" id="group__api__network__wlan_html_gac439d0af5a17da32d405e25dcba83d16"><div class="ttname"><a href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">wiconnect::NetworkInterface::join</a></div><div class="ttdeci">WiconnectResult join(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</div><div class="ttdoc">Join a WiFi network. </div></div> -<div class="ttc" id="group__conversion__util_html_gaff8b0af70f4d4be792b943ad3af27303"><div class="ttname"><a href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">wiconnect::NetworkInterface::ipToStr</a></div><div class="ttdeci">static const char * ipToStr(uint32_t ip, char *ipStrBuffer=NULL)</div><div class="ttdoc">Convert IP address to string. </div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_periodic_timer_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_periodic_timer_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>wiconnect</div>
--- a/doc/html/_pin_irq_handler_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_pin_irq_handler_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -133,7 +133,7 @@ <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00123">sdk.h:123</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00134">sdk.h:134</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_queued_command_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_queued_command_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -105,7 +105,7 @@ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">namespace </span>wiconnect</div> @@ -156,12 +156,12 @@ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div> -<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00049">NetworkInterface.h:49</a></div></div> +<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00055">NetworkInterface.h:55</a></div></div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> <div class="ttc" id="classwiconnect_1_1_reader_func_html"><div class="ttname"><a href="classwiconnect_1_1_reader_func.html">wiconnect::ReaderFunc</a></div><div class="ttdoc">Generic data reading callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_reader_func_8h_source.html#l00045">ReaderFunc.h:45</a></div></div> <div class="ttc" id="classwiconnect_1_1_queued_command_html"><div class="ttname"><a href="classwiconnect_1_1_queued_command.html">wiconnect::QueuedCommand</a></div><div class="ttdoc">Class which contains command for asynchronous processing. </div><div class="ttdef"><b>Definition:</b> <a href="_queued_command_8h_source.html#l00043">QueuedCommand.h:43</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga2aa16118029ab13ab41514cb8eb93ba7"><div class="ttname"><a href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7">WICONNECT_MAX_CMD_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_CMD_SIZE</div><div class="ttdoc">The maximum command size that may be sent to the WiConnect WiFi module. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00106">WiconnectTypes.h:106</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga2aa16118029ab13ab41514cb8eb93ba7"><div class="ttname"><a href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7">WICONNECT_MAX_CMD_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_CMD_SIZE</div><div class="ttdoc">The maximum command size that may be sent to the WiConnect WiFi module. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00113">WiconnectTypes.h:113</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_r_e_a_d_m_e_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_r_e_a_d_m_e_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -121,9 +121,12 @@ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div> <div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">// @}</span></div> <div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div> -<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div> -<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div> +<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">// @}</span></div> +<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div> +<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_reader_func_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_reader_func_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "FunctionPointer.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> @@ -167,8 +167,8 @@ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span> };</div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6">wiconnect::WICONNECT_ERROR</a></div><div class="ttdoc">Generic error. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00168">WiconnectTypes.h:168</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6">wiconnect::WICONNECT_ERROR</a></div><div class="ttdoc">Generic error. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00175">WiconnectTypes.h:175</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_reader_func_html"><div class="ttname"><a href="classwiconnect_1_1_reader_func.html">wiconnect::ReaderFunc</a></div><div class="ttdoc">Generic data reading callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_reader_func_8h_source.html#l00045">ReaderFunc.h:45</a></div></div> <div class="ttc" id="classwiconnect_1_1_function_pointer_html"><div class="ttname"><a href="classwiconnect_1_1_function_pointer.html">wiconnect::FunctionPointer</a></div><div class="ttdoc">Generic function pointer. </div><div class="ttdef"><b>Definition:</b> <a href="_function_pointer_8h_source.html#l00040">FunctionPointer.h:40</a></div></div> </div><!-- fragment --></div><!-- contents -->
--- a/doc/html/_scan_result_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_scan_result_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -106,8 +106,8 @@ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "StringUtil.h"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "api/StringUtil.h"</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">namespace </span>wiconnect</div> @@ -140,23 +140,25 @@ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">NetworkSecurity</a> security;</div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="structwiconnect_1_1_ssid.html">Ssid</a> ssid;</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> -<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">void</span>* <span class="keyword">operator</span> <span class="keyword">new</span>(<span class="keywordtype">size_t</span> size);</div> -<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>*);</div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a>;</div> -<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> };</div> -<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> -<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#ifdef WICONNECT_ENABLE_MALLOC</span></div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">void</span>* <span class="keyword">operator</span> <span class="keyword">new</span>(<span class="keywordtype">size_t</span> size);</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordtype">void</span> <span class="keyword">operator</span> <span class="keyword">delete</span>(<span class="keywordtype">void</span>*);</div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a>;</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> };</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> }</div> -<div class="ttc" id="group__api__network__types_html_ga026bd11cd5df47b7022362243e2d553f"><div class="ttname"><a href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">wiconnect::NetworkSecurity</a></div><div class="ttdeci">NetworkSecurity</div><div class="ttdoc">Network security type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00267">WiconnectTypes.h:267</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> -<div class="ttc" id="structwiconnect_1_1_mac_address_html"><div class="ttname"><a href="structwiconnect_1_1_mac_address.html">wiconnect::MacAddress</a></div><div class="ttdoc">Network MAC Address type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00293">WiconnectTypes.h:293</a></div></div> -<div class="ttc" id="group__api__network__types_html_gac5aead2b4cca0122a60168e75ea41d36"><div class="ttname"><a href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">wiconnect::NetworkSignalStrength</a></div><div class="ttdeci">NetworkSignalStrength</div><div class="ttdoc">Network RSSI signal level. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00253">WiconnectTypes.h:253</a></div></div> -<div class="ttc" id="structwiconnect_1_1_ssid_html"><div class="ttname"><a href="structwiconnect_1_1_ssid.html">wiconnect::Ssid</a></div><div class="ttdoc">Network SSID type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00283">WiconnectTypes.h:283</a></div></div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }</div> +<div class="ttc" id="group__api__network__types_html_ga026bd11cd5df47b7022362243e2d553f"><div class="ttname"><a href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">wiconnect::NetworkSecurity</a></div><div class="ttdeci">NetworkSecurity</div><div class="ttdoc">Network security type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00281">WiconnectTypes.h:281</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="structwiconnect_1_1_mac_address_html"><div class="ttname"><a href="structwiconnect_1_1_mac_address.html">wiconnect::MacAddress</a></div><div class="ttdoc">Network MAC Address type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00307">WiconnectTypes.h:307</a></div></div> +<div class="ttc" id="group__api__network__types_html_gac5aead2b4cca0122a60168e75ea41d36"><div class="ttname"><a href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">wiconnect::NetworkSignalStrength</a></div><div class="ttdeci">NetworkSignalStrength</div><div class="ttdoc">Network RSSI signal level. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00267">WiconnectTypes.h:267</a></div></div> +<div class="ttc" id="structwiconnect_1_1_ssid_html"><div class="ttname"><a href="structwiconnect_1_1_ssid.html">wiconnect::Ssid</a></div><div class="ttdoc">Network SSID type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00297">WiconnectTypes.h:297</a></div></div> <div class="ttc" id="classwiconnect_1_1_scan_result_list_html"><div class="ttname"><a href="classwiconnect_1_1_scan_result_list.html">wiconnect::ScanResultList</a></div><div class="ttdoc">List of WiFi network scan results. </div><div class="ttdef"><b>Definition:</b> <a href="_scan_result_list_8h_source.html#l00046">ScanResultList.h:46</a></div></div> <div class="ttc" id="classwiconnect_1_1_scan_result_html"><div class="ttname"><a href="classwiconnect_1_1_scan_result.html">wiconnect::ScanResult</a></div><div class="ttdoc">Contains single entry from WiFi scan results. </div><div class="ttdef"><b>Definition:</b> <a href="_scan_result_8h_source.html#l00046">ScanResult.h:46</a></div></div> </div><!-- fragment --></div><!-- contents -->
--- a/doc/html/_scan_result_list_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_scan_result_list_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,8 +104,8 @@ <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "types/ScanResult.h"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "ScanResult.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> @@ -119,28 +119,30 @@ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a>(<span class="keywordtype">int</span> bufferLen = 0, <span class="keywordtype">void</span> *buffer = NULL);</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  ~<a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a>();</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>* getListHead() <span class="keyword">const</span>;</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordtype">int</span> getCount() <span class="keyword">const</span>;</div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>* getResult(<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>* operator [](<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a> *listHead, *listTail;</div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  uint8_t *buffer;</div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  uint8_t *bufferPtr;</div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">int</span> bufferLen;</div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordtype">int</span> count;</div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> add(<span class="keyword">const</span> <span class="keywordtype">char</span> *channelStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *rssiStr, <span class="keyword">const</span> <span class="keywordtype">char</span>* macStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *rateStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *secStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *ssidStr);</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordtype">void</span> reset(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>* getListHead() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">int</span> getCount() <span class="keyword">const</span>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>* getResult(<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>* operator [](<span class="keywordtype">int</span> i) <span class="keyword">const</span>;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a> *listHead, *listTail;</div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  uint8_t *buffer;</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  uint8_t *bufferPtr;</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  uint16_t bufferLen;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  uint16_t bufferRemaining;</div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordtype">int</span> count;</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>;</div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> };</div> -<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div> -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> -<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div> -<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00049">NetworkInterface.h:49</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> add(<span class="keyword">const</span> <span class="keywordtype">char</span> *channelStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *rssiStr, <span class="keyword">const</span> <span class="keywordtype">char</span>* macStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *rateStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *secStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *ssidStr);</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>;</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> };</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div> +<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00055">NetworkInterface.h:55</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_scan_result_list_html"><div class="ttname"><a href="classwiconnect_1_1_scan_result_list.html">wiconnect::ScanResultList</a></div><div class="ttdoc">List of WiFi network scan results. </div><div class="ttdef"><b>Definition:</b> <a href="_scan_result_list_8h_source.html#l00046">ScanResultList.h:46</a></div></div> <div class="ttc" id="classwiconnect_1_1_scan_result_html"><div class="ttname"><a href="classwiconnect_1_1_scan_result.html">wiconnect::ScanResult</a></div><div class="ttdoc">Contains single entry from WiFi scan results. </div><div class="ttdef"><b>Definition:</b> <a href="_scan_result_8h_source.html#l00046">ScanResult.h:46</a></div></div> </div><!-- fragment --></div><!-- contents -->
--- a/doc/html/_socket_interface_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_socket_interface_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -106,113 +106,132 @@ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "Wiconnect.h"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "types/WiconnectSocket.h"</span></div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "types/SocketIrqHandlerMap.h"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "types/WiconnectUdpServer.h"</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">namespace </span>wiconnect {</div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> -<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_socket_interface.html"> 51</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a></div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> {</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">public</span>:</div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">closeAllSockets</a>();</div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> -<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">registerSocketIrqHandler</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &handler);</div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div> -<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">unregisterSocketIrqHandler</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin);</div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div> -<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">connect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort, uint16_t localPort, <span class="keyword">const</span> <span class="keywordtype">void</span> *args, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin);</div> -<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div> -<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> -<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">tcpConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>);</div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#ifdef WICONNECT_GPIO_IRQ_ENABLED</span></div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "types/SocketIrqHandlerMap.h"</span></div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">namespace </span>wiconnect {</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#ifdef WICONNECT_GPIO_IRQ_ENABLED</span></div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#define GPIO_IRQ_ARG_NC ,Pin irqPin = PIN_NC</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#define GPIO_IRQ_ARG ,Pin irqPin</span></div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define GPIO_IRQ_PARAM ,irqPin</span></div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#define GPIO_IRQ_ARG_NC</span></div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#define GPIO_IRQ_ARG</span></div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define GPIO_IRQ_PARAM</span></div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div> +<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_socket_interface.html"> 63</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a></div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> {</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">closeAllSockets</a>();</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#ifdef WICONNECT_GPIO_IRQ_ENABLED</span></div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> registerSocketIrqHandler(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &handler);</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> unregisterSocketIrqHandler(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin);</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">connect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort, uint16_t localPort, <span class="keyword">const</span> <span class="keywordtype">void</span> *args GPIO_IRQ_ARG);</div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div> -<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">tcpListen</a>(uint16_t listeningPort, <span class="keywordtype">int</span> maxClients = 0, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>);</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">tcpConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort GPIO_IRQ_ARG_NC);</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div> <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">tcpAccept</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keywordtype">int</span> timeoutMs = <a class="code" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>);</div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">tcpListen</a>(uint16_t listeningPort, <span class="keywordtype">int</span> maxClients = 0 GPIO_IRQ_ARG_NC);</div> <div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">tcpServerStop</a>(<span class="keywordtype">void</span>);</div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> -<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">tcpAccept</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint32_t timeoutMs = <a class="code" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>);</div> <div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div> -<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">tlsConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>);</div> -<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">tcpServerStop</a>(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> -<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div> -<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">udpConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort, uint16_t localPort = <a class="code" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a>, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>);</div> -<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">tlsConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL GPIO_IRQ_ARG_NC);</div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div> +<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> <div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div> -<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div> -<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">httpConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keyword">const</span> <a class="code" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a> *args);</div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">udpConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remortPort, uint16_t localPort = <a class="code" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a> GPIO_IRQ_ARG_NC);</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">udpListen</a>(<a class="code" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> &udpServer, uint16_t listeningPort);</div> +<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div> -<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6">httpGet</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keywordtype">bool</span> openOnly = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL);</div> -<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div> -<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365">httpPost</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keyword">const</span> <span class="keywordtype">char</span> *contextType, <span class="keywordtype">bool</span> openOnly = <span class="keyword">true</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL);</div> -<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div> -<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85">httpHead</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL);</div> -<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div> -<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec">httpAddHeader</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div> -<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div> -<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517">httpGetStatus</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint32_t *statusCodePtr);</div> -<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div> -<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>(<a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect);</div> -<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  ~<a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>();</div> -<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div> -<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  SocketIrqHandlerMap irqHandlers;</div> -<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div> -<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordtype">bool</span> serverConnectedClientList[<a class="code" href="group__api__core__macro.html#ga45fe565132845ca570ded816f25561b0">WICONNECT_MAX_SOCKETS</a>];</div> -<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div> -<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> pollForServerClient(uint8_t *handle = NULL, uint16_t *localPort = NULL, uint16_t *remotePort = NULL, uint32_t *ipAddress = NULL);</div> -<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div> -<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordtype">void</span> socketClosedCallback(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> *socket);</div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div> +<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">httpConnect</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keyword">const</span> <a class="code" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a> *args);</div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6">httpGet</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keywordtype">bool</span> openOnly = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL);</div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365">httpPost</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keyword">const</span> <span class="keywordtype">char</span> *contextType, <span class="keywordtype">bool</span> openOnly = <span class="keyword">true</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL);</div> +<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> +<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85">httpHead</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *url, <span class="keyword">const</span> <span class="keywordtype">char</span> *certFilename = NULL);</div> +<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div> +<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec">httpAddHeader</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <span class="keyword">const</span> <span class="keywordtype">char</span> *key, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div> <div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div> -<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keyword">private</span>:</div> -<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect;</div> -<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> };</div> -<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div> -<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> }</div> -<div class="ttc" id="group__api__socket__types_html_ga69dc55558df4c81599c5fb3dff98756d"><div class="ttname"><a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">wiconnect::SocketType</a></div><div class="ttdeci">SocketType</div><div class="ttdoc">Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00324">WiconnectTypes.h:324</a></div></div> +<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517">httpGetStatus</a>(<a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint32_t *statusCodePtr);</div> +<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div> +<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>(<a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect);</div> +<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  ~<a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>();</div> +<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div> +<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor">#ifdef WICONNECT_GPIO_IRQ_ENABLED</span></div> +<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  SocketIrqHandlerMap irqHandlers;</div> +<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div> +<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  uint32_t serverConnectedClientList;</div> +<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div> +<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> pollForServerClient(uint8_t *handle = NULL, uint16_t *localPort = NULL, uint16_t *remotePort = NULL, uint32_t *ipAddress = NULL);</div> +<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div> +<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordtype">void</span> socketClosedCallback(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> *socket);</div> +<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div> +<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a>;</div> +<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div> +<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="keyword">private</span>:</div> +<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect;</div> +<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> };</div> +<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div> +<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> }</div> +<div class="ttc" id="group__api__socket__udp_html_ga0ca5eabcd64ce45b574205447101f8aa"><div class="ttname"><a href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">wiconnect::SocketInterface::udpConnect</a></div><div class="ttdeci">WiconnectResult udpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort=SOCKET_ANY_PORT GPIO_IRQ_ARG_NC)</div><div class="ttdoc">Connect to remote UDP server. </div></div> +<div class="ttc" id="group__api__socket__types_html_ga69dc55558df4c81599c5fb3dff98756d"><div class="ttname"><a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">wiconnect::SocketType</a></div><div class="ttdeci">SocketType</div><div class="ttdoc">Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00338">WiconnectTypes.h:338</a></div></div> <div class="ttc" id="group__api__socket__http_html_ga1b6a3ebdbd164f0eb683fc335ef4d365"><div class="ttname"><a href="group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365">wiconnect::SocketInterface::httpPost</a></div><div class="ttdeci">WiconnectResult httpPost(WiconnectSocket &socket, const char *url, const char *contextType, bool openOnly=true, const char *certFilename=NULL)</div><div class="ttdoc">Issue HTTP POST Request. </div></div> -<div class="ttc" id="group__api__socket__udp_html_ga80f1d19174124f3d0f246e1c1201b3ec"><div class="ttname"><a href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">wiconnect::SocketInterface::udpConnect</a></div><div class="ttdeci">WiconnectResult udpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort=SOCKET_ANY_PORT, Pin irqPin=PIN_NC)</div><div class="ttdoc">Connect to remote UDP server. </div></div> -<div class="ttc" id="group__api__socket__tls_html_gacf10d28ced4591d99c4113ebee6382ca"><div class="ttname"><a href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">wiconnect::SocketInterface::tlsConnect</a></div><div class="ttdeci">WiconnectResult tlsConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL, Pin irqPin=PIN_NC)</div><div class="ttdoc">Connect to remote TLS server. </div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_udp_server_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_udp_server.html">wiconnect::WiconnectUdpServer</a></div><div class="ttdoc">UDP Server Listening socket. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_udp_server_8h_source.html#l00044">WiconnectUdpServer.h:44</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga45fe565132845ca570ded816f25561b0"><div class="ttname"><a href="group__api__core__macro.html#ga45fe565132845ca570ded816f25561b0">WICONNECT_MAX_SOCKETS</a></div><div class="ttdeci">#define WICONNECT_MAX_SOCKETS</div><div class="ttdoc">The maximum number of simulanteous opened sockets. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00116">WiconnectTypes.h:116</a></div></div> -<div class="ttc" id="group__api__socket__misc_html_ga94d1eb5407cb8b60ad366ecbe0e1b52a"><div class="ttname"><a href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">wiconnect::SocketInterface::registerSocketIrqHandler</a></div><div class="ttdeci">WiconnectResult registerSocketIrqHandler(Pin irqPin, const Callback &handler)</div><div class="ttdoc">Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. </div></div> -<div class="ttc" id="group__api__socket__misc_html_ga820d2fdb12d343212638e55633bd8551"><div class="ttname"><a href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">wiconnect::SocketInterface::unregisterSocketIrqHandler</a></div><div class="ttdeci">WiconnectResult unregisterSocketIrqHandler(Pin irqPin)</div><div class="ttdoc">Unregister a previously registered IRQ pin. </div></div> -<div class="ttc" id="group__api__socket__macro_html_gae54117ebe433295ef992b9ca83c46d98"><div class="ttname"><a href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a></div><div class="ttdeci">#define SOCKET_ANY_PORT</div><div class="ttdoc">Default which indicates to use the most optimal port. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00147">WiconnectTypes.h:147</a></div></div> +<div class="ttc" id="group__api__socket__tcp_html_ga9f4f3e53ea7f4e84d43529da8580aaaa"><div class="ttname"><a href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">wiconnect::SocketInterface::tcpListen</a></div><div class="ttdeci">WiconnectResult tcpListen(uint16_t listeningPort, int maxClients=0 GPIO_IRQ_ARG_NC)</div><div class="ttdoc">Start internal TCP server and listen on specified port. </div></div> +<div class="ttc" id="group__api__socket__tls_html_ga4e6e89eb9aedec1ff6d25645c33f51e4"><div class="ttname"><a href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">wiconnect::SocketInterface::tlsConnect</a></div><div class="ttdeci">WiconnectResult tlsConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL GPIO_IRQ_ARG_NC)</div><div class="ttdoc">Connect to remote TLS server. </div></div> +<div class="ttc" id="group__api__socket__tcp_html_gad8e8632715a38222ce4fea5fe0aaf527"><div class="ttname"><a href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">wiconnect::SocketInterface::tcpConnect</a></div><div class="ttdeci">WiconnectResult tcpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG_NC)</div><div class="ttdoc">Connect to remote TCP server. </div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_interface_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></div><div class="ttdoc">The provides an interface for http://goHACK.me. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_interface_8h_source.html#l00081">GhmInterface.h:81</a></div></div> +<div class="ttc" id="group__api__socket__macro_html_gae54117ebe433295ef992b9ca83c46d98"><div class="ttname"><a href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a></div><div class="ttdeci">#define SOCKET_ANY_PORT</div><div class="ttdoc">Default which indicates to use the most optimal port. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00154">WiconnectTypes.h:154</a></div></div> <div class="ttc" id="group__api__socket__http_html_gabed18edc44f464bac64ce8a6dc3617ec"><div class="ttname"><a href="group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec">wiconnect::SocketInterface::httpAddHeader</a></div><div class="ttdeci">WiconnectResult httpAddHeader(WiconnectSocket &socket, const char *key, const char *value)</div><div class="ttdoc">Add HTTP header key/value pair to opened HTTP request. </div></div> <div class="ttc" id="group__api__socket__misc_html_ga8a80d96efac7cc514fe7fc61d1878106"><div class="ttname"><a href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">wiconnect::SocketInterface::closeAllSockets</a></div><div class="ttdeci">WiconnectResult closeAllSockets()</div><div class="ttdoc">Close all opened sockets. </div></div> <div class="ttc" id="group__api__socket__http_html_ga181a03d883f60dff0c03b65e066f0eed"><div class="ttname"><a href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">wiconnect::SocketInterface::httpConnect</a></div><div class="ttdeci">WiconnectResult httpConnect(WiconnectSocket &socket, const char *url, const HttpSocketArgs *args)</div><div class="ttdoc">Connect to remote HTTP server. </div></div> -<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00123">sdk.h:123</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00134">sdk.h:134</a></div></div> <div class="ttc" id="group__api__socket__http_html_gac9b6c6a348f790cc8d43889dd72029f6"><div class="ttname"><a href="group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6">wiconnect::SocketInterface::httpGet</a></div><div class="ttdeci">WiconnectResult httpGet(WiconnectSocket &socket, const char *url, bool openOnly=false, const char *certFilename=NULL)</div><div class="ttdoc">Issue HTTP GET Request. </div></div> -<div class="ttc" id="group__api__socket__tcp_html_ga0ea4efc810c7c5a9fbd96fcc627633b3"><div class="ttname"><a href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">wiconnect::SocketInterface::tcpAccept</a></div><div class="ttdeci">WiconnectResult tcpAccept(WiconnectSocket &socket, int timeoutMs=WICONNECT_WAIT_FOREVER)</div><div class="ttdoc">Wait for next client to connect to TCP server. </div></div> +<div class="ttc" id="group__api__socket__tcp_html_ga9e12bc568b7e8d72152e53a90de13035"><div class="ttname"><a href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">wiconnect::SocketInterface::tcpAccept</a></div><div class="ttdeci">WiconnectResult tcpAccept(WiconnectSocket &socket, uint32_t timeoutMs=WICONNECT_WAIT_FOREVER)</div><div class="ttdoc">Wait for next client to connect to TCP server. </div></div> <div class="ttc" id="group__api__socket__http_html_gabcb3d69b2b1718e7ebe1ed171dec1f85"><div class="ttname"><a href="group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85">wiconnect::SocketInterface::httpHead</a></div><div class="ttdeci">WiconnectResult httpHead(WiconnectSocket &socket, const char *url, const char *certFilename=NULL)</div><div class="ttdoc">Issue HTTP HEAD Request. </div></div> -<div class="ttc" id="group__api__socket__tcp_html_ga4a788d604d759b5da51f682b998b9bd2"><div class="ttname"><a href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">wiconnect::SocketInterface::tcpConnect</a></div><div class="ttdeci">WiconnectResult tcpConnect(WiconnectSocket &socket, const char *host, uint16_t remortPort, Pin irqPin=PIN_NC)</div><div class="ttdoc">Connect to remote TCP server. </div></div> +<div class="ttc" id="group__api__socket__misc_html_gab24204ef309b6e7a52b03b35a7046b45"><div class="ttname"><a href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">wiconnect::SocketInterface::connect</a></div><div class="ttdeci">WiconnectResult connect(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG)</div><div class="ttdoc">Connect to remote server. </div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_socket_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></div><div class="ttdoc">Connection object to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_socket_8h_source.html#l00043">WiconnectSocket.h:43</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga580e5f45fee866c845e0d3fd1eb1744a"><div class="ttname"><a href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a></div><div class="ttdeci">#define WICONNECT_WAIT_FOREVER</div><div class="ttdoc">Never timeout. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00131">WiconnectTypes.h:131</a></div></div> -<div class="ttc" id="classwiconnect_1_1_socket_interface_html"><div class="ttname"><a href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_socket_interface_8h_source.html#l00051">SocketInterface.h:51</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga580e5f45fee866c845e0d3fd1eb1744a"><div class="ttname"><a href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a></div><div class="ttdeci">#define WICONNECT_WAIT_FOREVER</div><div class="ttdoc">Never timeout. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00138">WiconnectTypes.h:138</a></div></div> +<div class="ttc" id="classwiconnect_1_1_socket_interface_html"><div class="ttname"><a href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_socket_interface_8h_source.html#l00063">SocketInterface.h:63</a></div></div> <div class="ttc" id="group__api__socket__tcp_html_ga3d0137ebe308674e75f81457c38679d0"><div class="ttname"><a href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">wiconnect::SocketInterface::tcpServerStop</a></div><div class="ttdeci">WiconnectResult tcpServerStop(void)</div><div class="ttdoc">Stop TCP server from listening on port. Close all connected clients. </div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> -<div class="ttc" id="group__api__socket__tcp_html_ga563831b33089437233f128483d034578"><div class="ttname"><a href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">wiconnect::SocketInterface::tcpListen</a></div><div class="ttdeci">WiconnectResult tcpListen(uint16_t listeningPort, int maxClients=0, Pin irqPin=PIN_NC)</div><div class="ttdoc">Start internal TCP server and listen on specified port. </div></div> -<div class="ttc" id="group__api__socket__misc_html_ga037cb2813683697342fff01239c7f6f8"><div class="ttname"><a href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">wiconnect::SocketInterface::connect</a></div><div class="ttdeci">WiconnectResult connect(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args, Pin irqPin)</div><div class="ttdoc">Connect to remote server. </div></div> -<div class="ttc" id="structwiconnect_1_1_http_socket_args_html"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html">wiconnect::HttpSocketArgs</a></div><div class="ttdoc">Struct for hold HTTP socket configuration. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00348">WiconnectTypes.h:348</a></div></div> -<div class="ttc" id="group__api__core__macro_html_gaa1dbeca66111f3a22d0ee6b122d69270"><div class="ttname"><a href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></div><div class="ttdeci">#define PIN_NC</div><div class="ttdoc">Default value for a pin, Not connected. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00117">sdk.h:117</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> +<div class="ttc" id="group__api__socket__udp_html_ga067fb0d662d8e27e3f5b561ded29a51a"><div class="ttname"><a href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">wiconnect::SocketInterface::udpListen</a></div><div class="ttdeci">WiconnectResult udpListen(WiconnectUdpServer &udpServer, uint16_t listeningPort)</div><div class="ttdoc">Start a UDP server listening on the given port. </div></div> +<div class="ttc" id="structwiconnect_1_1_http_socket_args_html"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html">wiconnect::HttpSocketArgs</a></div><div class="ttdoc">Struct for hold HTTP socket configuration. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00364">WiconnectTypes.h:364</a></div></div> <div class="ttc" id="group__api__socket__http_html_gadf59ca0783b89ee32f205e33f1bd5517"><div class="ttname"><a href="group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517">wiconnect::SocketInterface::httpGetStatus</a></div><div class="ttdeci">WiconnectResult httpGetStatus(WiconnectSocket &socket, uint32_t *statusCodePtr)</div><div class="ttdoc">Get the HTTP status code from HTTP request. </div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/_socket_irq_handler_map_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_socket_irq_handler_map_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -105,7 +105,7 @@ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "Wiconnect.h"</span></div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "types/PinIrqHandler.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "PinIrqHandler.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>wiconnect</div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> {</div> @@ -197,12 +197,12 @@ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div> <div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195">wiconnect::WICONNECT_NOT_FOUND</a></div><div class="ttdoc">Not found. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00181">WiconnectTypes.h:181</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00123">sdk.h:123</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4">wiconnect::WICONNECT_DUPLICATE</a></div><div class="ttdoc">Duplicate value. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00180">WiconnectTypes.h:180</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00165">WiconnectTypes.h:165</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195">wiconnect::WICONNECT_NOT_FOUND</a></div><div class="ttdoc">Not found. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00188">WiconnectTypes.h:188</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00134">sdk.h:134</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4">wiconnect::WICONNECT_DUPLICATE</a></div><div class="ttdoc">Duplicate value. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00187">WiconnectTypes.h:187</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00172">WiconnectTypes.h:172</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_string_util_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_string_util_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -379,114 +379,124 @@ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> result;</div> <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  }</div> <div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div> -<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="comment">/*************************************************************************************************/</span></div> -<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> strToUint16(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, uint16_t *uint16Ptr)</div> -<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div> -<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  intmax_t r;</div> -<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordtype">bool</span> result = StringUtil::parseInt(str, &r, 0, USHRT_MAX);</div> -<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  *uint16Ptr = (uint16_t)r;</div> -<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> result;</div> -<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  }</div> -<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div> -<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="comment">/*************************************************************************************************/</span></div> -<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> strToInt32(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, int32_t *int32Ptr)</div> -<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div> -<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  intmax_t r;</div> -<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordtype">bool</span> result = StringUtil::parseInt(str, &r, INT_MIN, INT_MAX);</div> -<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  *int32Ptr = (int32_t)r;</div> -<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> result;</div> -<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div> -<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> -<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="comment">/*************************************************************************************************/</span></div> -<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="comment">// uint32 hex string to uint32</span></div> -<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> strHexToUint32(<span class="keyword">const</span> <span class="keywordtype">char</span> *strHex, uint32_t *uint32Ptr)</div> +<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div> +<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="comment">/*************************************************************************************************/</span></div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> strToUint16(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, uint16_t *uint16Ptr)</div> +<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div> +<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  intmax_t r;</div> +<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordtype">bool</span> result = StringUtil::parseInt(str, &r, 0, USHRT_MAX);</div> +<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  *uint16Ptr = (uint16_t)r;</div> +<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> result;</div> +<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div> +<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div> +<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="comment">/*************************************************************************************************/</span></div> +<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> strToUint8(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, uint8_t *uint8Ptr)</div> +<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div> +<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  intmax_t r;</div> +<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordtype">bool</span> result = StringUtil::parseInt(str, &r, 0, UCHAR_MAX);</div> +<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  *uint8Ptr = (uint8_t)r;</div> +<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> result;</div> +<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div> +<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="comment">/*************************************************************************************************/</span></div> +<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> strToInt32(<span class="keyword">const</span> <span class="keywordtype">char</span> *str, int32_t *int32Ptr)</div> <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div> <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  intmax_t r;</div> -<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordtype">bool</span> result = StringUtil::parseHex(strHex, &r, 0, UINT_MAX);</div> -<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  *uint32Ptr = (uint32_t)r;</div> +<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordtype">bool</span> result = StringUtil::parseInt(str, &r, INT_MIN, INT_MAX);</div> +<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  *int32Ptr = (int32_t)r;</div> <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> result;</div> <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div> <div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div> <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="comment">/*************************************************************************************************/</span></div> -<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keyword">static</span> <span class="keywordtype">char</span> *strtok_r(<span class="keywordtype">char</span> *str, <span class="keyword">const</span> <span class="keywordtype">char</span> *delim, <span class="keywordtype">char</span> **nextp)</div> -<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  {</div> -<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordtype">char</span> *ret;</div> -<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div> -<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">if</span> (str == NULL)</div> -<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div> -<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  str = *nextp;</div> -<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  }</div> +<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="comment">// uint32 hex string to uint32</span></div> +<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> strHexToUint32(<span class="keyword">const</span> <span class="keywordtype">char</span> *strHex, uint32_t *uint32Ptr)</div> +<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  {</div> +<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  intmax_t r;</div> +<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordtype">bool</span> result = StringUtil::parseHex(strHex, &r, 0, UINT_MAX);</div> +<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  *uint32Ptr = (uint32_t)r;</div> +<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">return</span> result;</div> +<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  }</div> <div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div> -<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  str += strspn(str, delim);</div> -<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div> -<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">if</span> (*str == <span class="charliteral">'\0'</span>)</div> -<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  {</div> -<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> NULL;</div> -<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  }</div> -<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div> -<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  ret = str;</div> -<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div> -<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  str += strcspn(str, delim);</div> -<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div> -<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">if</span> (*str)</div> -<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  {</div> -<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  *str++ = <span class="charliteral">'\0'</span>;</div> -<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  }</div> -<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div> -<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  *nextp = str;</div> -<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div> -<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> ret;</div> -<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div> +<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="comment">/*************************************************************************************************/</span></div> +<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keyword">static</span> <span class="keywordtype">char</span> *strtok_r(<span class="keywordtype">char</span> *str, <span class="keyword">const</span> <span class="keywordtype">char</span> *delim, <span class="keywordtype">char</span> **nextp)</div> +<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  {</div> +<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordtype">char</span> *ret;</div> +<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div> +<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">if</span> (str == NULL)</div> +<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  {</div> +<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  str = *nextp;</div> +<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div> +<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div> +<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  str += strspn(str, delim);</div> +<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div> +<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">if</span> (*str == <span class="charliteral">'\0'</span>)</div> +<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  {</div> +<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">return</span> NULL;</div> +<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  }</div> +<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div> +<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  ret = str;</div> +<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div> +<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  str += strcspn(str, delim);</div> <div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div> -<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="comment">/*************************************************************************************************/</span></div> -<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> strncasecmp(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n)</div> -<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div> -<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">if</span> (n == 0)</div> -<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> 0;</div> -<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div> -<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">while</span> (n-- != 0 && tolower(*s1) == tolower(*s2))</div> -<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  {</div> -<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span> (n == 0 || *s1 == <span class="charliteral">'\0'</span> || *s2 == <span class="charliteral">'\0'</span>)</div> -<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">break</span>;</div> -<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  s1++;</div> -<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  s2++;</div> -<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  }</div> -<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div> -<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">return</span> tolower(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s1) - tolower(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s2);</div> -<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  }</div> -<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div> -<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="comment">/*************************************************************************************************/</span></div> -<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> strcasecmp(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2)</div> -<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  {</div> -<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keyword">register</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *p1 = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s1;</div> -<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keyword">register</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *p2 = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s2;</div> -<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c1, c2;</div> +<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">if</span> (*str)</div> +<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  {</div> +<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  *str++ = <span class="charliteral">'\0'</span>;</div> +<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  }</div> +<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div> +<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  *nextp = str;</div> +<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div> +<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span> ret;</div> +<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  }</div> +<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div> +<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="comment">/*************************************************************************************************/</span></div> +<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> strncasecmp(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n)</div> +<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div> +<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">if</span> (n == 0)</div> +<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div> +<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">while</span> (n-- != 0 && tolower(*s1) == tolower(*s2))</div> +<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  {</div> +<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">if</span> (n == 0 || *s1 == <span class="charliteral">'\0'</span> || *s2 == <span class="charliteral">'\0'</span>)</div> +<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  s1++;</div> +<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  s2++;</div> +<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  }</div> <div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div> -<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordflow">if</span> (p1 == p2)</div> -<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keywordflow">return</span> tolower(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s1) - tolower(*(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s2);</div> +<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  }</div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div> -<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">do</span></div> -<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  {</div> -<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  c1 = tolower (*p1);</div> -<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  c2 = tolower (*p2);</div> -<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div> -<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">if</span> (c1 == <span class="charliteral">'\0'</span>)</div> -<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">break</span>;</div> -<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div> -<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  ++p1;</div> -<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  ++p2;</div> -<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div> -<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">while</span> (c1 == c2);</div> -<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div> -<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">if</span> (UCHAR_MAX <= INT_MAX)</div> -<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">return</span> c1 - c2;</div> -<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keywordflow">else</span></div> -<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="comment">/* On machines where 'char' and 'int' are types of the same size, the</span></div> -<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment"> difference of two 'unsigned char' values - including the sign bit -</span></div> -<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> doesn't fit in an 'int'. */</span></div> -<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">return</span> (c1 > c2 ? 1 : c1 < c2 ? -1 : 0);</div> -<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  }</div> -<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> };</div> +<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="comment">/*************************************************************************************************/</span></div> +<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> strcasecmp(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2)</div> +<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  {</div> +<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keyword">register</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *p1 = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s1;</div> +<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keyword">register</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *p2 = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *) s2;</div> +<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> c1, c2;</div> +<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div> +<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">if</span> (p1 == p2)</div> +<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">return</span> 0;</div> +<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div> +<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">do</span></div> +<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  {</div> +<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  c1 = tolower (*p1);</div> +<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  c2 = tolower (*p2);</div> +<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div> +<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keywordflow">if</span> (c1 == <span class="charliteral">'\0'</span>)</div> +<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">break</span>;</div> +<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div> +<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  ++p1;</div> +<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  ++p2;</div> +<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  }</div> +<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">while</span> (c1 == c2);</div> +<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div> +<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">if</span> (UCHAR_MAX <= INT_MAX)</div> +<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">return</span> c1 - c2;</div> +<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">else</span></div> +<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="comment">/* On machines where 'char' and 'int' are types of the same size, the</span></div> +<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="comment"> difference of two 'unsigned char' values - including the sign bit -</span></div> +<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment"> doesn't fit in an 'int'. */</span></div> +<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">return</span> (c1 > c2 ? 1 : c1 < c2 ? -1 : 0);</div> +<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  }</div> +<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> };</div> <div class="ttc" id="class_string_util_html"><div class="ttname"><a href="class_string_util.html">StringUtil</a></div><div class="ttdef"><b>Definition:</b> <a href="_string_util_8h_source.html#l00045">StringUtil.h:45</a></div></div> <div class="ttc" id="group__api__core__macro_html_ga77baa56c8d3584b953f0a2626e6844ad"><div class="ttname"><a href="group__api__core__macro.html#ga77baa56c8d3584b953f0a2626e6844ad">ARRAY_COUNT</a></div><div class="ttdeci">#define ARRAY_COUNT(x)</div><div class="ttdoc">Return number of elements in static array x. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00084">WiconnectTypes.h:84</a></div></div> </div><!-- fragment --></div><!-- contents -->
--- a/doc/html/_timeout_timer_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_timeout_timer_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -115,18 +115,19 @@ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordtype">void</span> reset(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  uint32_t remainingMs(uint32_t timeoutMs);</div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  uint32_t readUs();</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> remainingMs(<a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs);</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> readMs();</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">bool</span> timedOut(uint32_t timeoutMs);</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">bool</span> timedOut(<a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs);</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  uint32_t _start;</div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">volatile</span> <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> _start;</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span> };</div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div> +<div class="ttc" id="namespacewiconnect_html_a0c27570b2913afc6339821df7c934810"><div class="ttname"><a href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">wiconnect::TimerTimeout</a></div><div class="ttdeci">unsigned long TimerTimeout</div><div class="ttdoc">Timeout type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00212">WiconnectTypes.h:212</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_wiconnect_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_wiconnect_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "WiconnectInterface.h"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "api/WiconnectInterface.h"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">using namespace </span>wiconnect;</div>
--- a/doc/html/_wiconnect_file_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_wiconnect_file_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -158,13 +158,13 @@ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span> };</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_file_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_file.html">wiconnect::WiconnectFile</a></div><div class="ttdoc">WiConnect WiFi module file object. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_file_8h_source.html#l00044">WiconnectFile.h:44</a></div></div> <div class="ttc" id="classwiconnect_1_1_file_list_html"><div class="ttname"><a href="classwiconnect_1_1_file_list.html">wiconnect::FileList</a></div><div class="ttdoc">WiConnect WiFi module file listing. </div><div class="ttdef"><b>Definition:</b> <a href="_file_list_8h_source.html#l00044">FileList.h:44</a></div></div> -<div class="ttc" id="group__api__file__types_html_ga9919a4237eea2b0d1f27c16d64e62c63"><div class="ttname"><a href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">wiconnect::FileType</a></div><div class="ttdeci">FileType</div><div class="ttdoc">File type type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00383">WiconnectTypes.h:383</a></div></div> -<div class="ttc" id="group__api__file__types_html_gafbe48908f5c190c3b0f272d3016e609e"><div class="ttname"><a href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">wiconnect::FileFlags</a></div><div class="ttdeci">FileFlags</div><div class="ttdoc">File flags type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00364">WiconnectTypes.h:364</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga8bc3b8d2e7e7c9d10b23e0a15cd4507a"><div class="ttname"><a href="group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a">WICONNECT_MAX_FILENAME_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_FILENAME_SIZE</div><div class="ttdoc">The maximum Wiconnect Module flash filesystem filename length. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00126">WiconnectTypes.h:126</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="group__api__file__types_html_ga9919a4237eea2b0d1f27c16d64e62c63"><div class="ttname"><a href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">wiconnect::FileType</a></div><div class="ttdeci">FileType</div><div class="ttdoc">File type type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00399">WiconnectTypes.h:399</a></div></div> +<div class="ttc" id="group__api__file__types_html_gafbe48908f5c190c3b0f272d3016e609e"><div class="ttname"><a href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">wiconnect::FileFlags</a></div><div class="ttdeci">FileFlags</div><div class="ttdoc">File flags type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00380">WiconnectTypes.h:380</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga8bc3b8d2e7e7c9d10b23e0a15cd4507a"><div class="ttname"><a href="group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a">WICONNECT_MAX_FILENAME_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_FILENAME_SIZE</div><div class="ttdoc">The maximum Wiconnect Module flash filesystem filename length. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00133">WiconnectTypes.h:133</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> <div class="ttc" id="classwiconnect_1_1_file_interface_html"><div class="ttname"><a href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_file_interface_8h_source.html#l00068">FileInterface.h:68</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/_wiconnect_interface_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_wiconnect_interface_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -110,262 +110,285 @@ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "types/LogFunc.h"</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "types/ReaderFunc.h"</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "types/Callback.h"</span></div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "types/QueuedCommand.h"</span></div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "types/CommandQueue.h"</span></div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "types/TimeoutTimer.h"</span></div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "types/PeriodicTimer.h"</span></div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "types/Gpio.h"</span></div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "types/WiconnectSerial.h"</span></div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div> -<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "NetworkInterface.h"</span></div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "SocketInterface.h"</span></div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "FileInterface.h"</span></div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#ifdef WICONNECT_ENABLE_MALLOC</span></div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#define WICONNECT_MALLOC_ARGS , void* (*malloc_)(size_t) = WICONNECT_DEFAULT_MALLOC, void (*free_)(void*) = WICONNECT_DEFAULT_FREE</span></div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#else</span></div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#define WICONNECT_MALLOC_ARGS</span></div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">namespace </span>wiconnect {</div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div> -<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_wiconnect.html"> 74</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> : <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>,</div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>,</div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_file_interface.html">FileInterface</a></div> -<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div> -<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">public</span>:</div> -<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> -<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389">Wiconnect</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a> &serialConfig, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> <a class="code" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">reset</a> = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> wake = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <span class="keywordtype">bool</span> nonBlocking = <a class="code" href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401">WICONNECT_DEFAULT_NONBLOCKING</a> WICONNECT_MALLOC_ARGS);</div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div> -<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389">Wiconnect</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a> &serialConfig, <span class="keywordtype">int</span> internalBufferSize, <span class="keywordtype">void</span> *internalBuffer = NULL, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> <a class="code" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">reset</a> = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> wake = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <span class="keywordtype">bool</span> nonBlocking = <a class="code" href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401">WICONNECT_DEFAULT_NONBLOCKING</a> WICONNECT_MALLOC_ARGS);</div> -<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ~<a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a>();</div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> -<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div> -<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div> -<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">static</span> <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a>* <a class="code" href="group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e">getInstance</a>();</div> -<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">init</a>(<span class="keywordtype">bool</span> bringNetworkUp=<span class="keyword">false</span>);</div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6">deinit</a>();</div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">bool</span> <a class="code" href="group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff">isInitialized</a>();</div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">reset</a>();</div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5">wakeup</a>();</div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> -<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713">flush</a>(<span class="keywordtype">int</span> <a class="code" href="group__api__core__macro.html#ga596d1da2fb23f4e748c83d64a47e10b3">delayMs</a> = 500);</div> -<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div> -<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f">getVersion</a>(<span class="keywordtype">char</span> *versionBuffer = NULL, <span class="keywordtype">int</span> versionBufferSize = 0, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> -<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div> -<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div> -<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">updateFirmware</a>(<span class="keywordtype">bool</span> forced = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *versionStr = NULL, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> -<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> -<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div> -<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div> -<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div> -<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen,</div> -<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordtype">int</span> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, va_list vaList);</div> -<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <span class="keywordtype">int</span> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader,</div> -<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, va_list vaList);</div> -<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div> -<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <span class="keywordtype">int</span> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader,</div> -<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div> -<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>( <span class="keywordtype">int</span> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div> -<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div> -<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <span class="keywordtype">int</span> timeoutMs, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div> -<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div> -<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div> -<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div> -<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div> -<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <span class="keywordtype">int</span> timeoutMs, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div> -<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keywordtype">int</span> timeoutMs, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> -<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div> -<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, va_list vaList);</div> -<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> </div> -<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd">checkCurrentCommand</a>();</div> -<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div> -<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0">stopCurrentCommand</a>();</div> -<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div> -<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div> -<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div> -<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> </div> -<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a">getLastCommandResponseCodeStr</a>();</div> -<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div> -<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  uint16_t <a class="code" href="group__api__core__misc.html#ga600215de23210071c42996d04390071e">getLastCommandResponseLength</a>();</div> -<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div> -<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordtype">char</span>* <a class="code" href="group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8">getResponseBuffer</a>();</div> -<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> </div> -<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565">responseToUint32</a>(uint32_t *uint32Ptr);</div> -<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div> -<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0">responseToInt32</a>(int32_t *int32Ptr);</div> -<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div> -<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> </div> -<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div> -<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec">setSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, uint32_t value);</div> -<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div> -<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec">setSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div> -<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div> -<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">getSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, uint32_t *valuePtr);</div> -<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div> -<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">getSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, <span class="keywordtype">char</span> **valuePtr);</div> -<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div> -<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">getSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, <span class="keywordtype">char</span> *valueBuffer, uint16_t valueBufferLen);</div> -<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div> -<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div> -<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">setCommandDefaultTimeout</a>(<span class="keywordtype">int</span> timeoutMs);</div> -<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div> -<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordtype">int</span> <a class="code" href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">getCommandDefaultTimeout</a>();</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "types/TimeoutTimer.h"</span></div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "types/PeriodicTimer.h"</span></div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "types/Gpio.h"</span></div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "types/WiconnectSerial.h"</span></div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> +<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#ifdef WICONNECT_ASYNC_TIMER_ENABLED</span></div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "types/QueuedCommand.h"</span></div> +<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "types/CommandQueue.h"</span></div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "NetworkInterface.h"</span></div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "SocketInterface.h"</span></div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "FileInterface.h"</span></div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "GhmInterface.h"</span></div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#ifdef WICONNECT_ENABLE_MALLOC</span></div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#define WICONNECT_MALLOC_ARGS , void* (*malloc_)(size_t) = WICONNECT_DEFAULT_MALLOC, void (*free_)(void*) = WICONNECT_DEFAULT_FREE</span></div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#else</span></div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#define WICONNECT_MALLOC_ARGS</span></div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">namespace </span>wiconnect {</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> +<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_wiconnect.html"> 78</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> : <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>,</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>,</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_file_interface.html">FileInterface</a>,</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a></div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389">Wiconnect</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a> &serialConfig, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> <a class="code" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">reset</a> = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> wake = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <span class="keywordtype">bool</span> nonBlocking = <a class="code" href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401">WICONNECT_DEFAULT_NONBLOCKING</a> WICONNECT_MALLOC_ARGS);</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389">Wiconnect</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a> &serialConfig, <span class="keywordtype">int</span> internalBufferSize, <span class="keywordtype">void</span> *internalBuffer = NULL, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> <a class="code" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">reset</a> = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> wake = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>, <span class="keywordtype">bool</span> nonBlocking = <a class="code" href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401">WICONNECT_DEFAULT_NONBLOCKING</a> WICONNECT_MALLOC_ARGS);</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  ~<a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a>();</div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">static</span> <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a>* <a class="code" href="group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e">getInstance</a>();</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">init</a>(<span class="keywordtype">bool</span> bringNetworkUp=<span class="keyword">false</span>);</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6">deinit</a>();</div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">bool</span> <a class="code" href="group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff">isInitialized</a>();</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">reset</a>();</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5">wakeup</a>();</div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713">flush</a>(<span class="keywordtype">int</span> <a class="code" href="group__api__core__macro.html#ga596d1da2fb23f4e748c83d64a47e10b3">delayMs</a> = 500);</div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f">getVersion</a>(<span class="keywordtype">char</span> *versionBuffer = NULL, <span class="keywordtype">int</span> versionBufferSize = 0, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">updateFirmware</a>(<span class="keywordtype">bool</span> forced = <span class="keyword">false</span>, <span class="keyword">const</span> <span class="keywordtype">char</span> *versionStr = NULL, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> +<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen,</div> +<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, va_list vaList);</div> +<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader,</div> +<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, va_list vaList);</div> +<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader,</div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div> +<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div> +<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, <span class="keywordtype">void</span> *user, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div> +<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div> +<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div> +<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keywordtype">char</span> *responseBuffer, <span class="keywordtype">int</span> responseBufferLen, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div> +<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div> +<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div> +<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div> +<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, <span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, ...);</div> +<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div> +<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *cmd, va_list vaList);</div> +<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div> +<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd">checkCurrentCommand</a>();</div> +<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div> +<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0">stopCurrentCommand</a>();</div> +<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div> +<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div> +<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div> +<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div> +<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a">getLastCommandResponseCodeStr</a>();</div> +<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div> +<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  uint16_t <a class="code" href="group__api__core__misc.html#ga600215de23210071c42996d04390071e">getLastCommandResponseLength</a>();</div> +<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div> +<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordtype">char</span>* <a class="code" href="group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8">getResponseBuffer</a>();</div> +<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div> +<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565">responseToUint32</a>(uint32_t *uint32Ptr);</div> +<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div> +<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0">responseToInt32</a>(int32_t *int32Ptr);</div> +<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div> +<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div> +<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div> +<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec">setSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, uint32_t value);</div> +<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div> +<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec">setSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, <span class="keyword">const</span> <span class="keywordtype">char</span> *value);</div> +<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div> +<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">getSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, uint32_t *valuePtr);</div> +<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div> +<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">getSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, <span class="keywordtype">char</span> **valuePtr);</div> +<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div> +<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <a class="code" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">getSetting</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *settingStr, <span class="keywordtype">char</span> *valueBuffer, uint16_t valueBufferLen);</div> +<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div> +<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> </div> +<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">setBlockingEnabled</a>(<span class="keywordtype">bool</span> blockingEnabled);</div> +<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div> +<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordtype">bool</span> <a class="code" href="group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad">getBlockingEnabled</a>(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00624"></a><span class="lineno"> 624</span> </div> -<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">setPinToGpioMapper</a>(<a class="code" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a> mapper);</div> -<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> </div> -<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e">setDebugLogger</a>(<a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> logFunc);</div> -<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div> -<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0">setAssertLogger</a>(<a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> assertLogFunc);</div> -<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div> +<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">setCommandDefaultTimeout</a>(<a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs);</div> +<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div> +<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> <a class="code" href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">getCommandDefaultTimeout</a>();</div> +<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div> +<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">setPinToGpioMapper</a>(<a class="code" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a> mapper);</div> <div class="line"><a name="l00654"></a><span class="lineno"> 654</span> </div> -<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> </div> -<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> </div> -<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor">#ifdef WICONNECT_ASYNC_TIMER_ENABLED</span></div> -<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div> -<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> enqueueCommand(<a class="code" href="classwiconnect_1_1_queued_command.html">QueuedCommand</a> *command, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &commandCompleteHandler = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> -<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div> -<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="keywordtype">void</span> setCommandProcessingPeriod(uint32_t periodMs);</div> -<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div> -<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div> -<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be">getWiconnectResultStr</a>(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnectResult);</div> -<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div> -<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> </div> -<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="preprocessor">#ifdef WICONNECT_ENABLE_MALLOC</span></div> -<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordtype">void</span>* (*_malloc)(size_t);</div> -<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  void (*_free)(<span class="keywordtype">void</span> *);</div> -<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_queued_command.html">QueuedCommand</a>;</div> -<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keyword">friend</span> <span class="keyword">class </span>WiconnectSerial;</div> -<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>;</div> -<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a>;</div> -<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a>;</div> -<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect_file.html">WiconnectFile</a>;</div> -<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div> -<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  wiconnect::WiconnectSerial serial;</div> -<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  wiconnect::Gpio resetGpio;</div> -<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  wiconnect::Gpio wakeGpio;</div> -<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> </div> -<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keyword">volatile</span> <span class="keywordtype">bool</span> commandExecuting;</div> -<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordtype">bool</span> initialized;</div> -<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordtype">bool</span> nonBlocking;</div> -<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> </div> -<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <a class="code" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a> pinToGpioMapper;</div> -<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> </div> -<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordtype">char</span> *internalBuffer;</div> -<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordtype">int</span> internalBufferSize;</div> -<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordtype">bool</span> internalBufferAlloc;</div> -<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  uint8_t internalProcessingState;</div> -<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keywordtype">void</span> *currentCommandId;</div> -<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div> -<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  wiconnect::TimeoutTimer timeoutTimer;</div> -<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keywordtype">int</span> defaultTimeoutMs;</div> -<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> </div> -<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  uint8_t commandHeaderBuffer[32];</div> -<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordtype">char</span> commandFormatBuffer[<a class="code" href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7">WICONNECT_MAX_CMD_SIZE</a>];</div> -<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  uint8_t commandContext[96];</div> -<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div> -<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keywordtype">void</span> prepare(<span class="keywordtype">void</span> *internalBuffer, <span class="keywordtype">int</span> internalBufferSize, <span class="keywordtype">bool</span> nonBlocking);</div> -<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <span class="keyword">inline</span> receiveResponse();</div> -<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <span class="keyword">inline</span> receivePacket();</div> -<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keywordtype">void</span> issueCommandCallback(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> result);</div> -<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div> -<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> debugLogger;</div> -<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> assertLogger;</div> -<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordtype">void</span> debugLog(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...);</div> -<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> </div> -<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="preprocessor">#ifdef WICONNECT_ASYNC_TIMER_ENABLED</span></div> -<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  wiconnect::PeriodicTimer commandProcessorTimer;</div> -<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  uint32_t commandProcessingPeriod;</div> -<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  CommandQueue commandQueue;</div> -<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <a class="code" href="classwiconnect_1_1_queued_command.html">wiconnect::QueuedCommand</a> *currentQueuedCommand;</div> -<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> </div> -<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keywordtype">void</span> commandProcessingTimerHandler(<span class="keywordtype">void</span>);</div> -<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="keywordtype">void</span> processNextQueuedCommand();</div> -<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordtype">void</span> checkQueuedCommandTimeout();</div> -<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div> -<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>;</div> -<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>;</div> -<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_file_interface.html">FileInterface</a>;</div> -<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> };</div> -<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> </div> -<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> }</div> -<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div> +<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e">setDebugLogger</a>(<a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> logFunc);</div> +<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div> +<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordtype">void</span> <a class="code" href="group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0">setAssertLogger</a>(<a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> assertLogFunc);</div> +<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div> +<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="comment">// ------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div> +<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div> +<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor">#ifdef WICONNECT_ASYNC_TIMER_ENABLED</span></div> +<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div> +<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> enqueueCommand(<a class="code" href="classwiconnect_1_1_queued_command.html">QueuedCommand</a> *command, <span class="keyword">const</span> <a class="code" href="classwiconnect_1_1_callback.html">Callback</a> &commandCompleteHandler = <a class="code" href="classwiconnect_1_1_callback.html">Callback</a>());</div> +<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div> +<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordtype">void</span> setCommandProcessingPeriod(uint32_t periodMs);</div> +<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div> +<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div> +<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be">getWiconnectResultStr</a>(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnectResult);</div> +<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> </div> +<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> </div> +<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="preprocessor">#ifdef WICONNECT_ENABLE_MALLOC</span></div> +<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keywordtype">void</span>* (*_malloc)(size_t);</div> +<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  void (*_free)(<span class="keywordtype">void</span> *);</div> +<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_queued_command.html">QueuedCommand</a>;</div> +<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keyword">friend</span> <span class="keyword">class </span>WiconnectSerial;</div> +<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_scan_result.html">ScanResult</a>;</div> +<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div> +<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  wiconnect::WiconnectSerial serial;</div> +<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  wiconnect::Gpio resetGpio;</div> +<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  wiconnect::Gpio wakeGpio;</div> +<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> </div> +<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keyword">volatile</span> <span class="keywordtype">bool</span> commandExecuting;</div> +<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordtype">bool</span> initialized;</div> +<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keywordtype">bool</span> nonBlocking;</div> +<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div> +<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <a class="code" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a> pinToGpioMapper;</div> +<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div> +<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="keywordtype">char</span> *internalBuffer;</div> +<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordtype">int</span> internalBufferSize;</div> +<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="keywordtype">bool</span> internalBufferAlloc;</div> +<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  uint8_t internalProcessingState;</div> +<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="keywordtype">void</span> *currentCommandId;</div> +<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div> +<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  wiconnect::TimeoutTimer timeoutTimer;</div> +<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> defaultTimeoutMs;</div> +<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div> +<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  uint8_t commandHeaderBuffer[32];</div> +<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordtype">char</span> commandFormatBuffer[<a class="code" href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7">WICONNECT_MAX_CMD_SIZE</a>];</div> +<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  uint8_t commandContext[96];</div> +<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> </div> +<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordtype">void</span> prepare(<span class="keywordtype">void</span> *internalBuffer, <span class="keywordtype">int</span> internalBufferSize, <span class="keywordtype">bool</span> nonBlocking);</div> +<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keywordtype">bool</span> configureModuleDataBus(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <span class="keyword">inline</span> receiveResponse();</div> +<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> <span class="keyword">inline</span> receivePacket();</div> +<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <span class="keywordtype">void</span> issueCommandCallback(<a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> result);</div> +<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div> +<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="preprocessor">#ifdef WICONNECT_ENABLE_DEBUGGING</span></div> +<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> debugLogger;</div> +<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <a class="code" href="classwiconnect_1_1_log_func.html">LogFunc</a> assertLogger;</div> <div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div> -<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="preprocessor">#include "sdkTypes.h"</span></div> +<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="keywordtype">void</span> debugLog(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg, ...);</div> <div class="line"><a name="l00760"></a><span class="lineno"> 760</span> </div> +<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="preprocessor">#ifdef WICONNECT_ASYNC_TIMER_ENABLED</span></div> +<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  wiconnect::PeriodicTimer commandProcessorTimer;</div> +<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  uint32_t commandProcessingPeriod;</div> +<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  CommandQueue commandQueue;</div> +<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <a class="code" href="classwiconnect_1_1_queued_command.html">wiconnect::QueuedCommand</a> *currentQueuedCommand;</div> +<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div> +<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordtype">void</span> commandProcessingTimerHandler(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keywordtype">void</span> processNextQueuedCommand();</div> +<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keywordtype">void</span> checkQueuedCommandTimeout();</div> +<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> </div> +<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a>;</div> +<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>;</div> +<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_file_interface.html">FileInterface</a>;</div> +<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a>;</div> +<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a>;</div> +<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a>;</div> +<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a>;</div> +<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect_file.html">WiconnectFile</a>;</div> +<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a>;</div> +<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a>;</div> +<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> };</div> +<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div> +<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div> +<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div> +<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> </div> +<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="preprocessor">#include "sdkTypes.h"</span></div> +<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div> <div class="ttc" id="group__conversion__util_html_gac96e2d2fca60cba12e7429626f9186be"><div class="ttname"><a href="group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be">wiconnect::Wiconnect::getWiconnectResultStr</a></div><div class="ttdeci">static const char * getWiconnectResultStr(WiconnectResult wiconnectResult)</div><div class="ttdoc">Converts a WiconnectResult to string representation. </div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_message_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_message.html">wiconnect::GhmMessage</a></div><div class="ttdoc">Contains single entry from goHACK.me message listing. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_message_8h_source.html#l00046">GhmMessage.h:46</a></div></div> <div class="ttc" id="group__api__core__settings_html_ga273f67fede26be4a3d5d909c5cf8c7e0"><div class="ttname"><a href="group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0">wiconnect::Wiconnect::setAssertLogger</a></div><div class="ttdeci">void setAssertLogger(LogFunc assertLogFunc)</div><div class="ttdoc">Sets callback used when Wiconnect Library hits and internal assertion. </div></div> <div class="ttc" id="group__api__core__misc_html_gad8069679fabb52d44647d27703f1a09a"><div class="ttname"><a href="group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a">wiconnect::Wiconnect::getLastCommandResponseCodeStr</a></div><div class="ttdeci">const char * getLastCommandResponseCodeStr()</div><div class="ttdoc">When the WiConnect WiFi module returns a response, it contains a response code in the header...</div></div> -<div class="ttc" id="namespacewiconnect_html_aadd4d5e6774e21f382c20b594a644470"><div class="ttname"><a href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">wiconnect::PinToGpioMapper</a></div><div class="ttdeci">int8_t(* PinToGpioMapper)(Pin pin)</div><div class="ttdoc">Function pointer for mapping from a host pin to a WiConnect Module GPIO. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00199">WiconnectTypes.h:199</a></div></div> -<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00049">NetworkInterface.h:49</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="namespacewiconnect_html_aadd4d5e6774e21f382c20b594a644470"><div class="ttname"><a href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">wiconnect::PinToGpioMapper</a></div><div class="ttdeci">int8_t(* PinToGpioMapper)(Pin pin)</div><div class="ttdoc">Function pointer for mapping from a host pin to a WiConnect Module GPIO. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00206">WiconnectTypes.h:206</a></div></div> +<div class="ttc" id="group__api__core__settings_html_ga851795595a422a14249b7ea9f0038c4c"><div class="ttname"><a href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">wiconnect::Wiconnect::setBlockingEnabled</a></div><div class="ttdeci">void setBlockingEnabled(bool blockingEnabled)</div><div class="ttdoc">Sets if API calls are blocking or non-blocking. </div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_udp_server_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_udp_server.html">wiconnect::WiconnectUdpServer</a></div><div class="ttdoc">UDP Server Listening socket. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_udp_server_8h_source.html#l00044">WiconnectUdpServer.h:44</a></div></div> +<div class="ttc" id="classwiconnect_1_1_network_interface_html"><div class="ttname"><a href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></div><div class="ttdoc">The provides an interface for joining and/or creating a network. It provides other utilities such as ...</div><div class="ttdef"><b>Definition:</b> <a href="_network_interface_8h_source.html#l00055">NetworkInterface.h:55</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="group__api__core__misc_html_gabec1504eb7f486085dad82c4a94310e3"><div class="ttname"><a href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">wiconnect::Wiconnect::reset</a></div><div class="ttdeci">WiconnectResult reset()</div><div class="ttdoc">Toggle the WiConnect WiFi module reset signal. </div></div> <div class="ttc" id="group__api__core__misc_html_ga96ac50d85d8ab376755d7d5325de1713"><div class="ttname"><a href="group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713">wiconnect::Wiconnect::flush</a></div><div class="ttdeci">void flush(int delayMs=500)</div><div class="ttdoc">Flush any received data in serial RX buffer and terminate any commands on WiConnect WiFi module...</div></div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> <div class="ttc" id="group__api__core__misc_html_gad552c8f23dd0a0e8844ee1fc4d9358e5"><div class="ttname"><a href="group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5">wiconnect::Wiconnect::wakeup</a></div><div class="ttdeci">WiconnectResult wakeup()</div><div class="ttdoc">Toggle the WiConnect WiFi moduel wakeup signal. </div></div> -<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00129">sdk.h:129</a></div></div> -<div class="ttc" id="group__api__core__send__command_html_ga3a2637e5ce300a03c448edf1eff13c2c"><div class="ttname"><a href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">wiconnect::Wiconnect::sendCommand</a></div><div class="ttdeci">WiconnectResult sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)</div><div class="ttdoc">Send command to WiConnect WiFi module. </div></div> +<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00140">sdk.h:140</a></div></div> +<div class="ttc" id="group__api__core__settings_html_gad8d98b8d2610f4ea564bede27e87857e"><div class="ttname"><a href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">wiconnect::Wiconnect::getCommandDefaultTimeout</a></div><div class="ttdeci">TimerTimeout getCommandDefaultTimeout()</div><div class="ttdoc">Returns the current default maximum API execution time. </div></div> <div class="ttc" id="group__api__core__settings_html_ga75fb083451ee530a1c19e6a4c1be185e"><div class="ttname"><a href="group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e">wiconnect::Wiconnect::setDebugLogger</a></div><div class="ttdeci">void setDebugLogger(LogFunc logFunc)</div><div class="ttdoc">Sets callback function used to debug WiConnect WiFi module RX/TX serial data. </div></div> <div class="ttc" id="group__api__core__misc_html_ga8dcd3ac87afd58b225abb068e835d06e"><div class="ttname"><a href="group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e">wiconnect::Wiconnect::getInstance</a></div><div class="ttdeci">static Wiconnect * getInstance()</div><div class="ttdoc">Get instance of previously instantiated Wiconnect Library. </div></div> <div class="ttc" id="group__api__core__send__command_html_gaf48c1ec0b92af2619ab846baaaa471cd"><div class="ttname"><a href="group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd">wiconnect::Wiconnect::checkCurrentCommand</a></div><div class="ttdeci">WiconnectResult checkCurrentCommand()</div><div class="ttdoc">Check the status of the currently executing command. </div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_message_list_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_message_list.html">wiconnect::GhmMessageList</a></div><div class="ttdoc">List of goHACK.me messages. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_message_list_8h_source.html#l00046">GhmMessageList.h:46</a></div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_file_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_file.html">wiconnect::WiconnectFile</a></div><div class="ttdoc">WiConnect WiFi module file object. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_file_8h_source.html#l00044">WiconnectFile.h:44</a></div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_interface_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></div><div class="ttdoc">The provides an interface for http://goHACK.me. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_interface_8h_source.html#l00081">GhmInterface.h:81</a></div></div> +<div class="ttc" id="group__api__core__settings_html_gacae50138f9388a66496408f9c2bf6a6f"><div class="ttname"><a href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">wiconnect::Wiconnect::setCommandDefaultTimeout</a></div><div class="ttdeci">void setCommandDefaultTimeout(TimerTimeout timeoutMs)</div><div class="ttdoc">Sets the default maximum time an API method may execute before terminating and return a timeout error...</div></div> <div class="ttc" id="group__api__core__misc_html_gac40b2964149e60245ff3cac6adbcd565"><div class="ttname"><a href="group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565">wiconnect::Wiconnect::responseToUint32</a></div><div class="ttdeci">WiconnectResult responseToUint32(uint32_t *uint32Ptr)</div><div class="ttdoc">Helper method to convert previous response to uint32. </div></div> <div class="ttc" id="classwiconnect_1_1_reader_func_html"><div class="ttname"><a href="classwiconnect_1_1_reader_func.html">wiconnect::ReaderFunc</a></div><div class="ttdoc">Generic data reading callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_reader_func_8h_source.html#l00045">ReaderFunc.h:45</a></div></div> <div class="ttc" id="group__api__core__misc_html_ga9d6c981a54c6ab964b469e4f247142d6"><div class="ttname"><a href="group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6">wiconnect::Wiconnect::deinit</a></div><div class="ttdeci">void deinit()</div><div class="ttdoc">De-initialize library. </div></div> <div class="ttc" id="group__api__core__misc_html_ga27b5d6b8207e4ef0f73875606d628da8"><div class="ttname"><a href="group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8">wiconnect::Wiconnect::getResponseBuffer</a></div><div class="ttdeci">char * getResponseBuffer()</div><div class="ttdoc">Return pointer to internal response buffer. </div></div> -<div class="ttc" id="group__api__core__settings_html_gaaaf8be221699870053ad98911b066a32"><div class="ttname"><a href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">wiconnect::Wiconnect::setCommandDefaultTimeout</a></div><div class="ttdeci">void setCommandDefaultTimeout(int timeoutMs)</div><div class="ttdoc">Sets the default maximum time an API method may execute before terminating and return a timeout error...</div></div> <div class="ttc" id="group__api__core__settings_html_gace51a2841415a53f54fcce336182f0ec"><div class="ttname"><a href="group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec">wiconnect::Wiconnect::setSetting</a></div><div class="ttdeci">WiconnectResult setSetting(const char *settingStr, uint32_t value)</div><div class="ttdoc">Set a module setting. </div></div> <div class="ttc" id="classwiconnect_1_1_queued_command_html"><div class="ttname"><a href="classwiconnect_1_1_queued_command.html">wiconnect::QueuedCommand</a></div><div class="ttdoc">Class which contains command for asynchronous processing. </div><div class="ttdef"><b>Definition:</b> <a href="_queued_command_8h_source.html#l00043">QueuedCommand.h:43</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00123">sdk.h:123</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00134">sdk.h:134</a></div></div> <div class="ttc" id="group__api__core__misc_html_gae2e3add2e60543d0e3340ed7a9e034ad"><div class="ttname"><a href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">wiconnect::Wiconnect::init</a></div><div class="ttdeci">WiconnectResult init(bool bringNetworkUp=false)</div><div class="ttdoc">Initialize library and communication link with WiConnect WiFi module. </div></div> <div class="ttc" id="group__api__core__settings_html_ga16d5022d1fbd784fe0fd90a56911c5bc"><div class="ttname"><a href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">wiconnect::Wiconnect::getSetting</a></div><div class="ttdeci">WiconnectResult getSetting(const char *settingStr, uint32_t *valuePtr)</div><div class="ttdoc">Get a module setting. </div></div> <div class="ttc" id="group__api__core__settings_html_ga180b043ec83c53b5bf6b9ef2b187d08d"><div class="ttname"><a href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">wiconnect::Wiconnect::setPinToGpioMapper</a></div><div class="ttdeci">void setPinToGpioMapper(PinToGpioMapper mapper)</div><div class="ttdoc">Sets a mapping function used to convert from a host Pin to WiConnect WiFi module GPIO. </div></div> +<div class="ttc" id="group__api__core__send__command_html_gadd23f2f86fcc0a438dad798ab3353505"><div class="ttname"><a href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">wiconnect::Wiconnect::sendCommand</a></div><div class="ttdeci">WiconnectResult sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)</div><div class="ttdoc">Send command to WiConnect WiFi module. </div></div> <div class="ttc" id="classwiconnect_1_1_log_func_html"><div class="ttname"><a href="classwiconnect_1_1_log_func.html">wiconnect::LogFunc</a></div><div class="ttdoc">Logging callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_log_func_8h_source.html#l00045">LogFunc.h:45</a></div></div> <div class="ttc" id="group__api__core__send__command_html_ga4a9bd29de1d5c496fbcc28ecfa51e7c0"><div class="ttname"><a href="group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0">wiconnect::Wiconnect::stopCurrentCommand</a></div><div class="ttdeci">void stopCurrentCommand()</div><div class="ttdoc">Stop the currently executing command. </div></div> <div class="ttc" id="group__api__core__misc_html_gada79343aece515e00f9be4045d3858a0"><div class="ttname"><a href="group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0">wiconnect::Wiconnect::responseToInt32</a></div><div class="ttdeci">WiconnectResult responseToInt32(int32_t *int32Ptr)</div><div class="ttdoc">Helper method to convert previous response to int32. </div></div> +<div class="ttc" id="namespacewiconnect_html_a0c27570b2913afc6339821df7c934810"><div class="ttname"><a href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">wiconnect::TimerTimeout</a></div><div class="ttdeci">unsigned long TimerTimeout</div><div class="ttdoc">Timeout type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00212">WiconnectTypes.h:212</a></div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_socket_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></div><div class="ttdoc">Connection object to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_socket_8h_source.html#l00043">WiconnectSocket.h:43</a></div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_html_a285510a2cba5341db387101ac75a4389"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389">wiconnect::Wiconnect::Wiconnect</a></div><div class="ttdeci">Wiconnect(const SerialConfig &serialConfig, Pin reset=PIN_NC, Pin wake=PIN_NC, bool nonBlocking=WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS)</div><div class="ttdoc">WiConnect class constructor. </div></div> <div class="ttc" id="group__api__core__misc_html_ga600215de23210071c42996d04390071e"><div class="ttname"><a href="group__api__core__misc.html#ga600215de23210071c42996d04390071e">wiconnect::Wiconnect::getLastCommandResponseLength</a></div><div class="ttdeci">uint16_t getLastCommandResponseLength()</div><div class="ttdoc">Return the length in bytes of the previous response. </div></div> <div class="ttc" id="classwiconnect_1_1_scan_result_list_html"><div class="ttname"><a href="classwiconnect_1_1_scan_result_list.html">wiconnect::ScanResultList</a></div><div class="ttdoc">List of WiFi network scan results. </div><div class="ttdef"><b>Definition:</b> <a href="_scan_result_list_8h_source.html#l00046">ScanResultList.h:46</a></div></div> -<div class="ttc" id="classwiconnect_1_1_socket_interface_html"><div class="ttname"><a href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_socket_interface_8h_source.html#l00051">SocketInterface.h:51</a></div></div> -<div class="ttc" id="group__api__core__settings_html_gad5d31980a7b1e143f00b0117468c1a7e"><div class="ttname"><a href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">wiconnect::Wiconnect::getCommandDefaultTimeout</a></div><div class="ttdeci">int getCommandDefaultTimeout()</div><div class="ttdoc">Returns the current default maximum API execution time. </div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="classwiconnect_1_1_socket_interface_html"><div class="ttname"><a href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_socket_interface_8h_source.html#l00063">SocketInterface.h:63</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> <div class="ttc" id="classwiconnect_1_1_file_interface_html"><div class="ttname"><a href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_file_interface_8h_source.html#l00068">FileInterface.h:68</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga347d0e1228e8174563c6bcf48de18401"><div class="ttname"><a href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401">WICONNECT_DEFAULT_NONBLOCKING</a></div><div class="ttdeci">#define WICONNECT_DEFAULT_NONBLOCKING</div><div class="ttdoc">The default blocking mode of the Library. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00099">sdk.h:99</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga596d1da2fb23f4e748c83d64a47e10b3"><div class="ttname"><a href="group__api__core__macro.html#ga596d1da2fb23f4e748c83d64a47e10b3">delayMs</a></div><div class="ttdeci">#define delayMs(ms)</div><div class="ttdoc">Function to stop processor for specified number of milliseconds. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00180">sdk.h:180</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga2aa16118029ab13ab41514cb8eb93ba7"><div class="ttname"><a href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7">WICONNECT_MAX_CMD_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_CMD_SIZE</div><div class="ttdoc">The maximum command size that may be sent to the WiConnect WiFi module. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00106">WiconnectTypes.h:106</a></div></div> -<div class="ttc" id="group__api__core__macro_html_gaa1dbeca66111f3a22d0ee6b122d69270"><div class="ttname"><a href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></div><div class="ttdeci">#define PIN_NC</div><div class="ttdoc">Default value for a pin, Not connected. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00117">sdk.h:117</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga347d0e1228e8174563c6bcf48de18401"><div class="ttname"><a href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401">WICONNECT_DEFAULT_NONBLOCKING</a></div><div class="ttdeci">#define WICONNECT_DEFAULT_NONBLOCKING</div><div class="ttdoc">The default blocking mode of the Library. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00105">sdk.h:105</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga596d1da2fb23f4e748c83d64a47e10b3"><div class="ttname"><a href="group__api__core__macro.html#ga596d1da2fb23f4e748c83d64a47e10b3">delayMs</a></div><div class="ttdeci">#define delayMs(ms)</div><div class="ttdoc">Function to stop processor for specified number of milliseconds. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00191">sdk.h:191</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga2aa16118029ab13ab41514cb8eb93ba7"><div class="ttname"><a href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7">WICONNECT_MAX_CMD_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_CMD_SIZE</div><div class="ttdoc">The maximum command size that may be sent to the WiConnect WiFi module. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00113">WiconnectTypes.h:113</a></div></div> +<div class="ttc" id="group__api__core__macro_html_gaa1dbeca66111f3a22d0ee6b122d69270"><div class="ttname"><a href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></div><div class="ttdeci">#define PIN_NC</div><div class="ttdoc">Default value for a pin, Not connected. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00128">sdk.h:128</a></div></div> <div class="ttc" id="group__api__core__misc_html_ga4fc195839bc6c6bd0091074cbdc94c4f"><div class="ttname"><a href="group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f">wiconnect::Wiconnect::getVersion</a></div><div class="ttdeci">WiconnectResult getVersion(char *versionBuffer=NULL, int versionBufferSize=0, const Callback &completeCallback=Callback())</div><div class="ttdoc">Return current version of WiConnect WiFi module. </div></div> <div class="ttc" id="group__api__core__misc_html_gab00c7110984f6d6187241d17a4a431ff"><div class="ttname"><a href="group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff">wiconnect::Wiconnect::isInitialized</a></div><div class="ttdeci">bool isInitialized()</div><div class="ttdoc">Return TRUE if library is able to communicated with WiConnect WiFi module. FALSE else. </div></div> <div class="ttc" id="classwiconnect_1_1_scan_result_html"><div class="ttname"><a href="classwiconnect_1_1_scan_result.html">wiconnect::ScanResult</a></div><div class="ttdoc">Contains single entry from WiFi scan results. </div><div class="ttdef"><b>Definition:</b> <a href="_scan_result_8h_source.html#l00046">ScanResult.h:46</a></div></div> <div class="ttc" id="group__api__core__misc_html_gad447fe3341539eb9b276d269645bb632"><div class="ttname"><a href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">wiconnect::Wiconnect::updateFirmware</a></div><div class="ttdeci">WiconnectResult updateFirmware(bool forced=false, const char *versionStr=NULL, const Callback &completeCallback=Callback())</div><div class="ttdoc">Update the wifi module's internal firmware. </div></div> +<div class="ttc" id="group__api__core__settings_html_gaf6115968c49c128717cacd2f06b883ad"><div class="ttname"><a href="group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad">wiconnect::Wiconnect::getBlockingEnabled</a></div><div class="ttdeci">bool getBlockingEnabled(void)</div><div class="ttdoc">Gets if API calls are blocking or non-blocking. </div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_wiconnect_serial_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_wiconnect_serial_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>wiconnect</div> @@ -116,23 +116,29 @@ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  WiconnectSerial(<span class="keyword">const</span> SerialConfig &config, Wiconnect *wiconnect = NULL);</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">virtual</span> ~WiconnectSerial();</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordtype">void</span> flush(<span class="keywordtype">void</span>);</div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">int</span> write(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> bytesToWrite, <span class="keywordtype">int</span> timeoutMs);</div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">int</span> read(<span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> bytesToRead, <span class="keywordtype">int</span> timeoutMs);</div> -<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> -<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  TimeoutTimer timeoutTimer;</div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#ifdef WICONNECT_SERIAL_RX_BUFFER</span></div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  uint8_t ringBuffer[32];</div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordtype">bool</span> bufferAlloc;</div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordtype">void</span> rxIrqHandler(<span class="keywordtype">void</span>);</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#endif</span></div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> };</div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">void</span> flush(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordtype">int</span> write(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> bytesToWrite, <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs);</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordtype">int</span> read(<span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> bytesToRead, <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs);</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  uint32_t getBaud(){ <span class="keywordflow">return</span> baudRate; }</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">protected</span>:</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  TimeoutTimer timeoutTimer;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  uint32_t baudRate;</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#ifdef WICONNECT_SERIAL_RX_BUFFER</span></div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  uint8_t ringBuffer[32];</div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">bool</span> bufferAlloc;</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordtype">void</span> rxIrqHandler(<span class="keywordtype">void</span>);</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#endif</span></div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> };</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> +<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div> +<div class="ttc" id="namespacewiconnect_html_a0c27570b2913afc6339821df7c934810"><div class="ttname"><a href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">wiconnect::TimerTimeout</a></div><div class="ttdeci">unsigned long TimerTimeout</div><div class="ttdoc">Timeout type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00212">WiconnectTypes.h:212</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_wiconnect_socket_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_wiconnect_socket_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -105,7 +105,7 @@ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "WiconnectTypes.h"</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">namespace </span>wiconnect</div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> {</div> @@ -126,7 +126,7 @@ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> puts(<span class="keyword">const</span> <span class="keywordtype">char</span> *s, <span class="keywordtype">bool</span> flush = <span class="keyword">true</span>);</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> getc(uint8_t *c);</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> printf(<span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...);</div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> flushTxBuffer();</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">virtual</span> <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> flushTxBuffer();</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordtype">void</span> clearRxBuffer();</div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  uint8_t *getTxBuffer();</div> @@ -145,30 +145,31 @@ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">protected</span>:</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordtype">bool</span> connected;</div> -<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type;</div> -<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  uint8_t handle;</div> -<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">char</span> host[<a class="code" href="group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525">WICONNECT_MAX_HOST_SIZE</a>];</div> -<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  uint16_t localPort;</div> -<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  uint16_t remotePort;</div> -<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect;</div> -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  Buffer txBuffer;</div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  Buffer rxBuffer;</div> -<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div> -<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> init(uint8_t handle, <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remotePort, uint16_t localPort);</div> -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> writeDataCallback(<span class="keywordtype">void</span> *user, <span class="keywordtype">void</span> *data, <span class="keywordtype">int</span> maxReadSize, <span class="keywordtype">int</span> *bytesRead);</div> -<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> -<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>;</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordtype">bool</span> enableAutoClose;</div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type;</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  uint8_t handle;</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">char</span> host[<a class="code" href="group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525">WICONNECT_MAX_HOST_SIZE</a>];</div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  uint16_t localPort;</div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  uint16_t remotePort;</div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> *wiconnect;</div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  Buffer txBuffer;</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  Buffer rxBuffer;</div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> init(uint8_t handle, <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint16_t remotePort, uint16_t localPort);</div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a>;</div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a>;</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> };</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span> }</div> -<div class="ttc" id="group__api__socket__types_html_ga69dc55558df4c81599c5fb3dff98756d"><div class="ttname"><a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">wiconnect::SocketType</a></div><div class="ttdeci">SocketType</div><div class="ttdoc">Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00324">WiconnectTypes.h:324</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga7c5dcedd35669199b46bb292b3d3b525"><div class="ttname"><a href="group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525">WICONNECT_MAX_HOST_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_HOST_SIZE</div><div class="ttdoc">The maximum server string length. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00121">WiconnectTypes.h:121</a></div></div> +<div class="ttc" id="group__api__socket__types_html_ga69dc55558df4c81599c5fb3dff98756d"><div class="ttname"><a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">wiconnect::SocketType</a></div><div class="ttdeci">SocketType</div><div class="ttdoc">Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00338">WiconnectTypes.h:338</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="classwiconnect_1_1_ghm_interface_html"><div class="ttname"><a href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></div><div class="ttdoc">The provides an interface for http://goHACK.me. </div><div class="ttdef"><b>Definition:</b> <a href="_ghm_interface_8h_source.html#l00081">GhmInterface.h:81</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga7c5dcedd35669199b46bb292b3d3b525"><div class="ttname"><a href="group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525">WICONNECT_MAX_HOST_SIZE</a></div><div class="ttdeci">#define WICONNECT_MAX_HOST_SIZE</div><div class="ttdoc">The maximum server string length. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00128">WiconnectTypes.h:128</a></div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_socket_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></div><div class="ttdoc">Connection object to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_socket_8h_source.html#l00043">WiconnectSocket.h:43</a></div></div> -<div class="ttc" id="classwiconnect_1_1_socket_interface_html"><div class="ttname"><a href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_socket_interface_8h_source.html#l00051">SocketInterface.h:51</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="classwiconnect_1_1_socket_interface_html"><div class="ttname"><a href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></div><div class="ttdoc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a...</div><div class="ttdef"><b>Definition:</b> <a href="_socket_interface_8h_source.html#l00063">SocketInterface.h:63</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/_wiconnect_types_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/_wiconnect_types_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -106,7 +106,7 @@ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <stdint.h></span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <stdarg.h></span></div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <cstddef></span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <stddef.h></span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "sdk.h"</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> @@ -131,320 +131,389 @@ <div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga77baa56c8d3584b953f0a2626e6844ad"> 84</a></span> <span class="preprocessor">#define ARRAY_COUNT(x) (sizeof (x) / sizeof *(x))</span></div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div> -<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64"> 92</a></span> <span class="preprocessor">#define WICONNECT_FAILED(result, func) ((int)(result = (func)) < (int)wiconnect::WICONNECT_SUCCESS)</span></div> -<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div> -<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gabb158b483cd6d8a8d2d4bf8d38bc9830"> 99</a></span> <span class="preprocessor">#define WICONNECT_SUCCEEDED(result, func) ((result = (func)) == wiconnect::WICONNECT_SUCCESS)</span></div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> +<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64"> 93</a></span> <span class="preprocessor">#define WICONNECT_FAILED(result, func) ((int)(result = (func)) < (int)wiconnect::WICONNECT_SUCCESS)</span></div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div> +<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gabb158b483cd6d8a8d2d4bf8d38bc9830"> 100</a></span> <span class="preprocessor">#define WICONNECT_SUCCEEDED(result, func) ((result = (func)) == wiconnect::WICONNECT_SUCCESS)</span></div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> -<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7"> 106</a></span> <span class="preprocessor">#define WICONNECT_MAX_CMD_SIZE 128</span></div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div> -<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga1525d7c98c2da34fc1a64de49253abdb"> 111</a></span> <span class="preprocessor">#define WICONNECT_MAX_VERSION_SIZE 96</span></div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div> -<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga45fe565132845ca570ded816f25561b0"> 116</a></span> <span class="preprocessor">#define WICONNECT_MAX_SOCKETS 8</span></div> -<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div> -<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525"> 121</a></span> <span class="preprocessor">#define WICONNECT_MAX_HOST_SIZE 64</span></div> -<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div> -<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a"> 126</a></span> <span class="preprocessor">#define WICONNECT_MAX_FILENAME_SIZE 96</span></div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div> -<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a"> 131</a></span> <span class="preprocessor">#define WICONNECT_WAIT_FOREVER 0xFFFFFFFF</span></div> -<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div> -<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga12620767dcf50182fb9f72fe5d995301"> 136</a></span> <span class="preprocessor">#define WICONNECT_NO_WAIT 0</span></div> -<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div> -<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431"> 141</a></span> <span class="preprocessor">#define WICONNECT_FIRMWARE_UPDATE_TIMEOUT 90000</span></div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div> -<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98"> 147</a></span> <span class="preprocessor">#define SOCKET_ANY_PORT (uint16_t)0</span></div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div> -<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="group__api__socket__macro.html#ga311741238658c89ea9344d32c0cec923"> 152</a></span> <span class="preprocessor">#define SOCKET_INVALID_HANDLE ((uint8_t)0xFF)</span></div> -<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div> -<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div> -<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05"> 159</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> {</div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="comment">// Status Codes</span></div> -<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789"> 162</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789">WICONNECT_ABORTED</a> = 3, </div> -<div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1"> 163</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1">WICONNECT_IDLE</a> = 2, </div> -<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0"> 164</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0">WICONNECT_PROCESSING</a> = 1, </div> -<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"> 165</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">WICONNECT_SUCCESS</a> = 0, </div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="comment">// Error codes</span></div> -<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6"> 168</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6">WICONNECT_ERROR</a> = -1, </div> -<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff"> 169</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff">WICONNECT_CMD_RESPONSE_ERROR</a> = -2, </div> -<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5"> 170</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5">WICONNECT_NULL_BUFFER</a> = -3, </div> -<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43"> 171</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43">WICONNECT_NOT_INITIALIZED</a> = -4, </div> -<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f"> 172</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f">WICONNECT_OVERFLOW</a> = -5, </div> -<div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac"> 173</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac">WICONNECT_TIMEOUT</a> = -6, </div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">// WICONNECT_RESPONSE_HANDLER_NULL = -7, ///<</span></div> -<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5"> 175</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5">WICONNECT_RESPONSE_PARSE_ERROR</a> = -8, </div> -<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83"> 176</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83">WICONNECT_ANOTHER_CMD_EXECUTING</a> = -9, </div> -<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa"> 177</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa">WICONNECT_BAD_ARG</a> = -10, </div> -<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc"> 178</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc">WICONNECT_UNSUPPORTED</a> = -11, </div> -<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff"> 179</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff">WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL</a> = -12, </div> -<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4"> 180</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4">WICONNECT_DUPLICATE</a> = -13, </div> -<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195"> 181</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195">WICONNECT_NOT_FOUND</a> = -14, </div> -<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a"> 182</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a">WICONNECT_PINNAME_TO_GPIO_NO_MAPPING</a> = -15, </div> -<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2"> 183</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2">WICONNECT_NOT_CONNECTED</a> = -16, </div> -<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02"> 184</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02">WICONNECT_UNDERFLOW</a> = -17, </div> -<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e"> 185</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e">WICONNECT_MONITOR_NOT_AVAILABLE</a> = -18, </div> -<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2"> 186</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2">WICONNECT_NOT_OPENED_FOR_READING</a> = -19, </div> -<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> } <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a>;</div> -<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div> -<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div> -<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470"> 199</a></span> <span class="keyword">typedef</span> int8_t (*<a class="code" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a>)(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> pin);</div> -<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> -<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> -<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> {</div> -<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordtype">int</span> size;</div> -<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  uint8_t *buffer;</div> -<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  uint8_t *ptr;</div> -<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">int</span> bytesPending;</div> -<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordtype">bool</span> allocated;</div> -<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> } Buffer;</div> +<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga436d782bd2cdce3696eadda1083416af"> 107</a></span> <span class="preprocessor">#define WICONNECT_IS_PROCESSING(result, func) ((result = (func)) == wiconnect::WICONNECT_PROCESSING)</span></div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div> +<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7"> 113</a></span> <span class="preprocessor">#define WICONNECT_MAX_CMD_SIZE 128</span></div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div> +<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga1525d7c98c2da34fc1a64de49253abdb"> 118</a></span> <span class="preprocessor">#define WICONNECT_MAX_VERSION_SIZE 96</span></div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div> +<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga45fe565132845ca570ded816f25561b0"> 123</a></span> <span class="preprocessor">#define WICONNECT_MAX_SOCKETS 8</span></div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> +<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525"> 128</a></span> <span class="preprocessor">#define WICONNECT_MAX_HOST_SIZE 64</span></div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> +<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a"> 133</a></span> <span class="preprocessor">#define WICONNECT_MAX_FILENAME_SIZE 96</span></div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div> +<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a"> 138</a></span> <span class="preprocessor">#define WICONNECT_WAIT_FOREVER 0xFFFFFFFFUL</span></div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> +<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga12620767dcf50182fb9f72fe5d995301"> 143</a></span> <span class="preprocessor">#define WICONNECT_NO_WAIT 0</span></div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div> +<div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431"> 148</a></span> <span class="preprocessor">#define WICONNECT_FIRMWARE_UPDATE_TIMEOUT 90000UL</span></div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div> +<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98"> 154</a></span> <span class="preprocessor">#define SOCKET_ANY_PORT (uint16_t)0</span></div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div> +<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="group__api__socket__macro.html#ga311741238658c89ea9344d32c0cec923"> 159</a></span> <span class="preprocessor">#define SOCKET_INVALID_HANDLE ((uint8_t)0xFF)</span></div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div> +<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05"> 166</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> {</div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="comment">// Status Codes</span></div> +<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789"> 169</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789">WICONNECT_ABORTED</a> = 3, </div> +<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1"> 170</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1">WICONNECT_IDLE</a> = 2, </div> +<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0"> 171</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0">WICONNECT_PROCESSING</a> = 1, </div> +<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"> 172</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">WICONNECT_SUCCESS</a> = 0, </div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">// Error codes</span></div> +<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6"> 175</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6">WICONNECT_ERROR</a> = -1, </div> +<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff"> 176</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff">WICONNECT_CMD_RESPONSE_ERROR</a> = -2, </div> +<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5"> 177</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5">WICONNECT_NULL_BUFFER</a> = -3, </div> +<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43"> 178</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43">WICONNECT_NOT_INITIALIZED</a> = -4, </div> +<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f"> 179</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f">WICONNECT_OVERFLOW</a> = -5, </div> +<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac"> 180</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac">WICONNECT_TIMEOUT</a> = -6, </div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">// WICONNECT_RESPONSE_HANDLER_NULL = -7, ///<</span></div> +<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5"> 182</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5">WICONNECT_RESPONSE_PARSE_ERROR</a> = -8, </div> +<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83"> 183</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83">WICONNECT_ANOTHER_CMD_EXECUTING</a> = -9, </div> +<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa"> 184</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa">WICONNECT_BAD_ARG</a> = -10, </div> +<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc"> 185</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc">WICONNECT_UNSUPPORTED</a> = -11, </div> +<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff"> 186</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff">WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL</a> = -12, </div> +<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4"> 187</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4">WICONNECT_DUPLICATE</a> = -13, </div> +<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195"> 188</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195">WICONNECT_NOT_FOUND</a> = -14, </div> +<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a"> 189</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a">WICONNECT_PINNAME_TO_GPIO_NO_MAPPING</a> = -15, </div> +<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2"> 190</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2">WICONNECT_NOT_CONNECTED</a> = -16, </div> +<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02"> 191</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02">WICONNECT_UNDERFLOW</a> = -17, </div> +<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e"> 192</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e">WICONNECT_MONITOR_NOT_AVAILABLE</a> = -18, </div> +<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2"> 193</a></span>  <a class="code" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2">WICONNECT_NOT_OPENED_FOR_READING</a> = -19, </div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> } <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a>;</div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div> +<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470"> 206</a></span> <span class="keyword">typedef</span> int8_t (*<a class="code" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a>)(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> pin);</div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div> +<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810"> 212</a></span> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a>;</div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div> <div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div> -<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div> -<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div> -<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div> -<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div> -<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99"> 224</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> -<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> {</div> -<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067"> 226</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067">NETWORK_STATUS_DOWN</a>, </div> -<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c"> 227</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c">NETWORK_STATUS_WIFI_ONLY</a>, </div> -<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46"> 228</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46">NETWORK_STATUS_UP</a>, </div> -<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497"> 229</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497">NETWORK_STATUS_JOINING</a> </div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> } <a class="code" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a>;</div> +<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> +<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordtype">int</span> size;</div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  uint8_t *buffer;</div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  uint8_t *ptr;</div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordtype">int</span> bytesPending;</div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordtype">bool</span> allocated;</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> } Buffer;</div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> -<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d"> 236</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> -<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> {</div> -<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5"> 238</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5">NETWORK_JOIN_RESULT_NONE</a>, </div> -<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8"> 239</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8">NETWORK_JOIN_RESULT_SUCCESS</a>, </div> -<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475"> 240</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475">NETWORK_JOIN_RESULT_JOINING</a>, </div> -<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304"> 241</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304">NETWORK_JOIN_RESULT_NO_SSID</a>, </div> -<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec"> 242</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec">NETWORK_JOIN_RESULT_NO_PASSWORD</a>, </div> -<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957"> 243</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957">NETWORK_JOIN_RESULT_BAD_SECURITY</a>, </div> -<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2"> 244</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2">NETWORK_JOIN_RESULT_NOT_FOUND</a>, </div> -<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc"> 245</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc">NETWORK_JOIN_RESULT_FAILED</a>, </div> -<div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c"> 246</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c">NETWORK_JOIN_RESULT_ABORTED</a>, </div> -<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> } <a class="code" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a>;</div> -<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div> -<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36"> 253</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> -<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> {</div> -<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385"> 255</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385">NETWORK_RSSI_EXCELLENT</a> = 0, </div> -<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713"> 256</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713">NETWORK_RSSI_VERY_GOOD</a> = 1, </div> -<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533"> 257</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533">NETWORK_RSSI_GOOD</a> = 2, </div> -<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae"> 258</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae">NETWORK_RSSI_POOR</a> = 3, </div> -<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa"> 259</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa">NETWORK_RSSI_VERY_POOR</a> = 4, </div> -<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4"> 260</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4">NETWORK_RSSI_UNKNOWN</a> = 5 </div> -<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> } <a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a>;</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> +<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99"> 238</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> {</div> +<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067"> 240</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067">NETWORK_STATUS_DOWN</a>, </div> +<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c"> 241</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c">NETWORK_STATUS_WIFI_ONLY</a>, </div> +<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46"> 242</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46">NETWORK_STATUS_UP</a>, </div> +<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497"> 243</a></span>  <a class="code" href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497">NETWORK_STATUS_JOINING</a> </div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> } <a class="code" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a>;</div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div> +<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d"> 250</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> {</div> +<div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5"> 252</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5">NETWORK_JOIN_RESULT_NONE</a>, </div> +<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8"> 253</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8">NETWORK_JOIN_RESULT_SUCCESS</a>, </div> +<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475"> 254</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475">NETWORK_JOIN_RESULT_JOINING</a>, </div> +<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304"> 255</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304">NETWORK_JOIN_RESULT_NO_SSID</a>, </div> +<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec"> 256</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec">NETWORK_JOIN_RESULT_NO_PASSWORD</a>, </div> +<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957"> 257</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957">NETWORK_JOIN_RESULT_BAD_SECURITY</a>, </div> +<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2"> 258</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2">NETWORK_JOIN_RESULT_NOT_FOUND</a>, </div> +<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc"> 259</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc">NETWORK_JOIN_RESULT_FAILED</a>, </div> +<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c"> 260</a></span>  <a class="code" href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c">NETWORK_JOIN_RESULT_ABORTED</a>, </div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> } <a class="code" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a>;</div> <div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div> -<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f"> 267</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36"> 267</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span> {</div> -<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  NETWORK_SECURITY_OPEN,</div> -<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  NETWORK_SECURITY_WEP_PSK,</div> -<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  NETWORK_SECURITY_WPA_AES_PSK,</div> -<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  NETWORK_SECURITY_WPA_TKIP_PSK,</div> -<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  NETWORK_SECURITY_WPA2_AES_PSK,</div> -<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  NETWORK_SECURITY_WPA2_MIXED_PSK,</div> -<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  NETWORK_SECURITY_WPA2_TKIP_PSK,</div> -<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  NETWORK_SECURITY_UNKNOWN</div> -<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> } <a class="code" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">NetworkSecurity</a>;</div> -<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div> -<div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ssid.html"> 283</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> -<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div> -<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ssid.html#ab8b77bf8f59ef8c17d8f6e59f1ceab7a"> 285</a></span>  uint8_t val[32]; </div> -<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ssid.html#a7dd62e15567d9de9e9191f9aaba6a0a3"> 286</a></span>  uint8_t <a class="code" href="structwiconnect_1_1_ssid.html#a7dd62e15567d9de9e9191f9aaba6a0a3">len</a>; </div> -<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> } <a class="code" href="structwiconnect_1_1_ssid.html">Ssid</a>;</div> -<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div> -<div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_mac_address.html"> 293</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> -<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> {</div> -<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  uint8_t octet[6];</div> -<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> } <a class="code" href="structwiconnect_1_1_mac_address.html">MacAddress</a>;</div> -<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div> -<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8"> 302</a></span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8">MacAddressStrBuffer</a>[18];</div> -<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div> -<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c"> 308</a></span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c">SsidStrBuffer</a>[129];</div> -<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> -<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342"> 314</a></span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342">IpStrBuffer</a>[18];</div> -<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div> -<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div> -<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div> -<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div> -<div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d"> 324</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> -<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> {</div> -<div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e"> 326</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e">SOCKET_TYPE_UNKNOWN</a>, </div> -<div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9"> 327</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9">SOCKET_TYPE_TCP</a>, </div> -<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4"> 328</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4">SOCKET_TYPE_TLS</a>, </div> -<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc"> 329</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc">SOCKET_TYPE_UDP</a>, </div> -<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751"> 330</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">SOCKET_TYPE_HTTP</a>, </div> -<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> } <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a>;</div> +<div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385"> 269</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385">NETWORK_RSSI_EXCELLENT</a> = 0, </div> +<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713"> 270</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713">NETWORK_RSSI_VERY_GOOD</a> = 1, </div> +<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533"> 271</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533">NETWORK_RSSI_GOOD</a> = 2, </div> +<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae"> 272</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae">NETWORK_RSSI_POOR</a> = 3, </div> +<div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa"> 273</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa">NETWORK_RSSI_VERY_POOR</a> = 4, </div> +<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4"> 274</a></span>  <a class="code" href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4">NETWORK_RSSI_UNKNOWN</a> = 5 </div> +<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> } <a class="code" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a>;</div> +<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div> +<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f"> 281</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> {</div> +<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  NETWORK_SECURITY_OPEN,</div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  NETWORK_SECURITY_WEP_PSK,</div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  NETWORK_SECURITY_WPA_AES_PSK,</div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  NETWORK_SECURITY_WPA_TKIP_PSK,</div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  NETWORK_SECURITY_WPA2_AES_PSK,</div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  NETWORK_SECURITY_WPA2_MIXED_PSK,</div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  NETWORK_SECURITY_WPA2_TKIP_PSK,</div> +<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  NETWORK_SECURITY_UNKNOWN</div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> } <a class="code" href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">NetworkSecurity</a>;</div> +<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div> +<div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ssid.html"> 297</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> +<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div> +<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ssid.html#ab8b77bf8f59ef8c17d8f6e59f1ceab7a"> 299</a></span>  uint8_t val[32]; </div> +<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ssid.html#a7dd62e15567d9de9e9191f9aaba6a0a3"> 300</a></span>  uint8_t <a class="code" href="structwiconnect_1_1_ssid.html#a7dd62e15567d9de9e9191f9aaba6a0a3">len</a>; </div> +<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> } <a class="code" href="structwiconnect_1_1_ssid.html">Ssid</a>;</div> +<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div> +<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_mac_address.html"> 307</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div> +<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  uint8_t octet[6];</div> +<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> } <a class="code" href="structwiconnect_1_1_mac_address.html">MacAddress</a>;</div> +<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div> +<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8"> 316</a></span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8">MacAddressStrBuffer</a>[18];</div> +<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div> +<div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c"> 322</a></span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c">SsidStrBuffer</a>[129];</div> +<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> +<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342"> 328</a></span> <span class="keyword">typedef</span> <span class="keywordtype">char</span> <a class="code" href="group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342">IpStrBuffer</a>[18];</div> +<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div> +<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div> +<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> <div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div> -<div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6"> 337</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> -<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> {</div> -<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685"> 339</a></span>  <a class="code" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685">SOCKET_HTTP_GET</a>, </div> -<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb"> 340</a></span>  <a class="code" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb">SOCKET_HTTP_POST</a>, </div> -<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236"> 341</a></span>  <a class="code" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236">SOCKET_HTTP_HEAD</a>, </div> -<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> } <a class="code" href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6">HttpSocketType</a>;</div> -<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div> -<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html"> 348</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> -<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> {</div> -<div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b"> 350</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b">contextType</a>; </div> -<div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c"> 351</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c">certName</a>; </div> -<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#a57564bc3fed87b9ab2d3f4fff3d2dc24"> 352</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structwiconnect_1_1_http_socket_args.html#a57564bc3fed87b9ab2d3f4fff3d2dc24">openOnly</a>; </div> -<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772"> 353</a></span>  <a class="code" href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6">HttpSocketType</a> <a class="code" href="structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772">type</a>; </div> -<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> } <a class="code" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a>;</div> -<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div> -<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div> -<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div> +<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div> +<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d"> 338</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> {</div> +<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e"> 340</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e">SOCKET_TYPE_UNKNOWN</a>, </div> +<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9"> 341</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9">SOCKET_TYPE_TCP</a>, </div> +<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4"> 342</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4">SOCKET_TYPE_TLS</a>, </div> +<div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc"> 343</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc">SOCKET_TYPE_UDP</a>, </div> +<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751"> 344</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">SOCKET_TYPE_HTTP</a>, </div> +<div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91"> 345</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91">SOCKET_TYPE_UDPS</a>, </div> +<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f"> 346</a></span>  <a class="code" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f">SOCKET_TYPE_GHM</a>, </div> +<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> } <a class="code" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a>;</div> +<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div> +<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6"> 353</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> {</div> +<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685"> 355</a></span>  <a class="code" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685">SOCKET_HTTP_GET</a>, </div> +<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb"> 356</a></span>  <a class="code" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb">SOCKET_HTTP_POST</a>, </div> +<div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236"> 357</a></span>  <a class="code" href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236">SOCKET_HTTP_HEAD</a>, </div> +<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> } <a class="code" href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6">HttpSocketType</a>;</div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div> -<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e"> 364</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html"> 364</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> <div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div> -<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6"> 366</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6">FILE_FLAG_NONE</a> = 0, </div> -<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div> -<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a"> 368</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a">FILE_FLAG_VALID</a> = (1 << 0), </div> -<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5"> 369</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5">FILE_FLAG_EXECUTABLE</a> = (1 << 1), </div> -<div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6"> 370</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6">FILE_FLAG_ENCRYPTED</a> = (1 << 2), </div> -<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0"> 371</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0">FILE_FLAG_INTERNAL</a> = (1 << 3), </div> -<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf"> 372</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf">FILE_FLAG_BOOTABLE</a> = (1 << 4), </div> -<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8"> 373</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8">FILE_FLAG_USER</a> = (1 << 5), </div> -<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2"> 374</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2">FILE_FLAG_ESSENTIAL</a> = (1 << 6), </div> +<div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b"> 366</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b">contextType</a>; </div> +<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c"> 367</a></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c">certName</a>; </div> +<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#a57564bc3fed87b9ab2d3f4fff3d2dc24"> 368</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structwiconnect_1_1_http_socket_args.html#a57564bc3fed87b9ab2d3f4fff3d2dc24">openOnly</a>; </div> +<div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772"> 369</a></span>  <a class="code" href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6">HttpSocketType</a> <a class="code" href="structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772">type</a>; </div> +<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> } <a class="code" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a>;</div> +<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div> +<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div> +<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div> <div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div> -<div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f"> 376</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f">FILE_FLAG_INVALID</a> = 0xFFFF </div> -<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> } <a class="code" href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">FileFlags</a>;</div> -<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> </div> -<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63"> 383</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> -<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> {</div> -<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04"> 385</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04">FILE_TYPE_UPGRADE_APP</a> = 0x00, </div> -<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7"> 386</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7">FILE_TYPE_WIFI_FW</a> = 0x01, </div> -<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div> -<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169"> 388</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169">FILE_TYPE_REGULAR_APP</a> = 0x81, </div> -<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div> -<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb"> 390</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb">FILE_TYPE_USER_RANGE_START</a> = 150, </div> -<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e"> 391</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e">FILE_TYPE_USER_RANGE_END</a> = 199, </div> -<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div> -<div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2"> 393</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2">FILE_TYPE_TEMPORY</a> = 0xF9, </div> -<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52"> 394</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52">FILE_TYPE_GPIO_CONFIG</a> = 0xFA, </div> -<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0"> 395</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0">FILE_TYPE_COMMAND_HELP</a> = 0xFB, </div> -<div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd"> 396</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd">FILE_TYPE_SDC_CAPS</a> = 0xFC, </div> -<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2"> 397</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2">FILE_TYPE_SETUP_SCRIPT</a> = 0xFD, </div> -<div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206"> 398</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206">FILE_TYPE_MISC_FIX_LEN</a> = 0xFE, </div> -<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e"> 399</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e">FILE_TYPE_UNKNOWN</a> = 0xFF, </div> -<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  FILE_TYPE_ANY = <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e">FILE_TYPE_UNKNOWN</a></div> -<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> } <a class="code" href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">FileType</a>;</div> -<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div> +<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e"> 380</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {</div> +<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6"> 382</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6">FILE_FLAG_NONE</a> = 0, </div> +<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div> +<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a"> 384</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a">FILE_FLAG_VALID</a> = (1 << 0), </div> +<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5"> 385</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5">FILE_FLAG_EXECUTABLE</a> = (1 << 1), </div> +<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6"> 386</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6">FILE_FLAG_ENCRYPTED</a> = (1 << 2), </div> +<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0"> 387</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0">FILE_FLAG_INTERNAL</a> = (1 << 3), </div> +<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf"> 388</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf">FILE_FLAG_BOOTABLE</a> = (1 << 4), </div> +<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8"> 389</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8">FILE_FLAG_USER</a> = (1 << 5), </div> +<div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2"> 390</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2">FILE_FLAG_ESSENTIAL</a> = (1 << 6), </div> +<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div> +<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f"> 392</a></span>  <a class="code" href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f">FILE_FLAG_INVALID</a> = 0xFFFF </div> +<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> } <a class="code" href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">FileFlags</a>;</div> +<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div> +<div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63"> 399</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div> +<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04"> 401</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04">FILE_TYPE_UPGRADE_APP</a> = 0x00, </div> +<div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7"> 402</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7">FILE_TYPE_WIFI_FW</a> = 0x01, </div> <div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div> -<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment">// Forward declarations</span></div> +<div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169"> 404</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169">FILE_TYPE_REGULAR_APP</a> = 0x81, </div> <div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div> -<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keyword">class </span>Wiconnect;</div> -<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="keyword">class </span>TimeoutTimer;</div> -<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="keyword">class </span>PeriodicTimer;</div> -<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="keyword">class </span>QueuedCommand;</div> -<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="keyword">class </span>CommandQueue;</div> -<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="keyword">class </span>LogFunc;</div> -<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">class </span>ReaderFunc;</div> -<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword">class </span>Callback;</div> -<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">class </span>ScanResult;</div> -<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="keyword">class </span>ScanResultList;</div> -<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keyword">class </span>WiconnectSocket;</div> -<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">class </span>WiconnectSerial;</div> -<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="keyword">class </span>WiconnectFile;</div> -<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">class </span>FileList;</div> -<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">class </span>Gpio;</div> -<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword">class </span>SocketIrqHandlerMap;</div> -<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div> -<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206">wiconnect::FILE_TYPE_MISC_FIX_LEN</a></div><div class="ttdoc">Miscellaneous fixed length file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00398">WiconnectTypes.h:398</a></div></div> -<div class="ttc" id="structwiconnect_1_1_ssid_html_a7dd62e15567d9de9e9191f9aaba6a0a3"><div class="ttname"><a href="structwiconnect_1_1_ssid.html#a7dd62e15567d9de9e9191f9aaba6a0a3">wiconnect::Ssid::len</a></div><div class="ttdeci">uint8_t len</div><div class="ttdoc">The length in bytes of the SSID raw data. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00286">WiconnectTypes.h:286</a></div></div> -<div class="ttc" id="group__api__socket__types_html_ga69dc55558df4c81599c5fb3dff98756d"><div class="ttname"><a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">wiconnect::SocketType</a></div><div class="ttdeci">SocketType</div><div class="ttdoc">Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00324">WiconnectTypes.h:324</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6">wiconnect::WICONNECT_ERROR</a></div><div class="ttdoc">Generic error. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00168">WiconnectTypes.h:168</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957">wiconnect::NETWORK_JOIN_RESULT_BAD_SECURITY</a></div><div class="ttdoc">The specified security type is not supported by the network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00243">WiconnectTypes.h:243</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46">wiconnect::NETWORK_STATUS_UP</a></div><div class="ttdoc">Conntected to network and have IP address. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00228">WiconnectTypes.h:228</a></div></div> -<div class="ttc" id="group__api__network__types_html_ga026bd11cd5df47b7022362243e2d553f"><div class="ttname"><a href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">wiconnect::NetworkSecurity</a></div><div class="ttdeci">NetworkSecurity</div><div class="ttdoc">Network security type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00267">WiconnectTypes.h:267</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5">wiconnect::WICONNECT_NULL_BUFFER</a></div><div class="ttdoc">Null buffer supplied. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00170">WiconnectTypes.h:170</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e">wiconnect::FILE_TYPE_USER_RANGE_END</a></div><div class="ttdoc">User type end index. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00391">WiconnectTypes.h:391</a></div></div> -<div class="ttc" id="namespacewiconnect_html_aadd4d5e6774e21f382c20b594a644470"><div class="ttname"><a href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">wiconnect::PinToGpioMapper</a></div><div class="ttdeci">int8_t(* PinToGpioMapper)(Pin pin)</div><div class="ttdoc">Function pointer for mapping from a host pin to a WiConnect Module GPIO. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00199">WiconnectTypes.h:199</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83">wiconnect::WICONNECT_ANOTHER_CMD_EXECUTING</a></div><div class="ttdoc">Currently executing another command. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00176">WiconnectTypes.h:176</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa">wiconnect::NETWORK_RSSI_VERY_POOR</a></div><div class="ttdoc">< -71 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00259">WiconnectTypes.h:259</a></div></div> -<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_a401fd2b9a75ec8c76d59bd798d36e25b"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b">wiconnect::HttpSocketArgs::contextType</a></div><div class="ttdeci">const char * contextType</div><div class="ttdoc">A POST Request 'context-type' value. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00350">WiconnectTypes.h:350</a></div></div> -<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9">wiconnect::SOCKET_TYPE_TCP</a></div><div class="ttdoc">TCP Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00327">WiconnectTypes.h:327</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7">wiconnect::FILE_TYPE_WIFI_FW</a></div><div class="ttdoc">Wifi firmware binary. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00386">WiconnectTypes.h:386</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac">wiconnect::WICONNECT_TIMEOUT</a></div><div class="ttdoc">Command timed out. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00173">WiconnectTypes.h:173</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f">wiconnect::FILE_FLAG_INVALID</a></div><div class="ttdoc">File flags invalid. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00376">WiconnectTypes.h:376</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5">wiconnect::NETWORK_JOIN_RESULT_NONE</a></div><div class="ttdoc">Haven't attempted to join. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00238">WiconnectTypes.h:238</a></div></div> -<div class="ttc" id="structwiconnect_1_1_mac_address_html"><div class="ttname"><a href="structwiconnect_1_1_mac_address.html">wiconnect::MacAddress</a></div><div class="ttdoc">Network MAC Address type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00293">WiconnectTypes.h:293</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195">wiconnect::WICONNECT_NOT_FOUND</a></div><div class="ttdoc">Not found. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00181">WiconnectTypes.h:181</a></div></div> -<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc">wiconnect::SOCKET_TYPE_UDP</a></div><div class="ttdoc">UDP Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00329">WiconnectTypes.h:329</a></div></div> -<div class="ttc" id="group__api__socket__types_html_gadc1d6e26d4138c536bd5dce7ed4569d6"><div class="ttname"><a href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6">wiconnect::HttpSocketType</a></div><div class="ttdeci">HttpSocketType</div><div class="ttdoc">HTTP Socket sub-type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00337">WiconnectTypes.h:337</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c">wiconnect::NETWORK_JOIN_RESULT_ABORTED</a></div><div class="ttdoc">Joining was aborted (via command) </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00246">WiconnectTypes.h:246</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb">wiconnect::FILE_TYPE_USER_RANGE_START</a></div><div class="ttdoc">User type start index. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00390">WiconnectTypes.h:390</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0">wiconnect::WICONNECT_PROCESSING</a></div><div class="ttdoc">Library processing current command. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00164">WiconnectTypes.h:164</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4">wiconnect::NETWORK_RSSI_UNKNOWN</a></div><div class="ttdoc">Not available. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00260">WiconnectTypes.h:260</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02">wiconnect::WICONNECT_UNDERFLOW</a></div><div class="ttdoc">Data underflow. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00184">WiconnectTypes.h:184</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067">wiconnect::NETWORK_STATUS_DOWN</a></div><div class="ttdoc">Not connected to network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00226">WiconnectTypes.h:226</a></div></div> -<div class="ttc" id="group__api__network__types_html_ga38e0a82235258f96340b9ce2c6e1426c"><div class="ttname"><a href="group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c">wiconnect::SsidStrBuffer</a></div><div class="ttdeci">char SsidStrBuffer[129]</div><div class="ttdoc">Buffer to hold a SSID string. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00308">WiconnectTypes.h:308</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c">wiconnect::NETWORK_STATUS_WIFI_ONLY</a></div><div class="ttdoc">Connected to network but don't have IP address. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00227">WiconnectTypes.h:227</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6">wiconnect::FILE_FLAG_NONE</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00366">WiconnectTypes.h:366</a></div></div> -<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">wiconnect::SOCKET_TYPE_HTTP</a></div><div class="ttdoc">HTTP Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00330">WiconnectTypes.h:330</a></div></div> -<div class="ttc" id="group__api__network__types_html_ga04b095d2e2f32a3fd23e346a4be969d8"><div class="ttname"><a href="group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8">wiconnect::MacAddressStrBuffer</a></div><div class="ttdeci">char MacAddressStrBuffer[18]</div><div class="ttdoc">Buffer to hold a MAC address string. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00302">WiconnectTypes.h:302</a></div></div> -<div class="ttc" id="group__api__socket__types_html_ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236"><div class="ttname"><a href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236">wiconnect::SOCKET_HTTP_HEAD</a></div><div class="ttdoc">HTTP HEAD Request socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00341">WiconnectTypes.h:341</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf">wiconnect::FILE_FLAG_BOOTABLE</a></div><div class="ttdoc">File bootable. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00372">WiconnectTypes.h:372</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6">wiconnect::FILE_FLAG_ENCRYPTED</a></div><div class="ttdoc">File encrypted. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00370">WiconnectTypes.h:370</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2">wiconnect::NETWORK_JOIN_RESULT_NOT_FOUND</a></div><div class="ttdoc">The network with the configured SSID was not found. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00244">WiconnectTypes.h:244</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713">wiconnect::NETWORK_RSSI_VERY_GOOD</a></div><div class="ttdoc">> -35 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00256">WiconnectTypes.h:256</a></div></div> -<div class="ttc" id="group__api__file__types_html_ga9919a4237eea2b0d1f27c16d64e62c63"><div class="ttname"><a href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">wiconnect::FileType</a></div><div class="ttdeci">FileType</div><div class="ttdoc">File type type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00383">WiconnectTypes.h:383</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00123">sdk.h:123</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304">wiconnect::NETWORK_JOIN_RESULT_NO_SSID</a></div><div class="ttdoc">The SSID has not be configured. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00241">WiconnectTypes.h:241</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc">wiconnect::WICONNECT_UNSUPPORTED</a></div><div class="ttdoc">Command / parameter not supported. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00178">WiconnectTypes.h:178</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43">wiconnect::WICONNECT_NOT_INITIALIZED</a></div><div class="ttdoc">Library not initialed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00171">WiconnectTypes.h:171</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8">wiconnect::FILE_FLAG_USER</a></div><div class="ttdoc">File created by user. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00373">WiconnectTypes.h:373</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec">wiconnect::NETWORK_JOIN_RESULT_NO_PASSWORD</a></div><div class="ttdoc">The network requires a password and none has been set. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00242">WiconnectTypes.h:242</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2">wiconnect::FILE_TYPE_SETUP_SCRIPT</a></div><div class="ttdoc">Setup script file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00397">WiconnectTypes.h:397</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e">wiconnect::WICONNECT_MONITOR_NOT_AVAILABLE</a></div><div class="ttdoc">Background processing monitor is not available (i.e in use) </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00185">WiconnectTypes.h:185</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a">wiconnect::FILE_FLAG_VALID</a></div><div class="ttdoc">File valid. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00368">WiconnectTypes.h:368</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa">wiconnect::WICONNECT_BAD_ARG</a></div><div class="ttdoc">Bad argument supplied. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00177">WiconnectTypes.h:177</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1">wiconnect::WICONNECT_IDLE</a></div><div class="ttdoc">Library not processing any commands. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00163">WiconnectTypes.h:163</a></div></div> -<div class="ttc" id="group__api__socket__types_html_ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb"><div class="ttname"><a href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb">wiconnect::SOCKET_HTTP_POST</a></div><div class="ttdoc">HTTP POST Request socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00340">WiconnectTypes.h:340</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5">wiconnect::FILE_FLAG_EXECUTABLE</a></div><div class="ttdoc">File executable. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00369">WiconnectTypes.h:369</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2">wiconnect::WICONNECT_NOT_CONNECTED</a></div><div class="ttdoc">Not connected. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00183">WiconnectTypes.h:183</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52">wiconnect::FILE_TYPE_GPIO_CONFIG</a></div><div class="ttdoc">GPIO configuration file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00394">WiconnectTypes.h:394</a></div></div> -<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_adffa0b3f63392a28c19aef272c918772"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772">wiconnect::HttpSocketArgs::type</a></div><div class="ttdeci">HttpSocketType type</div><div class="ttdoc">The type of HTTP connection. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00353">WiconnectTypes.h:353</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff">wiconnect::WICONNECT_CMD_RESPONSE_ERROR</a></div><div class="ttdoc">Module returned error code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00169">WiconnectTypes.h:169</a></div></div> -<div class="ttc" id="group__api__file__types_html_gafbe48908f5c190c3b0f272d3016e609e"><div class="ttname"><a href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">wiconnect::FileFlags</a></div><div class="ttdeci">FileFlags</div><div class="ttdoc">File flags type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00364">WiconnectTypes.h:364</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd">wiconnect::FILE_TYPE_SDC_CAPS</a></div><div class="ttdoc">SDC / goHACK.me file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00396">WiconnectTypes.h:396</a></div></div> -<div class="ttc" id="group__api__network__types_html_gac5aead2b4cca0122a60168e75ea41d36"><div class="ttname"><a href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">wiconnect::NetworkSignalStrength</a></div><div class="ttdeci">NetworkSignalStrength</div><div class="ttdoc">Network RSSI signal level. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00253">WiconnectTypes.h:253</a></div></div> -<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4">wiconnect::SOCKET_TYPE_TLS</a></div><div class="ttdoc">TLS Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00328">WiconnectTypes.h:328</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385">wiconnect::NETWORK_RSSI_EXCELLENT</a></div><div class="ttdoc">> -20 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00255">WiconnectTypes.h:255</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0">wiconnect::FILE_FLAG_INTERNAL</a></div><div class="ttdoc">File on internal module flash. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00371">WiconnectTypes.h:371</a></div></div> -<div class="ttc" id="structwiconnect_1_1_ssid_html"><div class="ttname"><a href="structwiconnect_1_1_ssid.html">wiconnect::Ssid</a></div><div class="ttdoc">Network SSID type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00283">WiconnectTypes.h:283</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4">wiconnect::WICONNECT_DUPLICATE</a></div><div class="ttdoc">Duplicate value. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00180">WiconnectTypes.h:180</a></div></div> -<div class="ttc" id="group__api__network__types_html_ga5f6f5c916a5dd1676f98da7fa511451d"><div class="ttname"><a href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">wiconnect::NetworkJoinResult</a></div><div class="ttdeci">NetworkJoinResult</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00236">WiconnectTypes.h:236</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789">wiconnect::WICONNECT_ABORTED</a></div><div class="ttdoc">Command was aborted. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00162">WiconnectTypes.h:162</a></div></div> -<div class="ttc" id="group__api__socket__types_html_ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685"><div class="ttname"><a href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685">wiconnect::SOCKET_HTTP_GET</a></div><div class="ttdoc">HTTP GET Request socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00339">WiconnectTypes.h:339</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5">wiconnect::WICONNECT_RESPONSE_PARSE_ERROR</a></div><div class="ttdoc">Failed to parse module response. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00175">WiconnectTypes.h:175</a></div></div> -<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_a6dda2d739bd2c43d1b63d7a526ecf95c"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c">wiconnect::HttpSocketArgs::certName</a></div><div class="ttdeci">const char * certName</div><div class="ttdoc">TLS certificate filename on module flash file system. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00351">WiconnectTypes.h:351</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169">wiconnect::FILE_TYPE_REGULAR_APP</a></div><div class="ttdoc">Regular application. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00388">WiconnectTypes.h:388</a></div></div> -<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2">wiconnect::FILE_FLAG_ESSENTIAL</a></div><div class="ttdoc">File is essential. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00374">WiconnectTypes.h:374</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f">wiconnect::WICONNECT_OVERFLOW</a></div><div class="ttdoc">Buffer overflowed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00172">WiconnectTypes.h:172</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533">wiconnect::NETWORK_RSSI_GOOD</a></div><div class="ttdoc">> -50 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00257">WiconnectTypes.h:257</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff">wiconnect::WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL</a></div><div class="ttdoc">The pinToGpioMapper hasn't been set. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00179">WiconnectTypes.h:179</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8">wiconnect::NETWORK_JOIN_RESULT_SUCCESS</a></div><div class="ttdoc">Successfully joined the network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00239">WiconnectTypes.h:239</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2">wiconnect::FILE_TYPE_TEMPORY</a></div><div class="ttdoc">Temporary file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00393">WiconnectTypes.h:393</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e">wiconnect::FILE_TYPE_UNKNOWN</a></div><div class="ttdoc">Unknown file type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00399">WiconnectTypes.h:399</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00165">WiconnectTypes.h:165</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497">wiconnect::NETWORK_STATUS_JOINING</a></div><div class="ttdoc">Joining a network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00229">WiconnectTypes.h:229</a></div></div> -<div class="ttc" id="group__api__network__types_html_gab448e57fc1a5e21cbba0283fd1a35d99"><div class="ttname"><a href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">wiconnect::NetworkStatus</a></div><div class="ttdeci">NetworkStatus</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00224">WiconnectTypes.h:224</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc">wiconnect::NETWORK_JOIN_RESULT_FAILED</a></div><div class="ttdoc">Failed to join the network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00245">WiconnectTypes.h:245</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0">wiconnect::FILE_TYPE_COMMAND_HELP</a></div><div class="ttdoc">WiConnect command help file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00395">WiconnectTypes.h:395</a></div></div> -<div class="ttc" id="group__api__network__types_html_gaa68646bb07ee9f174097b60ac7327342"><div class="ttname"><a href="group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342">wiconnect::IpStrBuffer</a></div><div class="ttdeci">char IpStrBuffer[18]</div><div class="ttdoc">Buffer to hold an IP address string. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00314">WiconnectTypes.h:314</a></div></div> -<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae">wiconnect::NETWORK_RSSI_POOR</a></div><div class="ttdoc">> -70 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00258">WiconnectTypes.h:258</a></div></div> -<div class="ttc" id="structwiconnect_1_1_http_socket_args_html"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html">wiconnect::HttpSocketArgs</a></div><div class="ttdoc">Struct for hold HTTP socket configuration. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00348">WiconnectTypes.h:348</a></div></div> -<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475">wiconnect::NETWORK_JOIN_RESULT_JOINING</a></div><div class="ttdoc">Currently attempting to join. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00240">WiconnectTypes.h:240</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a">wiconnect::WICONNECT_PINNAME_TO_GPIO_NO_MAPPING</a></div><div class="ttdoc">No mapping found for given pin. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00182">WiconnectTypes.h:182</a></div></div> -<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_a57564bc3fed87b9ab2d3f4fff3d2dc24"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#a57564bc3fed87b9ab2d3f4fff3d2dc24">wiconnect::HttpSocketArgs::openOnly</a></div><div class="ttdeci">bool openOnly</div><div class="ttdoc">Only open the connection, don't issue the request yet. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00352">WiconnectTypes.h:352</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2">wiconnect::WICONNECT_NOT_OPENED_FOR_READING</a></div><div class="ttdoc">The file is not open for reading. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00186">WiconnectTypes.h:186</a></div></div> -<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e">wiconnect::SOCKET_TYPE_UNKNOWN</a></div><div class="ttdoc">Socket type not known. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00326">WiconnectTypes.h:326</a></div></div> -<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04">wiconnect::FILE_TYPE_UPGRADE_APP</a></div><div class="ttdoc">Internal upgrade application. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00385">WiconnectTypes.h:385</a></div></div> +<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb"> 406</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb">FILE_TYPE_USER_RANGE_START</a> = 150, </div> +<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e"> 407</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e">FILE_TYPE_USER_RANGE_END</a> = 199, </div> +<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div> +<div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2"> 409</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2">FILE_TYPE_TEMPORY</a> = 0xF9, </div> +<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52"> 410</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52">FILE_TYPE_GPIO_CONFIG</a> = 0xFA, </div> +<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0"> 411</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0">FILE_TYPE_COMMAND_HELP</a> = 0xFB, </div> +<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd"> 412</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd">FILE_TYPE_SDC_CAPS</a> = 0xFC, </div> +<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2"> 413</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2">FILE_TYPE_SETUP_SCRIPT</a> = 0xFD, </div> +<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206"> 414</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206">FILE_TYPE_MISC_FIX_LEN</a> = 0xFE, </div> +<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e"> 415</a></span>  <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e">FILE_TYPE_UNKNOWN</a> = 0xFF, </div> +<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  FILE_TYPE_ANY = <a class="code" href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e">FILE_TYPE_UNKNOWN</a></div> +<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> } <a class="code" href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">FileType</a>;</div> +<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div> +<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div> +<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div> +<div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67"> 426</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> {</div> +<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  GHM_VALUE_INT,</div> +<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  GHM_VALUE_STR</div> +<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> } <a class="code" href="group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67">GhmElementValueType</a>;</div> +<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div> +<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ghm_element.html"> 436</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> +<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> {</div> +<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *elementName;</div> +<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <a class="code" href="group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67">GhmElementValueType</a> type;</div> +<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keyword">union</span></div> +<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div> +<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *strValue;</div> +<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  uint32_t intValue;</div> +<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  } u;</div> +<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> } <a class="code" href="structwiconnect_1_1_ghm_element.html">GhmElement</a>;</div> +<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div> +<div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="structwiconnect_1_1_ghm_element_array.html"> 451</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> +<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> {</div> +<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  uint16_t count;</div> +<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <a class="code" href="structwiconnect_1_1_ghm_element.html">GhmElement</a> elements[1];</div> +<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> } <a class="code" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a>;</div> +<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div> +<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac"> 461</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> {</div> +<div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7"> 463</a></span>  <a class="code" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">GHM_SYNC_ALL</a>, </div> +<div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0"> 464</a></span>  <a class="code" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0">GHM_SYNC_PUSH_ONLY</a>, </div> +<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd"> 465</a></span>  <a class="code" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd">GHM_SYNC_PULL_ONLY</a> </div> +<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> } <a class="code" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a>;</div> +<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div> +<div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1"> 472</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> +<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> {</div> +<div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127"> 474</a></span>  <a class="code" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>, </div> +<div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1"> 475</a></span>  <a class="code" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1">GHM_MSG_GET_BODY</a>, </div> +<div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7"> 476</a></span>  <a class="code" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7">GHM_MSG_GET_ALL</a> </div> +<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> } <a class="code" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a>;</div> +<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div> +<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> </div> +<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div> +<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div> +<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div> +<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment">// Forward declarations</span></div> +<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div> +<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keyword">class </span>Wiconnect;</div> +<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="keyword">class </span>TimeoutTimer;</div> +<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="keyword">class </span>PeriodicTimer;</div> +<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="keyword">class </span>QueuedCommand;</div> +<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="keyword">class </span>CommandQueue;</div> +<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keyword">class </span>LogFunc;</div> +<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keyword">class </span>ReaderFunc;</div> +<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keyword">class </span>ReaderFuncCallback;</div> +<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keyword">class </span>Callback;</div> +<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="keyword">class </span>ScanResult;</div> +<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="keyword">class </span>ScanResultList;</div> +<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keyword">class </span>WiconnectSocket;</div> +<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="keyword">class </span>WiconnectSerial;</div> +<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keyword">class </span>WiconnectFile;</div> +<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="keyword">class </span>FileList;</div> +<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keyword">class </span>Gpio;</div> +<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keyword">class </span>SocketIrqHandlerMap;</div> +<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="keyword">class </span>WiconnectUdpServer;</div> +<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="keyword">class </span>GhmMessageList;</div> +<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keyword">class </span>GhmMessage;</div> +<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div> +<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2508195aa2793d49c5c6a24879b52206">wiconnect::FILE_TYPE_MISC_FIX_LEN</a></div><div class="ttdoc">Miscellaneous fixed length file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00414">WiconnectTypes.h:414</a></div></div> +<div class="ttc" id="structwiconnect_1_1_ssid_html_a7dd62e15567d9de9e9191f9aaba6a0a3"><div class="ttname"><a href="structwiconnect_1_1_ssid.html#a7dd62e15567d9de9e9191f9aaba6a0a3">wiconnect::Ssid::len</a></div><div class="ttdeci">uint8_t len</div><div class="ttdoc">The length in bytes of the SSID raw data. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00300">WiconnectTypes.h:300</a></div></div> +<div class="ttc" id="group__api__socket__types_html_ga69dc55558df4c81599c5fb3dff98756d"><div class="ttname"><a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">wiconnect::SocketType</a></div><div class="ttdeci">SocketType</div><div class="ttdoc">Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00338">WiconnectTypes.h:338</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6">wiconnect::WICONNECT_ERROR</a></div><div class="ttdoc">Generic error. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00175">WiconnectTypes.h:175</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957">wiconnect::NETWORK_JOIN_RESULT_BAD_SECURITY</a></div><div class="ttdoc">The specified security type is not supported by the network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00257">WiconnectTypes.h:257</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46">wiconnect::NETWORK_STATUS_UP</a></div><div class="ttdoc">Conntected to network and have IP address. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00242">WiconnectTypes.h:242</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd"><div class="ttname"><a href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd">wiconnect::GHM_SYNC_PULL_ONLY</a></div><div class="ttdoc">Only pull controls from remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00465">WiconnectTypes.h:465</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0"><div class="ttname"><a href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0">wiconnect::GHM_SYNC_PUSH_ONLY</a></div><div class="ttdoc">Only push streams and controls to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00464">WiconnectTypes.h:464</a></div></div> +<div class="ttc" id="group__api__network__types_html_ga026bd11cd5df47b7022362243e2d553f"><div class="ttname"><a href="group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f">wiconnect::NetworkSecurity</a></div><div class="ttdeci">NetworkSecurity</div><div class="ttdoc">Network security type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00281">WiconnectTypes.h:281</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5">wiconnect::WICONNECT_NULL_BUFFER</a></div><div class="ttdoc">Null buffer supplied. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00177">WiconnectTypes.h:177</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2958dab5107b78cd1c14400770ab9b4e">wiconnect::FILE_TYPE_USER_RANGE_END</a></div><div class="ttdoc">User type end index. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00407">WiconnectTypes.h:407</a></div></div> +<div class="ttc" id="namespacewiconnect_html_aadd4d5e6774e21f382c20b594a644470"><div class="ttname"><a href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">wiconnect::PinToGpioMapper</a></div><div class="ttdeci">int8_t(* PinToGpioMapper)(Pin pin)</div><div class="ttdoc">Function pointer for mapping from a host pin to a WiConnect Module GPIO. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00206">WiconnectTypes.h:206</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83">wiconnect::WICONNECT_ANOTHER_CMD_EXECUTING</a></div><div class="ttdoc">Currently executing another command. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00183">WiconnectTypes.h:183</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa">wiconnect::NETWORK_RSSI_VERY_POOR</a></div><div class="ttdoc">< -71 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00273">WiconnectTypes.h:273</a></div></div> +<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_a401fd2b9a75ec8c76d59bd798d36e25b"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b">wiconnect::HttpSocketArgs::contextType</a></div><div class="ttdeci">const char * contextType</div><div class="ttdoc">A POST Request 'context-type' value. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00366">WiconnectTypes.h:366</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9">wiconnect::SOCKET_TYPE_TCP</a></div><div class="ttdoc">TCP Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00341">WiconnectTypes.h:341</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ad127cd0d4eeefee993a24b4d5095bfe7">wiconnect::FILE_TYPE_WIFI_FW</a></div><div class="ttdoc">Wifi firmware binary. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00402">WiconnectTypes.h:402</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac">wiconnect::WICONNECT_TIMEOUT</a></div><div class="ttdoc">Command timed out. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00180">WiconnectTypes.h:180</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7"><div class="ttname"><a href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">wiconnect::GHM_SYNC_ALL</a></div><div class="ttdoc">Push and pull all streams and controls. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00463">WiconnectTypes.h:463</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea21f35fd8f0a4e38d91d5d1f5c5cc977f">wiconnect::FILE_FLAG_INVALID</a></div><div class="ttdoc">File flags invalid. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00392">WiconnectTypes.h:392</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5">wiconnect::NETWORK_JOIN_RESULT_NONE</a></div><div class="ttdoc">Haven't attempted to join. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00252">WiconnectTypes.h:252</a></div></div> +<div class="ttc" id="structwiconnect_1_1_ghm_element_html"><div class="ttname"><a href="structwiconnect_1_1_ghm_element.html">wiconnect::GhmElement</a></div><div class="ttdoc">goHACK.me stream or control value </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00436">WiconnectTypes.h:436</a></div></div> +<div class="ttc" id="structwiconnect_1_1_mac_address_html"><div class="ttname"><a href="structwiconnect_1_1_mac_address.html">wiconnect::MacAddress</a></div><div class="ttdoc">Network MAC Address type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00307">WiconnectTypes.h:307</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195">wiconnect::WICONNECT_NOT_FOUND</a></div><div class="ttdoc">Not found. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00188">WiconnectTypes.h:188</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91">wiconnect::SOCKET_TYPE_UDPS</a></div><div class="ttdoc">UDP Server Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00345">WiconnectTypes.h:345</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc">wiconnect::SOCKET_TYPE_UDP</a></div><div class="ttdoc">UDP Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00343">WiconnectTypes.h:343</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gadc1d6e26d4138c536bd5dce7ed4569d6"><div class="ttname"><a href="group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6">wiconnect::HttpSocketType</a></div><div class="ttdeci">HttpSocketType</div><div class="ttdoc">HTTP Socket sub-type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00353">WiconnectTypes.h:353</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_gaf75750bfef61c73f9e4677e9de663df1"><div class="ttname"><a href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">wiconnect::GhmMessageGetType</a></div><div class="ttdeci">GhmMessageGetType</div><div class="ttdoc">goHACK.me message GET type </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00472">WiconnectTypes.h:472</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c">wiconnect::NETWORK_JOIN_RESULT_ABORTED</a></div><div class="ttdoc">Joining was aborted (via command) </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00260">WiconnectTypes.h:260</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a2271e7ab227bf95699c260a258902eeb">wiconnect::FILE_TYPE_USER_RANGE_START</a></div><div class="ttdoc">User type start index. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00406">WiconnectTypes.h:406</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0">wiconnect::WICONNECT_PROCESSING</a></div><div class="ttdoc">Library processing current command. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00171">WiconnectTypes.h:171</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4">wiconnect::NETWORK_RSSI_UNKNOWN</a></div><div class="ttdoc">Not available. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00274">WiconnectTypes.h:274</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02">wiconnect::WICONNECT_UNDERFLOW</a></div><div class="ttdoc">Data underflow. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00191">WiconnectTypes.h:191</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067">wiconnect::NETWORK_STATUS_DOWN</a></div><div class="ttdoc">Not connected to network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00240">WiconnectTypes.h:240</a></div></div> +<div class="ttc" id="group__api__network__types_html_ga38e0a82235258f96340b9ce2c6e1426c"><div class="ttname"><a href="group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c">wiconnect::SsidStrBuffer</a></div><div class="ttdeci">char SsidStrBuffer[129]</div><div class="ttdoc">Buffer to hold a SSID string. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00322">WiconnectTypes.h:322</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c">wiconnect::NETWORK_STATUS_WIFI_ONLY</a></div><div class="ttdoc">Connected to network but don't have IP address. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00241">WiconnectTypes.h:241</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_ga4174104f02851ee92e51846877706e67"><div class="ttname"><a href="group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67">wiconnect::GhmElementValueType</a></div><div class="ttdeci">GhmElementValueType</div><div class="ttdoc">goHACK.me stream or control value type </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00426">WiconnectTypes.h:426</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6">wiconnect::FILE_FLAG_NONE</a></div><div class="ttdoc">No flags. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00382">WiconnectTypes.h:382</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">wiconnect::SOCKET_TYPE_HTTP</a></div><div class="ttdoc">HTTP Socket type,. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00344">WiconnectTypes.h:344</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127"><div class="ttname"><a href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">wiconnect::GHM_MSG_GET_DATA_ONLY</a></div><div class="ttdoc">Only GET the message data. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00474">WiconnectTypes.h:474</a></div></div> +<div class="ttc" id="group__api__network__types_html_ga04b095d2e2f32a3fd23e346a4be969d8"><div class="ttname"><a href="group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8">wiconnect::MacAddressStrBuffer</a></div><div class="ttdeci">char MacAddressStrBuffer[18]</div><div class="ttdoc">Buffer to hold a MAC address string. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00316">WiconnectTypes.h:316</a></div></div> +<div class="ttc" id="group__api__socket__types_html_ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236"><div class="ttname"><a href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236">wiconnect::SOCKET_HTTP_HEAD</a></div><div class="ttdoc">HTTP HEAD Request socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00357">WiconnectTypes.h:357</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf">wiconnect::FILE_FLAG_BOOTABLE</a></div><div class="ttdoc">File bootable. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00388">WiconnectTypes.h:388</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea07f098f34c015d1c81d7592b476312e6">wiconnect::FILE_FLAG_ENCRYPTED</a></div><div class="ttdoc">File encrypted. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00386">WiconnectTypes.h:386</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2">wiconnect::NETWORK_JOIN_RESULT_NOT_FOUND</a></div><div class="ttdoc">The network with the configured SSID was not found. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00258">WiconnectTypes.h:258</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713">wiconnect::NETWORK_RSSI_VERY_GOOD</a></div><div class="ttdoc">> -35 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00270">WiconnectTypes.h:270</a></div></div> +<div class="ttc" id="group__api__file__types_html_ga9919a4237eea2b0d1f27c16d64e62c63"><div class="ttname"><a href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">wiconnect::FileType</a></div><div class="ttdeci">FileType</div><div class="ttdoc">File type type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00399">WiconnectTypes.h:399</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00134">sdk.h:134</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304">wiconnect::NETWORK_JOIN_RESULT_NO_SSID</a></div><div class="ttdoc">The SSID has not be configured. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00255">WiconnectTypes.h:255</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc">wiconnect::WICONNECT_UNSUPPORTED</a></div><div class="ttdoc">Command / parameter not supported. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00185">WiconnectTypes.h:185</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43">wiconnect::WICONNECT_NOT_INITIALIZED</a></div><div class="ttdoc">Library not initialed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00178">WiconnectTypes.h:178</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea3864357fd0b63b4cd6594d00c2194ca8">wiconnect::FILE_FLAG_USER</a></div><div class="ttdoc">File created by user. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00389">WiconnectTypes.h:389</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec">wiconnect::NETWORK_JOIN_RESULT_NO_PASSWORD</a></div><div class="ttdoc">The network requires a password and none has been set. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00256">WiconnectTypes.h:256</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63afd6c376410552b54187a162e2c6fdad2">wiconnect::FILE_TYPE_SETUP_SCRIPT</a></div><div class="ttdoc">Setup script file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00413">WiconnectTypes.h:413</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e">wiconnect::WICONNECT_MONITOR_NOT_AVAILABLE</a></div><div class="ttdoc">Background processing monitor is not available (i.e in use) </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00192">WiconnectTypes.h:192</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a">wiconnect::FILE_FLAG_VALID</a></div><div class="ttdoc">File valid. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00384">WiconnectTypes.h:384</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa">wiconnect::WICONNECT_BAD_ARG</a></div><div class="ttdoc">Bad argument supplied. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00184">WiconnectTypes.h:184</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1">wiconnect::WICONNECT_IDLE</a></div><div class="ttdoc">Library not processing any commands. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00170">WiconnectTypes.h:170</a></div></div> +<div class="ttc" id="group__api__socket__types_html_ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb"><div class="ttname"><a href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb">wiconnect::SOCKET_HTTP_POST</a></div><div class="ttdoc">HTTP POST Request socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00356">WiconnectTypes.h:356</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609ea94ddbab88df5f29013d5deb3f3d092c5">wiconnect::FILE_FLAG_EXECUTABLE</a></div><div class="ttdoc">File executable. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00385">WiconnectTypes.h:385</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2">wiconnect::WICONNECT_NOT_CONNECTED</a></div><div class="ttdoc">Not connected. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00190">WiconnectTypes.h:190</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a5df6fc01411942aabcf83731d0d02d52">wiconnect::FILE_TYPE_GPIO_CONFIG</a></div><div class="ttdoc">GPIO configuration file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00410">WiconnectTypes.h:410</a></div></div> +<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_adffa0b3f63392a28c19aef272c918772"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772">wiconnect::HttpSocketArgs::type</a></div><div class="ttdeci">HttpSocketType type</div><div class="ttdoc">The type of HTTP connection. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00369">WiconnectTypes.h:369</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff">wiconnect::WICONNECT_CMD_RESPONSE_ERROR</a></div><div class="ttdoc">Module returned error code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00176">WiconnectTypes.h:176</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f">wiconnect::SOCKET_TYPE_GHM</a></div><div class="ttdoc">goHACK.me message type </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00346">WiconnectTypes.h:346</a></div></div> +<div class="ttc" id="group__api__file__types_html_gafbe48908f5c190c3b0f272d3016e609e"><div class="ttname"><a href="group__api__file__types.html#gafbe48908f5c190c3b0f272d3016e609e">wiconnect::FileFlags</a></div><div class="ttdeci">FileFlags</div><div class="ttdoc">File flags type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00380">WiconnectTypes.h:380</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a244c4ea312de84a2f4cabaff386fcffd">wiconnect::FILE_TYPE_SDC_CAPS</a></div><div class="ttdoc">SDC / goHACK.me file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00412">WiconnectTypes.h:412</a></div></div> +<div class="ttc" id="group__api__network__types_html_gac5aead2b4cca0122a60168e75ea41d36"><div class="ttname"><a href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">wiconnect::NetworkSignalStrength</a></div><div class="ttdeci">NetworkSignalStrength</div><div class="ttdoc">Network RSSI signal level. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00267">WiconnectTypes.h:267</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4">wiconnect::SOCKET_TYPE_TLS</a></div><div class="ttdoc">TLS Socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00342">WiconnectTypes.h:342</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385">wiconnect::NETWORK_RSSI_EXCELLENT</a></div><div class="ttdoc">> -20 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00269">WiconnectTypes.h:269</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaad3ddfddf9e28a26df73b689e0898df0">wiconnect::FILE_FLAG_INTERNAL</a></div><div class="ttdoc">File on internal module flash. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00387">WiconnectTypes.h:387</a></div></div> +<div class="ttc" id="structwiconnect_1_1_ssid_html"><div class="ttname"><a href="structwiconnect_1_1_ssid.html">wiconnect::Ssid</a></div><div class="ttdoc">Network SSID type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00297">WiconnectTypes.h:297</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4">wiconnect::WICONNECT_DUPLICATE</a></div><div class="ttdoc">Duplicate value. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00187">WiconnectTypes.h:187</a></div></div> +<div class="ttc" id="group__api__network__types_html_ga5f6f5c916a5dd1676f98da7fa511451d"><div class="ttname"><a href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">wiconnect::NetworkJoinResult</a></div><div class="ttdeci">NetworkJoinResult</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00250">WiconnectTypes.h:250</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_ga44ea17651dcf42ac9816f549beb577ac"><div class="ttname"><a href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">wiconnect::GhmSyncType</a></div><div class="ttdeci">GhmSyncType</div><div class="ttdoc">goHACK.me sychronization type </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00461">WiconnectTypes.h:461</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789">wiconnect::WICONNECT_ABORTED</a></div><div class="ttdoc">Command was aborted. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00169">WiconnectTypes.h:169</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1"><div class="ttname"><a href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1">wiconnect::GHM_MSG_GET_BODY</a></div><div class="ttdoc">Get the message body. This is JSON formatted. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00475">WiconnectTypes.h:475</a></div></div> +<div class="ttc" id="group__api__socket__types_html_ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685"><div class="ttname"><a href="group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685">wiconnect::SOCKET_HTTP_GET</a></div><div class="ttdoc">HTTP GET Request socket type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00355">WiconnectTypes.h:355</a></div></div> +<div class="ttc" id="namespacewiconnect_html_a0c27570b2913afc6339821df7c934810"><div class="ttname"><a href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">wiconnect::TimerTimeout</a></div><div class="ttdeci">unsigned long TimerTimeout</div><div class="ttdoc">Timeout type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00212">WiconnectTypes.h:212</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5">wiconnect::WICONNECT_RESPONSE_PARSE_ERROR</a></div><div class="ttdoc">Failed to parse module response. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00182">WiconnectTypes.h:182</a></div></div> +<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_a6dda2d739bd2c43d1b63d7a526ecf95c"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c">wiconnect::HttpSocketArgs::certName</a></div><div class="ttdeci">const char * certName</div><div class="ttdoc">TLS certificate filename on module flash file system. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00367">WiconnectTypes.h:367</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a681a5a935adbd3aefdbb3639c36a4169">wiconnect::FILE_TYPE_REGULAR_APP</a></div><div class="ttdoc">Regular application. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00404">WiconnectTypes.h:404</a></div></div> +<div class="ttc" id="group__api__file__types_html_ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2"><div class="ttname"><a href="group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaa74f44cd76d69e9f32d70a2b13c8c4e2">wiconnect::FILE_FLAG_ESSENTIAL</a></div><div class="ttdoc">File is essential. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00390">WiconnectTypes.h:390</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f">wiconnect::WICONNECT_OVERFLOW</a></div><div class="ttdoc">Buffer overflowed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00179">WiconnectTypes.h:179</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533">wiconnect::NETWORK_RSSI_GOOD</a></div><div class="ttdoc">> -50 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00271">WiconnectTypes.h:271</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff">wiconnect::WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL</a></div><div class="ttdoc">The pinToGpioMapper hasn't been set. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00186">WiconnectTypes.h:186</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8">wiconnect::NETWORK_JOIN_RESULT_SUCCESS</a></div><div class="ttdoc">Successfully joined the network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00253">WiconnectTypes.h:253</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63aaa4d15bf30361c1026fe15e029e9c3e2">wiconnect::FILE_TYPE_TEMPORY</a></div><div class="ttdoc">Temporary file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00409">WiconnectTypes.h:409</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a077782e07756b6dc93f96e9a0cca5c9e">wiconnect::FILE_TYPE_UNKNOWN</a></div><div class="ttdoc">Unknown file type. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00415">WiconnectTypes.h:415</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00172">WiconnectTypes.h:172</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497"><div class="ttname"><a href="group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497">wiconnect::NETWORK_STATUS_JOINING</a></div><div class="ttdoc">Joining a network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00243">WiconnectTypes.h:243</a></div></div> +<div class="ttc" id="structwiconnect_1_1_ghm_element_array_html"><div class="ttname"><a href="structwiconnect_1_1_ghm_element_array.html">wiconnect::GhmElementArray</a></div><div class="ttdoc">Array of goHACK.me stream or control values. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00451">WiconnectTypes.h:451</a></div></div> +<div class="ttc" id="group__api__network__types_html_gab448e57fc1a5e21cbba0283fd1a35d99"><div class="ttname"><a href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">wiconnect::NetworkStatus</a></div><div class="ttdeci">NetworkStatus</div><div class="ttdoc">Network connection status. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00238">WiconnectTypes.h:238</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc">wiconnect::NETWORK_JOIN_RESULT_FAILED</a></div><div class="ttdoc">Failed to join the network. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00259">WiconnectTypes.h:259</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63a35624c078c19b7b632d832d15c0d1ef0">wiconnect::FILE_TYPE_COMMAND_HELP</a></div><div class="ttdoc">WiConnect command help file. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00411">WiconnectTypes.h:411</a></div></div> +<div class="ttc" id="group__api__ghm__types_html_ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7"><div class="ttname"><a href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7">wiconnect::GHM_MSG_GET_ALL</a></div><div class="ttdoc">Get entire message. This includes headers. Is JSON formatted. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00476">WiconnectTypes.h:476</a></div></div> +<div class="ttc" id="group__api__network__types_html_gaa68646bb07ee9f174097b60ac7327342"><div class="ttname"><a href="group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342">wiconnect::IpStrBuffer</a></div><div class="ttdeci">char IpStrBuffer[18]</div><div class="ttdoc">Buffer to hold an IP address string. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00328">WiconnectTypes.h:328</a></div></div> +<div class="ttc" id="group__api__network__types_html_ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae"><div class="ttname"><a href="group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae">wiconnect::NETWORK_RSSI_POOR</a></div><div class="ttdoc">> -70 dBm </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00272">WiconnectTypes.h:272</a></div></div> +<div class="ttc" id="structwiconnect_1_1_http_socket_args_html"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html">wiconnect::HttpSocketArgs</a></div><div class="ttdoc">Struct for hold HTTP socket configuration. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00364">WiconnectTypes.h:364</a></div></div> +<div class="ttc" id="group__api__network__types_html_gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475"><div class="ttname"><a href="group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475">wiconnect::NETWORK_JOIN_RESULT_JOINING</a></div><div class="ttdoc">Currently attempting to join. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00254">WiconnectTypes.h:254</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a">wiconnect::WICONNECT_PINNAME_TO_GPIO_NO_MAPPING</a></div><div class="ttdoc">No mapping found for given pin. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00189">WiconnectTypes.h:189</a></div></div> +<div class="ttc" id="structwiconnect_1_1_http_socket_args_html_a57564bc3fed87b9ab2d3f4fff3d2dc24"><div class="ttname"><a href="structwiconnect_1_1_http_socket_args.html#a57564bc3fed87b9ab2d3f4fff3d2dc24">wiconnect::HttpSocketArgs::openOnly</a></div><div class="ttdeci">bool openOnly</div><div class="ttdoc">Only open the connection, don't issue the request yet. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00368">WiconnectTypes.h:368</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2">wiconnect::WICONNECT_NOT_OPENED_FOR_READING</a></div><div class="ttdoc">The file is not open for reading. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00193">WiconnectTypes.h:193</a></div></div> +<div class="ttc" id="group__api__socket__types_html_gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e"><div class="ttname"><a href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e">wiconnect::SOCKET_TYPE_UNKNOWN</a></div><div class="ttdoc">Socket type not known. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00340">WiconnectTypes.h:340</a></div></div> +<div class="ttc" id="group__api__file__types_html_gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04"><div class="ttname"><a href="group__api__file__types.html#gga9919a4237eea2b0d1f27c16d64e62c63ac2bf941d4f7f23cabf7c781c5741dc04">wiconnect::FILE_TYPE_UPGRADE_APP</a></div><div class="ttdoc">Internal upgrade application. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00401">WiconnectTypes.h:401</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/_wiconnect_udp_server_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,140 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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('_wiconnect_udp_server_8h_source.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">WiconnectUdpServer.h</div> </div> +</div><!--header--> +<div class="contents"> +<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "api/WiconnectTypes.h"</span></div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "WiconnectSocket.h"</span></div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">namespace </span>wiconnect</div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> {</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> +<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_wiconnect_udp_server.html"> 44</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> : <span class="keyword">public</span> <a class="code" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a></div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> {</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a>(<span class="keywordtype">int</span> rxBufferLen = 0, <span class="keywordtype">void</span> *rxBuffer = NULL, <span class="keywordtype">int</span> txBufferLen = 0, <span class="keywordtype">void</span> *txBuffer = NULL);</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> getRemoteClient(uint32_t *ipAddress, uint16_t *port);</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> setRemoteClient(<span class="keyword">const</span> <span class="keywordtype">char</span>* host, uint16_t port);</div> +<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> setRemoteClient(uint32_t ip, uint16_t port);</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <a class="code" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> flushTxBuffer();</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> };</div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_udp_server_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_udp_server.html">wiconnect::WiconnectUdpServer</a></div><div class="ttdoc">UDP Server Listening socket. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_udp_server_8h_source.html#l00044">WiconnectUdpServer.h:44</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_socket_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></div><div class="ttdoc">Connection object to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_socket_8h_source.html#l00043">WiconnectSocket.h:43</a></div></div> +</div><!-- fragment --></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- a/doc/html/annotated.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/annotated.html Mon Oct 27 13:42:26 2014 -0700 @@ -116,20 +116,26 @@ <tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_file_interface.html" target="_self">FileInterface</a></td><td class="desc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a remote server </td></tr> <tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_file_list.html" target="_self">FileList</a></td><td class="desc">WiConnect WiFi module file listing </td></tr> <tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_function_pointer.html" target="_self">FunctionPointer</a></td><td class="desc">Generic function pointer </td></tr> -<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_http_socket_args.html" target="_self">HttpSocketArgs</a></td><td class="desc">Struct for hold HTTP socket configuration </td></tr> -<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_log_func.html" target="_self">LogFunc</a></td><td class="desc">Logging callback function </td></tr> -<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_mac_address.html" target="_self">MacAddress</a></td><td class="desc">Network MAC Address type </td></tr> -<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_network_interface.html" target="_self">NetworkInterface</a></td><td class="desc">The provides an interface for joining and/or creating a network. It provides other utilities such as scanning for networks, pinging a network, resolving a domain name to IP address </td></tr> -<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_queued_command.html" target="_self">QueuedCommand</a></td><td class="desc">Class which contains command for asynchronous processing </td></tr> -<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_reader_func.html" target="_self">ReaderFunc</a></td><td class="desc">Generic data reading callback function </td></tr> -<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result.html" target="_self">ScanResult</a></td><td class="desc">Contains single entry from WiFi scan results </td></tr> -<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result_list.html" target="_self">ScanResultList</a></td><td class="desc">List of WiFi network scan results </td></tr> -<tr id="row_0_12_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_serial_config.html" target="_self">SerialConfig</a></td><td class="desc">Host<-><a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> Module serial configuration </td></tr> -<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_socket_interface.html" target="_self">SocketInterface</a></td><td class="desc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a remote server </td></tr> -<tr id="row_0_14_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ssid.html" target="_self">Ssid</a></td><td class="desc">Network SSID type </td></tr> -<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect.html" target="_self">Wiconnect</a></td><td class="desc">The root WiConnect library class. This class inheriets all WiConnect functionality </td></tr> -<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_file.html" target="_self">WiconnectFile</a></td><td class="desc">WiConnect WiFi module file object </td></tr> -<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_socket.html" target="_self">WiconnectSocket</a></td><td class="desc">Connection object to remote server </td></tr> +<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ghm_element.html" target="_self">GhmElement</a></td><td class="desc">GoHACK.me stream or control value </td></tr> +<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ghm_element_array.html" target="_self">GhmElementArray</a></td><td class="desc">Array of goHACK.me stream or control values </td></tr> +<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_ghm_interface.html" target="_self">GhmInterface</a></td><td class="desc">The provides an interface for <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> +<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_ghm_message.html" target="_self">GhmMessage</a></td><td class="desc">Contains single entry from goHACK.me message listing </td></tr> +<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_ghm_message_list.html" target="_self">GhmMessageList</a></td><td class="desc">List of goHACK.me messages </td></tr> +<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_http_socket_args.html" target="_self">HttpSocketArgs</a></td><td class="desc">Struct for hold HTTP socket configuration </td></tr> +<tr id="row_0_10_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_log_func.html" target="_self">LogFunc</a></td><td class="desc">Logging callback function </td></tr> +<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_mac_address.html" target="_self">MacAddress</a></td><td class="desc">Network MAC Address type </td></tr> +<tr id="row_0_12_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_network_interface.html" target="_self">NetworkInterface</a></td><td class="desc">The provides an interface for joining and/or creating a network. It provides other utilities such as scanning for networks, pinging a network, resolving a domain name to IP address </td></tr> +<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_queued_command.html" target="_self">QueuedCommand</a></td><td class="desc">Class which contains command for asynchronous processing </td></tr> +<tr id="row_0_14_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_reader_func.html" target="_self">ReaderFunc</a></td><td class="desc">Generic data reading callback function </td></tr> +<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result.html" target="_self">ScanResult</a></td><td class="desc">Contains single entry from WiFi scan results </td></tr> +<tr id="row_0_16_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result_list.html" target="_self">ScanResultList</a></td><td class="desc">List of WiFi network scan results </td></tr> +<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_serial_config.html" target="_self">SerialConfig</a></td><td class="desc">Host<-><a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> Module serial configuration </td></tr> +<tr id="row_0_18_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_socket_interface.html" target="_self">SocketInterface</a></td><td class="desc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a remote server </td></tr> +<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ssid.html" target="_self">Ssid</a></td><td class="desc">Network SSID type </td></tr> +<tr id="row_0_20_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect.html" target="_self">Wiconnect</a></td><td class="desc">The root WiConnect library class. This class inheriets all WiConnect functionality </td></tr> +<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_file.html" target="_self">WiconnectFile</a></td><td class="desc">WiConnect WiFi module file object </td></tr> +<tr id="row_0_22_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_socket.html" target="_self">WiconnectSocket</a></td><td class="desc">Connection object to remote server </td></tr> +<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html" target="_self">WiconnectUdpServer</a></td><td class="desc">UDP Server Listening socket </td></tr> <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_string_util.html" target="_self">StringUtil</a></td><td class="desc"></td></tr> </table> </div><!-- directory -->
--- a/doc/html/class_string_util.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/class_string_util.html Mon Oct 27 13:42:26 2014 -0700 @@ -126,7 +126,7 @@ <p>Definition at line <a class="el" href="_string_util_8h_source.html#l00045">45</a> of file <a class="el" href="_string_util_8h_source.html">StringUtil.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_string_util_8h_source.html">StringUtil.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_string_util_8h_source.html">StringUtil.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classes.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classes.html Mon Oct 27 13:42:26 2014 -0700 @@ -109,30 +109,34 @@ <div class="title">Class Index</div> </div> </div><!--header--> <div class="contents"> -<div class="qindex"><a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_Q">Q</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_W">W</a></div> +<div class="qindex"><a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_Q">Q</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_W">W</a></div> <table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0"> <tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  C  </div></td></tr></table> -</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  H  </div></td></tr></table> -</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  N  </div></td></tr></table> +</td><td valign="top"><a class="el" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  M  </div></td></tr></table> </td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  S  </div></td></tr></table> -</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  W  </div></td></tr></table> -</td></tr> -<tr></tr> -<tr><td valign="top"><a class="el" href="classwiconnect_1_1_callback.html">Callback</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_scan_result.html">ScanResult</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td></tr> +</td><td valign="top"><a class="el" href="classwiconnect_1_1_wiconnect_file.html">WiconnectFile</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td></tr> +<tr><td valign="top"><a class="el" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td></tr> +<tr><td valign="top"><a class="el" href="classwiconnect_1_1_callback.html">Callback</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_scan_result.html">ScanResult</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td></tr> <tr><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  F  </div></td></tr></table> -</td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  L  </div></td></tr></table> -</td><td rowspan="2" valign="bottom"><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  Q  </div></td></tr></table> -</td><td valign="top"><a class="el" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_wiconnect_file.html">WiconnectFile</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td></tr> -<tr><td valign="top"><a class="el" href="classwiconnect_1_1_serial_config.html">SerialConfig</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td></tr> -<tr><td valign="top"><a class="el" href="classwiconnect_1_1_file_interface.html">FileInterface</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_log_func.html">LogFunc</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_queued_command.html">QueuedCommand</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td></tr> -<tr><td valign="top"><a class="el" href="classwiconnect_1_1_file_list.html">FileList</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  M  </div></td></tr></table> -</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  R  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  N  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td></tr> +<tr><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  H  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classwiconnect_1_1_serial_config.html">SerialConfig</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td></tr> +<tr><td valign="top"><a class="el" href="classwiconnect_1_1_file_interface.html">FileInterface</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_network_interface.html">NetworkInterface</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_socket_interface.html">SocketInterface</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td></tr> +<tr><td valign="top"><a class="el" href="classwiconnect_1_1_file_list.html">FileList</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  Q  </div></td></tr></table> </td><td valign="top"><a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td></tr> -<tr><td valign="top"><a class="el" href="classwiconnect_1_1_function_pointer.html">FunctionPointer</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="class_string_util.html">StringUtil</a>   </td><td></td></tr> -<tr><td></td><td valign="top"><a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td valign="top"><a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td><td></td></tr> +<tr><td valign="top"><a class="el" href="classwiconnect_1_1_function_pointer.html">FunctionPointer</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  L  </div></td></tr></table> +</td><td valign="top"><a class="el" href="class_string_util.html">StringUtil</a>   </td><td></td></tr> +<tr><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  G  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classwiconnect_1_1_queued_command.html">QueuedCommand</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  W  </div></td></tr></table> +</td><td></td></tr> +<tr><td valign="top"><a class="el" href="classwiconnect_1_1_log_func.html">LogFunc</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  R  </div></td></tr></table> +</td><td></td></tr> +<tr><td valign="top"><a class="el" href="structwiconnect_1_1_ghm_element.html">GhmElement</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td><td valign="top"><a class="el" href="classwiconnect_1_1_wiconnect.html">Wiconnect</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td></tr> +<tr><td></td><td></td><td valign="top"><a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> (<a class="el" href="namespacewiconnect.html">wiconnect</a>)   </td><td></td><td></td></tr> <tr><td></td><td></td><td></td><td></td><td></td></tr> </table> -<div class="qindex"><a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_Q">Q</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_W">W</a></div> +<div class="qindex"><a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_Q">Q</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_W">W</a></div> </div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/classwiconnect_1_1_callback.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_callback.html Mon Oct 27 13:42:26 2014 -0700 @@ -123,7 +123,7 @@ <p>Definition at line <a class="el" href="_callback_8h_source.html#l00049">49</a> of file <a class="el" href="_callback_8h_source.html">Callback.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_callback_8h_source.html">Callback.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_callback_8h_source.html">Callback.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_file_interface.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_file_interface.html Mon Oct 27 13:42:26 2014 -0700 @@ -162,7 +162,7 @@ <p>Definition at line <a class="el" href="_file_interface_8h_source.html#l00068">68</a> of file <a class="el" href="_file_interface_8h_source.html">FileInterface.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_file_interface_8h_source.html">FileInterface.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_file_interface_8h_source.html">FileInterface.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_file_list.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_file_list.html Mon Oct 27 13:42:26 2014 -0700 @@ -121,7 +121,7 @@ <p>Definition at line <a class="el" href="_file_list_8h_source.html#l00044">44</a> of file <a class="el" href="_file_list_8h_source.html">FileList.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_file_list_8h_source.html">FileList.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_file_list_8h_source.html">FileList.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_function_pointer.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_function_pointer.html Mon Oct 27 13:42:26 2014 -0700 @@ -124,7 +124,7 @@ <p>Definition at line <a class="el" href="_function_pointer_8h_source.html#l00040">40</a> of file <a class="el" href="_function_pointer_8h_source.html">FunctionPointer.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_function_pointer_8h_source.html">FunctionPointer.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_function_pointer_8h_source.html">FunctionPointer.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_ghm_interface-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,142 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_ghm_interface.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">wiconnect::GhmInterface Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a>, including all inherited members.</p> +<table class="directory"> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate</a>(const char *userName, const char *password, const char *capsFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">ghmDeactivate</a>(const char *userName, const char *password)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">ghmDeleteMessage</a>(uint8_t listIndex)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9">ghmDeleteMessage</a>(const char *msgId)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">ghmDownloadCapabilities</a>(const char *capsNameOrCustomUrl=NULL, uint32_t version=0)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a>(WiconnectSocket &socket, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29">ghmGetMessage</a>(WiconnectSocket &socket, uint8_t listIndex, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d">ghmGetMessage</a>(WiconnectSocket &socket, const char *msgId, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">ghmIsActivated</a>(bool *statusPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">ghmListMessages</a>(GhmMessageList &msgList, uint8_t maxCount=0)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">ghmPostMessage</a>(WiconnectSocket &socket, bool jsonFormatted=false)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">ghmRead</a>(const char *controlName, const char **valueStrPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f">ghmRead</a>(const char *controlName, uint32_t *valueIntPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12">ghmRead</a>(const char *controlName, char *valueBuffer, uint16_t valueBufferLen)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">ghmSynchronize</a>(GhmSyncType type=GHM_SYNC_ALL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a>(const char *elementName, const char *strValue)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c">ghmWrite</a>(const char *elementName, uint32_t uintValue)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">ghmWrite</a>(const char *elementName, int32_t intValue)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6">ghmWrite</a>(const GhmElementArray *elementArray)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> +</table></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_ghm_interface.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,201 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_ghm_interface.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="#pub-methods">Public Member Functions</a> | +<a href="classwiconnect_1_1_ghm_interface-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">wiconnect::GhmInterface Class Reference<div class="ingroups"><a class="el" href="group__api__ghm__types.html">Types</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>The provides an interface for <a href="http://goHACK.me">http://goHACK.me</a>. + <a href="classwiconnect_1_1_ghm_interface.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="_ghm_interface_8h_source.html">GhmInterface.h</a>></code></p> + +<p>Inherited by <a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a>.</p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr class="memitem:gaff03ecaa08146e6925820209cdab56bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">ghmDownloadCapabilities</a> (const char *capsNameOrCustomUrl=NULL, uint32_t version=0)</td></tr> +<tr class="memdesc:gaff03ecaa08146e6925820209cdab56bd"><td class="mdescLeft"> </td><td class="mdescRight">Download a device capabilities file to WiFi module's internal file system. <a href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">More...</a><br /></td></tr> +<tr class="separator:gaff03ecaa08146e6925820209cdab56bd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa0213731eebd4a14e9099d01ff76beff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate</a> (const char *userName, const char *password, const char *capsFilename=NULL)</td></tr> +<tr class="memdesc:gaa0213731eebd4a14e9099d01ff76beff"><td class="mdescLeft"> </td><td class="mdescRight">Activate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">More...</a><br /></td></tr> +<tr class="separator:gaa0213731eebd4a14e9099d01ff76beff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad0e0484d1f9a6608475874544f96708b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">ghmDeactivate</a> (const char *userName, const char *password)</td></tr> +<tr class="memdesc:gad0e0484d1f9a6608475874544f96708b"><td class="mdescLeft"> </td><td class="mdescRight">Deactivate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">More...</a><br /></td></tr> +<tr class="separator:gad0e0484d1f9a6608475874544f96708b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8bec70f780ca7de9dce1a15830c179ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">ghmIsActivated</a> (bool *statusPtr)</td></tr> +<tr class="memdesc:ga8bec70f780ca7de9dce1a15830c179ff"><td class="mdescLeft"> </td><td class="mdescRight">Return if WiFi module is activated with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">More...</a><br /></td></tr> +<tr class="separator:ga8bec70f780ca7de9dce1a15830c179ff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3fde7b34da992719b41fc52178b73bc2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">ghmRead</a> (const char *controlName, const char **valueStrPtr)</td></tr> +<tr class="memdesc:ga3fde7b34da992719b41fc52178b73bc2"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">More...</a><br /></td></tr> +<tr class="separator:ga3fde7b34da992719b41fc52178b73bc2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2d4f14ef409c30b49ce2a06b72d10c7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f">ghmRead</a> (const char *controlName, uint32_t *valueIntPtr)</td></tr> +<tr class="memdesc:ga2d4f14ef409c30b49ce2a06b72d10c7f"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f">More...</a><br /></td></tr> +<tr class="separator:ga2d4f14ef409c30b49ce2a06b72d10c7f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga965090d4b28bda9f58716b522a6bee12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12">ghmRead</a> (const char *controlName, char *valueBuffer, uint16_t valueBufferLen)</td></tr> +<tr class="memdesc:ga965090d4b28bda9f58716b522a6bee12"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12">More...</a><br /></td></tr> +<tr class="separator:ga965090d4b28bda9f58716b522a6bee12"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2f57fc33ad0e71d608b1350d4e3ab223"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a> (const char *elementName, const char *strValue)</td></tr> +<tr class="memdesc:ga2f57fc33ad0e71d608b1350d4e3ab223"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">More...</a><br /></td></tr> +<tr class="separator:ga2f57fc33ad0e71d608b1350d4e3ab223"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga26ef47c451e7dbe869f19f5f36695e7c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c">ghmWrite</a> (const char *elementName, uint32_t uintValue)</td></tr> +<tr class="memdesc:ga26ef47c451e7dbe869f19f5f36695e7c"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c">More...</a><br /></td></tr> +<tr class="separator:ga26ef47c451e7dbe869f19f5f36695e7c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab524e64f4bbae826c27bf39d7f2d3c2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">ghmWrite</a> (const char *elementName, int32_t intValue)</td></tr> +<tr class="memdesc:gab524e64f4bbae826c27bf39d7f2d3c2e"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">More...</a><br /></td></tr> +<tr class="separator:gab524e64f4bbae826c27bf39d7f2d3c2e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5eb797aba87a3ab76d742afe34292ee6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6">ghmWrite</a> (const <a class="el" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a> *elementArray)</td></tr> +<tr class="memdesc:ga5eb797aba87a3ab76d742afe34292ee6"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6">More...</a><br /></td></tr> +<tr class="separator:ga5eb797aba87a3ab76d742afe34292ee6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0aa48506edb22c90be513683672b96c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">ghmSynchronize</a> (<a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a> type=<a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">GHM_SYNC_ALL</a>)</td></tr> +<tr class="memdesc:ga0aa48506edb22c90be513683672b96c7"><td class="mdescLeft"> </td><td class="mdescRight">Synchronize WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">More...</a><br /></td></tr> +<tr class="separator:ga0aa48506edb22c90be513683672b96c7"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadc281f497041b26a151c72a0b5d03543"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">ghmPostMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, bool jsonFormatted=false)</td></tr> +<tr class="memdesc:gadc281f497041b26a151c72a0b5d03543"><td class="mdescLeft"> </td><td class="mdescRight">POST message to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">More...</a><br /></td></tr> +<tr class="separator:gadc281f497041b26a151c72a0b5d03543"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaa05391432b2ca38bb416c671f57b234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=<a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>)</td></tr> +<tr class="memdesc:gaaa05391432b2ca38bb416c671f57b234"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">More...</a><br /></td></tr> +<tr class="separator:gaaa05391432b2ca38bb416c671f57b234"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa905a010f0e234d290eaef6e42975c29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29">ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint8_t listIndex, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=<a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>)</td></tr> +<tr class="memdesc:gaa905a010f0e234d290eaef6e42975c29"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29">More...</a><br /></td></tr> +<tr class="separator:gaa905a010f0e234d290eaef6e42975c29"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9c6dffaa871f2443a32d75276160682d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d">ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *msgId, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=<a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>)</td></tr> +<tr class="memdesc:ga9c6dffaa871f2443a32d75276160682d"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d">More...</a><br /></td></tr> +<tr class="separator:ga9c6dffaa871f2443a32d75276160682d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga451de9d69f7ecbf38e36056e502b94b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">ghmDeleteMessage</a> (uint8_t listIndex)</td></tr> +<tr class="memdesc:ga451de9d69f7ecbf38e36056e502b94b0"><td class="mdescLeft"> </td><td class="mdescRight">Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">More...</a><br /></td></tr> +<tr class="separator:ga451de9d69f7ecbf38e36056e502b94b0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7273f4c691aeccd241327f1be3e8d0e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9">ghmDeleteMessage</a> (const char *msgId)</td></tr> +<tr class="memdesc:ga7273f4c691aeccd241327f1be3e8d0e9"><td class="mdescLeft"> </td><td class="mdescRight">Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9">More...</a><br /></td></tr> +<tr class="separator:ga7273f4c691aeccd241327f1be3e8d0e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae69971594793e1a10f11a51277909502"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">ghmListMessages</a> (<a class="el" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> &msgList, uint8_t maxCount=0)</td></tr> +<tr class="memdesc:gae69971594793e1a10f11a51277909502"><td class="mdescLeft"> </td><td class="mdescRight">List available messages for device on <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">More...</a><br /></td></tr> +<tr class="separator:gae69971594793e1a10f11a51277909502"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>The provides an interface for <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<p>The goHACK.me API provided by WiConnect enables monitoring and control of your ACKme device. You can set up a goHACK.me account, then using goHACK.me commands and goHACK.me variables, you can activate your device and synchronize data, control and messages with the goHACK.me cloud service.</p> +<p>More information here: <a href="http://wiconnect.ack.me/2.0/gohackme">http://wiconnect.ack.me/2.0/gohackme</a></p> +<dl class="section note"><dt>Note</dt><dd>This class is an interface to the <a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> class. It should never be independently instantiated or the parent of another class. </dd></dl> + +<p>Definition at line <a class="el" href="_ghm_interface_8h_source.html#l00081">81</a> of file <a class="el" href="_ghm_interface_8h_source.html">GhmInterface.h</a>.</p> +</div><hr/>The documentation for this class was generated from the following file:<ul> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_ghm_interface_8h_source.html">GhmInterface.h</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_ghm_interface.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,22 @@ +var classwiconnect_1_1_ghm_interface = +[ + [ "ghmActivate", "group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff", null ], + [ "ghmDeactivate", "group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b", null ], + [ "ghmDeleteMessage", "group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0", null ], + [ "ghmDeleteMessage", "group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9", null ], + [ "ghmDownloadCapabilities", "group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d", null ], + [ "ghmIsActivated", "group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff", null ], + [ "ghmListMessages", "group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502", null ], + [ "ghmPostMessage", "group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543", null ], + [ "ghmRead", "group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2", null ], + [ "ghmRead", "group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f", null ], + [ "ghmRead", "group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12", null ], + [ "ghmSynchronize", "group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c", null ], + [ "ghmWrite", "group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6", null ] +]; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_ghm_message-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,123 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_ghm_message.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">wiconnect::GhmMessage Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classwiconnect_1_1_ghm_message.html">wiconnect::GhmMessage</a>, including all inherited members.</p> +<table class="directory"> +</table></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_ghm_message.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,134 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_ghm_message.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="classwiconnect_1_1_ghm_message-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">wiconnect::GhmMessage Class Reference<div class="ingroups"><a class="el" href="group__api__ghm__types.html">Types</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Contains single entry from goHACK.me message listing. + <a href="classwiconnect_1_1_ghm_message.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="_ghm_message_8h_source.html">GhmMessage.h</a>></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Contains single entry from goHACK.me message listing. </p> + +<p>Definition at line <a class="el" href="_ghm_message_8h_source.html#l00046">46</a> of file <a class="el" href="_ghm_message_8h_source.html">GhmMessage.h</a>.</p> +</div><hr/>The documentation for this class was generated from the following file:<ul> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_ghm_message_8h_source.html">GhmMessage.h</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_ghm_message_list-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,123 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_ghm_message_list.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">wiconnect::GhmMessageList Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classwiconnect_1_1_ghm_message_list.html">wiconnect::GhmMessageList</a>, including all inherited members.</p> +<table class="directory"> +</table></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_ghm_message_list.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,134 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_ghm_message_list.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="classwiconnect_1_1_ghm_message_list-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">wiconnect::GhmMessageList Class Reference<div class="ingroups"><a class="el" href="group__api__ghm__types.html">Types</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>List of goHACK.me messages. + <a href="classwiconnect_1_1_ghm_message_list.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="_ghm_message_list_8h_source.html">GhmMessageList.h</a>></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>List of goHACK.me messages. </p> + +<p>Definition at line <a class="el" href="_ghm_message_list_8h_source.html#l00046">46</a> of file <a class="el" href="_ghm_message_list_8h_source.html">GhmMessageList.h</a>.</p> +</div><hr/>The documentation for this class was generated from the following file:<ul> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_ghm_message_list_8h_source.html">GhmMessageList.h</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- a/doc/html/classwiconnect_1_1_log_func.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_log_func.html Mon Oct 27 13:42:26 2014 -0700 @@ -123,7 +123,7 @@ <p>Definition at line <a class="el" href="_log_func_8h_source.html#l00045">45</a> of file <a class="el" href="_log_func_8h_source.html">LogFunc.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_log_func_8h_source.html">LogFunc.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_log_func_8h_source.html">LogFunc.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_network_interface-members.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_network_interface-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -113,28 +113,32 @@ <p>This is the complete list of members for <a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a>, including all inherited members.</p> <table class="directory"> <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">getDhcpEnabled</a>(bool *enabledPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">getIpAddress</a>(char *buffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">getIpSettings</a>(uint32_t *ip, uint32_t *netmask, uint32_t *gateway)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">getDnsAddress</a>(uint32_t *dnsAddress)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">getIpAddress</a>(char *buffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">getIpSettings</a>(uint32_t *ip, uint32_t *netmask, uint32_t *gateway)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">getMacAddress</a>(MacAddress *macAddress)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">getNetworkJoinResult</a>(NetworkJoinResult *joinResultPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5">getNetworkStatus</a>(NetworkStatus *statusPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a>(NetworkSignalStrength *signalStrengthPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">ipToStr</a>(uint32_t ip, char *ipStrBuffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65">isWebSetupRunning</a>(bool *isRunningPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">join</a>(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328">leave</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89">lookup</a>(const char *domain, uint32_t *ipAddressPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">macAddressToStr</a>(const MacAddress *macAddress, char *macStrBuffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6">networkJoinResultToStr</a>(NetworkJoinResult joinResult)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f">networkSecurityToStr</a>(NetworkSecurity security)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a>(NetworkStatus status)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc">ping</a>(const char *domain=NULL, uint32_t *timeMsPtr=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8">rssiToSignalStrength</a>(int rssi)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">scan</a>(ScanResultList &resultList, const uint8_t *channelList=NULL, const char *ssid=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">setDhcpEnabled</a>(bool enabled)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">getRssi</a>(int32_t *rssiPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a>(NetworkSignalStrength *signalStrengthPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">ipToStr</a>(uint32_t ip, char *ipStrBuffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65">isWebSetupRunning</a>(bool *isRunningPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">join</a>(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328">leave</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89">lookup</a>(const char *domain, uint32_t *ipAddressPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">macAddressToStr</a>(const MacAddress *macAddress, char *macStrBuffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr><td class="entry"><a class="el" href="group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6">networkJoinResultToStr</a>(NetworkJoinResult joinResult)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f">networkSecurityToStr</a>(NetworkSecurity security)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr><td class="entry"><a class="el" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a>(NetworkStatus status)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc">ping</a>(const char *domain=NULL, uint32_t *timeMsPtr=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8">rssiToSignalStrength</a>(int rssi)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">scan</a>(ScanResultList &resultList, const uint8_t *channelList=NULL, const char *ssid=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">setDhcpEnabled</a>(bool enabled)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">setDnsAddress</a>(uint32_t dnsAddress)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">setIpSettings</a>(uint32_t ip, uint32_t netmask, uint32_t gateway)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0">setIpSettings</a>(const char *ip, const char *netmask, const char *gateway)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__conversion__util.html#gad4661f859cfadbe193793898671043c9">signalStrengthToStr</a>(NetworkSignalStrength signalStrenth)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">ssidToStr</a>(const Ssid *ssid, char *ssidStrBuffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">ssidToStr</a>(const Ssid *ssid, char *ssidStrBuffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> <tr><td class="entry"><a class="el" href="group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847">startWebSetup</a>(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a">stopWebSetup</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591">strToIp</a>(const char *str, uint32_t *intPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
--- a/doc/html/classwiconnect_1_1_network_interface.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_network_interface.html Mon Oct 27 13:42:26 2014 -0700 @@ -144,6 +144,18 @@ <tr class="memitem:gafefe6e679d7b48a7127d3ed6371fe58b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">getNetworkJoinResult</a> (<a class="el" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a> *joinResultPtr)</td></tr> <tr class="memdesc:gafefe6e679d7b48a7127d3ed6371fe58b"><td class="mdescLeft"> </td><td class="mdescRight">Get the result of joining the network. <a href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">More...</a><br /></td></tr> <tr class="separator:gafefe6e679d7b48a7127d3ed6371fe58b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaba16b9918e55c08285cf5b8b50dbabea"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a> (<a class="el" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> *signalStrengthPtr)</td></tr> +<tr class="memdesc:gaba16b9918e55c08285cf5b8b50dbabea"><td class="mdescLeft"> </td><td class="mdescRight">Get <a class="el" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> of WiFi network module is connected. <br /></td></tr> +<tr class="separator:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa9db3c463cf6b4f351c37671882dd3ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa9db3c463cf6b4f351c37671882dd3ee"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">getRssi</a> (int32_t *rssiPtr)</td></tr> +<tr class="memdesc:gaa9db3c463cf6b4f351c37671882dd3ee"><td class="mdescLeft"> </td><td class="mdescRight">Get the RSSI in dBm of WiFi network. <br /></td></tr> +<tr class="separator:gaa9db3c463cf6b4f351c37671882dd3ee"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga70991a2c5865c8f0b44b67de35f3b6b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga70991a2c5865c8f0b44b67de35f3b6b3"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">getMacAddress</a> (<a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress)</td></tr> +<tr class="memdesc:ga70991a2c5865c8f0b44b67de35f3b6b3"><td class="mdescLeft"> </td><td class="mdescRight">Get MAC address of the WiFi module. <br /></td></tr> +<tr class="separator:ga70991a2c5865c8f0b44b67de35f3b6b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacdf014d8aca9de33dbc1563c6bb1f956"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">scan</a> (<a class="el" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> &resultList, const uint8_t *channelList=NULL, const char *ssid=NULL)</td></tr> <tr class="memdesc:gacdf014d8aca9de33dbc1563c6bb1f956"><td class="mdescLeft"> </td><td class="mdescRight">Scan for available WiFi networks. <a href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">More...</a><br /></td></tr> <tr class="separator:gacdf014d8aca9de33dbc1563c6bb1f956"><td class="memSeparator" colspan="2"> </td></tr> @@ -172,13 +184,17 @@ <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">getIpSettings</a> (uint32_t *ip, uint32_t *netmask, uint32_t *gateway)</td></tr> <tr class="memdesc:ga291aef702f1c10bf2970394e3458022b"><td class="mdescLeft"> </td><td class="mdescRight">Get network IP settings. <br /></td></tr> <tr class="separator:ga291aef702f1c10bf2970394e3458022b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaba16b9918e55c08285cf5b8b50dbabea"></a> -<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a> (<a class="el" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> *signalStrengthPtr)</td></tr> -<tr class="memdesc:gaba16b9918e55c08285cf5b8b50dbabea"><td class="mdescLeft"> </td><td class="mdescRight">Get signal strength to WiFi network. <br /></td></tr> -<tr class="separator:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">getIpAddress</a> (char *buffer=NULL)</td></tr> -<tr class="memdesc:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><td class="mdescLeft"> </td><td class="mdescRight">Return the current IP address of the module if possible, else return 0.0.0.0. <a href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">More...</a><br /></td></tr> -<tr class="separator:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga258d8b80064c6ce311a433affe63a0e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga258d8b80064c6ce311a433affe63a0e9"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">setDnsAddress</a> (uint32_t dnsAddress)</td></tr> +<tr class="memdesc:ga258d8b80064c6ce311a433affe63a0e9"><td class="mdescLeft"> </td><td class="mdescRight">Set static DNS Address. <br /></td></tr> +<tr class="separator:ga258d8b80064c6ce311a433affe63a0e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga585cb71d386ee61db3772f4b3218cb6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga585cb71d386ee61db3772f4b3218cb6e"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">getDnsAddress</a> (uint32_t *dnsAddress)</td></tr> +<tr class="memdesc:ga585cb71d386ee61db3772f4b3218cb6e"><td class="mdescLeft"> </td><td class="mdescRight">Get the static DNS address. <br /></td></tr> +<tr class="separator:ga585cb71d386ee61db3772f4b3218cb6e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabd8eb629fd40defaa9ab22c189652a3f"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">getIpAddress</a> (char *buffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:gabd8eb629fd40defaa9ab22c189652a3f"><td class="mdescLeft"> </td><td class="mdescRight">Return the current IP address of the module if possible, else return 0.0.0.0. <a href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">More...</a><br /></td></tr> +<tr class="separator:gabd8eb629fd40defaa9ab22c189652a3f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> @@ -186,10 +202,10 @@ static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591">strToIp</a> (const char *str, uint32_t *intPtr)</td></tr> <tr class="memdesc:ga93bdb8669a70adaa61dc76073ce66591"><td class="mdescLeft"> </td><td class="mdescRight">Convert string to IP address. <br /></td></tr> <tr class="separator:ga93bdb8669a70adaa61dc76073ce66591"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaff8b0af70f4d4be792b943ad3af27303"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaff8b0af70f4d4be792b943ad3af27303"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">ipToStr</a> (uint32_t ip, char *ipStrBuffer=NULL)</td></tr> -<tr class="memdesc:gaff8b0af70f4d4be792b943ad3af27303"><td class="mdescLeft"> </td><td class="mdescRight">Convert IP address to string. <br /></td></tr> -<tr class="separator:gaff8b0af70f4d4be792b943ad3af27303"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga02e6b01f11f2283208f051b1b49b634c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga02e6b01f11f2283208f051b1b49b634c"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">ipToStr</a> (uint32_t ip, char *ipStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:ga02e6b01f11f2283208f051b1b49b634c"><td class="mdescLeft"> </td><td class="mdescRight">Convert IP address to string. <br /></td></tr> +<tr class="separator:ga02e6b01f11f2283208f051b1b49b634c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacff5a4927d79e8b4c0d5a3050f5950b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacff5a4927d79e8b4c0d5a3050f5950b0"></a> static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a> (<a class="el" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> status)</td></tr> <tr class="memdesc:gacff5a4927d79e8b4c0d5a3050f5950b0"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> to string. <br /></td></tr> @@ -218,26 +234,26 @@ static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17">strToSsid</a> (const char *str, <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid)</td></tr> <tr class="memdesc:ga6a479a58591ead92dcf0586e11fcad17"><td class="mdescLeft"> </td><td class="mdescRight">Convert string <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a>. <br /></td></tr> <tr class="separator:ga6a479a58591ead92dcf0586e11fcad17"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gafce7929a10e16cf9be7307a2f97bef3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafce7929a10e16cf9be7307a2f97bef3f"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">ssidToStr</a> (const <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid, char *ssidStrBuffer=NULL)</td></tr> -<tr class="memdesc:gafce7929a10e16cf9be7307a2f97bef3f"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> to string. <br /></td></tr> -<tr class="separator:gafce7929a10e16cf9be7307a2f97bef3f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae8b534c249d503aa764017bb088f3890"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae8b534c249d503aa764017bb088f3890"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">ssidToStr</a> (const <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid, char *ssidStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:gae8b534c249d503aa764017bb088f3890"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> to string. <br /></td></tr> +<tr class="separator:gae8b534c249d503aa764017bb088f3890"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga347f05073370d6872a5cdac74de39b1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga347f05073370d6872a5cdac74de39b1b"></a> static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b">strToMacAddress</a> (const char *str, <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress)</td></tr> <tr class="memdesc:ga347f05073370d6872a5cdac74de39b1b"><td class="mdescLeft"> </td><td class="mdescRight">Convert string <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a>. <br /></td></tr> <tr class="separator:ga347f05073370d6872a5cdac74de39b1b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga13ecaf390b4bf4a68b51a6b18e669134"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13ecaf390b4bf4a68b51a6b18e669134"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">macAddressToStr</a> (const <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress, char *macStrBuffer=NULL)</td></tr> -<tr class="memdesc:ga13ecaf390b4bf4a68b51a6b18e669134"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> to string. <br /></td></tr> -<tr class="separator:ga13ecaf390b4bf4a68b51a6b18e669134"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga01520d55f1923d90fb899ddef2f21cdf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga01520d55f1923d90fb899ddef2f21cdf"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">macAddressToStr</a> (const <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress, char *macStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:ga01520d55f1923d90fb899ddef2f21cdf"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> to string. <br /></td></tr> +<tr class="separator:ga01520d55f1923d90fb899ddef2f21cdf"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>The provides an interface for joining and/or creating a network. It provides other utilities such as scanning for networks, pinging a network, resolving a domain name to IP address. </p> <dl class="section note"><dt>Note</dt><dd>This class is an interface to the <a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> class. It should never be independently instantiated or the parent of another class. </dd></dl> -<p>Definition at line <a class="el" href="_network_interface_8h_source.html#l00049">49</a> of file <a class="el" href="_network_interface_8h_source.html">NetworkInterface.h</a>.</p> +<p>Definition at line <a class="el" href="_network_interface_8h_source.html#l00055">55</a> of file <a class="el" href="_network_interface_8h_source.html">NetworkInterface.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_network_interface_8h_source.html">NetworkInterface.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_network_interface_8h_source.html">NetworkInterface.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_network_interface.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_network_interface.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,11 +1,14 @@ var classwiconnect_1_1_network_interface = [ [ "getDhcpEnabled", "group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff", null ], - [ "getIpAddress", "group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290", null ], + [ "getDnsAddress", "group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e", null ], + [ "getIpAddress", "group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f", null ], [ "getIpSettings", "group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b", null ], + [ "getMacAddress", "group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3", null ], [ "getNetworkJoinResult", "group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b", null ], [ "getNetworkStatus", "group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5", null ], - [ "getSignalStrength", "group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea", null ], + [ "getRssi", "group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee", null ], + [ "getSignalStrength", "group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea", null ], [ "isWebSetupRunning", "group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65", null ], [ "join", "group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16", null ], [ "leave", "group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328", null ], @@ -13,6 +16,7 @@ [ "ping", "group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc", null ], [ "scan", "group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956", null ], [ "setDhcpEnabled", "group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf", null ], + [ "setDnsAddress", "group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9", null ], [ "setIpSettings", "group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0", null ], [ "setIpSettings", "group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0", null ], [ "startWebSetup", "group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847", null ],
--- a/doc/html/classwiconnect_1_1_queued_command.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_queued_command.html Mon Oct 27 13:42:26 2014 -0700 @@ -121,7 +121,7 @@ <p>Definition at line <a class="el" href="_queued_command_8h_source.html#l00043">43</a> of file <a class="el" href="_queued_command_8h_source.html">QueuedCommand.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_queued_command_8h_source.html">QueuedCommand.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_queued_command_8h_source.html">QueuedCommand.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_reader_func.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_reader_func.html Mon Oct 27 13:42:26 2014 -0700 @@ -123,7 +123,7 @@ <p>Definition at line <a class="el" href="_reader_func_8h_source.html#l00045">45</a> of file <a class="el" href="_reader_func_8h_source.html">ReaderFunc.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_reader_func_8h_source.html">ReaderFunc.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_reader_func_8h_source.html">ReaderFunc.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_scan_result.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_scan_result.html Mon Oct 27 13:42:26 2014 -0700 @@ -121,7 +121,7 @@ <p>Definition at line <a class="el" href="_scan_result_8h_source.html#l00046">46</a> of file <a class="el" href="_scan_result_8h_source.html">ScanResult.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_scan_result_8h_source.html">ScanResult.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_scan_result_8h_source.html">ScanResult.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_scan_result_list.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_scan_result_list.html Mon Oct 27 13:42:26 2014 -0700 @@ -121,7 +121,7 @@ <p>Definition at line <a class="el" href="_scan_result_list_8h_source.html#l00046">46</a> of file <a class="el" href="_scan_result_list_8h_source.html">ScanResultList.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_scan_result_list_8h_source.html">ScanResultList.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_scan_result_list_8h_source.html">ScanResultList.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_serial_config.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_serial_config.html Mon Oct 27 13:42:26 2014 -0700 @@ -119,7 +119,7 @@ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Host<-><a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> Module serial configuration. </p> -<p>Definition at line <a class="el" href="sdk_8h_source.html#l00129">129</a> of file <a class="el" href="sdk_8h_source.html">sdk.h</a>.</p> +<p>Definition at line <a class="el" href="sdk_8h_source.html#l00140">140</a> of file <a class="el" href="sdk_8h_source.html">sdk.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/sdk/mbed/<a class="el" href="sdk_8h_source.html">sdk.h</a></li> </ul>
--- a/doc/html/classwiconnect_1_1_socket_interface-members.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_socket_interface-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -113,21 +113,20 @@ <p>This is the complete list of members for <a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a>, including all inherited members.</p> <table class="directory"> <tr class="even"><td class="entry"><a class="el" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">closeAllSockets</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">connect</a>(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args, Pin irqPin)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">connect</a>(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec">httpAddHeader</a>(WiconnectSocket &socket, const char *key, const char *value)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">httpConnect</a>(WiconnectSocket &socket, const char *url, const HttpSocketArgs *args)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6">httpGet</a>(WiconnectSocket &socket, const char *url, bool openOnly=false, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517">httpGetStatus</a>(WiconnectSocket &socket, uint32_t *statusCodePtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85">httpHead</a>(WiconnectSocket &socket, const char *url, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365">httpPost</a>(WiconnectSocket &socket, const char *url, const char *contextType, bool openOnly=true, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">registerSocketIrqHandler</a>(Pin irqPin, const Callback &handler)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">tcpAccept</a>(WiconnectSocket &socket, int timeoutMs=WICONNECT_WAIT_FOREVER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">tcpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">tcpListen</a>(uint16_t listeningPort, int maxClients=0, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">tcpServerStop</a>(void)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">tlsConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">udpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort=SOCKET_ANY_PORT, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">unregisterSocketIrqHandler</a>(Pin irqPin)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">tcpAccept</a>(WiconnectSocket &socket, uint32_t timeoutMs=WICONNECT_WAIT_FOREVER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">tcpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">tcpListen</a>(uint16_t listeningPort, int maxClients=0 GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">tcpServerStop</a>(void)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">tlsConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">udpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort=SOCKET_ANY_PORT GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">udpListen</a>(WiconnectUdpServer &udpServer, uint16_t listeningPort)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> </table></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/classwiconnect_1_1_socket_interface.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_socket_interface.html Mon Oct 27 13:42:26 2014 -0700 @@ -125,33 +125,30 @@ <tr class="memitem:ga8a80d96efac7cc514fe7fc61d1878106"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">closeAllSockets</a> ()</td></tr> <tr class="memdesc:ga8a80d96efac7cc514fe7fc61d1878106"><td class="mdescLeft"> </td><td class="mdescRight">Close all opened sockets. <a href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">More...</a><br /></td></tr> <tr class="separator:ga8a80d96efac7cc514fe7fc61d1878106"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga94d1eb5407cb8b60ad366ecbe0e1b52a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">registerSocketIrqHandler</a> (<a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin, const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &handler)</td></tr> -<tr class="memdesc:ga94d1eb5407cb8b60ad366ecbe0e1b52a"><td class="mdescLeft"> </td><td class="mdescRight">Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. <a href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">More...</a><br /></td></tr> -<tr class="separator:ga94d1eb5407cb8b60ad366ecbe0e1b52a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga820d2fdb12d343212638e55633bd8551"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">unregisterSocketIrqHandler</a> (<a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin)</td></tr> -<tr class="memdesc:ga820d2fdb12d343212638e55633bd8551"><td class="mdescLeft"> </td><td class="mdescRight">Unregister a previously registered IRQ pin. <a href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">More...</a><br /></td></tr> -<tr class="separator:ga820d2fdb12d343212638e55633bd8551"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga037cb2813683697342fff01239c7f6f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">connect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin)</td></tr> -<tr class="memdesc:ga037cb2813683697342fff01239c7f6f8"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote server. <a href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">More...</a><br /></td></tr> -<tr class="separator:ga037cb2813683697342fff01239c7f6f8"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga4a788d604d759b5da51f682b998b9bd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">tcpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga4a788d604d759b5da51f682b998b9bd2"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TCP server. <a href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">More...</a><br /></td></tr> -<tr class="separator:ga4a788d604d759b5da51f682b998b9bd2"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga563831b33089437233f128483d034578"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">tcpListen</a> (uint16_t listeningPort, int maxClients=0, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga563831b33089437233f128483d034578"><td class="mdescLeft"> </td><td class="mdescRight">Start internal TCP server and listen on specified port. <a href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">More...</a><br /></td></tr> -<tr class="separator:ga563831b33089437233f128483d034578"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0ea4efc810c7c5a9fbd96fcc627633b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">tcpAccept</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, int timeoutMs=<a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>)</td></tr> -<tr class="memdesc:ga0ea4efc810c7c5a9fbd96fcc627633b3"><td class="mdescLeft"> </td><td class="mdescRight">Wait for next client to connect to TCP server. <a href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">More...</a><br /></td></tr> -<tr class="separator:ga0ea4efc810c7c5a9fbd96fcc627633b3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab24204ef309b6e7a52b03b35a7046b45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">connect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG)</td></tr> +<tr class="memdesc:gab24204ef309b6e7a52b03b35a7046b45"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote server. <a href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">More...</a><br /></td></tr> +<tr class="separator:gab24204ef309b6e7a52b03b35a7046b45"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad8e8632715a38222ce4fea5fe0aaf527"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">tcpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:gad8e8632715a38222ce4fea5fe0aaf527"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TCP server. <a href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">More...</a><br /></td></tr> +<tr class="separator:gad8e8632715a38222ce4fea5fe0aaf527"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9f4f3e53ea7f4e84d43529da8580aaaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">tcpListen</a> (uint16_t listeningPort, int maxClients=0 GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga9f4f3e53ea7f4e84d43529da8580aaaa"><td class="mdescLeft"> </td><td class="mdescRight">Start internal TCP server and listen on specified port. <a href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">More...</a><br /></td></tr> +<tr class="separator:ga9f4f3e53ea7f4e84d43529da8580aaaa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9e12bc568b7e8d72152e53a90de13035"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">tcpAccept</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint32_t timeoutMs=<a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>)</td></tr> +<tr class="memdesc:ga9e12bc568b7e8d72152e53a90de13035"><td class="mdescLeft"> </td><td class="mdescRight">Wait for next client to connect to TCP server. <a href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">More...</a><br /></td></tr> +<tr class="separator:ga9e12bc568b7e8d72152e53a90de13035"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3d0137ebe308674e75f81457c38679d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">tcpServerStop</a> (void)</td></tr> <tr class="memdesc:ga3d0137ebe308674e75f81457c38679d0"><td class="mdescLeft"> </td><td class="mdescRight">Stop TCP server from listening on port. Close all connected clients. <a href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">More...</a><br /></td></tr> <tr class="separator:ga3d0137ebe308674e75f81457c38679d0"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gacf10d28ced4591d99c4113ebee6382ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">tlsConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:gacf10d28ced4591d99c4113ebee6382ca"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TLS server. <a href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">More...</a><br /></td></tr> -<tr class="separator:gacf10d28ced4591d99c4113ebee6382ca"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga80f1d19174124f3d0f246e1c1201b3ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">udpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, uint16_t localPort=<a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a>, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga80f1d19174124f3d0f246e1c1201b3ec"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote UDP server. <a href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">More...</a><br /></td></tr> -<tr class="separator:ga80f1d19174124f3d0f246e1c1201b3ec"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4e6e89eb9aedec1ff6d25645c33f51e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">tlsConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga4e6e89eb9aedec1ff6d25645c33f51e4"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TLS server. <a href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">More...</a><br /></td></tr> +<tr class="separator:ga4e6e89eb9aedec1ff6d25645c33f51e4"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0ca5eabcd64ce45b574205447101f8aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">udpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, uint16_t localPort=<a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a> GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga0ca5eabcd64ce45b574205447101f8aa"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote UDP server. <a href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">More...</a><br /></td></tr> +<tr class="separator:ga0ca5eabcd64ce45b574205447101f8aa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga067fb0d662d8e27e3f5b561ded29a51a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">udpListen</a> (<a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> &udpServer, uint16_t listeningPort)</td></tr> +<tr class="memdesc:ga067fb0d662d8e27e3f5b561ded29a51a"><td class="mdescLeft"> </td><td class="mdescRight">Start a UDP server listening on the given port. <a href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">More...</a><br /></td></tr> +<tr class="separator:ga067fb0d662d8e27e3f5b561ded29a51a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga181a03d883f60dff0c03b65e066f0eed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">httpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *url, const <a class="el" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a> *args)</td></tr> <tr class="memdesc:ga181a03d883f60dff0c03b65e066f0eed"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote HTTP server. <a href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">More...</a><br /></td></tr> <tr class="separator:ga181a03d883f60dff0c03b65e066f0eed"><td class="memSeparator" colspan="2"> </td></tr> @@ -175,9 +172,9 @@ <div class="textblock"><p>The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a remote server. </p> <dl class="section note"><dt>Note</dt><dd>This class is an interface to the <a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> class. It should never be independently instantiated or the parent of another class. </dd></dl> -<p>Definition at line <a class="el" href="_socket_interface_8h_source.html#l00051">51</a> of file <a class="el" href="_socket_interface_8h_source.html">SocketInterface.h</a>.</p> +<p>Definition at line <a class="el" href="_socket_interface_8h_source.html#l00063">63</a> of file <a class="el" href="_socket_interface_8h_source.html">SocketInterface.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_socket_interface_8h_source.html">SocketInterface.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_socket_interface_8h_source.html">SocketInterface.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_socket_interface.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_socket_interface.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,19 +1,18 @@ var classwiconnect_1_1_socket_interface = [ [ "closeAllSockets", "group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106", null ], - [ "connect", "group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8", null ], + [ "connect", "group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45", null ], [ "httpAddHeader", "group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec", null ], [ "httpConnect", "group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed", null ], [ "httpGet", "group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6", null ], [ "httpGetStatus", "group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517", null ], [ "httpHead", "group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85", null ], [ "httpPost", "group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365", null ], - [ "registerSocketIrqHandler", "group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a", null ], - [ "tcpAccept", "group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3", null ], - [ "tcpConnect", "group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2", null ], - [ "tcpListen", "group__api__socket__tcp.html#ga563831b33089437233f128483d034578", null ], + [ "tcpAccept", "group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035", null ], + [ "tcpConnect", "group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527", null ], + [ "tcpListen", "group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa", null ], [ "tcpServerStop", "group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0", null ], - [ "tlsConnect", "group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca", null ], - [ "udpConnect", "group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec", null ], - [ "unregisterSocketIrqHandler", "group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551", null ] + [ "tlsConnect", "group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4", null ], + [ "udpConnect", "group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa", null ], + [ "udpListen", "group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a", null ] ]; \ No newline at end of file
--- a/doc/html/classwiconnect_1_1_wiconnect-members.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_wiconnect-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -114,7 +114,7 @@ <table class="directory"> <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd">checkCurrentCommand</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">closeAllSockets</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">connect</a>(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args, Pin irqPin)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">connect</a>(WiconnectSocket &socket, SocketType type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__file__methods.html#ga16fb09105975644879eb09581ce486e5">createFile</a>(const ReaderFunc &reader, void *user, const char *name, uint32_t size, uint32_t version=0, FileType type=FILE_TYPE_ANY, bool isEssential=false, int32_t checksum=-1)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6">deinit</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__file__methods.html#gafcf335cef42b7b3d0fd9d5af70c6ef7d">deleteFile</a>(const char *name)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"></td></tr> @@ -124,72 +124,96 @@ <tr><td class="entry"><a class="el" href="group__conversion__util.html#gad74fbe6faf90d987b31380978f3ea341">fileVersionIntToStr</a>(uint32_t version, bool verbose=true, char *buffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gae995028f5a70c58ccf6013c9811e79aa">fileVersionStrToInt</a>(const char *versionStr, uint32_t *versionIntPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713">flush</a>(int delayMs=500)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">getCommandDefaultTimeout</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">getDhcpEnabled</a>(bool *enabledPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad">getBlockingEnabled</a>(void)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">getCommandDefaultTimeout</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">getDhcpEnabled</a>(bool *enabledPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">getDnsAddress</a>(uint32_t *dnsAddress)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e">getInstance</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">getIpAddress</a>(char *buffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">getIpAddress</a>(char *buffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">getIpSettings</a>(uint32_t *ip, uint32_t *netmask, uint32_t *gateway)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a">getLastCommandResponseCodeStr</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#ga600215de23210071c42996d04390071e">getLastCommandResponseLength</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">getNetworkJoinResult</a>(NetworkJoinResult *joinResultPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5">getNetworkStatus</a>(NetworkStatus *statusPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8">getResponseBuffer</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">getMacAddress</a>(MacAddress *macAddress)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">getNetworkJoinResult</a>(NetworkJoinResult *joinResultPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5">getNetworkStatus</a>(NetworkStatus *statusPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8">getResponseBuffer</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">getRssi</a>(int32_t *rssiPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">getSetting</a>(const char *settingStr, uint32_t *valuePtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296">getSetting</a>(const char *settingStr, char **valuePtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#ga670947ef630233f7866f885500548233">getSetting</a>(const char *settingStr, char *valueBuffer, uint16_t valueBufferLen)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a>(NetworkSignalStrength *signalStrengthPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a>(NetworkSignalStrength *signalStrengthPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f">getVersion</a>(char *versionBuffer=NULL, int versionBufferSize=0, const Callback &completeCallback=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be">getWiconnectResultStr</a>(WiconnectResult wiconnectResult)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec">httpAddHeader</a>(WiconnectSocket &socket, const char *key, const char *value)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">httpConnect</a>(WiconnectSocket &socket, const char *url, const HttpSocketArgs *args)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6">httpGet</a>(WiconnectSocket &socket, const char *url, bool openOnly=false, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517">httpGetStatus</a>(WiconnectSocket &socket, uint32_t *statusCodePtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85">httpHead</a>(WiconnectSocket &socket, const char *url, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365">httpPost</a>(WiconnectSocket &socket, const char *url, const char *contextType, bool openOnly=true, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">init</a>(bool bringNetworkUp=false)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">ipToStr</a>(uint32_t ip, char *ipStrBuffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff">isInitialized</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65">isWebSetupRunning</a>(bool *isRunningPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">join</a>(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328">leave</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__file__methods.html#ga10536639c61213c037883dade021838f">listFiles</a>(FileList &list, const char *name=NULL, FileType type=FILE_TYPE_ANY, uint32_t version=0)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89">lookup</a>(const char *domain, uint32_t *ipAddressPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">macAddressToStr</a>(const MacAddress *macAddress, char *macStrBuffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6">networkJoinResultToStr</a>(NetworkJoinResult joinResult)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f">networkSecurityToStr</a>(NetworkSecurity security)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a>(NetworkStatus status)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__file__methods.html#gaaf2977c691be09aeda102267a6769583">openFile</a>(WiconnectFile &file, const char *name)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc">ping</a>(const char *domain=NULL, uint32_t *timeMsPtr=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">registerSocketIrqHandler</a>(Pin irqPin, const Callback &handler)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate</a>(const char *userName, const char *password, const char *capsFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">ghmDeactivate</a>(const char *userName, const char *password)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">ghmDeleteMessage</a>(uint8_t listIndex)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9">ghmDeleteMessage</a>(const char *msgId)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">ghmDownloadCapabilities</a>(const char *capsNameOrCustomUrl=NULL, uint32_t version=0)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a>(WiconnectSocket &socket, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29">ghmGetMessage</a>(WiconnectSocket &socket, uint8_t listIndex, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d">ghmGetMessage</a>(WiconnectSocket &socket, const char *msgId, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">ghmIsActivated</a>(bool *statusPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">ghmListMessages</a>(GhmMessageList &msgList, uint8_t maxCount=0)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">ghmPostMessage</a>(WiconnectSocket &socket, bool jsonFormatted=false)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">ghmRead</a>(const char *controlName, const char **valueStrPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f">ghmRead</a>(const char *controlName, uint32_t *valueIntPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12">ghmRead</a>(const char *controlName, char *valueBuffer, uint16_t valueBufferLen)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">ghmSynchronize</a>(GhmSyncType type=GHM_SYNC_ALL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a>(const char *elementName, const char *strValue)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c">ghmWrite</a>(const char *elementName, uint32_t uintValue)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">ghmWrite</a>(const char *elementName, int32_t intValue)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6">ghmWrite</a>(const GhmElementArray *elementArray)</td><td class="entry"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec">httpAddHeader</a>(WiconnectSocket &socket, const char *key, const char *value)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">httpConnect</a>(WiconnectSocket &socket, const char *url, const HttpSocketArgs *args)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6">httpGet</a>(WiconnectSocket &socket, const char *url, bool openOnly=false, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517">httpGetStatus</a>(WiconnectSocket &socket, uint32_t *statusCodePtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85">httpHead</a>(WiconnectSocket &socket, const char *url, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365">httpPost</a>(WiconnectSocket &socket, const char *url, const char *contextType, bool openOnly=true, const char *certFilename=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">init</a>(bool bringNetworkUp=false)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">ipToStr</a>(uint32_t ip, char *ipStrBuffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff">isInitialized</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65">isWebSetupRunning</a>(bool *isRunningPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">join</a>(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328">leave</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__file__methods.html#ga10536639c61213c037883dade021838f">listFiles</a>(FileList &list, const char *name=NULL, FileType type=FILE_TYPE_ANY, uint32_t version=0)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89">lookup</a>(const char *domain, uint32_t *ipAddressPtr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">macAddressToStr</a>(const MacAddress *macAddress, char *macStrBuffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6">networkJoinResultToStr</a>(NetworkJoinResult joinResult)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr><td class="entry"><a class="el" href="group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f">networkSecurityToStr</a>(NetworkSecurity security)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a>(NetworkStatus status)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr><td class="entry"><a class="el" href="group__api__file__methods.html#gaaf2977c691be09aeda102267a6769583">openFile</a>(WiconnectFile &file, const char *name)</td><td class="entry"><a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc">ping</a>(const char *domain=NULL, uint32_t *timeMsPtr=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">reset</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0">responseToInt32</a>(int32_t *int32Ptr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565">responseToUint32</a>(uint32_t *uint32Ptr)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8">rssiToSignalStrength</a>(int rssi)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> <tr><td class="entry"><a class="el" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">scan</a>(ScanResultList &resultList, const uint8_t *channelList=NULL, const char *ssid=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a>(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7">sendCommand</a>(char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197">sendCommand</a>(char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65">sendCommand</a>(int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a>(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8">sendCommand</a>(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e">sendCommand</a>(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9">sendCommand</a>(TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84">sendCommand</a>(const ReaderFunc &reader, void *user, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9">sendCommand</a>(char *responseBuffer, int responseBufferLen, int timeoutMs, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97">sendCommand</a>(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092">sendCommand</a>(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363">sendCommand</a>(char *responseBuffer, int responseBufferLen, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64">sendCommand</a>(const Callback &completeCallback, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4">sendCommand</a>(const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00">sendCommand</a>(const Callback &completeCallback, int timeoutMs, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351">sendCommand</a>(int timeoutMs, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df">sendCommand</a>(const Callback &completeCallback, TimerTimeout timeoutMs, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09">sendCommand</a>(TimerTimeout timeoutMs, const char *cmd,...)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698">sendCommand</a>(const char *cmd, va_list vaList)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0">setAssertLogger</a>(LogFunc assertLogFunc)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">setCommandDefaultTimeout</a>(int timeoutMs)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e">setDebugLogger</a>(LogFunc logFunc)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">setDhcpEnabled</a>(bool enabled)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">setBlockingEnabled</a>(bool blockingEnabled)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">setCommandDefaultTimeout</a>(TimerTimeout timeoutMs)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e">setDebugLogger</a>(LogFunc logFunc)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">setDhcpEnabled</a>(bool enabled)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">setDnsAddress</a>(uint32_t dnsAddress)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">setIpSettings</a>(uint32_t ip, uint32_t netmask, uint32_t gateway)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0">setIpSettings</a>(const char *ip, const char *netmask, const char *gateway)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">setPinToGpioMapper</a>(PinToGpioMapper mapper)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec">setSetting</a>(const char *settingStr, uint32_t value)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e">setSetting</a>(const char *settingStr, const char *value)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#gad4661f859cfadbe193793898671043c9">signalStrengthToStr</a>(NetworkSignalStrength signalStrenth)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">ssidToStr</a>(const Ssid *ssid, char *ssidStrBuffer=NULL)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> + <tr><td class="entry"><a class="el" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">ssidToStr</a>(const Ssid *ssid, char *ssidStrBuffer ALLOW_NULL_STRING_BUFFER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847">startWebSetup</a>(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0">stopCurrentCommand</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a">stopWebSetup</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"></td></tr> @@ -197,13 +221,13 @@ <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b">strToMacAddress</a>(const char *str, MacAddress *macAddress)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> <tr><td class="entry"><a class="el" href="group__conversion__util.html#gad7d49be19f9ca91bc129668dd50d9e57">strToNetworkSecurity</a>(const char *str)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17">strToSsid</a>(const char *str, Ssid *ssid)</td><td class="entry"><a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a></td><td class="entry"><span class="mlabel">static</span></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">tcpAccept</a>(WiconnectSocket &socket, int timeoutMs=WICONNECT_WAIT_FOREVER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">tcpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">tcpListen</a>(uint16_t listeningPort, int maxClients=0, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">tcpAccept</a>(WiconnectSocket &socket, uint32_t timeoutMs=WICONNECT_WAIT_FOREVER)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">tcpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">tcpListen</a>(uint16_t listeningPort, int maxClients=0 GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">tcpServerStop</a>(void)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">tlsConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr class="even"><td class="entry"><a class="el" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">udpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort=SOCKET_ANY_PORT, Pin irqPin=PIN_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> - <tr><td class="entry"><a class="el" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">unregisterSocketIrqHandler</a>(Pin irqPin)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">tlsConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">udpConnect</a>(WiconnectSocket &socket, const char *host, uint16_t remortPort, uint16_t localPort=SOCKET_ANY_PORT GPIO_IRQ_ARG_NC)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> + <tr><td class="entry"><a class="el" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">udpListen</a>(WiconnectUdpServer &udpServer, uint16_t listeningPort)</td><td class="entry"><a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">updateFirmware</a>(bool forced=false, const char *versionStr=NULL, const Callback &completeCallback=Callback())</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr><td class="entry"><a class="el" href="group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5">wakeup</a>()</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr> <tr class="even"><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389">Wiconnect</a>(const SerialConfig &serialConfig, Pin reset=PIN_NC, Pin wake=PIN_NC, bool nonBlocking=WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS)</td><td class="entry"><a class="el" href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></td><td class="entry"></td></tr>
--- a/doc/html/classwiconnect_1_1_wiconnect.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_wiconnect.html Mon Oct 27 13:42:26 2014 -0700 @@ -119,7 +119,7 @@ <p><code>#include <<a class="el" href="_wiconnect_interface_8h_source.html">WiconnectInterface.h</a>></code></p> -<p>Inherits <a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a>, <a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a>, and <a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a>.</p> +<p>Inherits <a class="el" href="classwiconnect_1_1_network_interface.html">wiconnect::NetworkInterface</a>, <a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a>, <a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a>, and <a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a>.</p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> @@ -154,24 +154,24 @@ <tr class="memitem:gad447fe3341539eb9b276d269645bb632"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">updateFirmware</a> (bool forced=false, const char *versionStr=NULL, const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback=<a class="el" href="classwiconnect_1_1_callback.html">Callback</a>())</td></tr> <tr class="memdesc:gad447fe3341539eb9b276d269645bb632"><td class="mdescLeft"> </td><td class="mdescRight">Update the wifi module's internal firmware. <a href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">More...</a><br /></td></tr> <tr class="separator:gad447fe3341539eb9b276d269645bb632"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga3a2637e5ce300a03c448edf1eff13c2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, char *responseBuffer, int responseBufferLen, int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> -<tr class="memdesc:ga3a2637e5ce300a03c448edf1eff13c2c"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">More...</a><br /></td></tr> -<tr class="separator:ga3a2637e5ce300a03c448edf1eff13c2c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gad23730a1f2f7714ef962f24a0f99f0f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7">sendCommand</a> (char *responseBuffer, int responseBufferLen, int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> -<tr class="memdesc:gad23730a1f2f7714ef962f24a0f99f0f7"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7">More...</a><br /></td></tr> -<tr class="separator:gad23730a1f2f7714ef962f24a0f99f0f7"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0e0591e923da9ab814bb3dd3afbda197"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197">sendCommand</a> (char *responseBuffer, int responseBufferLen, int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> -<tr class="memdesc:ga0e0591e923da9ab814bb3dd3afbda197"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197">More...</a><br /></td></tr> -<tr class="separator:ga0e0591e923da9ab814bb3dd3afbda197"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gadd347dd3952ebab2fa27561c12858f65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65">sendCommand</a> (int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> -<tr class="memdesc:gadd347dd3952ebab2fa27561c12858f65"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65">More...</a><br /></td></tr> -<tr class="separator:gadd347dd3952ebab2fa27561c12858f65"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadd23f2f86fcc0a438dad798ab3353505"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> +<tr class="memdesc:gadd23f2f86fcc0a438dad798ab3353505"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">More...</a><br /></td></tr> +<tr class="separator:gadd23f2f86fcc0a438dad798ab3353505"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa36b07b28a166fe51f9dc92bcab5d3d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8">sendCommand</a> (char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> +<tr class="memdesc:gaa36b07b28a166fe51f9dc92bcab5d3d8"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8">More...</a><br /></td></tr> +<tr class="separator:gaa36b07b28a166fe51f9dc92bcab5d3d8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabe0e5c170b9c6ec7d6dc96a3639c721e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e">sendCommand</a> (char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> +<tr class="memdesc:gabe0e5c170b9c6ec7d6dc96a3639c721e"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e">More...</a><br /></td></tr> +<tr class="separator:gabe0e5c170b9c6ec7d6dc96a3639c721e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8c6d84b338847fbdd41f61c5375117e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9">sendCommand</a> (<a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> +<tr class="memdesc:ga8c6d84b338847fbdd41f61c5375117e9"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9">More...</a><br /></td></tr> +<tr class="separator:ga8c6d84b338847fbdd41f61c5375117e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaca2f1b17d2cc98cbc6dac219ffcf9e84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84">sendCommand</a> (const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> <tr class="memdesc:gaca2f1b17d2cc98cbc6dac219ffcf9e84"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84">More...</a><br /></td></tr> <tr class="separator:gaca2f1b17d2cc98cbc6dac219ffcf9e84"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga3655750f929f8f4e966278193d0385a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9">sendCommand</a> (char *responseBuffer, int responseBufferLen, int timeoutMs, const char *cmd,...)</td></tr> -<tr class="memdesc:ga3655750f929f8f4e966278193d0385a9"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9">More...</a><br /></td></tr> -<tr class="separator:ga3655750f929f8f4e966278193d0385a9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5f437c3518de14706c6fcff32a0b0f97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97">sendCommand</a> (char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const char *cmd,...)</td></tr> +<tr class="memdesc:ga5f437c3518de14706c6fcff32a0b0f97"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97">More...</a><br /></td></tr> +<tr class="separator:ga5f437c3518de14706c6fcff32a0b0f97"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf93db1b2730bb586287f7756f3cdf092"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092">sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd,...)</td></tr> <tr class="memdesc:gaf93db1b2730bb586287f7756f3cdf092"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092">More...</a><br /></td></tr> <tr class="separator:gaf93db1b2730bb586287f7756f3cdf092"><td class="memSeparator" colspan="2"> </td></tr> @@ -184,11 +184,11 @@ <tr class="memitem:gadad1c5b3df07a24ab09492edf93dd1f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4">sendCommand</a> (const char *cmd,...)</td></tr> <tr class="memdesc:gadad1c5b3df07a24ab09492edf93dd1f4"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4">More...</a><br /></td></tr> <tr class="separator:gadad1c5b3df07a24ab09492edf93dd1f4"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaa6d744ec08ba6c9abf451bdc2b0beb00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00">sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, int timeoutMs, const char *cmd,...)</td></tr> -<tr class="separator:gaa6d744ec08ba6c9abf451bdc2b0beb00"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gace479d34633141ff1eefa0e98c4d2351"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351">sendCommand</a> (int timeoutMs, const char *cmd,...)</td></tr> -<tr class="memdesc:gace479d34633141ff1eefa0e98c4d2351"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351">More...</a><br /></td></tr> -<tr class="separator:gace479d34633141ff1eefa0e98c4d2351"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9a89a0dd00f8eedb5e3eb8d4a4ed58df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df">sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const char *cmd,...)</td></tr> +<tr class="separator:ga9a89a0dd00f8eedb5e3eb8d4a4ed58df"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5666d99d72494995db0a812fcc9bbd09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09">sendCommand</a> (<a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const char *cmd,...)</td></tr> +<tr class="memdesc:ga5666d99d72494995db0a812fcc9bbd09"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09">More...</a><br /></td></tr> +<tr class="separator:ga5666d99d72494995db0a812fcc9bbd09"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9d0ade0ec2866d7e0df5391bc69f5698"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698">sendCommand</a> (const char *cmd, va_list vaList)</td></tr> <tr class="separator:ga9d0ade0ec2866d7e0df5391bc69f5698"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf48c1ec0b92af2619ab846baaaa471cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd">checkCurrentCommand</a> ()</td></tr> @@ -227,12 +227,19 @@ <tr class="memitem:ga670947ef630233f7866f885500548233"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#ga670947ef630233f7866f885500548233">getSetting</a> (const char *settingStr, char *valueBuffer, uint16_t valueBufferLen)</td></tr> <tr class="memdesc:ga670947ef630233f7866f885500548233"><td class="mdescLeft"> </td><td class="mdescRight">Get a module setting. <a href="group__api__core__settings.html#ga670947ef630233f7866f885500548233">More...</a><br /></td></tr> <tr class="separator:ga670947ef630233f7866f885500548233"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaaaf8be221699870053ad98911b066a32"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">setCommandDefaultTimeout</a> (int timeoutMs)</td></tr> -<tr class="memdesc:gaaaf8be221699870053ad98911b066a32"><td class="mdescLeft"> </td><td class="mdescRight">Sets the default maximum time an API method may execute before terminating and return a timeout error code. <a href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">More...</a><br /></td></tr> -<tr class="separator:gaaaf8be221699870053ad98911b066a32"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gad5d31980a7b1e143f00b0117468c1a7e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">getCommandDefaultTimeout</a> ()</td></tr> -<tr class="memdesc:gad5d31980a7b1e143f00b0117468c1a7e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current default maximum API execution time. <a href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">More...</a><br /></td></tr> -<tr class="separator:gad5d31980a7b1e143f00b0117468c1a7e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga851795595a422a14249b7ea9f0038c4c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">setBlockingEnabled</a> (bool blockingEnabled)</td></tr> +<tr class="memdesc:ga851795595a422a14249b7ea9f0038c4c"><td class="mdescLeft"> </td><td class="mdescRight">Sets if API calls are blocking or non-blocking. <a href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">More...</a><br /></td></tr> +<tr class="separator:ga851795595a422a14249b7ea9f0038c4c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf6115968c49c128717cacd2f06b883ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf6115968c49c128717cacd2f06b883ad"></a> +bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad">getBlockingEnabled</a> (void)</td></tr> +<tr class="memdesc:gaf6115968c49c128717cacd2f06b883ad"><td class="mdescLeft"> </td><td class="mdescRight">Gets if API calls are blocking or non-blocking. <br /></td></tr> +<tr class="separator:gaf6115968c49c128717cacd2f06b883ad"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gacae50138f9388a66496408f9c2bf6a6f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">setCommandDefaultTimeout</a> (<a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs)</td></tr> +<tr class="memdesc:gacae50138f9388a66496408f9c2bf6a6f"><td class="mdescLeft"> </td><td class="mdescRight">Sets the default maximum time an API method may execute before terminating and return a timeout error code. <a href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">More...</a><br /></td></tr> +<tr class="separator:gacae50138f9388a66496408f9c2bf6a6f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad8d98b8d2610f4ea564bede27e87857e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">getCommandDefaultTimeout</a> ()</td></tr> +<tr class="memdesc:gad8d98b8d2610f4ea564bede27e87857e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current default maximum API execution time. <a href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">More...</a><br /></td></tr> +<tr class="separator:gad8d98b8d2610f4ea564bede27e87857e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga180b043ec83c53b5bf6b9ef2b187d08d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">setPinToGpioMapper</a> (<a class="el" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a> mapper)</td></tr> <tr class="memdesc:ga180b043ec83c53b5bf6b9ef2b187d08d"><td class="mdescLeft"> </td><td class="mdescRight">Sets a mapping function used to convert from a host Pin to WiConnect WiFi module GPIO. <a href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">More...</a><br /></td></tr> <tr class="separator:ga180b043ec83c53b5bf6b9ef2b187d08d"><td class="memSeparator" colspan="2"> </td></tr> @@ -264,6 +271,18 @@ <tr class="memitem:gafefe6e679d7b48a7127d3ed6371fe58b inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">getNetworkJoinResult</a> (<a class="el" href="group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d">NetworkJoinResult</a> *joinResultPtr)</td></tr> <tr class="memdesc:gafefe6e679d7b48a7127d3ed6371fe58b inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get the result of joining the network. <a href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">More...</a><br /></td></tr> <tr class="separator:gafefe6e679d7b48a7127d3ed6371fe58b inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaba16b9918e55c08285cf5b8b50dbabea inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaba16b9918e55c08285cf5b8b50dbabea"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a> (<a class="el" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> *signalStrengthPtr)</td></tr> +<tr class="memdesc:gaba16b9918e55c08285cf5b8b50dbabea inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get <a class="el" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> of WiFi network module is connected. <br /></td></tr> +<tr class="separator:gaba16b9918e55c08285cf5b8b50dbabea inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa9db3c463cf6b4f351c37671882dd3ee inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa9db3c463cf6b4f351c37671882dd3ee"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">getRssi</a> (int32_t *rssiPtr)</td></tr> +<tr class="memdesc:gaa9db3c463cf6b4f351c37671882dd3ee inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get the RSSI in dBm of WiFi network. <br /></td></tr> +<tr class="separator:gaa9db3c463cf6b4f351c37671882dd3ee inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga70991a2c5865c8f0b44b67de35f3b6b3 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga70991a2c5865c8f0b44b67de35f3b6b3"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">getMacAddress</a> (<a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress)</td></tr> +<tr class="memdesc:ga70991a2c5865c8f0b44b67de35f3b6b3 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get MAC address of the WiFi module. <br /></td></tr> +<tr class="separator:ga70991a2c5865c8f0b44b67de35f3b6b3 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacdf014d8aca9de33dbc1563c6bb1f956 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">scan</a> (<a class="el" href="classwiconnect_1_1_scan_result_list.html">ScanResultList</a> &resultList, const uint8_t *channelList=NULL, const char *ssid=NULL)</td></tr> <tr class="memdesc:gacdf014d8aca9de33dbc1563c6bb1f956 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Scan for available WiFi networks. <a href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">More...</a><br /></td></tr> <tr class="separator:gacdf014d8aca9de33dbc1563c6bb1f956 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> @@ -292,44 +311,45 @@ <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">getIpSettings</a> (uint32_t *ip, uint32_t *netmask, uint32_t *gateway)</td></tr> <tr class="memdesc:ga291aef702f1c10bf2970394e3458022b inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get network IP settings. <br /></td></tr> <tr class="separator:ga291aef702f1c10bf2970394e3458022b inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaba16b9918e55c08285cf5b8b50dbabea inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaba16b9918e55c08285cf5b8b50dbabea"></a> -<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">getSignalStrength</a> (<a class="el" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> *signalStrengthPtr)</td></tr> -<tr class="memdesc:gaba16b9918e55c08285cf5b8b50dbabea inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get signal strength to WiFi network. <br /></td></tr> -<tr class="separator:gaba16b9918e55c08285cf5b8b50dbabea inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">getIpAddress</a> (char *buffer=NULL)</td></tr> -<tr class="memdesc:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Return the current IP address of the module if possible, else return 0.0.0.0. <a href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">More...</a><br /></td></tr> -<tr class="separator:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga258d8b80064c6ce311a433affe63a0e9 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga258d8b80064c6ce311a433affe63a0e9"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">setDnsAddress</a> (uint32_t dnsAddress)</td></tr> +<tr class="memdesc:ga258d8b80064c6ce311a433affe63a0e9 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Set static DNS Address. <br /></td></tr> +<tr class="separator:ga258d8b80064c6ce311a433affe63a0e9 inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga585cb71d386ee61db3772f4b3218cb6e inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga585cb71d386ee61db3772f4b3218cb6e"></a> +<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">getDnsAddress</a> (uint32_t *dnsAddress)</td></tr> +<tr class="memdesc:ga585cb71d386ee61db3772f4b3218cb6e inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Get the static DNS address. <br /></td></tr> +<tr class="separator:ga585cb71d386ee61db3772f4b3218cb6e inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabd8eb629fd40defaa9ab22c189652a3f inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">getIpAddress</a> (char *buffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:gabd8eb629fd40defaa9ab22c189652a3f inherit pub_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Return the current IP address of the module if possible, else return 0.0.0.0. <a href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">More...</a><br /></td></tr> +<tr class="separator:gabd8eb629fd40defaa9ab22c189652a3f inherit pub_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_classwiconnect_1_1_socket_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classwiconnect_1_1_socket_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classwiconnect_1_1_socket_interface.html">wiconnect::SocketInterface</a></td></tr> <tr class="memitem:ga8a80d96efac7cc514fe7fc61d1878106 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">closeAllSockets</a> ()</td></tr> <tr class="memdesc:ga8a80d96efac7cc514fe7fc61d1878106 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Close all opened sockets. <a href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">More...</a><br /></td></tr> <tr class="separator:ga8a80d96efac7cc514fe7fc61d1878106 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga94d1eb5407cb8b60ad366ecbe0e1b52a inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">registerSocketIrqHandler</a> (<a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin, const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &handler)</td></tr> -<tr class="memdesc:ga94d1eb5407cb8b60ad366ecbe0e1b52a inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. <a href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">More...</a><br /></td></tr> -<tr class="separator:ga94d1eb5407cb8b60ad366ecbe0e1b52a inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga820d2fdb12d343212638e55633bd8551 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">unregisterSocketIrqHandler</a> (<a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin)</td></tr> -<tr class="memdesc:ga820d2fdb12d343212638e55633bd8551 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Unregister a previously registered IRQ pin. <a href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">More...</a><br /></td></tr> -<tr class="separator:ga820d2fdb12d343212638e55633bd8551 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga037cb2813683697342fff01239c7f6f8 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">connect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin)</td></tr> -<tr class="memdesc:ga037cb2813683697342fff01239c7f6f8 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote server. <a href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">More...</a><br /></td></tr> -<tr class="separator:ga037cb2813683697342fff01239c7f6f8 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga4a788d604d759b5da51f682b998b9bd2 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">tcpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga4a788d604d759b5da51f682b998b9bd2 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TCP server. <a href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">More...</a><br /></td></tr> -<tr class="separator:ga4a788d604d759b5da51f682b998b9bd2 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga563831b33089437233f128483d034578 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">tcpListen</a> (uint16_t listeningPort, int maxClients=0, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga563831b33089437233f128483d034578 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Start internal TCP server and listen on specified port. <a href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">More...</a><br /></td></tr> -<tr class="separator:ga563831b33089437233f128483d034578 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0ea4efc810c7c5a9fbd96fcc627633b3 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">tcpAccept</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, int timeoutMs=<a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>)</td></tr> -<tr class="memdesc:ga0ea4efc810c7c5a9fbd96fcc627633b3 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Wait for next client to connect to TCP server. <a href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">More...</a><br /></td></tr> -<tr class="separator:ga0ea4efc810c7c5a9fbd96fcc627633b3 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab24204ef309b6e7a52b03b35a7046b45 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">connect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG)</td></tr> +<tr class="memdesc:gab24204ef309b6e7a52b03b35a7046b45 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote server. <a href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">More...</a><br /></td></tr> +<tr class="separator:gab24204ef309b6e7a52b03b35a7046b45 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad8e8632715a38222ce4fea5fe0aaf527 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">tcpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:gad8e8632715a38222ce4fea5fe0aaf527 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TCP server. <a href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">More...</a><br /></td></tr> +<tr class="separator:gad8e8632715a38222ce4fea5fe0aaf527 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9f4f3e53ea7f4e84d43529da8580aaaa inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">tcpListen</a> (uint16_t listeningPort, int maxClients=0 GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga9f4f3e53ea7f4e84d43529da8580aaaa inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Start internal TCP server and listen on specified port. <a href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">More...</a><br /></td></tr> +<tr class="separator:ga9f4f3e53ea7f4e84d43529da8580aaaa inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9e12bc568b7e8d72152e53a90de13035 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">tcpAccept</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint32_t timeoutMs=<a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>)</td></tr> +<tr class="memdesc:ga9e12bc568b7e8d72152e53a90de13035 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Wait for next client to connect to TCP server. <a href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">More...</a><br /></td></tr> +<tr class="separator:ga9e12bc568b7e8d72152e53a90de13035 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3d0137ebe308674e75f81457c38679d0 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">tcpServerStop</a> (void)</td></tr> <tr class="memdesc:ga3d0137ebe308674e75f81457c38679d0 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Stop TCP server from listening on port. Close all connected clients. <a href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">More...</a><br /></td></tr> <tr class="separator:ga3d0137ebe308674e75f81457c38679d0 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gacf10d28ced4591d99c4113ebee6382ca inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">tlsConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:gacf10d28ced4591d99c4113ebee6382ca inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TLS server. <a href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">More...</a><br /></td></tr> -<tr class="separator:gacf10d28ced4591d99c4113ebee6382ca inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga80f1d19174124f3d0f246e1c1201b3ec inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">udpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, uint16_t localPort=<a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a>, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga80f1d19174124f3d0f246e1c1201b3ec inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote UDP server. <a href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">More...</a><br /></td></tr> -<tr class="separator:ga80f1d19174124f3d0f246e1c1201b3ec inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4e6e89eb9aedec1ff6d25645c33f51e4 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">tlsConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga4e6e89eb9aedec1ff6d25645c33f51e4 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TLS server. <a href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">More...</a><br /></td></tr> +<tr class="separator:ga4e6e89eb9aedec1ff6d25645c33f51e4 inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0ca5eabcd64ce45b574205447101f8aa inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">udpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, uint16_t localPort=<a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a> GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga0ca5eabcd64ce45b574205447101f8aa inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote UDP server. <a href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">More...</a><br /></td></tr> +<tr class="separator:ga0ca5eabcd64ce45b574205447101f8aa inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga067fb0d662d8e27e3f5b561ded29a51a inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">udpListen</a> (<a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> &udpServer, uint16_t listeningPort)</td></tr> +<tr class="memdesc:ga067fb0d662d8e27e3f5b561ded29a51a inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Start a UDP server listening on the given port. <a href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">More...</a><br /></td></tr> +<tr class="separator:ga067fb0d662d8e27e3f5b561ded29a51a inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga181a03d883f60dff0c03b65e066f0eed inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">httpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *url, const <a class="el" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a> *args)</td></tr> <tr class="memdesc:ga181a03d883f60dff0c03b65e066f0eed inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote HTTP server. <a href="group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed">More...</a><br /></td></tr> <tr class="separator:ga181a03d883f60dff0c03b65e066f0eed inherit pub_methods_classwiconnect_1_1_socket_interface"><td class="memSeparator" colspan="2"> </td></tr> @@ -364,6 +384,64 @@ <tr class="memitem:ga10536639c61213c037883dade021838f inherit pub_methods_classwiconnect_1_1_file_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__file__methods.html#ga10536639c61213c037883dade021838f">listFiles</a> (<a class="el" href="classwiconnect_1_1_file_list.html">FileList</a> &list, const char *name=NULL, <a class="el" href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">FileType</a> type=FILE_TYPE_ANY, uint32_t version=0)</td></tr> <tr class="memdesc:ga10536639c61213c037883dade021838f inherit pub_methods_classwiconnect_1_1_file_interface"><td class="mdescLeft"> </td><td class="mdescRight">List the files on the <a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> WiFi module filesystem. <a href="group__api__file__methods.html#ga10536639c61213c037883dade021838f">More...</a><br /></td></tr> <tr class="separator:ga10536639c61213c037883dade021838f inherit pub_methods_classwiconnect_1_1_file_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="inherit_header pub_methods_classwiconnect_1_1_ghm_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classwiconnect_1_1_ghm_interface')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td></tr> +<tr class="memitem:gaff03ecaa08146e6925820209cdab56bd inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">ghmDownloadCapabilities</a> (const char *capsNameOrCustomUrl=NULL, uint32_t version=0)</td></tr> +<tr class="memdesc:gaff03ecaa08146e6925820209cdab56bd inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Download a device capabilities file to WiFi module's internal file system. <a href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">More...</a><br /></td></tr> +<tr class="separator:gaff03ecaa08146e6925820209cdab56bd inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa0213731eebd4a14e9099d01ff76beff inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate</a> (const char *userName, const char *password, const char *capsFilename=NULL)</td></tr> +<tr class="memdesc:gaa0213731eebd4a14e9099d01ff76beff inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Activate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">More...</a><br /></td></tr> +<tr class="separator:gaa0213731eebd4a14e9099d01ff76beff inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad0e0484d1f9a6608475874544f96708b inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">ghmDeactivate</a> (const char *userName, const char *password)</td></tr> +<tr class="memdesc:gad0e0484d1f9a6608475874544f96708b inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Deactivate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">More...</a><br /></td></tr> +<tr class="separator:gad0e0484d1f9a6608475874544f96708b inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8bec70f780ca7de9dce1a15830c179ff inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">ghmIsActivated</a> (bool *statusPtr)</td></tr> +<tr class="memdesc:ga8bec70f780ca7de9dce1a15830c179ff inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Return if WiFi module is activated with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">More...</a><br /></td></tr> +<tr class="separator:ga8bec70f780ca7de9dce1a15830c179ff inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga3fde7b34da992719b41fc52178b73bc2 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">ghmRead</a> (const char *controlName, const char **valueStrPtr)</td></tr> +<tr class="memdesc:ga3fde7b34da992719b41fc52178b73bc2 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">More...</a><br /></td></tr> +<tr class="separator:ga3fde7b34da992719b41fc52178b73bc2 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2d4f14ef409c30b49ce2a06b72d10c7f inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f">ghmRead</a> (const char *controlName, uint32_t *valueIntPtr)</td></tr> +<tr class="memdesc:ga2d4f14ef409c30b49ce2a06b72d10c7f inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f">More...</a><br /></td></tr> +<tr class="separator:ga2d4f14ef409c30b49ce2a06b72d10c7f inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga965090d4b28bda9f58716b522a6bee12 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12">ghmRead</a> (const char *controlName, char *valueBuffer, uint16_t valueBufferLen)</td></tr> +<tr class="memdesc:ga965090d4b28bda9f58716b522a6bee12 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12">More...</a><br /></td></tr> +<tr class="separator:ga965090d4b28bda9f58716b522a6bee12 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2f57fc33ad0e71d608b1350d4e3ab223 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">ghmWrite</a> (const char *elementName, const char *strValue)</td></tr> +<tr class="memdesc:ga2f57fc33ad0e71d608b1350d4e3ab223 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">More...</a><br /></td></tr> +<tr class="separator:ga2f57fc33ad0e71d608b1350d4e3ab223 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga26ef47c451e7dbe869f19f5f36695e7c inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c">ghmWrite</a> (const char *elementName, uint32_t uintValue)</td></tr> +<tr class="memdesc:ga26ef47c451e7dbe869f19f5f36695e7c inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c">More...</a><br /></td></tr> +<tr class="separator:ga26ef47c451e7dbe869f19f5f36695e7c inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab524e64f4bbae826c27bf39d7f2d3c2e inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">ghmWrite</a> (const char *elementName, int32_t intValue)</td></tr> +<tr class="memdesc:gab524e64f4bbae826c27bf39d7f2d3c2e inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">More...</a><br /></td></tr> +<tr class="separator:gab524e64f4bbae826c27bf39d7f2d3c2e inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5eb797aba87a3ab76d742afe34292ee6 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6">ghmWrite</a> (const <a class="el" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a> *elementArray)</td></tr> +<tr class="memdesc:ga5eb797aba87a3ab76d742afe34292ee6 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6">More...</a><br /></td></tr> +<tr class="separator:ga5eb797aba87a3ab76d742afe34292ee6 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0aa48506edb22c90be513683672b96c7 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">ghmSynchronize</a> (<a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a> type=<a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">GHM_SYNC_ALL</a>)</td></tr> +<tr class="memdesc:ga0aa48506edb22c90be513683672b96c7 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Synchronize WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">More...</a><br /></td></tr> +<tr class="separator:ga0aa48506edb22c90be513683672b96c7 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadc281f497041b26a151c72a0b5d03543 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">ghmPostMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, bool jsonFormatted=false)</td></tr> +<tr class="memdesc:gadc281f497041b26a151c72a0b5d03543 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">POST message to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">More...</a><br /></td></tr> +<tr class="separator:gadc281f497041b26a151c72a0b5d03543 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaa05391432b2ca38bb416c671f57b234 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=<a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>)</td></tr> +<tr class="memdesc:gaaa05391432b2ca38bb416c671f57b234 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">More...</a><br /></td></tr> +<tr class="separator:gaaa05391432b2ca38bb416c671f57b234 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa905a010f0e234d290eaef6e42975c29 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29">ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint8_t listIndex, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=<a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>)</td></tr> +<tr class="memdesc:gaa905a010f0e234d290eaef6e42975c29 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29">More...</a><br /></td></tr> +<tr class="separator:gaa905a010f0e234d290eaef6e42975c29 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9c6dffaa871f2443a32d75276160682d inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d">ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *msgId, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=<a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>)</td></tr> +<tr class="memdesc:ga9c6dffaa871f2443a32d75276160682d inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d">More...</a><br /></td></tr> +<tr class="separator:ga9c6dffaa871f2443a32d75276160682d inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga451de9d69f7ecbf38e36056e502b94b0 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">ghmDeleteMessage</a> (uint8_t listIndex)</td></tr> +<tr class="memdesc:ga451de9d69f7ecbf38e36056e502b94b0 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">More...</a><br /></td></tr> +<tr class="separator:ga451de9d69f7ecbf38e36056e502b94b0 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7273f4c691aeccd241327f1be3e8d0e9 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9">ghmDeleteMessage</a> (const char *msgId)</td></tr> +<tr class="memdesc:ga7273f4c691aeccd241327f1be3e8d0e9 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9">More...</a><br /></td></tr> +<tr class="separator:ga7273f4c691aeccd241327f1be3e8d0e9 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae69971594793e1a10f11a51277909502 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">ghmListMessages</a> (<a class="el" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> &msgList, uint8_t maxCount=0)</td></tr> +<tr class="memdesc:gae69971594793e1a10f11a51277909502 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="mdescLeft"> </td><td class="mdescRight">List available messages for device on <a href="http://goHACK.me">http://goHACK.me</a>. <a href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">More...</a><br /></td></tr> +<tr class="separator:gae69971594793e1a10f11a51277909502 inherit pub_methods_classwiconnect_1_1_ghm_interface"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a> Static Public Member Functions</h2></td></tr> @@ -378,10 +456,10 @@ static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591">strToIp</a> (const char *str, uint32_t *intPtr)</td></tr> <tr class="memdesc:ga93bdb8669a70adaa61dc76073ce66591 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert string to IP address. <br /></td></tr> <tr class="separator:ga93bdb8669a70adaa61dc76073ce66591 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaff8b0af70f4d4be792b943ad3af27303 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaff8b0af70f4d4be792b943ad3af27303"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">ipToStr</a> (uint32_t ip, char *ipStrBuffer=NULL)</td></tr> -<tr class="memdesc:gaff8b0af70f4d4be792b943ad3af27303 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert IP address to string. <br /></td></tr> -<tr class="separator:gaff8b0af70f4d4be792b943ad3af27303 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga02e6b01f11f2283208f051b1b49b634c inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga02e6b01f11f2283208f051b1b49b634c"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">ipToStr</a> (uint32_t ip, char *ipStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:ga02e6b01f11f2283208f051b1b49b634c inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert IP address to string. <br /></td></tr> +<tr class="separator:ga02e6b01f11f2283208f051b1b49b634c inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacff5a4927d79e8b4c0d5a3050f5950b0 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacff5a4927d79e8b4c0d5a3050f5950b0"></a> static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">networkStatusToStr</a> (<a class="el" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> status)</td></tr> <tr class="memdesc:gacff5a4927d79e8b4c0d5a3050f5950b0 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> to string. <br /></td></tr> @@ -410,18 +488,18 @@ static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17">strToSsid</a> (const char *str, <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid)</td></tr> <tr class="memdesc:ga6a479a58591ead92dcf0586e11fcad17 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert string <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a>. <br /></td></tr> <tr class="separator:ga6a479a58591ead92dcf0586e11fcad17 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gafce7929a10e16cf9be7307a2f97bef3f inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafce7929a10e16cf9be7307a2f97bef3f"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">ssidToStr</a> (const <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid, char *ssidStrBuffer=NULL)</td></tr> -<tr class="memdesc:gafce7929a10e16cf9be7307a2f97bef3f inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> to string. <br /></td></tr> -<tr class="separator:gafce7929a10e16cf9be7307a2f97bef3f inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae8b534c249d503aa764017bb088f3890 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae8b534c249d503aa764017bb088f3890"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">ssidToStr</a> (const <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> *ssid, char *ssidStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:gae8b534c249d503aa764017bb088f3890 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> to string. <br /></td></tr> +<tr class="separator:gae8b534c249d503aa764017bb088f3890 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga347f05073370d6872a5cdac74de39b1b inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga347f05073370d6872a5cdac74de39b1b"></a> static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b">strToMacAddress</a> (const char *str, <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress)</td></tr> <tr class="memdesc:ga347f05073370d6872a5cdac74de39b1b inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert string <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a>. <br /></td></tr> <tr class="separator:ga347f05073370d6872a5cdac74de39b1b inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga13ecaf390b4bf4a68b51a6b18e669134 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13ecaf390b4bf4a68b51a6b18e669134"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">macAddressToStr</a> (const <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress, char *macStrBuffer=NULL)</td></tr> -<tr class="memdesc:ga13ecaf390b4bf4a68b51a6b18e669134 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> to string. <br /></td></tr> -<tr class="separator:ga13ecaf390b4bf4a68b51a6b18e669134 inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga01520d55f1923d90fb899ddef2f21cdf inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga01520d55f1923d90fb899ddef2f21cdf"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">macAddressToStr</a> (const <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> *macAddress, char *macStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:ga01520d55f1923d90fb899ddef2f21cdf inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> to string. <br /></td></tr> +<tr class="separator:ga01520d55f1923d90fb899ddef2f21cdf inherit pub_static_methods_classwiconnect_1_1_network_interface"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_static_methods_classwiconnect_1_1_file_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classwiconnect_1_1_file_interface')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classwiconnect_1_1_file_interface.html">wiconnect::FileInterface</a></td></tr> <tr class="memitem:gad74fbe6faf90d987b31380978f3ea341 inherit pub_static_methods_classwiconnect_1_1_file_interface"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad74fbe6faf90d987b31380978f3ea341"></a> static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gad74fbe6faf90d987b31380978f3ea341">fileVersionIntToStr</a> (uint32_t version, bool verbose=true, char *buffer=NULL)</td></tr> @@ -442,7 +520,7 @@ <div class="textblock"><p>The root WiConnect library class. This class inheriets all WiConnect functionality. </p> <p>This class is implemented as a 'singleton'. This means it only needs to be instantiated once. Subsequent class may either use the class instance or the static function: <a class="el" href="group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e">Wiconnect::getInstance()</a> </p> -<p>Definition at line <a class="el" href="_wiconnect_interface_8h_source.html#l00074">74</a> of file <a class="el" href="_wiconnect_interface_8h_source.html">WiconnectInterface.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_interface_8h_source.html#l00078">78</a> of file <a class="el" href="_wiconnect_interface_8h_source.html">WiconnectInterface.h</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="a285510a2cba5341db387101ac75a4389"></a> <div class="memitem"> @@ -563,7 +641,7 @@ </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_wiconnect_interface_8h_source.html">WiconnectInterface.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_wiconnect_interface_8h_source.html">WiconnectInterface.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_wiconnect.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_wiconnect.js Mon Oct 27 13:42:26 2014 -0700 @@ -5,7 +5,8 @@ [ "checkCurrentCommand", "group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd", null ], [ "deinit", "group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6", null ], [ "flush", "group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713", null ], - [ "getCommandDefaultTimeout", "group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e", null ], + [ "getBlockingEnabled", "group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad", null ], + [ "getCommandDefaultTimeout", "group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e", null ], [ "getLastCommandResponseCodeStr", "group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a", null ], [ "getLastCommandResponseLength", "group__api__core__misc.html#ga600215de23210071c42996d04390071e", null ], [ "getResponseBuffer", "group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8", null ], @@ -18,21 +19,22 @@ [ "reset", "group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3", null ], [ "responseToInt32", "group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0", null ], [ "responseToUint32", "group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565", null ], - [ "sendCommand", "group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c", null ], - [ "sendCommand", "group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7", null ], - [ "sendCommand", "group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197", null ], - [ "sendCommand", "group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65", null ], + [ "sendCommand", "group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505", null ], + [ "sendCommand", "group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8", null ], + [ "sendCommand", "group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e", null ], + [ "sendCommand", "group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9", null ], [ "sendCommand", "group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84", null ], - [ "sendCommand", "group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9", null ], + [ "sendCommand", "group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97", null ], [ "sendCommand", "group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092", null ], [ "sendCommand", "group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363", null ], [ "sendCommand", "group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64", null ], [ "sendCommand", "group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4", null ], - [ "sendCommand", "group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00", null ], - [ "sendCommand", "group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351", null ], + [ "sendCommand", "group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df", null ], + [ "sendCommand", "group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09", null ], [ "sendCommand", "group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698", null ], [ "setAssertLogger", "group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0", null ], - [ "setCommandDefaultTimeout", "group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32", null ], + [ "setBlockingEnabled", "group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c", null ], + [ "setCommandDefaultTimeout", "group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f", null ], [ "setDebugLogger", "group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e", null ], [ "setPinToGpioMapper", "group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d", null ], [ "setSetting", "group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec", null ],
--- a/doc/html/classwiconnect_1_1_wiconnect_file.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_wiconnect_file.html Mon Oct 27 13:42:26 2014 -0700 @@ -121,7 +121,7 @@ <p>Definition at line <a class="el" href="_wiconnect_file_8h_source.html#l00044">44</a> of file <a class="el" href="_wiconnect_file_8h_source.html">WiconnectFile.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_wiconnect_file_8h_source.html">WiconnectFile.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_wiconnect_file_8h_source.html">WiconnectFile.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/classwiconnect_1_1_wiconnect_socket.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/classwiconnect_1_1_wiconnect_socket.html Mon Oct 27 13:42:26 2014 -0700 @@ -116,12 +116,14 @@ <a href="classwiconnect_1_1_wiconnect_socket.html#details">More...</a></p> <p><code>#include <<a class="el" href="_wiconnect_socket_8h_source.html">WiconnectSocket.h</a>></code></p> + +<p>Inherited by <a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">wiconnect::WiconnectUdpServer</a>.</p> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Connection object to remote server. </p> <p>Definition at line <a class="el" href="_wiconnect_socket_8h_source.html#l00043">43</a> of file <a class="el" href="_wiconnect_socket_8h_source.html">WiconnectSocket.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/types/<a class="el" href="_wiconnect_socket_8h_source.html">WiconnectSocket.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_wiconnect_socket_8h_source.html">WiconnectSocket.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_wiconnect_udp_server-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,123 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_wiconnect_udp_server.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">wiconnect::WiconnectUdpServer Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">wiconnect::WiconnectUdpServer</a>, including all inherited members.</p> +<table class="directory"> +</table></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/classwiconnect_1_1_wiconnect_udp_server.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,136 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('classwiconnect_1_1_wiconnect_udp_server.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="classwiconnect_1_1_wiconnect_udp_server-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">wiconnect::WiconnectUdpServer Class Reference<div class="ingroups"><a class="el" href="group__api__socket__types.html">Types</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>UDP Server Listening socket. + <a href="classwiconnect_1_1_wiconnect_udp_server.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="_wiconnect_udp_server_8h_source.html">WiconnectUdpServer.h</a>></code></p> + +<p>Inherits <a class="el" href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a>.</p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>UDP Server Listening socket. </p> + +<p>Definition at line <a class="el" href="_wiconnect_udp_server_8h_source.html#l00044">44</a> of file <a class="el" href="_wiconnect_udp_server_8h_source.html">WiconnectUdpServer.h</a>.</p> +</div><hr/>The documentation for this class was generated from the following file:<ul> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/types/<a class="el" href="_wiconnect_udp_server_8h_source.html">WiconnectUdpServer.h</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/dir_27a7d49d62c4e820c816b3d69e277c43.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,137 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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('dir_27a7d49d62c4e820c816b3d69e277c43.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">api Directory Reference</div> </div> +</div><!--header--> +<div class="contents"> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a> +Directories</h2></td></tr> +<tr class="memitem:dir_a4ac87be2fd883a67ff853570f415ca4"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_a4ac87be2fd883a67ff853570f415ca4.html">types</a></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="files"></a> +Files</h2></td></tr> +<tr class="memitem:_file_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>FileInterface.h</b> <a href="_file_interface_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_ghm_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>GhmInterface.h</b> <a href="_ghm_interface_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_network_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>NetworkInterface.h</b> <a href="_network_interface_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_r_e_a_d_m_e_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>README.h</b> <a href="_r_e_a_d_m_e_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_socket_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>SocketInterface.h</b> <a href="_socket_interface_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_string_util_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>StringUtil.h</b> <a href="_string_util_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_wiconnect_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectInterface.h</b> <a href="_wiconnect_interface_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_wiconnect_types_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectTypes.h</b> <a href="_wiconnect_types_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- a/doc/html/dir_92f31fe2573a605ed03b946a310a299c.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/dir_92f31fe2573a605ed03b946a310a299c.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,29 +104,15 @@ <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a> Directories</h2></td></tr> -<tr class="memitem:dir_93b9e9b21cb7eb1f202bc2087d95d726"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_93b9e9b21cb7eb1f202bc2087d95d726.html">sdk</a></td></tr> +<tr class="memitem:dir_27a7d49d62c4e820c816b3d69e277c43"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_27a7d49d62c4e820c816b3d69e277c43.html">api</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:dir_00910c710364a583a921b5294bac6e71"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_00910c710364a583a921b5294bac6e71.html">types</a></td></tr> +<tr class="memitem:dir_93b9e9b21cb7eb1f202bc2087d95d726"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_93b9e9b21cb7eb1f202bc2087d95d726.html">sdk</a></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="files"></a> Files</h2></td></tr> -<tr class="memitem:_file_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>FileInterface.h</b> <a href="_file_interface_8h_source.html">[code]</a></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:_network_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>NetworkInterface.h</b> <a href="_network_interface_8h_source.html">[code]</a></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:_r_e_a_d_m_e_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>README.h</b> <a href="_r_e_a_d_m_e_8h_source.html">[code]</a></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:_socket_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>SocketInterface.h</b> <a href="_socket_interface_8h_source.html">[code]</a></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:_string_util_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>StringUtil.h</b> <a href="_string_util_8h_source.html">[code]</a></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:_wiconnect_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>Wiconnect.h</b> <a href="_wiconnect_8h_source.html">[code]</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:_wiconnect_interface_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectInterface.h</b> <a href="_wiconnect_interface_8h_source.html">[code]</a></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:_wiconnect_types_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectTypes.h</b> <a href="_wiconnect_types_8h_source.html">[code]</a></td></tr> -<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> </div><!-- doc-content -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/dir_a4ac87be2fd883a67ff853570f415ca4.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,156 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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('dir_a4ac87be2fd883a67ff853570f415ca4.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">types Directory Reference</div> </div> +</div><!--header--> +<div class="contents"> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a> +Files</h2></td></tr> +<tr class="memitem:_callback_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>Callback.h</b> <a href="_callback_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_command_queue_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>CommandQueue.h</b> <a href="_command_queue_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_file_list_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>FileList.h</b> <a href="_file_list_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_function_pointer_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>FunctionPointer.h</b> <a href="_function_pointer_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_ghm_message_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>GhmMessage.h</b> <a href="_ghm_message_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_ghm_message_list_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>GhmMessageList.h</b> <a href="_ghm_message_list_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_gpio_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>Gpio.h</b> <a href="_gpio_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_log_func_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>LogFunc.h</b> <a href="_log_func_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_periodic_timer_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>PeriodicTimer.h</b> <a href="_periodic_timer_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_pin_irq_handler_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>PinIrqHandler.h</b> <a href="_pin_irq_handler_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_queued_command_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>QueuedCommand.h</b> <a href="_queued_command_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_reader_func_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>ReaderFunc.h</b> <a href="_reader_func_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_scan_result_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>ScanResult.h</b> <a href="_scan_result_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_scan_result_list_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>ScanResultList.h</b> <a href="_scan_result_list_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_socket_irq_handler_map_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>SocketIrqHandlerMap.h</b> <a href="_socket_irq_handler_map_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_timeout_timer_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>TimeoutTimer.h</b> <a href="_timeout_timer_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_wiconnect_file_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectFile.h</b> <a href="_wiconnect_file_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_wiconnect_serial_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectSerial.h</b> <a href="_wiconnect_serial_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_wiconnect_socket_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectSocket.h</b> <a href="_wiconnect_socket_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:_wiconnect_udp_server_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>WiconnectUdpServer.h</b> <a href="_wiconnect_udp_server_8h_source.html">[code]</a></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- a/doc/html/functions.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/functions.html Mon Oct 27 13:42:26 2014 -0700 @@ -147,7 +147,7 @@ : <a class="el" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">wiconnect::SocketInterface</a> </li> <li>connect() -: <a class="el" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">wiconnect::SocketInterface</a> </li> <li>contextType : <a class="el" href="structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b">wiconnect::HttpSocketArgs</a> @@ -188,17 +188,23 @@ <h3><a class="anchor" id="index_g"></a>- g -</h3><ul> +<li>getBlockingEnabled() +: <a class="el" href="group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad">wiconnect::Wiconnect</a> +</li> <li>getCommandDefaultTimeout() -: <a class="el" href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">wiconnect::Wiconnect</a> +: <a class="el" href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">wiconnect::Wiconnect</a> </li> <li>getDhcpEnabled() : <a class="el" href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">wiconnect::NetworkInterface</a> </li> +<li>getDnsAddress() +: <a class="el" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">wiconnect::NetworkInterface</a> +</li> <li>getInstance() : <a class="el" href="group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e">wiconnect::Wiconnect</a> </li> <li>getIpAddress() -: <a class="el" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">wiconnect::NetworkInterface</a> +: <a class="el" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">wiconnect::NetworkInterface</a> </li> <li>getIpSettings() : <a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">wiconnect::NetworkInterface</a> @@ -209,6 +215,9 @@ <li>getLastCommandResponseLength() : <a class="el" href="group__api__core__misc.html#ga600215de23210071c42996d04390071e">wiconnect::Wiconnect</a> </li> +<li>getMacAddress() +: <a class="el" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">wiconnect::NetworkInterface</a> +</li> <li>getNetworkJoinResult() : <a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">wiconnect::NetworkInterface</a> </li> @@ -218,11 +227,14 @@ <li>getResponseBuffer() : <a class="el" href="group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8">wiconnect::Wiconnect</a> </li> +<li>getRssi() +: <a class="el" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">wiconnect::NetworkInterface</a> +</li> <li>getSetting() : <a class="el" href="group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc">wiconnect::Wiconnect</a> </li> <li>getSignalStrength() -: <a class="el" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface</a> +: <a class="el" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface</a> </li> <li>getVersion() : <a class="el" href="group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f">wiconnect::Wiconnect</a> @@ -230,6 +242,39 @@ <li>getWiconnectResultStr() : <a class="el" href="group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be">wiconnect::Wiconnect</a> </li> +<li>ghmActivate() +: <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">wiconnect::GhmInterface</a> +</li> +<li>ghmDeactivate() +: <a class="el" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">wiconnect::GhmInterface</a> +</li> +<li>ghmDeleteMessage() +: <a class="el" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">wiconnect::GhmInterface</a> +</li> +<li>ghmDownloadCapabilities() +: <a class="el" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">wiconnect::GhmInterface</a> +</li> +<li>ghmGetMessage() +: <a class="el" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">wiconnect::GhmInterface</a> +</li> +<li>ghmIsActivated() +: <a class="el" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">wiconnect::GhmInterface</a> +</li> +<li>ghmListMessages() +: <a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">wiconnect::GhmInterface</a> +</li> +<li>ghmPostMessage() +: <a class="el" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">wiconnect::GhmInterface</a> +</li> +<li>ghmRead() +: <a class="el" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">wiconnect::GhmInterface</a> +</li> +<li>ghmSynchronize() +: <a class="el" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">wiconnect::GhmInterface</a> +</li> +<li>ghmWrite() +: <a class="el" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">wiconnect::GhmInterface</a> +</li> </ul> @@ -260,7 +305,7 @@ : <a class="el" href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">wiconnect::Wiconnect</a> </li> <li>ipToStr() -: <a class="el" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">wiconnect::NetworkInterface</a> +: <a class="el" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">wiconnect::NetworkInterface</a> </li> <li>isInitialized() : <a class="el" href="group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff">wiconnect::Wiconnect</a> @@ -296,7 +341,7 @@ <h3><a class="anchor" id="index_m"></a>- m -</h3><ul> <li>macAddressToStr() -: <a class="el" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">wiconnect::NetworkInterface</a> +: <a class="el" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">wiconnect::NetworkInterface</a> </li> </ul> @@ -332,9 +377,6 @@ <h3><a class="anchor" id="index_r"></a>- r -</h3><ul> -<li>registerSocketIrqHandler() -: <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">wiconnect::SocketInterface</a> -</li> <li>reset() : <a class="el" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">wiconnect::Wiconnect</a> </li> @@ -355,13 +397,16 @@ : <a class="el" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">wiconnect::NetworkInterface</a> </li> <li>sendCommand() -: <a class="el" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">wiconnect::Wiconnect</a> +: <a class="el" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">wiconnect::Wiconnect</a> </li> <li>setAssertLogger() : <a class="el" href="group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0">wiconnect::Wiconnect</a> </li> +<li>setBlockingEnabled() +: <a class="el" href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">wiconnect::Wiconnect</a> +</li> <li>setCommandDefaultTimeout() -: <a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">wiconnect::Wiconnect</a> +: <a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">wiconnect::Wiconnect</a> </li> <li>setDebugLogger() : <a class="el" href="group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e">wiconnect::Wiconnect</a> @@ -369,6 +414,9 @@ <li>setDhcpEnabled() : <a class="el" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">wiconnect::NetworkInterface</a> </li> +<li>setDnsAddress() +: <a class="el" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">wiconnect::NetworkInterface</a> +</li> <li>setIpSettings() : <a class="el" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">wiconnect::NetworkInterface</a> </li> @@ -382,7 +430,7 @@ : <a class="el" href="group__conversion__util.html#gad4661f859cfadbe193793898671043c9">wiconnect::NetworkInterface</a> </li> <li>ssidToStr() -: <a class="el" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">wiconnect::NetworkInterface</a> +: <a class="el" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">wiconnect::NetworkInterface</a> </li> <li>startWebSetup() : <a class="el" href="group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847">wiconnect::NetworkInterface</a> @@ -410,19 +458,19 @@ <h3><a class="anchor" id="index_t"></a>- t -</h3><ul> <li>tcpAccept() -: <a class="el" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">wiconnect::SocketInterface</a> </li> <li>tcpConnect() -: <a class="el" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">wiconnect::SocketInterface</a> </li> <li>tcpListen() -: <a class="el" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">wiconnect::SocketInterface</a> </li> <li>tcpServerStop() : <a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">wiconnect::SocketInterface</a> </li> <li>tlsConnect() -: <a class="el" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">wiconnect::SocketInterface</a> </li> <li>type : <a class="el" href="structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772">wiconnect::HttpSocketArgs</a> @@ -432,10 +480,10 @@ <h3><a class="anchor" id="index_u"></a>- u -</h3><ul> <li>udpConnect() -: <a class="el" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">wiconnect::SocketInterface</a> </li> -<li>unregisterSocketIrqHandler() -: <a class="el" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">wiconnect::SocketInterface</a> +<li>udpListen() +: <a class="el" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">wiconnect::SocketInterface</a> </li> <li>updateFirmware() : <a class="el" href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">wiconnect::Wiconnect</a>
--- a/doc/html/functions_func.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/functions_func.html Mon Oct 27 13:42:26 2014 -0700 @@ -143,7 +143,7 @@ : <a class="el" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">wiconnect::SocketInterface</a> </li> <li>connect() -: <a class="el" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">wiconnect::SocketInterface</a> </li> <li>createFile() : <a class="el" href="group__api__file__methods.html#ga16fb09105975644879eb09581ce486e5">wiconnect::FileInterface</a> @@ -181,17 +181,23 @@ <h3><a class="anchor" id="index_g"></a>- g -</h3><ul> +<li>getBlockingEnabled() +: <a class="el" href="group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad">wiconnect::Wiconnect</a> +</li> <li>getCommandDefaultTimeout() -: <a class="el" href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">wiconnect::Wiconnect</a> +: <a class="el" href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">wiconnect::Wiconnect</a> </li> <li>getDhcpEnabled() : <a class="el" href="group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff">wiconnect::NetworkInterface</a> </li> +<li>getDnsAddress() +: <a class="el" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">wiconnect::NetworkInterface</a> +</li> <li>getInstance() : <a class="el" href="group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e">wiconnect::Wiconnect</a> </li> <li>getIpAddress() -: <a class="el" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">wiconnect::NetworkInterface</a> +: <a class="el" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">wiconnect::NetworkInterface</a> </li> <li>getIpSettings() : <a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">wiconnect::NetworkInterface</a> @@ -202,6 +208,9 @@ <li>getLastCommandResponseLength() : <a class="el" href="group__api__core__misc.html#ga600215de23210071c42996d04390071e">wiconnect::Wiconnect</a> </li> +<li>getMacAddress() +: <a class="el" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">wiconnect::NetworkInterface</a> +</li> <li>getNetworkJoinResult() : <a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">wiconnect::NetworkInterface</a> </li> @@ -211,11 +220,14 @@ <li>getResponseBuffer() : <a class="el" href="group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8">wiconnect::Wiconnect</a> </li> +<li>getRssi() +: <a class="el" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">wiconnect::NetworkInterface</a> +</li> <li>getSetting() : <a class="el" href="group__api__core__settings.html#ga670947ef630233f7866f885500548233">wiconnect::Wiconnect</a> </li> <li>getSignalStrength() -: <a class="el" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface</a> +: <a class="el" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface</a> </li> <li>getVersion() : <a class="el" href="group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f">wiconnect::Wiconnect</a> @@ -223,6 +235,39 @@ <li>getWiconnectResultStr() : <a class="el" href="group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be">wiconnect::Wiconnect</a> </li> +<li>ghmActivate() +: <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">wiconnect::GhmInterface</a> +</li> +<li>ghmDeactivate() +: <a class="el" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">wiconnect::GhmInterface</a> +</li> +<li>ghmDeleteMessage() +: <a class="el" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">wiconnect::GhmInterface</a> +</li> +<li>ghmDownloadCapabilities() +: <a class="el" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">wiconnect::GhmInterface</a> +</li> +<li>ghmGetMessage() +: <a class="el" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">wiconnect::GhmInterface</a> +</li> +<li>ghmIsActivated() +: <a class="el" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">wiconnect::GhmInterface</a> +</li> +<li>ghmListMessages() +: <a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">wiconnect::GhmInterface</a> +</li> +<li>ghmPostMessage() +: <a class="el" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">wiconnect::GhmInterface</a> +</li> +<li>ghmRead() +: <a class="el" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">wiconnect::GhmInterface</a> +</li> +<li>ghmSynchronize() +: <a class="el" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">wiconnect::GhmInterface</a> +</li> +<li>ghmWrite() +: <a class="el" href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">wiconnect::GhmInterface</a> +</li> </ul> @@ -253,7 +298,7 @@ : <a class="el" href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">wiconnect::Wiconnect</a> </li> <li>ipToStr() -: <a class="el" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">wiconnect::NetworkInterface</a> +: <a class="el" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">wiconnect::NetworkInterface</a> </li> <li>isInitialized() : <a class="el" href="group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff">wiconnect::Wiconnect</a> @@ -286,7 +331,7 @@ <h3><a class="anchor" id="index_m"></a>- m -</h3><ul> <li>macAddressToStr() -: <a class="el" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">wiconnect::NetworkInterface</a> +: <a class="el" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">wiconnect::NetworkInterface</a> </li> </ul> @@ -319,9 +364,6 @@ <h3><a class="anchor" id="index_r"></a>- r -</h3><ul> -<li>registerSocketIrqHandler() -: <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">wiconnect::SocketInterface</a> -</li> <li>reset() : <a class="el" href="group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3">wiconnect::Wiconnect</a> </li> @@ -342,13 +384,16 @@ : <a class="el" href="group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956">wiconnect::NetworkInterface</a> </li> <li>sendCommand() -: <a class="el" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">wiconnect::Wiconnect</a> +: <a class="el" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">wiconnect::Wiconnect</a> </li> <li>setAssertLogger() : <a class="el" href="group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0">wiconnect::Wiconnect</a> </li> +<li>setBlockingEnabled() +: <a class="el" href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">wiconnect::Wiconnect</a> +</li> <li>setCommandDefaultTimeout() -: <a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">wiconnect::Wiconnect</a> +: <a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">wiconnect::Wiconnect</a> </li> <li>setDebugLogger() : <a class="el" href="group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e">wiconnect::Wiconnect</a> @@ -356,20 +401,23 @@ <li>setDhcpEnabled() : <a class="el" href="group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf">wiconnect::NetworkInterface</a> </li> +<li>setDnsAddress() +: <a class="el" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">wiconnect::NetworkInterface</a> +</li> <li>setIpSettings() -: <a class="el" href="group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0">wiconnect::NetworkInterface</a> +: <a class="el" href="group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0">wiconnect::NetworkInterface</a> </li> <li>setPinToGpioMapper() : <a class="el" href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">wiconnect::Wiconnect</a> </li> <li>setSetting() -: <a class="el" href="group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec">wiconnect::Wiconnect</a> +: <a class="el" href="group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e">wiconnect::Wiconnect</a> </li> <li>signalStrengthToStr() : <a class="el" href="group__conversion__util.html#gad4661f859cfadbe193793898671043c9">wiconnect::NetworkInterface</a> </li> <li>ssidToStr() -: <a class="el" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">wiconnect::NetworkInterface</a> +: <a class="el" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">wiconnect::NetworkInterface</a> </li> <li>startWebSetup() : <a class="el" href="group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847">wiconnect::NetworkInterface</a> @@ -397,29 +445,29 @@ <h3><a class="anchor" id="index_t"></a>- t -</h3><ul> <li>tcpAccept() -: <a class="el" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">wiconnect::SocketInterface</a> </li> <li>tcpConnect() -: <a class="el" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">wiconnect::SocketInterface</a> </li> <li>tcpListen() -: <a class="el" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">wiconnect::SocketInterface</a> </li> <li>tcpServerStop() : <a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">wiconnect::SocketInterface</a> </li> <li>tlsConnect() -: <a class="el" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">wiconnect::SocketInterface</a> </li> </ul> <h3><a class="anchor" id="index_u"></a>- u -</h3><ul> <li>udpConnect() -: <a class="el" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">wiconnect::SocketInterface</a> +: <a class="el" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">wiconnect::SocketInterface</a> </li> -<li>unregisterSocketIrqHandler() -: <a class="el" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">wiconnect::SocketInterface</a> +<li>udpListen() +: <a class="el" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">wiconnect::SocketInterface</a> </li> <li>updateFirmware() : <a class="el" href="group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632">wiconnect::Wiconnect</a>
--- a/doc/html/group__api__core.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ </div><!--header--> <div class="contents"> -<p>This contains all core methods. +<p>This contains all core related operations. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> @@ -129,7 +129,7 @@ <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<p>This contains all core methods. </p> +<p>This contains all core related operations. </p> </div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/group__api__core__macro.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__macro.html Mon Oct 27 13:42:26 2014 -0700 @@ -141,6 +141,10 @@ #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#gabb158b483cd6d8a8d2d4bf8d38bc9830">WICONNECT_SUCCEEDED</a>(result, func)   ((result = (func)) == <a class="el" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a>)</td></tr> <tr class="memdesc:gabb158b483cd6d8a8d2d4bf8d38bc9830"><td class="mdescLeft"> </td><td class="mdescRight">Populates <em>result</em> with return value from <em>func</em>, returns TRUE if return value is WICONNECT_SUCCESS. <br /></td></tr> <tr class="separator:gabb158b483cd6d8a8d2d4bf8d38bc9830"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga436d782bd2cdce3696eadda1083416af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga436d782bd2cdce3696eadda1083416af"></a> +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga436d782bd2cdce3696eadda1083416af">WICONNECT_IS_PROCESSING</a>(result, func)   ((result = (func)) == <a class="el" href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0">wiconnect::WICONNECT_PROCESSING</a>)</td></tr> +<tr class="memdesc:ga436d782bd2cdce3696eadda1083416af"><td class="mdescLeft"> </td><td class="mdescRight">Populates <em>result</em> with return value from <em>func</em>, returns TRUE if return value is WICONNECT_PROCESSING. <br /></td></tr> +<tr class="separator:ga436d782bd2cdce3696eadda1083416af"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2aa16118029ab13ab41514cb8eb93ba7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2aa16118029ab13ab41514cb8eb93ba7"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7">WICONNECT_MAX_CMD_SIZE</a>   128</td></tr> <tr class="memdesc:ga2aa16118029ab13ab41514cb8eb93ba7"><td class="mdescLeft"> </td><td class="mdescRight">The maximum command size that may be sent to the WiConnect WiFi module. <br /></td></tr> @@ -162,7 +166,7 @@ <tr class="memdesc:ga8bc3b8d2e7e7c9d10b23e0a15cd4507a"><td class="mdescLeft"> </td><td class="mdescRight">The maximum Wiconnect Module flash filesystem filename length. <br /></td></tr> <tr class="separator:ga8bc3b8d2e7e7c9d10b23e0a15cd4507a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga580e5f45fee866c845e0d3fd1eb1744a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga580e5f45fee866c845e0d3fd1eb1744a"></a> -#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>   0xFFFFFFFF</td></tr> +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>   0xFFFFFFFFUL</td></tr> <tr class="memdesc:ga580e5f45fee866c845e0d3fd1eb1744a"><td class="mdescLeft"> </td><td class="mdescRight">Never timeout. <br /></td></tr> <tr class="separator:ga580e5f45fee866c845e0d3fd1eb1744a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga12620767dcf50182fb9f72fe5d995301"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga12620767dcf50182fb9f72fe5d995301"></a> @@ -170,7 +174,7 @@ <tr class="memdesc:ga12620767dcf50182fb9f72fe5d995301"><td class="mdescLeft"> </td><td class="mdescRight">Timeout immediately. <br /></td></tr> <tr class="separator:ga12620767dcf50182fb9f72fe5d995301"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6d336ec791dcd22238d2fc4995fb9431"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6d336ec791dcd22238d2fc4995fb9431"></a> -#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431">WICONNECT_FIRMWARE_UPDATE_TIMEOUT</a>   90000</td></tr> +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431">WICONNECT_FIRMWARE_UPDATE_TIMEOUT</a>   90000UL</td></tr> <tr class="memdesc:ga6d336ec791dcd22238d2fc4995fb9431"><td class="mdescLeft"> </td><td class="mdescRight">Default firmware update timeout in ms. <br /></td></tr> <tr class="separator:ga6d336ec791dcd22238d2fc4995fb9431"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad466ede4f07512308e38402d777d8380"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad466ede4f07512308e38402d777d8380"></a> @@ -189,6 +193,10 @@ #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#gae7b6cfdff3a9aef465d5c4434937417d">WICONNECT_USE_DEFAULT_STRING_BUFFERS</a></td></tr> <tr class="memdesc:gae7b6cfdff3a9aef465d5c4434937417d"><td class="mdescLeft"> </td><td class="mdescRight">When defined enables certain conversion API functions to use a default buffer to store string. <br /></td></tr> <tr class="separator:gae7b6cfdff3a9aef465d5c4434937417d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga593c6629b59a853057cd6a5547ed3f4f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga593c6629b59a853057cd6a5547ed3f4f"></a> +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga593c6629b59a853057cd6a5547ed3f4f">WICONNECT_GPIO_IRQ_ENABLED</a></td></tr> +<tr class="memdesc:ga593c6629b59a853057cd6a5547ed3f4f"><td class="mdescLeft"> </td><td class="mdescRight">When defined enables external interrupts on specified gpios. <br /></td></tr> +<tr class="separator:ga593c6629b59a853057cd6a5547ed3f4f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaff0108d684631b2bb88e1f6c255e9ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaaff0108d684631b2bb88e1f6c255e9ac"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#gaaff0108d684631b2bb88e1f6c255e9ac">WICONNECT_DEFAULT_MALLOC</a>   malloc</td></tr> <tr class="memdesc:gaaff0108d684631b2bb88e1f6c255e9ac"><td class="mdescLeft"> </td><td class="mdescRight">When WICONNECT_ENABLE_MALLOC defined, this is the default malloc function. <br /></td></tr> @@ -217,6 +225,10 @@ #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401">WICONNECT_DEFAULT_NONBLOCKING</a>   false</td></tr> <tr class="memdesc:ga347d0e1228e8174563c6bcf48de18401"><td class="mdescLeft"> </td><td class="mdescRight">The default blocking mode of the Library. <br /></td></tr> <tr class="separator:ga347d0e1228e8174563c6bcf48de18401"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga80e1660ca602aff9f95ccbb4822fad9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga80e1660ca602aff9f95ccbb4822fad9c"></a> +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#ga80e1660ca602aff9f95ccbb4822fad9c">WICONNECT_ENABLE_DEBUGGING</a></td></tr> +<tr class="memdesc:ga80e1660ca602aff9f95ccbb4822fad9c"><td class="mdescLeft"> </td><td class="mdescRight">If defined, enables low-level debugging. <br /></td></tr> +<tr class="separator:ga80e1660ca602aff9f95ccbb4822fad9c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa1dbeca66111f3a22d0ee6b122d69270"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa1dbeca66111f3a22d0ee6b122d69270"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>   NC</td></tr> <tr class="memdesc:gaa1dbeca66111f3a22d0ee6b122d69270"><td class="mdescLeft"> </td><td class="mdescRight">Default value for a pin, Not connected. <br /></td></tr>
--- a/doc/html/group__api__core__macro.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__macro.js Mon Oct 27 13:42:26 2014 -0700 @@ -15,9 +15,12 @@ [ "WICONNECT_DEFAULT_MALLOC", "group__api__core__macro.html#gaaff0108d684631b2bb88e1f6c255e9ac", null ], [ "WICONNECT_DEFAULT_NONBLOCKING", "group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401", null ], [ "WICONNECT_DEFAULT_TIMEOUT", "group__api__core__macro.html#ga7741b7a0fbbf9b7e47898b7d30e5e321", null ], + [ "WICONNECT_ENABLE_DEBUGGING", "group__api__core__macro.html#ga80e1660ca602aff9f95ccbb4822fad9c", null ], [ "WICONNECT_ENABLE_MALLOC", "group__api__core__macro.html#gae9cf1249b46e784aa05250e2bcbe2e02", null ], [ "WICONNECT_FAILED", "group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64", null ], [ "WICONNECT_FIRMWARE_UPDATE_TIMEOUT", "group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431", null ], + [ "WICONNECT_GPIO_IRQ_ENABLED", "group__api__core__macro.html#ga593c6629b59a853057cd6a5547ed3f4f", null ], + [ "WICONNECT_IS_PROCESSING", "group__api__core__macro.html#ga436d782bd2cdce3696eadda1083416af", null ], [ "WICONNECT_MAX_CMD_SIZE", "group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7", null ], [ "WICONNECT_MAX_FILENAME_SIZE", "group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a", null ], [ "WICONNECT_MAX_HOST_SIZE", "group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525", null ],
--- a/doc/html/group__api__core__send__command.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__send__command.html Mon Oct 27 13:42:26 2014 -0700 @@ -109,24 +109,24 @@ <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:ga3a2637e5ce300a03c448edf1eff13c2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c">wiconnect::Wiconnect::sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, char *responseBuffer, int responseBufferLen, int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> -<tr class="memdesc:ga3a2637e5ce300a03c448edf1eff13c2c"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#ga3a2637e5ce300a03c448edf1eff13c2c">More...</a><br /></td></tr> -<tr class="separator:ga3a2637e5ce300a03c448edf1eff13c2c"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gad23730a1f2f7714ef962f24a0f99f0f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7">wiconnect::Wiconnect::sendCommand</a> (char *responseBuffer, int responseBufferLen, int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> -<tr class="memdesc:gad23730a1f2f7714ef962f24a0f99f0f7"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gad23730a1f2f7714ef962f24a0f99f0f7">More...</a><br /></td></tr> -<tr class="separator:gad23730a1f2f7714ef962f24a0f99f0f7"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0e0591e923da9ab814bb3dd3afbda197"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197">wiconnect::Wiconnect::sendCommand</a> (char *responseBuffer, int responseBufferLen, int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> -<tr class="memdesc:ga0e0591e923da9ab814bb3dd3afbda197"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#ga0e0591e923da9ab814bb3dd3afbda197">More...</a><br /></td></tr> -<tr class="separator:ga0e0591e923da9ab814bb3dd3afbda197"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gadd347dd3952ebab2fa27561c12858f65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65">wiconnect::Wiconnect::sendCommand</a> (int timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> -<tr class="memdesc:gadd347dd3952ebab2fa27561c12858f65"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gadd347dd3952ebab2fa27561c12858f65">More...</a><br /></td></tr> -<tr class="separator:gadd347dd3952ebab2fa27561c12858f65"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gadd23f2f86fcc0a438dad798ab3353505"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505">wiconnect::Wiconnect::sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> +<tr class="memdesc:gadd23f2f86fcc0a438dad798ab3353505"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gadd23f2f86fcc0a438dad798ab3353505">More...</a><br /></td></tr> +<tr class="separator:gadd23f2f86fcc0a438dad798ab3353505"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa36b07b28a166fe51f9dc92bcab5d3d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8">wiconnect::Wiconnect::sendCommand</a> (char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd, va_list vaList)</td></tr> +<tr class="memdesc:gaa36b07b28a166fe51f9dc92bcab5d3d8"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gaa36b07b28a166fe51f9dc92bcab5d3d8">More...</a><br /></td></tr> +<tr class="separator:gaa36b07b28a166fe51f9dc92bcab5d3d8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabe0e5c170b9c6ec7d6dc96a3639c721e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e">wiconnect::Wiconnect::sendCommand</a> (char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> +<tr class="memdesc:gabe0e5c170b9c6ec7d6dc96a3639c721e"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gabe0e5c170b9c6ec7d6dc96a3639c721e">More...</a><br /></td></tr> +<tr class="separator:gabe0e5c170b9c6ec7d6dc96a3639c721e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8c6d84b338847fbdd41f61c5375117e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9">wiconnect::Wiconnect::sendCommand</a> (<a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> +<tr class="memdesc:ga8c6d84b338847fbdd41f61c5375117e9"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#ga8c6d84b338847fbdd41f61c5375117e9">More...</a><br /></td></tr> +<tr class="separator:ga8c6d84b338847fbdd41f61c5375117e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaca2f1b17d2cc98cbc6dac219ffcf9e84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84">wiconnect::Wiconnect::sendCommand</a> (const <a class="el" href="classwiconnect_1_1_reader_func.html">ReaderFunc</a> &reader, void *user, const char *cmd,...)</td></tr> <tr class="memdesc:gaca2f1b17d2cc98cbc6dac219ffcf9e84"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gaca2f1b17d2cc98cbc6dac219ffcf9e84">More...</a><br /></td></tr> <tr class="separator:gaca2f1b17d2cc98cbc6dac219ffcf9e84"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga3655750f929f8f4e966278193d0385a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9">wiconnect::Wiconnect::sendCommand</a> (char *responseBuffer, int responseBufferLen, int timeoutMs, const char *cmd,...)</td></tr> -<tr class="memdesc:ga3655750f929f8f4e966278193d0385a9"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#ga3655750f929f8f4e966278193d0385a9">More...</a><br /></td></tr> -<tr class="separator:ga3655750f929f8f4e966278193d0385a9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5f437c3518de14706c6fcff32a0b0f97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97">wiconnect::Wiconnect::sendCommand</a> (char *responseBuffer, int responseBufferLen, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const char *cmd,...)</td></tr> +<tr class="memdesc:ga5f437c3518de14706c6fcff32a0b0f97"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#ga5f437c3518de14706c6fcff32a0b0f97">More...</a><br /></td></tr> +<tr class="separator:ga5f437c3518de14706c6fcff32a0b0f97"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf93db1b2730bb586287f7756f3cdf092"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092">wiconnect::Wiconnect::sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd,...)</td></tr> <tr class="memdesc:gaf93db1b2730bb586287f7756f3cdf092"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gaf93db1b2730bb586287f7756f3cdf092">More...</a><br /></td></tr> <tr class="separator:gaf93db1b2730bb586287f7756f3cdf092"><td class="memSeparator" colspan="2"> </td></tr> @@ -139,11 +139,11 @@ <tr class="memitem:gadad1c5b3df07a24ab09492edf93dd1f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4">wiconnect::Wiconnect::sendCommand</a> (const char *cmd,...)</td></tr> <tr class="memdesc:gadad1c5b3df07a24ab09492edf93dd1f4"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gadad1c5b3df07a24ab09492edf93dd1f4">More...</a><br /></td></tr> <tr class="separator:gadad1c5b3df07a24ab09492edf93dd1f4"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaa6d744ec08ba6c9abf451bdc2b0beb00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00">wiconnect::Wiconnect::sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, int timeoutMs, const char *cmd,...)</td></tr> -<tr class="separator:gaa6d744ec08ba6c9abf451bdc2b0beb00"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gace479d34633141ff1eefa0e98c4d2351"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351">wiconnect::Wiconnect::sendCommand</a> (int timeoutMs, const char *cmd,...)</td></tr> -<tr class="memdesc:gace479d34633141ff1eefa0e98c4d2351"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#gace479d34633141ff1eefa0e98c4d2351">More...</a><br /></td></tr> -<tr class="separator:gace479d34633141ff1eefa0e98c4d2351"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9a89a0dd00f8eedb5e3eb8d4a4ed58df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df">wiconnect::Wiconnect::sendCommand</a> (const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &completeCallback, <a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const char *cmd,...)</td></tr> +<tr class="separator:ga9a89a0dd00f8eedb5e3eb8d4a4ed58df"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5666d99d72494995db0a812fcc9bbd09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09">wiconnect::Wiconnect::sendCommand</a> (<a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs, const char *cmd,...)</td></tr> +<tr class="memdesc:ga5666d99d72494995db0a812fcc9bbd09"><td class="mdescLeft"> </td><td class="mdescRight">Send command to WiConnect WiFi module. <a href="#ga5666d99d72494995db0a812fcc9bbd09">More...</a><br /></td></tr> +<tr class="separator:ga5666d99d72494995db0a812fcc9bbd09"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9d0ade0ec2866d7e0df5391bc69f5698"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698">wiconnect::Wiconnect::sendCommand</a> (const char *cmd, va_list vaList)</td></tr> <tr class="separator:ga9d0ade0ec2866d7e0df5391bc69f5698"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf48c1ec0b92af2619ab846baaaa471cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd">wiconnect::Wiconnect::checkCurrentCommand</a> ()</td></tr> @@ -176,7 +176,7 @@ </div> </div> -<a class="anchor" id="ga3a2637e5ce300a03c448edf1eff13c2c"></a> +<a class="anchor" id="gadd23f2f86fcc0a438dad798ab3353505"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -201,7 +201,7 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em>, </td> </tr> <tr> @@ -255,7 +255,7 @@ </div> </div> -<a class="anchor" id="gad23730a1f2f7714ef962f24a0f99f0f7"></a> +<a class="anchor" id="gaa36b07b28a166fe51f9dc92bcab5d3d8"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -274,7 +274,7 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em>, </td> </tr> <tr> @@ -327,7 +327,7 @@ </div> </div> -<a class="anchor" id="ga0e0591e923da9ab814bb3dd3afbda197"></a> +<a class="anchor" id="gabe0e5c170b9c6ec7d6dc96a3639c721e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -346,7 +346,7 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em>, </td> </tr> <tr> @@ -400,14 +400,14 @@ </div> </div> -<a class="anchor" id="gadd347dd3952ebab2fa27561c12858f65"></a> +<a class="anchor" id="ga8c6d84b338847fbdd41f61c5375117e9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::Wiconnect::sendCommand </td> <td>(</td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em>, </td> </tr> <tr> @@ -499,7 +499,7 @@ <p>Send command to WiConnect WiFi module. </p> <ul> <li>This method uses the library internal buffer and</li> -<li>default timeout. See <a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> +<li>default timeout. See <a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> </ul> <dl class="section note"><dt>Note</dt><dd>Refer to <a class="el" href="index.html#send_command_desc">Sending Commands To WiFi Module</a> for more info </dd> <dd> @@ -516,7 +516,7 @@ </div> </div> -<a class="anchor" id="ga3655750f929f8f4e966278193d0385a9"></a> +<a class="anchor" id="ga5f437c3518de14706c6fcff32a0b0f97"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -535,7 +535,7 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em>, </td> </tr> <tr> @@ -719,7 +719,7 @@ <p>Send command to WiConnect WiFi module. </p> <ul> <li>This method uses the library internal buffer and</li> -<li>default timeout. See <a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> +<li>default timeout. See <a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> </ul> <dl class="section note"><dt>Note</dt><dd>Refer to <a class="el" href="index.html#send_command_desc">Sending Commands To WiFi Module</a> for more info </dd> <dd> @@ -762,7 +762,7 @@ <p>Send command to WiConnect WiFi module. </p> <ul> <li>This method uses the library internal buffer and</li> -<li>default timeout. See <a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> +<li>default timeout. See <a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> </ul> <dl class="section note"><dt>Note</dt><dd>Refer to <a class="el" href="index.html#send_command_desc">Sending Commands To WiFi Module</a> for more info </dd> <dd> @@ -777,7 +777,7 @@ </div> </div> -<a class="anchor" id="gaa6d744ec08ba6c9abf451bdc2b0beb00"></a> +<a class="anchor" id="ga9a89a0dd00f8eedb5e3eb8d4a4ed58df"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -790,7 +790,7 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em>, </td> </tr> <tr> @@ -828,14 +828,14 @@ </div> </div> -<a class="anchor" id="gace479d34633141ff1eefa0e98c4d2351"></a> +<a class="anchor" id="ga5666d99d72494995db0a812fcc9bbd09"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::Wiconnect::sendCommand </td> <td>(</td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em>, </td> </tr> <tr> @@ -899,7 +899,7 @@ </div><div class="memdoc"> <ul> <li>This method uses the library internal buffer and</li> -<li>default timeout. See <a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> +<li>default timeout. See <a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f" title="Sets the default maximum time an API method may execute before terminating and return a timeout error...">setCommandDefaultTimeout()</a></li> </ul> <dl class="section note"><dt>Note</dt><dd>Refer to <a class="el" href="index.html#send_command_desc">Sending Commands To WiFi Module</a> for more info</dd></dl> <dl class="params"><dt>Parameters</dt><dd>
--- a/doc/html/group__api__core__send__command.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__send__command.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,18 +1,18 @@ var group__api__core__send__command = [ [ "checkCurrentCommand", "group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd", null ], - [ "sendCommand", "group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c", null ], - [ "sendCommand", "group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7", null ], - [ "sendCommand", "group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197", null ], - [ "sendCommand", "group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65", null ], + [ "sendCommand", "group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505", null ], + [ "sendCommand", "group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8", null ], + [ "sendCommand", "group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e", null ], + [ "sendCommand", "group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9", null ], [ "sendCommand", "group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84", null ], - [ "sendCommand", "group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9", null ], + [ "sendCommand", "group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97", null ], [ "sendCommand", "group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092", null ], [ "sendCommand", "group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363", null ], [ "sendCommand", "group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64", null ], [ "sendCommand", "group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4", null ], - [ "sendCommand", "group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00", null ], - [ "sendCommand", "group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351", null ], + [ "sendCommand", "group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df", null ], + [ "sendCommand", "group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09", null ], [ "sendCommand", "group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698", null ], [ "stopCurrentCommand", "group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0", null ] ]; \ No newline at end of file
--- a/doc/html/group__api__core__settings.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__settings.html Mon Oct 27 13:42:26 2014 -0700 @@ -124,12 +124,19 @@ <tr class="memitem:ga670947ef630233f7866f885500548233"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#ga670947ef630233f7866f885500548233">wiconnect::Wiconnect::getSetting</a> (const char *settingStr, char *valueBuffer, uint16_t valueBufferLen)</td></tr> <tr class="memdesc:ga670947ef630233f7866f885500548233"><td class="mdescLeft"> </td><td class="mdescRight">Get a module setting. <a href="#ga670947ef630233f7866f885500548233">More...</a><br /></td></tr> <tr class="separator:ga670947ef630233f7866f885500548233"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaaaf8be221699870053ad98911b066a32"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32">wiconnect::Wiconnect::setCommandDefaultTimeout</a> (int timeoutMs)</td></tr> -<tr class="memdesc:gaaaf8be221699870053ad98911b066a32"><td class="mdescLeft"> </td><td class="mdescRight">Sets the default maximum time an API method may execute before terminating and return a timeout error code. <a href="#gaaaf8be221699870053ad98911b066a32">More...</a><br /></td></tr> -<tr class="separator:gaaaf8be221699870053ad98911b066a32"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gad5d31980a7b1e143f00b0117468c1a7e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e">wiconnect::Wiconnect::getCommandDefaultTimeout</a> ()</td></tr> -<tr class="memdesc:gad5d31980a7b1e143f00b0117468c1a7e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current default maximum API execution time. <a href="#gad5d31980a7b1e143f00b0117468c1a7e">More...</a><br /></td></tr> -<tr class="separator:gad5d31980a7b1e143f00b0117468c1a7e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga851795595a422a14249b7ea9f0038c4c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c">wiconnect::Wiconnect::setBlockingEnabled</a> (bool blockingEnabled)</td></tr> +<tr class="memdesc:ga851795595a422a14249b7ea9f0038c4c"><td class="mdescLeft"> </td><td class="mdescRight">Sets if API calls are blocking or non-blocking. <a href="#ga851795595a422a14249b7ea9f0038c4c">More...</a><br /></td></tr> +<tr class="separator:ga851795595a422a14249b7ea9f0038c4c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf6115968c49c128717cacd2f06b883ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf6115968c49c128717cacd2f06b883ad"></a> +bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad">wiconnect::Wiconnect::getBlockingEnabled</a> (void)</td></tr> +<tr class="memdesc:gaf6115968c49c128717cacd2f06b883ad"><td class="mdescLeft"> </td><td class="mdescRight">Gets if API calls are blocking or non-blocking. <br /></td></tr> +<tr class="separator:gaf6115968c49c128717cacd2f06b883ad"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gacae50138f9388a66496408f9c2bf6a6f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f">wiconnect::Wiconnect::setCommandDefaultTimeout</a> (<a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> timeoutMs)</td></tr> +<tr class="memdesc:gacae50138f9388a66496408f9c2bf6a6f"><td class="mdescLeft"> </td><td class="mdescRight">Sets the default maximum time an API method may execute before terminating and return a timeout error code. <a href="#gacae50138f9388a66496408f9c2bf6a6f">More...</a><br /></td></tr> +<tr class="separator:gacae50138f9388a66496408f9c2bf6a6f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad8d98b8d2610f4ea564bede27e87857e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e">wiconnect::Wiconnect::getCommandDefaultTimeout</a> ()</td></tr> +<tr class="memdesc:gad8d98b8d2610f4ea564bede27e87857e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current default maximum API execution time. <a href="#gad8d98b8d2610f4ea564bede27e87857e">More...</a><br /></td></tr> +<tr class="separator:gad8d98b8d2610f4ea564bede27e87857e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga180b043ec83c53b5bf6b9ef2b187d08d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d">wiconnect::Wiconnect::setPinToGpioMapper</a> (PinToGpioMapper mapper)</td></tr> <tr class="memdesc:ga180b043ec83c53b5bf6b9ef2b187d08d"><td class="mdescLeft"> </td><td class="mdescRight">Sets a mapping function used to convert from a host Pin to WiConnect WiFi module GPIO. <a href="#ga180b043ec83c53b5bf6b9ef2b187d08d">More...</a><br /></td></tr> <tr class="separator:ga180b043ec83c53b5bf6b9ef2b187d08d"><td class="memSeparator" colspan="2"> </td></tr> @@ -143,12 +150,12 @@ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>API getters/setters for core library settings. </p> <h2 class="groupheader">Function Documentation</h2> -<a class="anchor" id="gad5d31980a7b1e143f00b0117468c1a7e"></a> +<a class="anchor" id="gad8d98b8d2610f4ea564bede27e87857e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int wiconnect::Wiconnect::getCommandDefaultTimeout </td> + <td class="memname"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> wiconnect::Wiconnect::getCommandDefaultTimeout </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> @@ -304,14 +311,38 @@ </div> </div> -<a class="anchor" id="gaaaf8be221699870053ad98911b066a32"></a> +<a class="anchor" id="ga851795595a422a14249b7ea9f0038c4c"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void wiconnect::Wiconnect::setBlockingEnabled </td> + <td>(</td> + <td class="paramtype">bool </td> + <td class="paramname"><em>blockingEnabled</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Sets if API calls are blocking or non-blocking. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">blockingEnabled</td><td>The new blocking value </td></tr> + </table> + </dd> +</dl> + +</div> +</div> +<a class="anchor" id="gacae50138f9388a66496408f9c2bf6a6f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void wiconnect::Wiconnect::setCommandDefaultTimeout </td> <td>(</td> - <td class="paramtype">int </td> + <td class="paramtype"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a> </td> <td class="paramname"><em>timeoutMs</em></td><td>)</td> <td></td> </tr> @@ -319,7 +350,7 @@ </div><div class="memdoc"> <p>Sets the default maximum time an API method may execute before terminating and return a timeout error code. </p> -<dl class="section note"><dt>Note</dt><dd>All API methods (execpt some <a class="el" href="group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c" title="Send command to WiConnect WiFi module. ">sendCommand()</a>) use this default value.</dd></dl> +<dl class="section note"><dt>Note</dt><dd>All API methods (execpt some <a class="el" href="group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505" title="Send command to WiConnect WiFi module. ">sendCommand()</a>) use this default value.</dd></dl> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">timeoutMs</td><td>Default command timeout in milliseconds </td></tr>
--- a/doc/html/group__api__core__settings.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__settings.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,11 +1,13 @@ var group__api__core__settings = [ - [ "getCommandDefaultTimeout", "group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e", null ], + [ "getBlockingEnabled", "group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad", null ], + [ "getCommandDefaultTimeout", "group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e", null ], [ "getSetting", "group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc", null ], [ "getSetting", "group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296", null ], [ "getSetting", "group__api__core__settings.html#ga670947ef630233f7866f885500548233", null ], [ "setAssertLogger", "group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0", null ], - [ "setCommandDefaultTimeout", "group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32", null ], + [ "setBlockingEnabled", "group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c", null ], + [ "setCommandDefaultTimeout", "group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f", null ], [ "setDebugLogger", "group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e", null ], [ "setPinToGpioMapper", "group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d", null ], [ "setSetting", "group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec", null ],
--- a/doc/html/group__api__core__types.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__types.html Mon Oct 27 13:42:26 2014 -0700 @@ -272,7 +272,7 @@ </table> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="tcp_server_2example_8cpp-example.html#a0">tcp_server/example.cpp</a>, and <a class="el" href="web_setup_2example_8cpp-example.html#a0">web_setup/example.cpp</a>.</dd> </dl> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00159">159</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00166">166</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div>
--- a/doc/html/group__api__core__types.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__core__types.js Mon Oct 27 13:42:26 2014 -0700 @@ -6,7 +6,8 @@ [ "checkCurrentCommand", "group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd", null ], [ "deinit", "group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6", null ], [ "flush", "group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713", null ], - [ "getCommandDefaultTimeout", "group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e", null ], + [ "getBlockingEnabled", "group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad", null ], + [ "getCommandDefaultTimeout", "group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e", null ], [ "getLastCommandResponseCodeStr", "group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a", null ], [ "getLastCommandResponseLength", "group__api__core__misc.html#ga600215de23210071c42996d04390071e", null ], [ "getResponseBuffer", "group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8", null ], @@ -19,21 +20,22 @@ [ "reset", "group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3", null ], [ "responseToInt32", "group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0", null ], [ "responseToUint32", "group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565", null ], - [ "sendCommand", "group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c", null ], - [ "sendCommand", "group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7", null ], - [ "sendCommand", "group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197", null ], - [ "sendCommand", "group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65", null ], + [ "sendCommand", "group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505", null ], + [ "sendCommand", "group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8", null ], + [ "sendCommand", "group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e", null ], + [ "sendCommand", "group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9", null ], [ "sendCommand", "group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84", null ], - [ "sendCommand", "group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9", null ], + [ "sendCommand", "group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97", null ], [ "sendCommand", "group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092", null ], [ "sendCommand", "group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363", null ], [ "sendCommand", "group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64", null ], [ "sendCommand", "group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4", null ], - [ "sendCommand", "group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00", null ], - [ "sendCommand", "group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351", null ], + [ "sendCommand", "group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df", null ], + [ "sendCommand", "group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09", null ], [ "sendCommand", "group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698", null ], [ "setAssertLogger", "group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0", null ], - [ "setCommandDefaultTimeout", "group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32", null ], + [ "setBlockingEnabled", "group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c", null ], + [ "setCommandDefaultTimeout", "group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f", null ], [ "setDebugLogger", "group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e", null ], [ "setPinToGpioMapper", "group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d", null ], [ "setSetting", "group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec", null ],
--- a/doc/html/group__api__file.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__file.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,16 +104,16 @@ </div><!--header--> <div class="contents"> -<p>This contains all file methods. +<p>This contains all file related operations. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> Modules</h2></td></tr> <tr class="memitem:group__api__file__methods"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__file__methods.html">Methods</a></td></tr> -<tr class="memdesc:group__api__file__methods"><td class="mdescLeft"> </td><td class="mdescRight">File Types. <br /></td></tr> +<tr class="memdesc:group__api__file__methods"><td class="mdescLeft"> </td><td class="mdescRight">File methods. <br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group__api__file__types"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__file__types.html">Types</a></td></tr> -<tr class="memdesc:group__api__file__types"><td class="mdescLeft"> </td><td class="mdescRight">File Types. <br /></td></tr> +<tr class="memdesc:group__api__file__types"><td class="mdescLeft"> </td><td class="mdescRight">File types. <br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:group__api__file__macro"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__file__macro.html">Macros</a></td></tr> <tr class="memdesc:group__api__file__macro"><td class="mdescLeft"> </td><td class="mdescRight">API specific macros. <br /></td></tr> @@ -123,7 +123,7 @@ <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<p>This contains all file methods. </p> +<p>This contains all file related operations. </p> </div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/group__api__file__methods.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__file__methods.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ </div><!--header--> <div class="contents"> -<p>File Types. +<p>File methods. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> @@ -126,7 +126,7 @@ <tr class="separator:ga10536639c61213c037883dade021838f"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<p>File Types. </p> +<p>File methods. </p> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga16fb09105975644879eb09581ce486e5"></a> <div class="memitem">
--- a/doc/html/group__api__file__types.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__file__types.html Mon Oct 27 13:42:26 2014 -0700 @@ -105,7 +105,7 @@ </div><!--header--> <div class="contents"> -<p>File Types. +<p>File types. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> @@ -174,7 +174,7 @@ <tr class="separator:ga9919a4237eea2b0d1f27c16d64e62c63"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<p>File Types. </p> +<p>File types. </p> <h2 class="groupheader">Enumeration Type Documentation</h2> <a class="anchor" id="gafbe48908f5c190c3b0f272d3016e609e"></a> <div class="memitem"> @@ -217,7 +217,7 @@ </td></tr> </table> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00364">364</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00380">380</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div> @@ -271,7 +271,7 @@ </td></tr> </table> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00383">383</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00399">399</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,141 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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__api__ghm.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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">Modules</a> </div> + <div class="headertitle"> +<div class="title">goHACK.me</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This contains all goHACK.me related operations. +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> +Modules</h2></td></tr> +<tr class="memitem:group__api__ghm__activate"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html">Activation</a></td></tr> +<tr class="memdesc:group__api__ghm__activate"><td class="mdescLeft"> </td><td class="mdescRight">Methods for activating/deactivating the module with <a href="http://goHACK.me">http://goHACK.me</a>. <br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:group__api__ghm__com"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html">Read/Write</a></td></tr> +<tr class="memdesc:group__api__ghm__com"><td class="mdescLeft"> </td><td class="mdescRight">Methods for reading & writing data from/to <a href="http://goHACK.me">http://goHACK.me</a>. <br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:group__api__ghm__msg"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html">Message</a></td></tr> +<tr class="memdesc:group__api__ghm__msg"><td class="mdescLeft"> </td><td class="mdescRight">Methods for getting, posting, listing, deleting messages wtih <a href="http://goHACK.me">http://goHACK.me</a>. <br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:group__api__ghm__types"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__types.html">Types</a></td></tr> +<tr class="memdesc:group__api__ghm__types"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me Types <br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:group__api__ghm__macro"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__macro.html">Macros</a></td></tr> +<tr class="memdesc:group__api__ghm__macro"><td class="mdescLeft"> </td><td class="mdescRight">API specific macros. <br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:group__api__ghm__examples"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__examples.html">Examples</a></td></tr> +<tr class="memdesc:group__api__ghm__examples"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me examples <br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<p>This contains all goHACK.me related operations. </p> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,9 @@ +var group__api__ghm = +[ + [ "Activation", "group__api__ghm__activate.html", "group__api__ghm__activate" ], + [ "Read/Write", "group__api__ghm__com.html", "group__api__ghm__com" ], + [ "Message", "group__api__ghm__msg.html", "group__api__ghm__msg" ], + [ "Types", "group__api__ghm__types.html", "group__api__ghm__types" ], + [ "Macros", "group__api__ghm__macro.html", null ], + [ "Examples", "group__api__ghm__examples.html", null ] +]; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__activate.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,278 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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__api__ghm__activate.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Activation<div class="ingroups"><a class="el" href="group__api__ghm.html">goHACK.me</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Methods for activating/deactivating the module with <a href="http://goHACK.me">http://goHACK.me</a>. +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gaff03ecaa08146e6925820209cdab56bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd">wiconnect::GhmInterface::ghmDownloadCapabilities</a> (const char *capsNameOrCustomUrl=NULL, uint32_t version=0)</td></tr> +<tr class="memdesc:gaff03ecaa08146e6925820209cdab56bd"><td class="mdescLeft"> </td><td class="mdescRight">Download a device capabilities file to WiFi module's internal file system. <a href="#gaff03ecaa08146e6925820209cdab56bd">More...</a><br /></td></tr> +<tr class="separator:gaff03ecaa08146e6925820209cdab56bd"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa0213731eebd4a14e9099d01ff76beff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">wiconnect::GhmInterface::ghmActivate</a> (const char *userName, const char *password, const char *capsFilename=NULL)</td></tr> +<tr class="memdesc:gaa0213731eebd4a14e9099d01ff76beff"><td class="mdescLeft"> </td><td class="mdescRight">Activate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#gaa0213731eebd4a14e9099d01ff76beff">More...</a><br /></td></tr> +<tr class="separator:gaa0213731eebd4a14e9099d01ff76beff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad0e0484d1f9a6608475874544f96708b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b">wiconnect::GhmInterface::ghmDeactivate</a> (const char *userName, const char *password)</td></tr> +<tr class="memdesc:gad0e0484d1f9a6608475874544f96708b"><td class="mdescLeft"> </td><td class="mdescRight">Deactivate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#gad0e0484d1f9a6608475874544f96708b">More...</a><br /></td></tr> +<tr class="separator:gad0e0484d1f9a6608475874544f96708b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga8bec70f780ca7de9dce1a15830c179ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff">wiconnect::GhmInterface::ghmIsActivated</a> (bool *statusPtr)</td></tr> +<tr class="memdesc:ga8bec70f780ca7de9dce1a15830c179ff"><td class="mdescLeft"> </td><td class="mdescRight">Return if WiFi module is activated with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga8bec70f780ca7de9dce1a15830c179ff">More...</a><br /></td></tr> +<tr class="separator:ga8bec70f780ca7de9dce1a15830c179ff"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<p>Methods for activating/deactivating the module with <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<h2 class="groupheader">Function Documentation</h2> +<a class="anchor" id="gaa0213731eebd4a14e9099d01ff76beff"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmActivate </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>userName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>password</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>capsFilename</em> = <code>NULL</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Activate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>You must first sign-up with <a href="http://goHACK.me">http://goHACK.me</a> before you can activate the device. Go to <a href="http://goHACK.me">http://goHACK.me</a> to sign-up.</dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">userName</td><td>Your username </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">password</td><td>Your password </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">capsFilename</td><td>Optional, filename of existing capabilities file on module's internal file system. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="gad0e0484d1f9a6608475874544f96708b"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmDeactivate </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>userName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>password</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Deactivate WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>You must first sign-up with <a href="http://goHACK.me">http://goHACK.me</a> before you can deactivate the device. Go to <a href="http://goHACK.me">http://goHACK.me</a> to sign-up.</dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">userName</td><td>Your username </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">password</td><td>Your password </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="gaff03ecaa08146e6925820209cdab56bd"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmDownloadCapabilities </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>capsNameOrCustomUrl</em> = <code>NULL</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>version</em> = <code>0</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Download a device capabilities file to WiFi module's internal file system. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">capsNameOrCustomUrl</td><td>Optional, specify the caps file name or URL to caps file </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">version</td><td>Optional, version to set downloaded caps file as </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga8bec70f780ca7de9dce1a15830c179ff"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmIsActivated </td> + <td>(</td> + <td class="paramtype">bool * </td> + <td class="paramname"><em>statusPtr</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Return if WiFi module is activated with <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[out]</td><td class="paramname">statusPtr</td><td>Pointer to hold activation status. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__activate.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,7 @@ +var group__api__ghm__activate = +[ + [ "ghmActivate", "group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff", null ], + [ "ghmDeactivate", "group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b", null ], + [ "ghmDownloadCapabilities", "group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd", null ], + [ "ghmIsActivated", "group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff", null ] +]; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__com.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,429 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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__api__ghm__com.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Read/Write<div class="ingroups"><a class="el" href="group__api__ghm.html">goHACK.me</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Methods for reading & writing data from/to <a href="http://goHACK.me">http://goHACK.me</a>. +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ga3fde7b34da992719b41fc52178b73bc2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2">wiconnect::GhmInterface::ghmRead</a> (const char *controlName, const char **valueStrPtr)</td></tr> +<tr class="memdesc:ga3fde7b34da992719b41fc52178b73bc2"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga3fde7b34da992719b41fc52178b73bc2">More...</a><br /></td></tr> +<tr class="separator:ga3fde7b34da992719b41fc52178b73bc2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2d4f14ef409c30b49ce2a06b72d10c7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f">wiconnect::GhmInterface::ghmRead</a> (const char *controlName, uint32_t *valueIntPtr)</td></tr> +<tr class="memdesc:ga2d4f14ef409c30b49ce2a06b72d10c7f"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga2d4f14ef409c30b49ce2a06b72d10c7f">More...</a><br /></td></tr> +<tr class="separator:ga2d4f14ef409c30b49ce2a06b72d10c7f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga965090d4b28bda9f58716b522a6bee12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12">wiconnect::GhmInterface::ghmRead</a> (const char *controlName, char *valueBuffer, uint16_t valueBufferLen)</td></tr> +<tr class="memdesc:ga965090d4b28bda9f58716b522a6bee12"><td class="mdescLeft"> </td><td class="mdescRight">Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga965090d4b28bda9f58716b522a6bee12">More...</a><br /></td></tr> +<tr class="separator:ga965090d4b28bda9f58716b522a6bee12"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga2f57fc33ad0e71d608b1350d4e3ab223"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223">wiconnect::GhmInterface::ghmWrite</a> (const char *elementName, const char *strValue)</td></tr> +<tr class="memdesc:ga2f57fc33ad0e71d608b1350d4e3ab223"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga2f57fc33ad0e71d608b1350d4e3ab223">More...</a><br /></td></tr> +<tr class="separator:ga2f57fc33ad0e71d608b1350d4e3ab223"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga26ef47c451e7dbe869f19f5f36695e7c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c">wiconnect::GhmInterface::ghmWrite</a> (const char *elementName, uint32_t uintValue)</td></tr> +<tr class="memdesc:ga26ef47c451e7dbe869f19f5f36695e7c"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga26ef47c451e7dbe869f19f5f36695e7c">More...</a><br /></td></tr> +<tr class="separator:ga26ef47c451e7dbe869f19f5f36695e7c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab524e64f4bbae826c27bf39d7f2d3c2e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e">wiconnect::GhmInterface::ghmWrite</a> (const char *elementName, int32_t intValue)</td></tr> +<tr class="memdesc:gab524e64f4bbae826c27bf39d7f2d3c2e"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#gab524e64f4bbae826c27bf39d7f2d3c2e">More...</a><br /></td></tr> +<tr class="separator:gab524e64f4bbae826c27bf39d7f2d3c2e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga5eb797aba87a3ab76d742afe34292ee6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6">wiconnect::GhmInterface::ghmWrite</a> (const <a class="el" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a> *elementArray)</td></tr> +<tr class="memdesc:ga5eb797aba87a3ab76d742afe34292ee6"><td class="mdescLeft"> </td><td class="mdescRight">Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga5eb797aba87a3ab76d742afe34292ee6">More...</a><br /></td></tr> +<tr class="separator:ga5eb797aba87a3ab76d742afe34292ee6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0aa48506edb22c90be513683672b96c7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7">wiconnect::GhmInterface::ghmSynchronize</a> (<a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a> type=GHM_SYNC_ALL)</td></tr> +<tr class="memdesc:ga0aa48506edb22c90be513683672b96c7"><td class="mdescLeft"> </td><td class="mdescRight">Synchronize WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga0aa48506edb22c90be513683672b96c7">More...</a><br /></td></tr> +<tr class="separator:ga0aa48506edb22c90be513683672b96c7"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<p>Methods for reading & writing data from/to <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<h2 class="groupheader">Function Documentation</h2> +<a class="anchor" id="ga3fde7b34da992719b41fc52178b73bc2"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmRead </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>controlName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char ** </td> + <td class="paramname"><em>valueStrPtr</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">controlName</td><td>The name of the control in the activated capabilities file. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">valueStrPtr</td><td>Pointer to pointer to hold control's string value </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga2d4f14ef409c30b49ce2a06b72d10c7f"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmRead </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>controlName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t * </td> + <td class="paramname"><em>valueIntPtr</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">controlName</td><td>The name of the control in the activated capabilities file. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">valueIntPtr</td><td>Pointer hold control's integer value </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga965090d4b28bda9f58716b522a6bee12"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmRead </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>controlName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char * </td> + <td class="paramname"><em>valueBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint16_t </td> + <td class="paramname"><em>valueBufferLen</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Read control data from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">controlName</td><td>The name of the control in the activated capabilities file. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">valueBuffer</td><td>Buffer to hold control's string value </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">valueBufferLen</td><td>Length of valueBuffer </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga0aa48506edb22c90be513683672b96c7"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmSynchronize </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a> </td> + <td class="paramname"><em>type</em> = <code><a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">GHM_SYNC_ALL</a></code></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Synchronize WiFi module with <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of synchronization. See <a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga2f57fc33ad0e71d608b1350d4e3ab223"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmWrite </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>elementName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>strValue</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">elementName</td><td>The name of the control or stream in the activated capabilities file. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">strValue</td><td>String value of control or stream </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga26ef47c451e7dbe869f19f5f36695e7c"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmWrite </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>elementName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>uintValue</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">elementName</td><td>The name of the control or stream in the activated capabilities file. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">uintValue</td><td>Unsigned integer value of control or stream </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="gab524e64f4bbae826c27bf39d7f2d3c2e"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmWrite </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>elementName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int32_t </td> + <td class="paramname"><em>intValue</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">elementName</td><td>The name of the control or stream in the activated capabilities file. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">intValue</td><td>signed integer value of control or stream </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga5eb797aba87a3ab76d742afe34292ee6"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmWrite </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a> * </td> + <td class="paramname"><em>elementArray</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Write stream or control data to <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">elementArray</td><td>Array of stream and/or control values to send to <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__com.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,11 @@ +var group__api__ghm__com = +[ + [ "ghmRead", "group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2", null ], + [ "ghmRead", "group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f", null ], + [ "ghmRead", "group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12", null ], + [ "ghmSynchronize", "group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c", null ], + [ "ghmWrite", "group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6", null ] +]; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__examples.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,116 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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__api__ghm__examples.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">Examples<div class="ingroups"><a class="el" href="group__api__ghm.html">goHACK.me</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>goHACK.me examples +<a href="#details">More...</a></p> +<p>goHACK.me examples </p> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__macro.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,116 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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__api__ghm__macro.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">Macros<div class="ingroups"><a class="el" href="group__api__ghm.html">goHACK.me</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>API specific macros. +<a href="#details">More...</a></p> +<p>API specific macros. </p> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__msg.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,400 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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__api__ghm__msg.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Message<div class="ingroups"><a class="el" href="group__api__ghm.html">goHACK.me</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Methods for getting, posting, listing, deleting messages wtih <a href="http://goHACK.me">http://goHACK.me</a>. +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:gadc281f497041b26a151c72a0b5d03543"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543">wiconnect::GhmInterface::ghmPostMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, bool jsonFormatted=false)</td></tr> +<tr class="memdesc:gadc281f497041b26a151c72a0b5d03543"><td class="mdescLeft"> </td><td class="mdescRight">POST message to <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#gadc281f497041b26a151c72a0b5d03543">More...</a><br /></td></tr> +<tr class="separator:gadc281f497041b26a151c72a0b5d03543"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaaa05391432b2ca38bb416c671f57b234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234">wiconnect::GhmInterface::ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=GHM_MSG_GET_DATA_ONLY)</td></tr> +<tr class="memdesc:gaaa05391432b2ca38bb416c671f57b234"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#gaaa05391432b2ca38bb416c671f57b234">More...</a><br /></td></tr> +<tr class="separator:gaaa05391432b2ca38bb416c671f57b234"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa905a010f0e234d290eaef6e42975c29"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29">wiconnect::GhmInterface::ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint8_t listIndex, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=GHM_MSG_GET_DATA_ONLY)</td></tr> +<tr class="memdesc:gaa905a010f0e234d290eaef6e42975c29"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#gaa905a010f0e234d290eaef6e42975c29">More...</a><br /></td></tr> +<tr class="separator:gaa905a010f0e234d290eaef6e42975c29"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9c6dffaa871f2443a32d75276160682d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d">wiconnect::GhmInterface::ghmGetMessage</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *msgId, <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> getType=GHM_MSG_GET_DATA_ONLY)</td></tr> +<tr class="memdesc:ga9c6dffaa871f2443a32d75276160682d"><td class="mdescLeft"> </td><td class="mdescRight">GET message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga9c6dffaa871f2443a32d75276160682d">More...</a><br /></td></tr> +<tr class="separator:ga9c6dffaa871f2443a32d75276160682d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga451de9d69f7ecbf38e36056e502b94b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0">wiconnect::GhmInterface::ghmDeleteMessage</a> (uint8_t listIndex)</td></tr> +<tr class="memdesc:ga451de9d69f7ecbf38e36056e502b94b0"><td class="mdescLeft"> </td><td class="mdescRight">Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga451de9d69f7ecbf38e36056e502b94b0">More...</a><br /></td></tr> +<tr class="separator:ga451de9d69f7ecbf38e36056e502b94b0"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7273f4c691aeccd241327f1be3e8d0e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9">wiconnect::GhmInterface::ghmDeleteMessage</a> (const char *msgId)</td></tr> +<tr class="memdesc:ga7273f4c691aeccd241327f1be3e8d0e9"><td class="mdescLeft"> </td><td class="mdescRight">Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#ga7273f4c691aeccd241327f1be3e8d0e9">More...</a><br /></td></tr> +<tr class="separator:ga7273f4c691aeccd241327f1be3e8d0e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae69971594793e1a10f11a51277909502"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">wiconnect::GhmInterface::ghmListMessages</a> (<a class="el" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> &msgList, uint8_t maxCount=0)</td></tr> +<tr class="memdesc:gae69971594793e1a10f11a51277909502"><td class="mdescLeft"> </td><td class="mdescRight">List available messages for device on <a href="http://goHACK.me">http://goHACK.me</a>. <a href="#gae69971594793e1a10f11a51277909502">More...</a><br /></td></tr> +<tr class="separator:gae69971594793e1a10f11a51277909502"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<p>Methods for getting, posting, listing, deleting messages wtih <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<h2 class="groupheader">Function Documentation</h2> +<a class="anchor" id="ga451de9d69f7ecbf38e36056e502b94b0"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmDeleteMessage </td> + <td>(</td> + <td class="paramtype">uint8_t </td> + <td class="paramname"><em>listIndex</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd><a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">ghmListMessages()</a> must be called first before using this method.</dd> +<dd> +The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">listIndex</td><td>The index of the message returned from <a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502" title="List available messages for device on http://goHACK.me. ">ghmListMessages()</a> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga7273f4c691aeccd241327f1be3e8d0e9"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmDeleteMessage </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>msgId</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Delete message from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[in]</td><td class="paramname">msgId</td><td>The <a href="http://goHACK.me">http://goHACK.me</a> message ID. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="gaaa05391432b2ca38bb416c671f57b234"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmGetMessage </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> & </td> + <td class="paramname"><em>socket</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> </td> + <td class="paramname"><em>getType</em> = <code><a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a></code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>GET message from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[out]</td><td class="paramname">socket</td><td><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> used to receive message data from <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">getType</td><td>The additional message data to receive. See <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="gaa905a010f0e234d290eaef6e42975c29"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmGetMessage </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> & </td> + <td class="paramname"><em>socket</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint8_t </td> + <td class="paramname"><em>listIndex</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> </td> + <td class="paramname"><em>getType</em> = <code><a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a></code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>GET message from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd><a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502">ghmListMessages()</a> must be called first before using this method.</dd> +<dd> +The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[out]</td><td class="paramname">socket</td><td><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> used to receive message data from <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">listIndex</td><td>The index of the message returned from <a class="el" href="group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502" title="List available messages for device on http://goHACK.me. ">ghmListMessages()</a> </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">getType</td><td>The additional message data to receive. See <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga9c6dffaa871f2443a32d75276160682d"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmGetMessage </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> & </td> + <td class="paramname"><em>socket</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>msgId</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> </td> + <td class="paramname"><em>getType</em> = <code><a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a></code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>GET message from <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[out]</td><td class="paramname">socket</td><td><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> used to receive message data from <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">msgId</td><td>The <a href="http://goHACK.me">http://goHACK.me</a> message ID. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">getType</td><td>The additional message data to receive. See <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="gae69971594793e1a10f11a51277909502"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmListMessages </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> & </td> + <td class="paramname"><em>msgList</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint8_t </td> + <td class="paramname"><em>maxCount</em> = <code>0</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>List available messages for device on <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[out]</td><td class="paramname">msgList</td><td><a class="el" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a> to hold received messages. </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">maxCount</td><td>Optional, the maximum number of messages to receive. If 0, receive all messages (max of 25). </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="gadc281f497041b26a151c72a0b5d03543"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::GhmInterface::ghmPostMessage </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> & </td> + <td class="paramname"><em>socket</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname"><em>jsonFormatted</em> = <code>false</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>POST message to <a href="http://goHACK.me">http://goHACK.me</a>. </p> +<dl class="section note"><dt>Note</dt><dd>The WiFi module must first be activated. See <a class="el" href="group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff">ghmActivate()</a></dd></dl> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[out]</td><td class="paramname">socket</td><td><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> used to send message data to <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">jsonFormatted</td><td>If true, the input message data should be JSON formatted, else the message data should be ASCII formatted. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__msg.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,10 @@ +var group__api__ghm__msg = +[ + [ "ghmDeleteMessage", "group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0", null ], + [ "ghmDeleteMessage", "group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d", null ], + [ "ghmListMessages", "group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502", null ], + [ "ghmPostMessage", "group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543", null ] +]; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__types.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,220 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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__api__ghm__types.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="#nested-classes">Classes</a> | +<a href="#enum-members">Enumerations</a> </div> + <div class="headertitle"> +<div class="title">Types<div class="ingroups"><a class="el" href="group__api__ghm.html">goHACK.me</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>goHACK.me Types +<a href="#details">More...</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_ghm_interface.html">wiconnect::GhmInterface</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The provides an interface for <a href="http://goHACK.me">http://goHACK.me</a>. <a href="classwiconnect_1_1_ghm_interface.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structwiconnect_1_1_ghm_element.html">wiconnect::GhmElement</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me stream or control value <a href="structwiconnect_1_1_ghm_element.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structwiconnect_1_1_ghm_element_array.html">wiconnect::GhmElementArray</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Array of goHACK.me stream or control values. <a href="structwiconnect_1_1_ghm_element_array.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_ghm_message.html">wiconnect::GhmMessage</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Contains single entry from goHACK.me message listing. <a href="classwiconnect_1_1_ghm_message.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_ghm_message_list.html">wiconnect::GhmMessageList</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">List of goHACK.me messages. <a href="classwiconnect_1_1_ghm_message_list.html#details">More...</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="enum-members"></a> +Enumerations</h2></td></tr> +<tr class="memitem:ga4174104f02851ee92e51846877706e67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4174104f02851ee92e51846877706e67"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67">wiconnect::GhmElementValueType</a> </td></tr> +<tr class="memdesc:ga4174104f02851ee92e51846877706e67"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me stream or control value type <br /></td></tr> +<tr class="separator:ga4174104f02851ee92e51846877706e67"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga44ea17651dcf42ac9816f549beb577ac"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">wiconnect::GhmSyncType</a> { <br /> +  <a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">wiconnect::GHM_SYNC_ALL</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0">wiconnect::GHM_SYNC_PUSH_ONLY</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd">wiconnect::GHM_SYNC_PULL_ONLY</a> +<br /> + }</td></tr> +<tr class="memdesc:ga44ea17651dcf42ac9816f549beb577ac"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me sychronization type <a href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">More...</a><br /></td></tr> +<tr class="separator:ga44ea17651dcf42ac9816f549beb577ac"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf75750bfef61c73f9e4677e9de663df1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">wiconnect::GhmMessageGetType</a> { <br /> +  <a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">wiconnect::GHM_MSG_GET_DATA_ONLY</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1">wiconnect::GHM_MSG_GET_BODY</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7">wiconnect::GHM_MSG_GET_ALL</a> +<br /> + }</td></tr> +<tr class="memdesc:gaf75750bfef61c73f9e4677e9de663df1"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me message GET type <a href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">More...</a><br /></td></tr> +<tr class="separator:gaf75750bfef61c73f9e4677e9de663df1"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<p>goHACK.me Types </p> +<h2 class="groupheader">Enumeration Type Documentation</h2> +<a class="anchor" id="gaf75750bfef61c73f9e4677e9de663df1"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">wiconnect::GhmMessageGetType</a></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>goHACK.me message GET type </p> +<table class="fieldtable"> +<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127"></a>GHM_MSG_GET_DATA_ONLY </td><td class="fielddoc"> +<p>Only GET the message data. </p> +</td></tr> +<tr><td class="fieldname"><a class="anchor" id="ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1"></a>GHM_MSG_GET_BODY </td><td class="fielddoc"> +<p>Get the message body. This is JSON formatted. </p> +</td></tr> +<tr><td class="fieldname"><a class="anchor" id="ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7"></a>GHM_MSG_GET_ALL </td><td class="fielddoc"> +<p>Get entire message. This includes headers. Is JSON formatted. </p> +</td></tr> +</table> + +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00472">472</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ga44ea17651dcf42ac9816f549beb577ac"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">wiconnect::GhmSyncType</a></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>goHACK.me sychronization type </p> +<table class="fieldtable"> +<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7"></a>GHM_SYNC_ALL </td><td class="fielddoc"> +<p>Push and pull all streams and controls. </p> +</td></tr> +<tr><td class="fieldname"><a class="anchor" id="gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0"></a>GHM_SYNC_PUSH_ONLY </td><td class="fielddoc"> +<p>Only push streams and controls to remote server. </p> +</td></tr> +<tr><td class="fieldname"><a class="anchor" id="gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd"></a>GHM_SYNC_PULL_ONLY </td><td class="fielddoc"> +<p>Only pull controls from remote server. </p> +</td></tr> +</table> + +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00461">461</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> + +</div> +</div> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/group__api__ghm__types.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,39 @@ +var group__api__ghm__types = +[ + [ "GhmInterface", "classwiconnect_1_1_ghm_interface.html", [ + [ "ghmActivate", "group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff", null ], + [ "ghmDeactivate", "group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b", null ], + [ "ghmDeleteMessage", "group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0", null ], + [ "ghmDeleteMessage", "group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9", null ], + [ "ghmDownloadCapabilities", "group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29", null ], + [ "ghmGetMessage", "group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d", null ], + [ "ghmIsActivated", "group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff", null ], + [ "ghmListMessages", "group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502", null ], + [ "ghmPostMessage", "group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543", null ], + [ "ghmRead", "group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2", null ], + [ "ghmRead", "group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f", null ], + [ "ghmRead", "group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12", null ], + [ "ghmSynchronize", "group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c", null ], + [ "ghmWrite", "group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e", null ], + [ "ghmWrite", "group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6", null ] + ] ], + [ "GhmElement", "structwiconnect_1_1_ghm_element.html", null ], + [ "GhmElementArray", "structwiconnect_1_1_ghm_element_array.html", null ], + [ "GhmMessage", "classwiconnect_1_1_ghm_message.html", null ], + [ "GhmMessageList", "classwiconnect_1_1_ghm_message_list.html", null ], + [ "GhmElementValueType", "group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67", null ], + [ "GhmMessageGetType", "group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1", [ + [ "GHM_MSG_GET_DATA_ONLY", "group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127", null ], + [ "GHM_MSG_GET_BODY", "group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1", null ], + [ "GHM_MSG_GET_ALL", "group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7", null ] + ] ], + [ "GhmSyncType", "group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac", [ + [ "GHM_SYNC_ALL", "group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7", null ], + [ "GHM_SYNC_PUSH_ONLY", "group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0", null ], + [ "GHM_SYNC_PULL_ONLY", "group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd", null ] + ] ] +]; \ No newline at end of file
--- a/doc/html/group__api__network.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__network.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ </div><!--header--> <div class="contents"> -<p>This contains all network methods. +<p>This contains all network related operations. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> @@ -132,7 +132,7 @@ <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<p>This contains all network methods. </p> +<p>This contains all network related operations. </p> </div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/group__api__network__settings.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__network__settings.html Mon Oct 27 13:42:26 2014 -0700 @@ -128,26 +128,30 @@ WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b">wiconnect::NetworkInterface::getIpSettings</a> (uint32_t *ip, uint32_t *netmask, uint32_t *gateway)</td></tr> <tr class="memdesc:ga291aef702f1c10bf2970394e3458022b"><td class="mdescLeft"> </td><td class="mdescRight">Get network IP settings. <br /></td></tr> <tr class="separator:ga291aef702f1c10bf2970394e3458022b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaba16b9918e55c08285cf5b8b50dbabea"></a> -WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface::getSignalStrength</a> (NetworkSignalStrength *signalStrengthPtr)</td></tr> -<tr class="memdesc:gaba16b9918e55c08285cf5b8b50dbabea"><td class="mdescLeft"> </td><td class="mdescRight">Get signal strength to WiFi network. <br /></td></tr> -<tr class="separator:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">wiconnect::NetworkInterface::getIpAddress</a> (char *buffer=NULL)</td></tr> -<tr class="memdesc:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><td class="mdescLeft"> </td><td class="mdescRight">Return the current IP address of the module if possible, else return 0.0.0.0. <a href="#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">More...</a><br /></td></tr> -<tr class="separator:ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga258d8b80064c6ce311a433affe63a0e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga258d8b80064c6ce311a433affe63a0e9"></a> +WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9">wiconnect::NetworkInterface::setDnsAddress</a> (uint32_t dnsAddress)</td></tr> +<tr class="memdesc:ga258d8b80064c6ce311a433affe63a0e9"><td class="mdescLeft"> </td><td class="mdescRight">Set static DNS Address. <br /></td></tr> +<tr class="separator:ga258d8b80064c6ce311a433affe63a0e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga585cb71d386ee61db3772f4b3218cb6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga585cb71d386ee61db3772f4b3218cb6e"></a> +WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e">wiconnect::NetworkInterface::getDnsAddress</a> (uint32_t *dnsAddress)</td></tr> +<tr class="memdesc:ga585cb71d386ee61db3772f4b3218cb6e"><td class="mdescLeft"> </td><td class="mdescRight">Get the static DNS address. <br /></td></tr> +<tr class="separator:ga585cb71d386ee61db3772f4b3218cb6e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gabd8eb629fd40defaa9ab22c189652a3f"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">wiconnect::NetworkInterface::getIpAddress</a> (char *buffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:gabd8eb629fd40defaa9ab22c189652a3f"><td class="mdescLeft"> </td><td class="mdescRight">Return the current IP address of the module if possible, else return 0.0.0.0. <a href="#gabd8eb629fd40defaa9ab22c189652a3f">More...</a><br /></td></tr> +<tr class="separator:gabd8eb629fd40defaa9ab22c189652a3f"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>API getters/setters for module network settings. </p> <h2 class="groupheader">Function Documentation</h2> -<a class="anchor" id="ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"></a> +<a class="anchor" id="gabd8eb629fd40defaa9ab22c189652a3f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* wiconnect::NetworkInterface::getIpAddress </td> <td>(</td> - <td class="paramtype">char * </td> - <td class="paramname"><em>buffer</em> = <code>NULL</code></td><td>)</td> + <td class="paramtype">char *buffer </td> + <td class="paramname"><em>ALLOW_NULL_STRING_BUFFER</em></td><td>)</td> <td></td> </tr> </table>
--- a/doc/html/group__api__network__settings.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__network__settings.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,10 +1,11 @@ var group__api__network__settings = [ [ "getDhcpEnabled", "group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff", null ], - [ "getIpAddress", "group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290", null ], + [ "getDnsAddress", "group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e", null ], + [ "getIpAddress", "group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f", null ], [ "getIpSettings", "group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b", null ], - [ "getSignalStrength", "group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea", null ], [ "setDhcpEnabled", "group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf", null ], + [ "setDnsAddress", "group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9", null ], [ "setIpSettings", "group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0", null ], [ "setIpSettings", "group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0", null ] ]; \ No newline at end of file
--- a/doc/html/group__api__network__types.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__network__types.html Mon Oct 27 13:42:26 2014 -0700 @@ -242,7 +242,7 @@ </td></tr> </table> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00236">236</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00250">250</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div> @@ -278,7 +278,7 @@ </td></tr> </table> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00253">253</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00267">267</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div> @@ -308,7 +308,7 @@ </td></tr> </table> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00224">224</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00238">238</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div>
--- a/doc/html/group__api__network__types.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__network__types.js Mon Oct 27 13:42:26 2014 -0700 @@ -2,11 +2,14 @@ [ [ "NetworkInterface", "classwiconnect_1_1_network_interface.html", [ [ "getDhcpEnabled", "group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff", null ], - [ "getIpAddress", "group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290", null ], + [ "getDnsAddress", "group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e", null ], + [ "getIpAddress", "group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f", null ], [ "getIpSettings", "group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b", null ], + [ "getMacAddress", "group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3", null ], [ "getNetworkJoinResult", "group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b", null ], [ "getNetworkStatus", "group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5", null ], - [ "getSignalStrength", "group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea", null ], + [ "getRssi", "group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee", null ], + [ "getSignalStrength", "group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea", null ], [ "isWebSetupRunning", "group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65", null ], [ "join", "group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16", null ], [ "leave", "group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328", null ], @@ -14,6 +17,7 @@ [ "ping", "group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc", null ], [ "scan", "group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956", null ], [ "setDhcpEnabled", "group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf", null ], + [ "setDnsAddress", "group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9", null ], [ "setIpSettings", "group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0", null ], [ "setIpSettings", "group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0", null ], [ "startWebSetup", "group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847", null ],
--- a/doc/html/group__api__network__wlan.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__network__wlan.html Mon Oct 27 13:42:26 2014 -0700 @@ -121,6 +121,18 @@ <tr class="memitem:gafefe6e679d7b48a7127d3ed6371fe58b"><td class="memItemLeft" align="right" valign="top">WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b">wiconnect::NetworkInterface::getNetworkJoinResult</a> (NetworkJoinResult *joinResultPtr)</td></tr> <tr class="memdesc:gafefe6e679d7b48a7127d3ed6371fe58b"><td class="mdescLeft"> </td><td class="mdescRight">Get the result of joining the network. <a href="#gafefe6e679d7b48a7127d3ed6371fe58b">More...</a><br /></td></tr> <tr class="separator:gafefe6e679d7b48a7127d3ed6371fe58b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaba16b9918e55c08285cf5b8b50dbabea"></a> +WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea">wiconnect::NetworkInterface::getSignalStrength</a> (NetworkSignalStrength *signalStrengthPtr)</td></tr> +<tr class="memdesc:gaba16b9918e55c08285cf5b8b50dbabea"><td class="mdescLeft"> </td><td class="mdescRight">Get <a class="el" href="group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36">NetworkSignalStrength</a> of WiFi network module is connected. <br /></td></tr> +<tr class="separator:gaba16b9918e55c08285cf5b8b50dbabea"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaa9db3c463cf6b4f351c37671882dd3ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa9db3c463cf6b4f351c37671882dd3ee"></a> +WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee">wiconnect::NetworkInterface::getRssi</a> (int32_t *rssiPtr)</td></tr> +<tr class="memdesc:gaa9db3c463cf6b4f351c37671882dd3ee"><td class="mdescLeft"> </td><td class="mdescRight">Get the RSSI in dBm of WiFi network. <br /></td></tr> +<tr class="separator:gaa9db3c463cf6b4f351c37671882dd3ee"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga70991a2c5865c8f0b44b67de35f3b6b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga70991a2c5865c8f0b44b67de35f3b6b3"></a> +WiconnectResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3">wiconnect::NetworkInterface::getMacAddress</a> (MacAddress *macAddress)</td></tr> +<tr class="memdesc:ga70991a2c5865c8f0b44b67de35f3b6b3"><td class="mdescLeft"> </td><td class="mdescRight">Get MAC address of the WiFi module. <br /></td></tr> +<tr class="separator:ga70991a2c5865c8f0b44b67de35f3b6b3"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Methods for joining/leaving a WLAN. </p>
--- a/doc/html/group__api__network__wlan.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__network__wlan.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,10 @@ var group__api__network__wlan = [ + [ "getMacAddress", "group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3", null ], [ "getNetworkJoinResult", "group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b", null ], [ "getNetworkStatus", "group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5", null ], + [ "getRssi", "group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee", null ], + [ "getSignalStrength", "group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea", null ], [ "join", "group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16", null ], [ "leave", "group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328", null ] ]; \ No newline at end of file
--- a/doc/html/group__api__socket.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket.html Mon Oct 27 13:42:26 2014 -0700 @@ -104,7 +104,7 @@ </div><!--header--> <div class="contents"> -<p>This contains all socket methods. +<p>This contains all socket related operations. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> @@ -135,7 +135,7 @@ <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<p>This contains all socket methods. </p> +<p>This contains all socket related operations. </p> </div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/group__api__socket__misc.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__misc.html Mon Oct 27 13:42:26 2014 -0700 @@ -112,15 +112,9 @@ <tr class="memitem:ga8a80d96efac7cc514fe7fc61d1878106"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106">wiconnect::SocketInterface::closeAllSockets</a> ()</td></tr> <tr class="memdesc:ga8a80d96efac7cc514fe7fc61d1878106"><td class="mdescLeft"> </td><td class="mdescRight">Close all opened sockets. <a href="#ga8a80d96efac7cc514fe7fc61d1878106">More...</a><br /></td></tr> <tr class="separator:ga8a80d96efac7cc514fe7fc61d1878106"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga94d1eb5407cb8b60ad366ecbe0e1b52a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a">wiconnect::SocketInterface::registerSocketIrqHandler</a> (<a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin, const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> &handler)</td></tr> -<tr class="memdesc:ga94d1eb5407cb8b60ad366ecbe0e1b52a"><td class="mdescLeft"> </td><td class="mdescRight">Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. <a href="#ga94d1eb5407cb8b60ad366ecbe0e1b52a">More...</a><br /></td></tr> -<tr class="separator:ga94d1eb5407cb8b60ad366ecbe0e1b52a"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga820d2fdb12d343212638e55633bd8551"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551">wiconnect::SocketInterface::unregisterSocketIrqHandler</a> (<a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin)</td></tr> -<tr class="memdesc:ga820d2fdb12d343212638e55633bd8551"><td class="mdescLeft"> </td><td class="mdescRight">Unregister a previously registered IRQ pin. <a href="#ga820d2fdb12d343212638e55633bd8551">More...</a><br /></td></tr> -<tr class="separator:ga820d2fdb12d343212638e55633bd8551"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga037cb2813683697342fff01239c7f6f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8">wiconnect::SocketInterface::connect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin)</td></tr> -<tr class="memdesc:ga037cb2813683697342fff01239c7f6f8"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote server. <a href="#ga037cb2813683697342fff01239c7f6f8">More...</a><br /></td></tr> -<tr class="separator:ga037cb2813683697342fff01239c7f6f8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gab24204ef309b6e7a52b03b35a7046b45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45">wiconnect::SocketInterface::connect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, <a class="el" href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">SocketType</a> type, const char *host, uint16_t remortPort, uint16_t localPort, const void *args GPIO_IRQ_ARG)</td></tr> +<tr class="memdesc:gab24204ef309b6e7a52b03b35a7046b45"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote server. <a href="#gab24204ef309b6e7a52b03b35a7046b45">More...</a><br /></td></tr> +<tr class="separator:gab24204ef309b6e7a52b03b35a7046b45"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Miscellaneous socket methods. </p> @@ -144,7 +138,7 @@ </div> </div> -<a class="anchor" id="ga037cb2813683697342fff01239c7f6f8"></a> +<a class="anchor" id="gab24204ef309b6e7a52b03b35a7046b45"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -181,14 +175,8 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">const void * </td> - <td class="paramname"><em>args</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> </td> - <td class="paramname"><em>irqPin</em> </td> + <td class="paramtype">const void *args </td> + <td class="paramname"><em>GPIO_IRQ_ARG</em> </td> </tr> <tr> <td></td> @@ -208,79 +196,7 @@ <tr><td class="paramdir">[in]</td><td class="paramname">remortPort</td><td>The port of the remote server </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">localPort</td><td>The port of the module's side of the connection </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">args</td><td>Depedent on the connection type </td></tr> - <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Data available external interrupt pin. See <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a" title="Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. ">registerSocketIrqHandler()</a> for more info </td></tr> - </table> - </dd> -</dl> -<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> - -</div> -</div> -<a class="anchor" id="ga94d1eb5407cb8b60ad366ecbe0e1b52a"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::SocketInterface::registerSocketIrqHandler </td> - <td>(</td> - <td class="paramtype"><a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> </td> - <td class="paramname"><em>irqPin</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const <a class="el" href="classwiconnect_1_1_callback.html">Callback</a> & </td> - <td class="paramname"><em>handler</em> </td> - </tr> - <tr> - <td></td> - <td>)</td> - <td></td><td></td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. </p> -<p>This should be called before calling one of the connect methods below with an irqPin parameter.</p> -<p>Basically how this works is:</p><ol type="1"> -<li>The supplied irqPin is configured as an external interrupt pin.</li> -<li>A connection is opened and configured with the same irqPin. This irqPin physically connected to a GPIO on the WiFi module.</li> -<li>When the WiFi module has data to send to the HOST it asserts the irqPin.</li> -<li>The irqPin interrupt executes and calls the supplied handler.</li> -<li><p class="startli">The handler should notify the HOST that the given irqPin has triggered and have the associated socket read data from the module.</p> -<dl class="section note"><dt>Note</dt><dd>arg1 of the handler contains the irqPin</dd></dl> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>The HOST pin to configure as an external interrupt. This pin should be physically connected to a module GPIO. </td></tr> - <tr><td class="paramdir">[in]</td><td class="paramname">handler</td><td><a class="el" href="classwiconnect_1_1_callback.html" title="Generic callback function. ">Callback</a> to be executed with the external irqPin interrupt triggers </td></tr> - </table> - </dd> -</dl> -<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> -</li> -</ol> - -</div> -</div> -<a class="anchor" id="ga820d2fdb12d343212638e55633bd8551"></a> -<div class="memitem"> -<div class="memproto"> - <table class="memname"> - <tr> - <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::SocketInterface::unregisterSocketIrqHandler </td> - <td>(</td> - <td class="paramtype"><a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> </td> - <td class="paramname"><em>irqPin</em></td><td>)</td> - <td></td> - </tr> - </table> -</div><div class="memdoc"> - -<p>Unregister a previously registered IRQ pin. </p> -<p>This disables the given irqPin as an external interrupt. Refer to <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a" title="Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. ">registerSocketIrqHandler()</a> for more information.</p> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>The HOST pin to unregister </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Data available external interrupt pin. See registerSocketIrqHandler() for more info </td></tr> </table> </dd> </dl>
--- a/doc/html/group__api__socket__misc.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__misc.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,5 @@ var group__api__socket__misc = [ [ "closeAllSockets", "group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106", null ], - [ "connect", "group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8", null ], - [ "registerSocketIrqHandler", "group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a", null ], - [ "unregisterSocketIrqHandler", "group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551", null ] + [ "connect", "group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45", null ] ]; \ No newline at end of file
--- a/doc/html/group__api__socket__tcp.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__tcp.html Mon Oct 27 13:42:26 2014 -0700 @@ -109,15 +109,15 @@ <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:ga4a788d604d759b5da51f682b998b9bd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2">wiconnect::SocketInterface::tcpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga4a788d604d759b5da51f682b998b9bd2"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TCP server. <a href="#ga4a788d604d759b5da51f682b998b9bd2">More...</a><br /></td></tr> -<tr class="separator:ga4a788d604d759b5da51f682b998b9bd2"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga563831b33089437233f128483d034578"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">wiconnect::SocketInterface::tcpListen</a> (uint16_t listeningPort, int maxClients=0, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga563831b33089437233f128483d034578"><td class="mdescLeft"> </td><td class="mdescRight">Start internal TCP server and listen on specified port. <a href="#ga563831b33089437233f128483d034578">More...</a><br /></td></tr> -<tr class="separator:ga563831b33089437233f128483d034578"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga0ea4efc810c7c5a9fbd96fcc627633b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">wiconnect::SocketInterface::tcpAccept</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, int timeoutMs=<a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>)</td></tr> -<tr class="memdesc:ga0ea4efc810c7c5a9fbd96fcc627633b3"><td class="mdescLeft"> </td><td class="mdescRight">Wait for next client to connect to TCP server. <a href="#ga0ea4efc810c7c5a9fbd96fcc627633b3">More...</a><br /></td></tr> -<tr class="separator:ga0ea4efc810c7c5a9fbd96fcc627633b3"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gad8e8632715a38222ce4fea5fe0aaf527"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527">wiconnect::SocketInterface::tcpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:gad8e8632715a38222ce4fea5fe0aaf527"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TCP server. <a href="#gad8e8632715a38222ce4fea5fe0aaf527">More...</a><br /></td></tr> +<tr class="separator:gad8e8632715a38222ce4fea5fe0aaf527"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9f4f3e53ea7f4e84d43529da8580aaaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">wiconnect::SocketInterface::tcpListen</a> (uint16_t listeningPort, int maxClients=0 GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga9f4f3e53ea7f4e84d43529da8580aaaa"><td class="mdescLeft"> </td><td class="mdescRight">Start internal TCP server and listen on specified port. <a href="#ga9f4f3e53ea7f4e84d43529da8580aaaa">More...</a><br /></td></tr> +<tr class="separator:ga9f4f3e53ea7f4e84d43529da8580aaaa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9e12bc568b7e8d72152e53a90de13035"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">wiconnect::SocketInterface::tcpAccept</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, uint32_t timeoutMs=<a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a>)</td></tr> +<tr class="memdesc:ga9e12bc568b7e8d72152e53a90de13035"><td class="mdescLeft"> </td><td class="mdescRight">Wait for next client to connect to TCP server. <a href="#ga9e12bc568b7e8d72152e53a90de13035">More...</a><br /></td></tr> +<tr class="separator:ga9e12bc568b7e8d72152e53a90de13035"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3d0137ebe308674e75f81457c38679d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0">wiconnect::SocketInterface::tcpServerStop</a> (void)</td></tr> <tr class="memdesc:ga3d0137ebe308674e75f81457c38679d0"><td class="mdescLeft"> </td><td class="mdescRight">Stop TCP server from listening on port. Close all connected clients. <a href="#ga3d0137ebe308674e75f81457c38679d0">More...</a><br /></td></tr> <tr class="separator:ga3d0137ebe308674e75f81457c38679d0"><td class="memSeparator" colspan="2"> </td></tr> @@ -125,7 +125,7 @@ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>TCP methods. </p> <h2 class="groupheader">Function Documentation</h2> -<a class="anchor" id="ga0ea4efc810c7c5a9fbd96fcc627633b3"></a> +<a class="anchor" id="ga9e12bc568b7e8d72152e53a90de13035"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -138,7 +138,7 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">int </td> + <td class="paramtype">uint32_t </td> <td class="paramname"><em>timeoutMs</em> = <code><a class="el" href="group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a">WICONNECT_WAIT_FOREVER</a></code> </td> </tr> <tr> @@ -161,7 +161,7 @@ </div> </div> -<a class="anchor" id="ga4a788d604d759b5da51f682b998b9bd2"></a> +<a class="anchor" id="gad8e8632715a38222ce4fea5fe0aaf527"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -180,14 +180,8 @@ <tr> <td class="paramkey"></td> <td></td> - <td class="paramtype">uint16_t </td> - <td class="paramname"><em>remortPort</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> </td> - <td class="paramname"><em>irqPin</em> = <code><a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></code> </td> + <td class="paramtype">uint16_t remortPort </td> + <td class="paramname"><em>GPIO_IRQ_ARG_NC</em> </td> </tr> <tr> <td></td> @@ -203,7 +197,7 @@ <tr><td class="paramdir">[out]</td><td class="paramname">socket</td><td>TCP <a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> object of opened connection. </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host/IP address of the remote TCP server </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">remortPort</td><td>The port of the remote server </td></tr> - <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a" title="Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. ">registerSocketIrqHandler()</a> for more info </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info </td></tr> </table> </dd> </dl> @@ -211,7 +205,7 @@ </div> </div> -<a class="anchor" id="ga563831b33089437233f128483d034578"></a> +<a class="anchor" id="ga9f4f3e53ea7f4e84d43529da8580aaaa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -225,13 +219,7 @@ <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> - <td class="paramname"><em>maxClients</em> = <code>0</code>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> </td> - <td class="paramname"><em>irqPin</em> = <code><a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></code> </td> + <td class="paramname"><em>maxClients</em> = <code>0 GPIO_IRQ_ARG_NC</code> </td> </tr> <tr> <td></td> @@ -246,7 +234,7 @@ <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">listeningPort</td><td>The local port the server should listen on </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">maxClients</td><td>Optional, the maximum simultaneous connected clients, 0 is default, 1-8 valid range </td></tr> - <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a" title="Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. ">registerSocketIrqHandler()</a> for more info </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info </td></tr> </table> </dd> </dl>
--- a/doc/html/group__api__socket__tcp.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__tcp.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,7 @@ var group__api__socket__tcp = [ - [ "tcpAccept", "group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3", null ], - [ "tcpConnect", "group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2", null ], - [ "tcpListen", "group__api__socket__tcp.html#ga563831b33089437233f128483d034578", null ], + [ "tcpAccept", "group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035", null ], + [ "tcpConnect", "group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527", null ], + [ "tcpListen", "group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa", null ], [ "tcpServerStop", "group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0", null ] ]; \ No newline at end of file
--- a/doc/html/group__api__socket__tls.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__tls.html Mon Oct 27 13:42:26 2014 -0700 @@ -109,14 +109,14 @@ <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:gacf10d28ced4591d99c4113ebee6382ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca">wiconnect::SocketInterface::tlsConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:gacf10d28ced4591d99c4113ebee6382ca"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TLS server. <a href="#gacf10d28ced4591d99c4113ebee6382ca">More...</a><br /></td></tr> -<tr class="separator:gacf10d28ced4591d99c4113ebee6382ca"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4e6e89eb9aedec1ff6d25645c33f51e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4">wiconnect::SocketInterface::tlsConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, const char *certFilename=NULL GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga4e6e89eb9aedec1ff6d25645c33f51e4"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote TLS server. <a href="#ga4e6e89eb9aedec1ff6d25645c33f51e4">More...</a><br /></td></tr> +<tr class="separator:ga4e6e89eb9aedec1ff6d25645c33f51e4"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>TLS methods. </p> <h2 class="groupheader">Function Documentation</h2> -<a class="anchor" id="gacf10d28ced4591d99c4113ebee6382ca"></a> +<a class="anchor" id="ga4e6e89eb9aedec1ff6d25645c33f51e4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -142,13 +142,7 @@ <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> - <td class="paramname"><em>certFilename</em> = <code>NULL</code>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> </td> - <td class="paramname"><em>irqPin</em> = <code><a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></code> </td> + <td class="paramname"><em>certFilename</em> = <code>NULL GPIO_IRQ_ARG_NC</code> </td> </tr> <tr> <td></td> @@ -165,7 +159,7 @@ <tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host/IP address of the remote TLS server </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">remortPort</td><td>The port of the remote server </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">certFilename</td><td>Optional, filename of certificate on module's file system </td></tr> - <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a" title="Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. ">registerSocketIrqHandler()</a> for more info </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info </td></tr> </table> </dd> </dl>
--- a/doc/html/group__api__socket__tls.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__tls.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var group__api__socket__tls = [ - [ "tlsConnect", "group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca", null ] + [ "tlsConnect", "group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4", null ] ]; \ No newline at end of file
--- a/doc/html/group__api__socket__types.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__types.html Mon Oct 27 13:42:26 2014 -0700 @@ -119,6 +119,9 @@ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Connection object to remote server. <a href="classwiconnect_1_1_wiconnect_socket.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">wiconnect::WiconnectUdpServer</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">UDP Server Listening socket. <a href="classwiconnect_1_1_wiconnect_udp_server.html#details">More...</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="enum-members"></a> Enumerations</h2></td></tr> @@ -131,7 +134,11 @@ <br />   <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc">wiconnect::SOCKET_TYPE_UDP</a>, <br /> -  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">wiconnect::SOCKET_TYPE_HTTP</a> +  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">wiconnect::SOCKET_TYPE_HTTP</a>, +<br /> +  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91">wiconnect::SOCKET_TYPE_UDPS</a>, +<br /> +  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f">wiconnect::SOCKET_TYPE_GHM</a> <br /> }</td></tr> <tr class="memdesc:ga69dc55558df4c81599c5fb3dff98756d"><td class="mdescLeft"> </td><td class="mdescRight">Socket type. <a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">More...</a><br /></td></tr> @@ -173,7 +180,7 @@ </td></tr> </table> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00337">337</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00353">353</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div> @@ -202,11 +209,17 @@ <p>UDP Socket type. </p> </td></tr> <tr><td class="fieldname"><a class="anchor" id="gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751"></a>SOCKET_TYPE_HTTP </td><td class="fielddoc"> -<p>HTTP Socket type. </p> +<p>HTTP Socket type,. </p> +</td></tr> +<tr><td class="fieldname"><a class="anchor" id="gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91"></a>SOCKET_TYPE_UDPS </td><td class="fielddoc"> +<p>UDP Server Socket type. </p> +</td></tr> +<tr><td class="fieldname"><a class="anchor" id="gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f"></a>SOCKET_TYPE_GHM </td><td class="fielddoc"> +<p>goHACK.me message type </p> </td></tr> </table> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00324">324</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00338">338</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div>
--- a/doc/html/group__api__socket__types.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__types.js Mon Oct 27 13:42:26 2014 -0700 @@ -2,21 +2,20 @@ [ [ "SocketInterface", "classwiconnect_1_1_socket_interface.html", [ [ "closeAllSockets", "group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106", null ], - [ "connect", "group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8", null ], + [ "connect", "group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45", null ], [ "httpAddHeader", "group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec", null ], [ "httpConnect", "group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed", null ], [ "httpGet", "group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6", null ], [ "httpGetStatus", "group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517", null ], [ "httpHead", "group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85", null ], [ "httpPost", "group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365", null ], - [ "registerSocketIrqHandler", "group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a", null ], - [ "tcpAccept", "group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3", null ], - [ "tcpConnect", "group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2", null ], - [ "tcpListen", "group__api__socket__tcp.html#ga563831b33089437233f128483d034578", null ], + [ "tcpAccept", "group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035", null ], + [ "tcpConnect", "group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527", null ], + [ "tcpListen", "group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa", null ], [ "tcpServerStop", "group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0", null ], - [ "tlsConnect", "group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca", null ], - [ "udpConnect", "group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec", null ], - [ "unregisterSocketIrqHandler", "group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551", null ] + [ "tlsConnect", "group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4", null ], + [ "udpConnect", "group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa", null ], + [ "udpListen", "group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a", null ] ] ], [ "HttpSocketArgs", "structwiconnect_1_1_http_socket_args.html", [ [ "certName", "structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c", null ], @@ -25,6 +24,7 @@ [ "type", "structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772", null ] ] ], [ "WiconnectSocket", "classwiconnect_1_1_wiconnect_socket.html", null ], + [ "WiconnectUdpServer", "classwiconnect_1_1_wiconnect_udp_server.html", null ], [ "HttpSocketType", "group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6", [ [ "SOCKET_HTTP_GET", "group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685", null ], [ "SOCKET_HTTP_POST", "group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb", null ], @@ -35,6 +35,8 @@ [ "SOCKET_TYPE_TCP", "group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9", null ], [ "SOCKET_TYPE_TLS", "group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4", null ], [ "SOCKET_TYPE_UDP", "group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc", null ], - [ "SOCKET_TYPE_HTTP", "group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751", null ] + [ "SOCKET_TYPE_HTTP", "group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751", null ], + [ "SOCKET_TYPE_UDPS", "group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91", null ], + [ "SOCKET_TYPE_GHM", "group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f", null ] ] ] ]; \ No newline at end of file
--- a/doc/html/group__api__socket__udp.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__udp.html Mon Oct 27 13:42:26 2014 -0700 @@ -109,14 +109,17 @@ <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> -<tr class="memitem:ga80f1d19174124f3d0f246e1c1201b3ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec">wiconnect::SocketInterface::udpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, uint16_t localPort=<a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a>, <a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> irqPin=<a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>)</td></tr> -<tr class="memdesc:ga80f1d19174124f3d0f246e1c1201b3ec"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote UDP server. <a href="#ga80f1d19174124f3d0f246e1c1201b3ec">More...</a><br /></td></tr> -<tr class="separator:ga80f1d19174124f3d0f246e1c1201b3ec"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga0ca5eabcd64ce45b574205447101f8aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa">wiconnect::SocketInterface::udpConnect</a> (<a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a> &socket, const char *host, uint16_t remortPort, uint16_t localPort=<a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a> GPIO_IRQ_ARG_NC)</td></tr> +<tr class="memdesc:ga0ca5eabcd64ce45b574205447101f8aa"><td class="mdescLeft"> </td><td class="mdescRight">Connect to remote UDP server. <a href="#ga0ca5eabcd64ce45b574205447101f8aa">More...</a><br /></td></tr> +<tr class="separator:ga0ca5eabcd64ce45b574205447101f8aa"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga067fb0d662d8e27e3f5b561ded29a51a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a">wiconnect::SocketInterface::udpListen</a> (<a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> &udpServer, uint16_t listeningPort)</td></tr> +<tr class="memdesc:ga067fb0d662d8e27e3f5b561ded29a51a"><td class="mdescLeft"> </td><td class="mdescRight">Start a UDP server listening on the given port. <a href="#ga067fb0d662d8e27e3f5b561ded29a51a">More...</a><br /></td></tr> +<tr class="separator:ga067fb0d662d8e27e3f5b561ded29a51a"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>UDP methods. </p> <h2 class="groupheader">Function Documentation</h2> -<a class="anchor" id="ga80f1d19174124f3d0f246e1c1201b3ec"></a> +<a class="anchor" id="ga0ca5eabcd64ce45b574205447101f8aa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> @@ -142,13 +145,7 @@ <td class="paramkey"></td> <td></td> <td class="paramtype">uint16_t </td> - <td class="paramname"><em>localPort</em> = <code><a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a></code>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype"><a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> </td> - <td class="paramname"><em>irqPin</em> = <code><a class="el" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></code> </td> + <td class="paramname"><em>localPort</em> = <code><a class="el" href="group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98">SOCKET_ANY_PORT</a> GPIO_IRQ_ARG_NC</code> </td> </tr> <tr> <td></td> @@ -165,7 +162,43 @@ <tr><td class="paramdir">[in]</td><td class="paramname">host</td><td>The host/IP address of the remote UDP server </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">remortPort</td><td>The port of the remote server </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">localPort</td><td>Optional, port of module's side of the connection </td></tr> - <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See <a class="el" href="group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a" title="Register a host pin as an external interrupt. When the external interrupt is triggered, the supplied callback is executed. ">registerSocketIrqHandler()</a> for more info </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">irqPin</td><td>Optional, Data available external interrupt pin. See registerSocketIrqHandler() for more info </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Result of method. See <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> </dd></dl> + +</div> +</div> +<a class="anchor" id="ga067fb0d662d8e27e3f5b561ded29a51a"></a> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnect::SocketInterface::udpListen </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> & </td> + <td class="paramname"><em>udpServer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint16_t </td> + <td class="paramname"><em>listeningPort</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Start a UDP server listening on the given port. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramdir">[out]</td><td class="paramname">udpServer</td><td>UDP <a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a> object listening server </td></tr> + <tr><td class="paramdir">[in]</td><td class="paramname">listeningPort</td><td>The port the UDP server listens on </td></tr> </table> </dd> </dl>
--- a/doc/html/group__api__socket__udp.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__api__socket__udp.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,5 @@ var group__api__socket__udp = [ - [ "udpConnect", "group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec", null ] + [ "udpConnect", "group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa", null ], + [ "udpListen", "group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a", null ] ]; \ No newline at end of file
--- a/doc/html/group__conversion__util.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__conversion__util.html Mon Oct 27 13:42:26 2014 -0700 @@ -127,10 +127,10 @@ static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591">wiconnect::NetworkInterface::strToIp</a> (const char *str, uint32_t *intPtr)</td></tr> <tr class="memdesc:ga93bdb8669a70adaa61dc76073ce66591"><td class="mdescLeft"> </td><td class="mdescRight">Convert string to IP address. <br /></td></tr> <tr class="separator:ga93bdb8669a70adaa61dc76073ce66591"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gaff8b0af70f4d4be792b943ad3af27303"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaff8b0af70f4d4be792b943ad3af27303"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303">wiconnect::NetworkInterface::ipToStr</a> (uint32_t ip, char *ipStrBuffer=NULL)</td></tr> -<tr class="memdesc:gaff8b0af70f4d4be792b943ad3af27303"><td class="mdescLeft"> </td><td class="mdescRight">Convert IP address to string. <br /></td></tr> -<tr class="separator:gaff8b0af70f4d4be792b943ad3af27303"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga02e6b01f11f2283208f051b1b49b634c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga02e6b01f11f2283208f051b1b49b634c"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c">wiconnect::NetworkInterface::ipToStr</a> (uint32_t ip, char *ipStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:ga02e6b01f11f2283208f051b1b49b634c"><td class="mdescLeft"> </td><td class="mdescRight">Convert IP address to string. <br /></td></tr> +<tr class="separator:ga02e6b01f11f2283208f051b1b49b634c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gacff5a4927d79e8b4c0d5a3050f5950b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacff5a4927d79e8b4c0d5a3050f5950b0"></a> static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0">wiconnect::NetworkInterface::networkStatusToStr</a> (NetworkStatus status)</td></tr> <tr class="memdesc:gacff5a4927d79e8b4c0d5a3050f5950b0"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99">NetworkStatus</a> to string. <br /></td></tr> @@ -159,18 +159,18 @@ static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17">wiconnect::NetworkInterface::strToSsid</a> (const char *str, Ssid *ssid)</td></tr> <tr class="memdesc:ga6a479a58591ead92dcf0586e11fcad17"><td class="mdescLeft"> </td><td class="mdescRight">Convert string <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a>. <br /></td></tr> <tr class="separator:ga6a479a58591ead92dcf0586e11fcad17"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gafce7929a10e16cf9be7307a2f97bef3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafce7929a10e16cf9be7307a2f97bef3f"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f">wiconnect::NetworkInterface::ssidToStr</a> (const Ssid *ssid, char *ssidStrBuffer=NULL)</td></tr> -<tr class="memdesc:gafce7929a10e16cf9be7307a2f97bef3f"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> to string. <br /></td></tr> -<tr class="separator:gafce7929a10e16cf9be7307a2f97bef3f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gae8b534c249d503aa764017bb088f3890"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae8b534c249d503aa764017bb088f3890"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gae8b534c249d503aa764017bb088f3890">wiconnect::NetworkInterface::ssidToStr</a> (const Ssid *ssid, char *ssidStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:gae8b534c249d503aa764017bb088f3890"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_ssid.html">Ssid</a> to string. <br /></td></tr> +<tr class="separator:gae8b534c249d503aa764017bb088f3890"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga347f05073370d6872a5cdac74de39b1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga347f05073370d6872a5cdac74de39b1b"></a> static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b">wiconnect::NetworkInterface::strToMacAddress</a> (const char *str, MacAddress *macAddress)</td></tr> <tr class="memdesc:ga347f05073370d6872a5cdac74de39b1b"><td class="mdescLeft"> </td><td class="mdescRight">Convert string <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a>. <br /></td></tr> <tr class="separator:ga347f05073370d6872a5cdac74de39b1b"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga13ecaf390b4bf4a68b51a6b18e669134"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13ecaf390b4bf4a68b51a6b18e669134"></a> -static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134">wiconnect::NetworkInterface::macAddressToStr</a> (const MacAddress *macAddress, char *macStrBuffer=NULL)</td></tr> -<tr class="memdesc:ga13ecaf390b4bf4a68b51a6b18e669134"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> to string. <br /></td></tr> -<tr class="separator:ga13ecaf390b4bf4a68b51a6b18e669134"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga01520d55f1923d90fb899ddef2f21cdf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga01520d55f1923d90fb899ddef2f21cdf"></a> +static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf">wiconnect::NetworkInterface::macAddressToStr</a> (const MacAddress *macAddress, char *macStrBuffer ALLOW_NULL_STRING_BUFFER)</td></tr> +<tr class="memdesc:ga01520d55f1923d90fb899ddef2f21cdf"><td class="mdescLeft"> </td><td class="mdescRight">Convert <a class="el" href="structwiconnect_1_1_mac_address.html">MacAddress</a> to string. <br /></td></tr> +<tr class="separator:ga01520d55f1923d90fb899ddef2f21cdf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac96e2d2fca60cba12e7429626f9186be"><td class="memItemLeft" align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be">wiconnect::Wiconnect::getWiconnectResultStr</a> (<a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> wiconnectResult)</td></tr> <tr class="memdesc:gac96e2d2fca60cba12e7429626f9186be"><td class="mdescLeft"> </td><td class="mdescRight">Converts a <a class="el" href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">WiconnectResult</a> to string representation. <a href="#gac96e2d2fca60cba12e7429626f9186be">More...</a><br /></td></tr> <tr class="separator:gac96e2d2fca60cba12e7429626f9186be"><td class="memSeparator" colspan="2"> </td></tr>
--- a/doc/html/group__conversion__util.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/group__conversion__util.js Mon Oct 27 13:42:26 2014 -0700 @@ -5,14 +5,14 @@ [ "fileVersionIntToStr", "group__conversion__util.html#gad74fbe6faf90d987b31380978f3ea341", null ], [ "fileVersionStrToInt", "group__conversion__util.html#gae995028f5a70c58ccf6013c9811e79aa", null ], [ "getWiconnectResultStr", "group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be", null ], - [ "ipToStr", "group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303", null ], - [ "macAddressToStr", "group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134", null ], + [ "ipToStr", "group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c", null ], + [ "macAddressToStr", "group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf", null ], [ "networkJoinResultToStr", "group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6", null ], [ "networkSecurityToStr", "group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f", null ], [ "networkStatusToStr", "group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0", null ], [ "rssiToSignalStrength", "group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8", null ], [ "signalStrengthToStr", "group__conversion__util.html#gad4661f859cfadbe193793898671043c9", null ], - [ "ssidToStr", "group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f", null ], + [ "ssidToStr", "group__conversion__util.html#gae8b534c249d503aa764017bb088f3890", null ], [ "strToIp", "group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591", null ], [ "strToMacAddress", "group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b", null ], [ "strToNetworkSecurity", "group__conversion__util.html#gad7d49be19f9ca91bc129668dd50d9e57", null ],
--- a/doc/html/hierarchy.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/hierarchy.html Mon Oct 27 13:42:26 2014 -0700 @@ -118,20 +118,27 @@ <tr id="row_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_callback.html" target="_self">wiconnect::Callback</a></td><td class="desc">Generic callback function </td></tr> <tr id="row_2_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_log_func.html" target="_self">wiconnect::LogFunc</a></td><td class="desc">Logging callback function </td></tr> <tr id="row_2_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_reader_func.html" target="_self">wiconnect::ReaderFunc</a></td><td class="desc">Generic data reading callback function </td></tr> -<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_http_socket_args.html" target="_self">wiconnect::HttpSocketArgs</a></td><td class="desc">Struct for hold HTTP socket configuration </td></tr> -<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_mac_address.html" target="_self">wiconnect::MacAddress</a></td><td class="desc">Network MAC Address type </td></tr> -<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_network_interface.html" target="_self">wiconnect::NetworkInterface</a></td><td class="desc">The provides an interface for joining and/or creating a network. It provides other utilities such as scanning for networks, pinging a network, resolving a domain name to IP address </td></tr> +<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ghm_element.html" target="_self">wiconnect::GhmElement</a></td><td class="desc">GoHACK.me stream or control value </td></tr> +<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ghm_element_array.html" target="_self">wiconnect::GhmElementArray</a></td><td class="desc">Array of goHACK.me stream or control values </td></tr> +<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_ghm_interface.html" target="_self">wiconnect::GhmInterface</a></td><td class="desc">The provides an interface for <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> <tr id="row_5_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect.html" target="_self">wiconnect::Wiconnect</a></td><td class="desc">The root WiConnect library class. This class inheriets all WiConnect functionality </td></tr> -<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_queued_command.html" target="_self">wiconnect::QueuedCommand</a></td><td class="desc">Class which contains command for asynchronous processing </td></tr> -<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result.html" target="_self">wiconnect::ScanResult</a></td><td class="desc">Contains single entry from WiFi scan results </td></tr> -<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result_list.html" target="_self">wiconnect::ScanResultList</a></td><td class="desc">List of WiFi network scan results </td></tr> -<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_serial_config.html" target="_self">wiconnect::SerialConfig</a></td><td class="desc">Host<-><a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> Module serial configuration </td></tr> -<tr id="row_10_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_socket_interface.html" target="_self">wiconnect::SocketInterface</a></td><td class="desc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a remote server </td></tr> +<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_ghm_message.html" target="_self">wiconnect::GhmMessage</a></td><td class="desc">Contains single entry from goHACK.me message listing </td></tr> +<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_ghm_message_list.html" target="_self">wiconnect::GhmMessageList</a></td><td class="desc">List of goHACK.me messages </td></tr> +<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_http_socket_args.html" target="_self">wiconnect::HttpSocketArgs</a></td><td class="desc">Struct for hold HTTP socket configuration </td></tr> +<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_mac_address.html" target="_self">wiconnect::MacAddress</a></td><td class="desc">Network MAC Address type </td></tr> +<tr id="row_10_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_network_interface.html" target="_self">wiconnect::NetworkInterface</a></td><td class="desc">The provides an interface for joining and/or creating a network. It provides other utilities such as scanning for networks, pinging a network, resolving a domain name to IP address </td></tr> <tr id="row_10_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect.html" target="_self">wiconnect::Wiconnect</a></td><td class="desc">The root WiConnect library class. This class inheriets all WiConnect functionality </td></tr> -<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ssid.html" target="_self">wiconnect::Ssid</a></td><td class="desc">Network SSID type </td></tr> -<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_string_util.html" target="_self">StringUtil</a></td><td class="desc"></td></tr> -<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_file.html" target="_self">wiconnect::WiconnectFile</a></td><td class="desc">WiConnect WiFi module file object </td></tr> -<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_socket.html" target="_self">wiconnect::WiconnectSocket</a></td><td class="desc">Connection object to remote server </td></tr> +<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_queued_command.html" target="_self">wiconnect::QueuedCommand</a></td><td class="desc">Class which contains command for asynchronous processing </td></tr> +<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result.html" target="_self">wiconnect::ScanResult</a></td><td class="desc">Contains single entry from WiFi scan results </td></tr> +<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_scan_result_list.html" target="_self">wiconnect::ScanResultList</a></td><td class="desc">List of WiFi network scan results </td></tr> +<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_serial_config.html" target="_self">wiconnect::SerialConfig</a></td><td class="desc">Host<-><a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> Module serial configuration </td></tr> +<tr id="row_15_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_15_" class="arrow" onclick="toggleFolder('15_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_socket_interface.html" target="_self">wiconnect::SocketInterface</a></td><td class="desc">The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. A client socket connects to a remote server </td></tr> +<tr id="row_15_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect.html" target="_self">wiconnect::Wiconnect</a></td><td class="desc">The root WiConnect library class. This class inheriets all WiConnect functionality </td></tr> +<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structwiconnect_1_1_ssid.html" target="_self">wiconnect::Ssid</a></td><td class="desc">Network SSID type </td></tr> +<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_string_util.html" target="_self">StringUtil</a></td><td class="desc"></td></tr> +<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_file.html" target="_self">wiconnect::WiconnectFile</a></td><td class="desc">WiConnect WiFi module file object </td></tr> +<tr id="row_19_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_19_" class="arrow" onclick="toggleFolder('19_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_socket.html" target="_self">wiconnect::WiconnectSocket</a></td><td class="desc">Connection object to remote server </td></tr> +<tr id="row_19_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html" target="_self">wiconnect::WiconnectUdpServer</a></td><td class="desc">UDP Server Listening socket </td></tr> </table> </div><!-- directory --> </div><!-- contents -->
--- a/doc/html/hierarchy.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/hierarchy.js Mon Oct 27 13:42:26 2014 -0700 @@ -9,6 +9,13 @@ [ "wiconnect::LogFunc", "classwiconnect_1_1_log_func.html", null ], [ "wiconnect::ReaderFunc", "classwiconnect_1_1_reader_func.html", null ] ] ], + [ "wiconnect::GhmElement", "structwiconnect_1_1_ghm_element.html", null ], + [ "wiconnect::GhmElementArray", "structwiconnect_1_1_ghm_element_array.html", null ], + [ "wiconnect::GhmInterface", "classwiconnect_1_1_ghm_interface.html", [ + [ "wiconnect::Wiconnect", "classwiconnect_1_1_wiconnect.html", null ] + ] ], + [ "wiconnect::GhmMessage", "classwiconnect_1_1_ghm_message.html", null ], + [ "wiconnect::GhmMessageList", "classwiconnect_1_1_ghm_message_list.html", null ], [ "wiconnect::HttpSocketArgs", "structwiconnect_1_1_http_socket_args.html", null ], [ "wiconnect::MacAddress", "structwiconnect_1_1_mac_address.html", null ], [ "wiconnect::NetworkInterface", "classwiconnect_1_1_network_interface.html", [ @@ -24,5 +31,7 @@ [ "wiconnect::Ssid", "structwiconnect_1_1_ssid.html", null ], [ "StringUtil", "class_string_util.html", null ], [ "wiconnect::WiconnectFile", "classwiconnect_1_1_wiconnect_file.html", null ], - [ "wiconnect::WiconnectSocket", "classwiconnect_1_1_wiconnect_socket.html", null ] + [ "wiconnect::WiconnectSocket", "classwiconnect_1_1_wiconnect_socket.html", [ + [ "wiconnect::WiconnectUdpServer", "classwiconnect_1_1_wiconnect_udp_server.html", null ] + ] ] ]; \ No newline at end of file
--- a/doc/html/http__get_2example_8cpp_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/http__get_2example_8cpp_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -219,10 +219,10 @@ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div> -<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00129">sdk.h:129</a></div></div> +<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00140">sdk.h:140</a></div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_socket_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></div><div class="ttdoc">Connection object to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_socket_8h_source.html#l00043">WiconnectSocket.h:43</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00165">WiconnectTypes.h:165</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00172">WiconnectTypes.h:172</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/join_2example_8cpp_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/join_2example_8cpp_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -203,9 +203,9 @@ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">while</span>(<span class="keyword">true</span>){} <span class="comment">// infinite loop</span></div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span> }</div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div> -<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00129">sdk.h:129</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00165">WiconnectTypes.h:165</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00140">sdk.h:140</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00172">WiconnectTypes.h:172</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/modules.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/modules.html Mon Oct 27 13:42:26 2014 -0700 @@ -103,14 +103,14 @@ <div class="contents"> <div class="textblock">Here is a list of all modules:</div><div class="directory"> <div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory"> -<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><a class="el" href="group__api__core.html" target="_self">Core</a></td><td class="desc">This contains all core methods </td></tr> +<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><a class="el" href="group__api__core.html" target="_self">Core</a></td><td class="desc">This contains all core related operations </td></tr> <tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__core__settings.html" target="_self">Settings Methods</a></td><td class="desc">API getters/setters for core library settings </td></tr> <tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__core__send__command.html" target="_self">Send Command Methods</a></td><td class="desc">API methods for sending commands to WiConnect WiFi module </td></tr> <tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__core__misc.html" target="_self">Miscellaneous Methods</a></td><td class="desc">Other core methods </td></tr> <tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__core__types.html" target="_self">Types</a></td><td class="desc">Core Types </td></tr> <tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__core__macro.html" target="_self">Macros</a></td><td class="desc">Core macros </td></tr> <tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__core__examples.html" target="_self">Examples</a></td><td class="desc">Core examples </td></tr> -<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><a class="el" href="group__api__network.html" target="_self">Network</a></td><td class="desc">This contains all network methods </td></tr> +<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><a class="el" href="group__api__network.html" target="_self">Network</a></td><td class="desc">This contains all network related operations </td></tr> <tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__network__settings.html" target="_self">Settings Methods</a></td><td class="desc">API getters/setters for module network settings </td></tr> <tr id="row_1_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__network__wlan.html" target="_self">WLAN Methods</a></td><td class="desc">Methods for joining/leaving a WLAN </td></tr> <tr id="row_1_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__network__setup.html" target="_self">Web Setup Methods</a></td><td class="desc">Methods for enabled/disabling module web setup </td></tr> @@ -118,7 +118,7 @@ <tr id="row_1_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__network__types.html" target="_self">Types</a></td><td class="desc">Network Types </td></tr> <tr id="row_1_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__network__macros.html" target="_self">Macros</a></td><td class="desc">Network specific macros </td></tr> <tr id="row_1_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__network__examples.html" target="_self">Examples</a></td><td class="desc">Network examples </td></tr> -<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><a class="el" href="group__api__socket.html" target="_self">Socket</a></td><td class="desc">This contains all socket methods </td></tr> +<tr id="row_2_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><a class="el" href="group__api__socket.html" target="_self">Socket</a></td><td class="desc">This contains all socket related operations </td></tr> <tr id="row_2_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__socket__tcp.html" target="_self">TCP Methods</a></td><td class="desc">TCP methods </td></tr> <tr id="row_2_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__socket__udp.html" target="_self">UDP Methods</a></td><td class="desc">UDP methods </td></tr> <tr id="row_2_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__socket__tls.html" target="_self">TLS Methods</a></td><td class="desc">TLS methods </td></tr> @@ -127,12 +127,19 @@ <tr id="row_2_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__socket__types.html" target="_self">Types</a></td><td class="desc">Socket Types </td></tr> <tr id="row_2_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__socket__macro.html" target="_self">Macros</a></td><td class="desc">Socket specific macros </td></tr> <tr id="row_2_7_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__socket__examples.html" target="_self">Examples</a></td><td class="desc">Socket examples </td></tr> -<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">▼</span><a class="el" href="group__api__file.html" target="_self">File</a></td><td class="desc">This contains all file methods </td></tr> -<tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__file__methods.html" target="_self">Methods</a></td><td class="desc">File Types </td></tr> -<tr id="row_3_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__file__types.html" target="_self">Types</a></td><td class="desc">File Types </td></tr> +<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">▼</span><a class="el" href="group__api__file.html" target="_self">File</a></td><td class="desc">This contains all file related operations </td></tr> +<tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__file__methods.html" target="_self">Methods</a></td><td class="desc">File methods </td></tr> +<tr id="row_3_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__file__types.html" target="_self">Types</a></td><td class="desc">File types </td></tr> <tr id="row_3_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__file__macro.html" target="_self">Macros</a></td><td class="desc">API specific macros </td></tr> <tr id="row_3_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__file__examples.html" target="_self">Examples</a></td><td class="desc">File examples </td></tr> -<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__conversion__util.html" target="_self">Conversion Utilities</a></td><td class="desc">This contains all the conversion utility static functions </td></tr> +<tr id="row_4_"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">▼</span><a class="el" href="group__api__ghm.html" target="_self">goHACK.me</a></td><td class="desc">This contains all goHACK.me related operations </td></tr> +<tr id="row_4_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__ghm__activate.html" target="_self">Activation</a></td><td class="desc">Methods for activating/deactivating the module with <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> +<tr id="row_4_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__ghm__com.html" target="_self">Read/Write</a></td><td class="desc">Methods for reading & writing data from/to <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> +<tr id="row_4_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__ghm__msg.html" target="_self">Message</a></td><td class="desc">Methods for getting, posting, listing, deleting messages wtih <a href="http://goHACK.me">http://goHACK.me</a> </td></tr> +<tr id="row_4_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__ghm__types.html" target="_self">Types</a></td><td class="desc">GoHACK.me Types </td></tr> +<tr id="row_4_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__ghm__macro.html" target="_self">Macros</a></td><td class="desc">API specific macros </td></tr> +<tr id="row_4_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a class="el" href="group__api__ghm__examples.html" target="_self">Examples</a></td><td class="desc">GoHACK.me examples </td></tr> +<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="group__conversion__util.html" target="_self">Conversion Utilities</a></td><td class="desc">This contains all the conversion utility static functions </td></tr> </table> </div><!-- directory --> </div><!-- contents -->
--- a/doc/html/modules.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/modules.js Mon Oct 27 13:42:26 2014 -0700 @@ -4,5 +4,6 @@ [ "Network", "group__api__network.html", "group__api__network" ], [ "Socket", "group__api__socket.html", "group__api__socket" ], [ "File", "group__api__file.html", "group__api__file" ], + [ "goHACK.me", "group__api__ghm.html", "group__api__ghm" ], [ "Conversion Utilities", "group__conversion__util.html", "group__conversion__util" ] ]; \ No newline at end of file
--- a/doc/html/namespacewiconnect.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/namespacewiconnect.html Mon Oct 27 13:42:26 2014 -0700 @@ -123,6 +123,21 @@ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_function_pointer.html">FunctionPointer</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Generic function pointer. <a href="classwiconnect_1_1_function_pointer.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structwiconnect_1_1_ghm_element.html">GhmElement</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me stream or control value <a href="structwiconnect_1_1_ghm_element.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structwiconnect_1_1_ghm_element_array.html">GhmElementArray</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Array of goHACK.me stream or control values. <a href="structwiconnect_1_1_ghm_element_array.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_ghm_interface.html">GhmInterface</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The provides an interface for <a href="http://goHACK.me">http://goHACK.me</a>. <a href="classwiconnect_1_1_ghm_interface.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_ghm_message.html">GhmMessage</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Contains single entry from goHACK.me message listing. <a href="classwiconnect_1_1_ghm_message.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_ghm_message_list.html">GhmMessageList</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">List of goHACK.me messages. <a href="classwiconnect_1_1_ghm_message_list.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structwiconnect_1_1_http_socket_args.html">HttpSocketArgs</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct for hold HTTP socket configuration. <a href="structwiconnect_1_1_http_socket_args.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> @@ -165,12 +180,19 @@ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_wiconnect_socket.html">WiconnectSocket</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Connection object to remote server. <a href="classwiconnect_1_1_wiconnect_socket.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classwiconnect_1_1_wiconnect_udp_server.html">WiconnectUdpServer</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">UDP Server Listening socket. <a href="classwiconnect_1_1_wiconnect_udp_server.html#details">More...</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="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:aadd4d5e6774e21f382c20b594a644470"><td class="memItemLeft" align="right" valign="top">typedef int8_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacewiconnect.html#aadd4d5e6774e21f382c20b594a644470">PinToGpioMapper</a> )(<a class="el" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> pin)</td></tr> <tr class="memdesc:aadd4d5e6774e21f382c20b594a644470"><td class="mdescLeft"> </td><td class="mdescRight">Function pointer for mapping from a host pin to a WiConnect Module GPIO. <a href="#aadd4d5e6774e21f382c20b594a644470">More...</a><br /></td></tr> <tr class="separator:aadd4d5e6774e21f382c20b594a644470"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a0c27570b2913afc6339821df7c934810"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c27570b2913afc6339821df7c934810"></a> +typedef unsigned long </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacewiconnect.html#a0c27570b2913afc6339821df7c934810">TimerTimeout</a></td></tr> +<tr class="memdesc:a0c27570b2913afc6339821df7c934810"><td class="mdescLeft"> </td><td class="mdescRight">Timeout type. <br /></td></tr> +<tr class="separator:a0c27570b2913afc6339821df7c934810"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga04b095d2e2f32a3fd23e346a4be969d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga04b095d2e2f32a3fd23e346a4be969d8"></a> typedef char </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8">MacAddressStrBuffer</a> [18]</td></tr> <tr class="memdesc:ga04b095d2e2f32a3fd23e346a4be969d8"><td class="mdescLeft"> </td><td class="mdescRight">Buffer to hold a MAC address string. <br /></td></tr> @@ -300,7 +322,11 @@ <br />   <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc">SOCKET_TYPE_UDP</a>, <br /> -  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">SOCKET_TYPE_HTTP</a> +  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751">SOCKET_TYPE_HTTP</a>, +<br /> +  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91">SOCKET_TYPE_UDPS</a>, +<br /> +  <a class="el" href="group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f">SOCKET_TYPE_GHM</a> <br /> }</td></tr> <tr class="memdesc:ga69dc55558df4c81599c5fb3dff98756d"><td class="mdescLeft"> </td><td class="mdescRight">Socket type. <a href="group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d">More...</a><br /></td></tr> @@ -365,6 +391,29 @@ }</td></tr> <tr class="memdesc:ga9919a4237eea2b0d1f27c16d64e62c63"><td class="mdescLeft"> </td><td class="mdescRight">File type type. <a href="group__api__file__types.html#ga9919a4237eea2b0d1f27c16d64e62c63">More...</a><br /></td></tr> <tr class="separator:ga9919a4237eea2b0d1f27c16d64e62c63"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga4174104f02851ee92e51846877706e67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4174104f02851ee92e51846877706e67"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67">GhmElementValueType</a> </td></tr> +<tr class="memdesc:ga4174104f02851ee92e51846877706e67"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me stream or control value type <br /></td></tr> +<tr class="separator:ga4174104f02851ee92e51846877706e67"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga44ea17651dcf42ac9816f549beb577ac"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">GhmSyncType</a> { <br /> +  <a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7">GHM_SYNC_ALL</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0">GHM_SYNC_PUSH_ONLY</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd">GHM_SYNC_PULL_ONLY</a> +<br /> + }</td></tr> +<tr class="memdesc:ga44ea17651dcf42ac9816f549beb577ac"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me sychronization type <a href="group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac">More...</a><br /></td></tr> +<tr class="separator:ga44ea17651dcf42ac9816f549beb577ac"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaf75750bfef61c73f9e4677e9de663df1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">GhmMessageGetType</a> { <br /> +  <a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127">GHM_MSG_GET_DATA_ONLY</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1">GHM_MSG_GET_BODY</a>, +<br /> +  <a class="el" href="group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7">GHM_MSG_GET_ALL</a> +<br /> + }</td></tr> +<tr class="memdesc:gaf75750bfef61c73f9e4677e9de663df1"><td class="mdescLeft"> </td><td class="mdescRight">goHACK.me message GET type <a href="group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1">More...</a><br /></td></tr> +<tr class="separator:gaf75750bfef61c73f9e4677e9de663df1"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>The entire <a class="el" href="classwiconnect_1_1_wiconnect.html" title="The root WiConnect library class. This class inheriets all WiConnect functionality. ">Wiconnect</a> Library is contained within the 'wiconnect' namespace. </p> @@ -397,7 +446,7 @@ </dl> <dl class="section return"><dt>Returns</dt><dd>The corresponding WiConnect Module GPIO (which the given pin is physically connected). Return -1 if no mapping is available. </dd></dl> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00199">199</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00206">206</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div> </div>
--- a/doc/html/namespacewiconnect.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/namespacewiconnect.js Mon Oct 27 13:42:26 2014 -0700 @@ -4,6 +4,11 @@ [ "FileInterface", "classwiconnect_1_1_file_interface.html", "classwiconnect_1_1_file_interface" ], [ "FileList", "classwiconnect_1_1_file_list.html", null ], [ "FunctionPointer", "classwiconnect_1_1_function_pointer.html", null ], + [ "GhmElement", "structwiconnect_1_1_ghm_element.html", null ], + [ "GhmElementArray", "structwiconnect_1_1_ghm_element_array.html", null ], + [ "GhmInterface", "classwiconnect_1_1_ghm_interface.html", "classwiconnect_1_1_ghm_interface" ], + [ "GhmMessage", "classwiconnect_1_1_ghm_message.html", null ], + [ "GhmMessageList", "classwiconnect_1_1_ghm_message_list.html", null ], [ "HttpSocketArgs", "structwiconnect_1_1_http_socket_args.html", "structwiconnect_1_1_http_socket_args" ], [ "LogFunc", "classwiconnect_1_1_log_func.html", null ], [ "MacAddress", "structwiconnect_1_1_mac_address.html", null ], @@ -17,5 +22,6 @@ [ "Ssid", "structwiconnect_1_1_ssid.html", "structwiconnect_1_1_ssid" ], [ "Wiconnect", "classwiconnect_1_1_wiconnect.html", "classwiconnect_1_1_wiconnect" ], [ "WiconnectFile", "classwiconnect_1_1_wiconnect_file.html", null ], - [ "WiconnectSocket", "classwiconnect_1_1_wiconnect_socket.html", null ] + [ "WiconnectSocket", "classwiconnect_1_1_wiconnect_socket.html", null ], + [ "WiconnectUdpServer", "classwiconnect_1_1_wiconnect_udp_server.html", null ] ]; \ No newline at end of file
--- a/doc/html/navtree.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/navtree.js Mon Oct 27 13:42:26 2014 -0700 @@ -34,7 +34,7 @@ var NAVTREEINDEX = [ "annotated.html", -"group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385" +"group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29" ]; var SYNCONMSG = 'click to disable panel synchronisation';
--- a/doc/html/navtreeindex0.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/navtreeindex0.js Mon Oct 27 13:42:26 2014 -0700 @@ -7,6 +7,9 @@ "classwiconnect_1_1_file_interface.html":[1,3,1,0], "classwiconnect_1_1_file_list.html":[1,3,1,1], "classwiconnect_1_1_function_pointer.html":[3,0,0,3], +"classwiconnect_1_1_ghm_interface.html":[1,4,3,0], +"classwiconnect_1_1_ghm_message.html":[1,4,3,3], +"classwiconnect_1_1_ghm_message_list.html":[1,4,3,4], "classwiconnect_1_1_log_func.html":[1,0,3,2], "classwiconnect_1_1_network_interface.html":[1,1,4,0], "classwiconnect_1_1_queued_command.html":[1,0,3,3], @@ -20,6 +23,7 @@ "classwiconnect_1_1_wiconnect.html#afe9fa2efde4e26944cdc9b6be51a1a34":[1,0,3,0,1], "classwiconnect_1_1_wiconnect_file.html":[1,3,1,2], "classwiconnect_1_1_wiconnect_socket.html":[1,2,5,2], +"classwiconnect_1_1_wiconnect_udp_server.html":[1,2,5,3], "examples.html":[2], "functions.html":[3,3,0], "functions_func.html":[3,3,1], @@ -28,114 +32,121 @@ "group__api__core__examples.html":[1,0,5], "group__api__core__macro.html":[1,0,4], "group__api__core__macro.html#ga0a14e4bc7a0aed9311b552c0ee8fd7ef":[1,0,4,11], -"group__api__core__macro.html#ga12620767dcf50182fb9f72fe5d995301":[1,0,4,24], -"group__api__core__macro.html#ga1525d7c98c2da34fc1a64de49253abdb":[1,0,4,23], -"group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7":[1,0,4,18], +"group__api__core__macro.html#ga12620767dcf50182fb9f72fe5d995301":[1,0,4,27], +"group__api__core__macro.html#ga1525d7c98c2da34fc1a64de49253abdb":[1,0,4,26], +"group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7":[1,0,4,21], "group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0":[1,0,4,9], "group__api__core__macro.html#ga346c951fa5af23cdbf1d18a59b2babd1":[1,0,4,2], "group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401":[1,0,4,13], -"group__api__core__macro.html#ga45fe565132845ca570ded816f25561b0":[1,0,4,22], -"group__api__core__macro.html#ga53fde64c3e7647a192281a015cd02f48":[1,0,4,25], -"group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a":[1,0,4,28], +"group__api__core__macro.html#ga436d782bd2cdce3696eadda1083416af":[1,0,4,20], +"group__api__core__macro.html#ga45fe565132845ca570ded816f25561b0":[1,0,4,25], +"group__api__core__macro.html#ga53fde64c3e7647a192281a015cd02f48":[1,0,4,28], +"group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a":[1,0,4,31], +"group__api__core__macro.html#ga593c6629b59a853057cd6a5547ed3f4f":[1,0,4,19], "group__api__core__macro.html#ga596d1da2fb23f4e748c83d64a47e10b3":[1,0,4,4], -"group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431":[1,0,4,17], -"group__api__core__macro.html#ga7352d6662e438d0969593df9e657d43f":[1,0,4,21], +"group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431":[1,0,4,18], +"group__api__core__macro.html#ga7352d6662e438d0969593df9e657d43f":[1,0,4,24], "group__api__core__macro.html#ga74e75242132eaabbc1c512488a135926":[1,0,4,6], "group__api__core__macro.html#ga7741b7a0fbbf9b7e47898b7d30e5e321":[1,0,4,14], "group__api__core__macro.html#ga77baa56c8d3584b953f0a2626e6844ad":[1,0,4,3], -"group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525":[1,0,4,20], -"group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a":[1,0,4,19], +"group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525":[1,0,4,23], +"group__api__core__macro.html#ga80e1660ca602aff9f95ccbb4822fad9c":[1,0,4,15], +"group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a":[1,0,4,22], "group__api__core__macro.html#ga8d334bd237af6b4e1eb929ef32b33ab0":[1,0,4,0], "group__api__core__macro.html#ga9e7032540d999edf0dbae31e51c85962":[1,0,4,10], "group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270":[1,0,4,7], "group__api__core__macro.html#gaacc3ee1a7f283f8ef65cea31f4436a95":[1,0,4,5], "group__api__core__macro.html#gaaff0108d684631b2bb88e1f6c255e9ac":[1,0,4,12], -"group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64":[1,0,4,16], -"group__api__core__macro.html#gabb158b483cd6d8a8d2d4bf8d38bc9830":[1,0,4,26], +"group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64":[1,0,4,17], +"group__api__core__macro.html#gabb158b483cd6d8a8d2d4bf8d38bc9830":[1,0,4,29], "group__api__core__macro.html#gad466ede4f07512308e38402d777d8380":[1,0,4,8], "group__api__core__macro.html#gad7bc04eee187f219f2544905267568b0":[1,0,4,1], -"group__api__core__macro.html#gae7b6cfdff3a9aef465d5c4434937417d":[1,0,4,27], -"group__api__core__macro.html#gae9cf1249b46e784aa05250e2bcbe2e02":[1,0,4,15], +"group__api__core__macro.html#gae7b6cfdff3a9aef465d5c4434937417d":[1,0,4,30], +"group__api__core__macro.html#gae9cf1249b46e784aa05250e2bcbe2e02":[1,0,4,16], "group__api__core__misc.html":[1,0,2], -"group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8":[1,0,3,0,8], +"group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8":[1,0,3,0,9], "group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8":[1,0,2,5], -"group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f":[1,0,3,0,12], +"group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f":[1,0,3,0,13], "group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f":[1,0,2,6], -"group__api__core__misc.html#ga600215de23210071c42996d04390071e":[1,0,3,0,7], +"group__api__core__misc.html#ga600215de23210071c42996d04390071e":[1,0,3,0,8], "group__api__core__misc.html#ga600215de23210071c42996d04390071e":[1,0,2,4], "group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e":[1,0,2,2], +"group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713":[1,0,3,0,4], "group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713":[1,0,2,1], -"group__api__core__misc.html#ga96ac50d85d8ab376755d7d5325de1713":[1,0,3,0,4], -"group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6":[1,0,2,0], "group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6":[1,0,3,0,3], -"group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff":[1,0,3,0,14], +"group__api__core__misc.html#ga9d6c981a54c6ab964b469e4f247142d6":[1,0,2,0], +"group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff":[1,0,3,0,15], "group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff":[1,0,2,8], -"group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3":[1,0,3,0,15], +"group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3":[1,0,3,0,16], "group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3":[1,0,2,9], -"group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565":[1,0,3,0,17], +"group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565":[1,0,3,0,18], "group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565":[1,0,2,11], -"group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632":[1,0,3,0,38], +"group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632":[1,0,3,0,40], "group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632":[1,0,2,12], -"group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5":[1,0,3,0,39], +"group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5":[1,0,3,0,41], "group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5":[1,0,2,13], -"group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a":[1,0,3,0,6], +"group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a":[1,0,3,0,7], "group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a":[1,0,2,3], -"group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0":[1,0,3,0,16], +"group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0":[1,0,3,0,17], "group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0":[1,0,2,10], -"group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad":[1,0,3,0,13], +"group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad":[1,0,3,0,14], "group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad":[1,0,2,7], "group__api__core__send__command.html":[1,0,1], -"group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197":[1,0,3,0,20], -"group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197":[1,0,1,3], -"group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9":[1,0,1,6], -"group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9":[1,0,3,0,23], -"group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c":[1,0,3,0,18], -"group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c":[1,0,1,1], "group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0":[1,0,1,14], -"group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0":[1,0,3,0,37], +"group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0":[1,0,3,0,39], +"group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09":[1,0,1,12], +"group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09":[1,0,3,0,30], +"group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97":[1,0,1,6], +"group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97":[1,0,3,0,24], "group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64":[1,0,1,9], -"group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64":[1,0,3,0,26], +"group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64":[1,0,3,0,27], +"group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9":[1,0,1,4], +"group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9":[1,0,3,0,22], +"group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df":[1,0,1,11], +"group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df":[1,0,3,0,29], "group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698":[1,0,1,13], -"group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698":[1,0,3,0,30], -"group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00":[1,0,1,11], -"group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00":[1,0,3,0,28], +"group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698":[1,0,3,0,31], +"group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8":[1,0,3,0,20], +"group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8":[1,0,1,2], "group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363":[1,0,1,8], -"group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363":[1,0,3,0,25], +"group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363":[1,0,3,0,26], +"group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e":[1,0,1,3], +"group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e":[1,0,3,0,21], "group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84":[1,0,1,5], -"group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84":[1,0,3,0,22], -"group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351":[1,0,1,12], -"group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351":[1,0,3,0,29], -"group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7":[1,0,3,0,19], -"group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7":[1,0,1,2], +"group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84":[1,0,3,0,23], "group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4":[1,0,1,10], -"group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4":[1,0,3,0,27], -"group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65":[1,0,3,0,21], -"group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65":[1,0,1,4], +"group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4":[1,0,3,0,28], +"group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505":[1,0,3,0,19], +"group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505":[1,0,1,1], "group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd":[1,0,1,0], "group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd":[1,0,3,0,2], "group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092":[1,0,1,7], -"group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092":[1,0,3,0,24], +"group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092":[1,0,3,0,25], "group__api__core__settings.html":[1,0,0], -"group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e":[1,0,3,0,36], -"group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e":[1,0,0,9], -"group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc":[1,0,3,0,9], -"group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc":[1,0,0,1], -"group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d":[1,0,0,7], -"group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d":[1,0,3,0,34], -"group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0":[1,0,3,0,31], -"group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0":[1,0,0,4], -"group__api__core__settings.html#ga670947ef630233f7866f885500548233":[1,0,0,3], -"group__api__core__settings.html#ga670947ef630233f7866f885500548233":[1,0,3,0,11], -"group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e":[1,0,3,0,33], -"group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e":[1,0,0,6], -"group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296":[1,0,3,0,10], -"group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296":[1,0,0,2], -"group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32":[1,0,0,5], -"group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32":[1,0,3,0,32], -"group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec":[1,0,3,0,35], -"group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec":[1,0,0,8], -"group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e":[1,0,3,0,5], -"group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e":[1,0,0,0], +"group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e":[1,0,0,11], +"group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e":[1,0,3,0,38], +"group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc":[1,0,0,2], +"group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc":[1,0,3,0,10], +"group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d":[1,0,3,0,36], +"group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d":[1,0,0,9], +"group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0":[1,0,0,5], +"group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0":[1,0,3,0,32], +"group__api__core__settings.html#ga670947ef630233f7866f885500548233":[1,0,3,0,12], +"group__api__core__settings.html#ga670947ef630233f7866f885500548233":[1,0,0,4], +"group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e":[1,0,3,0,35], +"group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e":[1,0,0,8], +"group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c":[1,0,0,6], +"group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c":[1,0,3,0,33], +"group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296":[1,0,0,3], +"group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296":[1,0,3,0,11], +"group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f":[1,0,0,7], +"group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f":[1,0,3,0,34], +"group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec":[1,0,3,0,37], +"group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec":[1,0,0,10], +"group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e":[1,0,3,0,6], +"group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e":[1,0,0,1], +"group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad":[1,0,3,0,5], +"group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad":[1,0,0,0], "group__api__core__types.html":[1,0,3], "group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c":[1,0,3,6], "group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05":[1,0,3,7], @@ -172,8 +183,8 @@ "group__api__file__methods.html#ga10536639c61213c037883dade021838f":[1,3,1,0,3], "group__api__file__methods.html#ga16fb09105975644879eb09581ce486e5":[1,3,0,0], "group__api__file__methods.html#ga16fb09105975644879eb09581ce486e5":[1,3,1,0,0], +"group__api__file__methods.html#gaa9ea2d05871ee7e7bbfa360b86fefb20":[1,3,0,2], "group__api__file__methods.html#gaa9ea2d05871ee7e7bbfa360b86fefb20":[1,3,1,0,2], -"group__api__file__methods.html#gaa9ea2d05871ee7e7bbfa360b86fefb20":[1,3,0,2], "group__api__file__methods.html#gaaf2977c691be09aeda102267a6769583":[1,3,0,4], "group__api__file__methods.html#gaaf2977c691be09aeda102267a6769583":[1,3,1,0,4], "group__api__file__methods.html#gafcf335cef42b7b3d0fd9d5af70c6ef7d":[1,3,0,1], @@ -202,52 +213,41 @@ "group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eac40bade251c1d671283d3ab2515725a6":[1,3,1,3,0], "group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaff56da02ac3626bf5636e0aa6ffff78a":[1,3,1,3,1], "group__api__file__types.html#ggafbe48908f5c190c3b0f272d3016e609eaffe90e6784ad43acffbf823502a6a7bf":[1,3,1,3,5], -"group__api__network.html":[1,1], -"group__api__network__examples.html":[1,1,6], -"group__api__network__macros.html":[1,1,5], -"group__api__network__settings.html":[1,1,0], -"group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290":[1,1,0,1], -"group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290":[1,1,4,0,1], -"group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b":[1,1,0,2], -"group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b":[1,1,4,0,2], -"group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0":[1,1,0,5], -"group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0":[1,1,4,0,13], -"group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf":[1,1,4,0,12], -"group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf":[1,1,0,4], -"group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff":[1,1,0,0], -"group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff":[1,1,4,0,0], -"group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0":[1,1,4,0,14], -"group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0":[1,1,0,6], -"group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea":[1,1,0,3], -"group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea":[1,1,4,0,5], -"group__api__network__setup.html":[1,1,2], -"group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65":[1,1,2,0], -"group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65":[1,1,4,0,6], -"group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a":[1,1,2,2], -"group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a":[1,1,4,0,16], -"group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847":[1,1,2,1], -"group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847":[1,1,4,0,15], -"group__api__network__types.html":[1,1,4], -"group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f":[1,1,4,9], -"group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8":[1,1,4,6], -"group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c":[1,1,4,7], -"group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d":[1,1,4,8], -"group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342":[1,1,4,5], -"group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99":[1,1,4,11], -"group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36":[1,1,4,10], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec":[1,1,4,8,4], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5":[1,1,4,8,0], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2":[1,1,4,8,6], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475":[1,1,4,8,2], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc":[1,1,4,8,7], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957":[1,1,4,8,5], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8":[1,1,4,8,1], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304":[1,1,4,8,3], -"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c":[1,1,4,8,8], -"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497":[1,1,4,11,3], -"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067":[1,1,4,11,0], -"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46":[1,1,4,11,2], -"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c":[1,1,4,11,1], -"group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4":[1,1,4,10,5], -"group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae":[1,1,4,10,3] +"group__api__ghm.html":[1,4], +"group__api__ghm__activate.html":[1,4,0], +"group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff":[1,4,0,3], +"group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff":[1,4,3,0,8], +"group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff":[1,4,0,0], +"group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff":[1,4,3,0,0], +"group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b":[1,4,0,1], +"group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b":[1,4,3,0,1], +"group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd":[1,4,0,2], +"group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd":[1,4,3,0,4], +"group__api__ghm__com.html":[1,4,1], +"group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7":[1,4,1,3], +"group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7":[1,4,3,0,14], +"group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c":[1,4,1,5], +"group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c":[1,4,3,0,16], +"group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f":[1,4,1,1], +"group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f":[1,4,3,0,12], +"group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223":[1,4,3,0,15], +"group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223":[1,4,1,4], +"group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2":[1,4,3,0,11], +"group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2":[1,4,1,0], +"group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6":[1,4,1,7], +"group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6":[1,4,3,0,18], +"group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12":[1,4,3,0,13], +"group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12":[1,4,1,2], +"group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e":[1,4,3,0,17], +"group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e":[1,4,1,6], +"group__api__ghm__examples.html":[1,4,5], +"group__api__ghm__macro.html":[1,4,4], +"group__api__ghm__msg.html":[1,4,2], +"group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0":[1,4,2,0], +"group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0":[1,4,3,0,2], +"group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9":[1,4,2,1], +"group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9":[1,4,3,0,3], +"group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d":[1,4,2,4], +"group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d":[1,4,3,0,7], +"group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29":[1,4,2,3] };
--- a/doc/html/navtreeindex1.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/navtreeindex1.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,100 +1,173 @@ var NAVTREEINDEX1 = { +"group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29":[1,4,3,0,6], +"group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234":[1,4,3,0,5], +"group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234":[1,4,2,2], +"group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543":[1,4,2,6], +"group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543":[1,4,3,0,10], +"group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502":[1,4,2,5], +"group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502":[1,4,3,0,9], +"group__api__ghm__types.html":[1,4,3], +"group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67":[1,4,3,5], +"group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac":[1,4,3,7], +"group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1":[1,4,3,6], +"group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7":[1,4,3,7,0], +"group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd":[1,4,3,7,2], +"group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0":[1,4,3,7,1], +"group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1":[1,4,3,6,1], +"group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127":[1,4,3,6,0], +"group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7":[1,4,3,6,2], +"group__api__network.html":[1,1], +"group__api__network__examples.html":[1,1,6], +"group__api__network__macros.html":[1,1,5], +"group__api__network__settings.html":[1,1,0], +"group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9":[1,1,0,5], +"group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9":[1,1,4,0,16], +"group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b":[1,1,4,0,3], +"group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b":[1,1,0,3], +"group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0":[1,1,0,6], +"group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0":[1,1,4,0,17], +"group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e":[1,1,4,0,1], +"group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e":[1,1,0,1], +"group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf":[1,1,0,4], +"group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf":[1,1,4,0,15], +"group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff":[1,1,4,0,0], +"group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff":[1,1,0,0], +"group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0":[1,1,0,7], +"group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0":[1,1,4,0,18], +"group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f":[1,1,0,2], +"group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f":[1,1,4,0,2], +"group__api__network__setup.html":[1,1,2], +"group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65":[1,1,2,0], +"group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65":[1,1,4,0,9], +"group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a":[1,1,2,2], +"group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a":[1,1,4,0,20], +"group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847":[1,1,2,1], +"group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847":[1,1,4,0,19], +"group__api__network__types.html":[1,1,4], +"group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f":[1,1,4,9], +"group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8":[1,1,4,6], +"group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c":[1,1,4,7], +"group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d":[1,1,4,8], +"group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342":[1,1,4,5], +"group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99":[1,1,4,11], +"group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36":[1,1,4,10], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec":[1,1,4,8,4], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5":[1,1,4,8,0], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2":[1,1,4,8,6], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475":[1,1,4,8,2], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc":[1,1,4,8,7], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957":[1,1,4,8,5], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8":[1,1,4,8,1], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304":[1,1,4,8,3], +"group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c":[1,1,4,8,8], +"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497":[1,1,4,11,3], +"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067":[1,1,4,11,0], +"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46":[1,1,4,11,2], +"group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c":[1,1,4,11,1], +"group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4":[1,1,4,10,5], +"group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae":[1,1,4,10,3], "group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385":[1,1,4,10,0], "group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533":[1,1,4,10,2], "group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa":[1,1,4,10,4], "group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713":[1,1,4,10,1], "group__api__network__util.html":[1,1,3], "group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89":[1,1,3,0], -"group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89":[1,1,4,0,9], +"group__api__network__util.html#ga1770babfc2abc6da7c085ef92709ee89":[1,1,4,0,12], "group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc":[1,1,3,1], -"group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc":[1,1,4,0,10], +"group__api__network__util.html#ga1da909dadb6f0e90218927ed350f72bc":[1,1,4,0,13], "group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956":[1,1,3,2], -"group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956":[1,1,4,0,11], +"group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956":[1,1,4,0,14], "group__api__network__wlan.html":[1,1,1], -"group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5":[1,1,1,1], -"group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5":[1,1,4,0,4], -"group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328":[1,1,1,3], -"group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328":[1,1,4,0,8], -"group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16":[1,1,4,0,7], -"group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16":[1,1,1,2], -"group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b":[1,1,1,0], -"group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b":[1,1,4,0,3], +"group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5":[1,1,4,0,6], +"group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5":[1,1,1,2], +"group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328":[1,1,4,0,11], +"group__api__network__wlan.html#ga14dc0f4fa58a7ebb25b77fae22052328":[1,1,1,6], +"group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3":[1,1,4,0,4], +"group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3":[1,1,1,0], +"group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee":[1,1,4,0,7], +"group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee":[1,1,1,3], +"group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea":[1,1,1,4], +"group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea":[1,1,4,0,8], +"group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16":[1,1,1,5], +"group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16":[1,1,4,0,10], +"group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b":[1,1,4,0,5], +"group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b":[1,1,1,1], "group__api__socket.html":[1,2], "group__api__socket__examples.html":[1,2,7], "group__api__socket__http.html":[1,2,3], "group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed":[1,2,3,1], "group__api__socket__http.html#ga181a03d883f60dff0c03b65e066f0eed":[1,2,5,0,3], +"group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365":[1,2,3,5], "group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365":[1,2,5,0,7], -"group__api__socket__http.html#ga1b6a3ebdbd164f0eb683fc335ef4d365":[1,2,3,5], "group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85":[1,2,3,4], "group__api__socket__http.html#gabcb3d69b2b1718e7ebe1ed171dec1f85":[1,2,5,0,6], +"group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec":[1,2,5,0,2], "group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec":[1,2,3,0], -"group__api__socket__http.html#gabed18edc44f464bac64ce8a6dc3617ec":[1,2,5,0,2], +"group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6":[1,2,3,2], "group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6":[1,2,5,0,4], -"group__api__socket__http.html#gac9b6c6a348f790cc8d43889dd72029f6":[1,2,3,2], "group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517":[1,2,3,3], "group__api__socket__http.html#gadf59ca0783b89ee32f205e33f1bd5517":[1,2,5,0,5], "group__api__socket__macro.html":[1,2,6], "group__api__socket__macro.html#ga311741238658c89ea9344d32c0cec923":[1,2,6,1], "group__api__socket__macro.html#gae54117ebe433295ef992b9ca83c46d98":[1,2,6,0], "group__api__socket__misc.html":[1,2,4], -"group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8":[1,2,5,0,1], -"group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8":[1,2,4,1], -"group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551":[1,2,5,0,15], -"group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551":[1,2,4,3], +"group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106":[1,2,5,0,0], "group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106":[1,2,4,0], -"group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106":[1,2,5,0,0], -"group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a":[1,2,5,0,8], -"group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a":[1,2,4,2], +"group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45":[1,2,4,1], +"group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45":[1,2,5,0,1], "group__api__socket__tcp.html":[1,2,0], -"group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3":[1,2,5,0,9], -"group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3":[1,2,0,0], -"group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0":[1,2,5,0,12], +"group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0":[1,2,5,0,11], "group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0":[1,2,0,3], -"group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2":[1,2,0,1], -"group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2":[1,2,5,0,10], -"group__api__socket__tcp.html#ga563831b33089437233f128483d034578":[1,2,5,0,11], -"group__api__socket__tcp.html#ga563831b33089437233f128483d034578":[1,2,0,2], +"group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035":[1,2,0,0], +"group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035":[1,2,5,0,8], +"group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa":[1,2,0,2], +"group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa":[1,2,5,0,10], +"group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527":[1,2,0,1], +"group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527":[1,2,5,0,9], "group__api__socket__tls.html":[1,2,2], -"group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca":[1,2,5,0,13], -"group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca":[1,2,2,0], +"group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4":[1,2,2,0], +"group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4":[1,2,5,0,12], "group__api__socket__types.html":[1,2,5], -"group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d":[1,2,5,4], -"group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6":[1,2,5,3], -"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4":[1,2,5,4,2], -"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751":[1,2,5,4,4], -"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e":[1,2,5,4,0], -"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc":[1,2,5,4,3], -"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9":[1,2,5,4,1], -"group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236":[1,2,5,3,2], -"group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb":[1,2,5,3,1], -"group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685":[1,2,5,3,0], +"group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d":[1,2,5,5], +"group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6":[1,2,5,4], +"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4":[1,2,5,5,2], +"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751":[1,2,5,5,4], +"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e":[1,2,5,5,0], +"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91":[1,2,5,5,5], +"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f":[1,2,5,5,6], +"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc":[1,2,5,5,3], +"group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9":[1,2,5,5,1], +"group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236":[1,2,5,4,2], +"group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb":[1,2,5,4,1], +"group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685":[1,2,5,4,0], "group__api__socket__udp.html":[1,2,1], -"group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec":[1,2,5,0,14], -"group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec":[1,2,1,0], -"group__conversion__util.html":[1,4], -"group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134":[1,4,6], -"group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b":[1,4,14], -"group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6":[1,4,7], -"group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8":[1,4,10], -"group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17":[1,4,16], -"group__conversion__util.html#ga7503f1876a6e1f5086d8b4bb2c1a653a":[1,4,0], -"group__conversion__util.html#ga8d8da39cd5d2948367429ed4d8885c6b":[1,4,1], -"group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591":[1,4,13], -"group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be":[1,4,4], -"group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0":[1,4,9], -"group__conversion__util.html#gad4661f859cfadbe193793898671043c9":[1,4,11], -"group__conversion__util.html#gad74fbe6faf90d987b31380978f3ea341":[1,4,2], -"group__conversion__util.html#gad7d49be19f9ca91bc129668dd50d9e57":[1,4,15], -"group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f":[1,4,8], -"group__conversion__util.html#gae995028f5a70c58ccf6013c9811e79aa":[1,4,3], -"group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f":[1,4,12], -"group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303":[1,4,5], +"group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a":[1,2,1,1], +"group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a":[1,2,5,0,14], +"group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa":[1,2,1,0], +"group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa":[1,2,5,0,13], +"group__conversion__util.html":[1,5], +"group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf":[1,5,6], +"group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c":[1,5,5], +"group__conversion__util.html#ga347f05073370d6872a5cdac74de39b1b":[1,5,14], +"group__conversion__util.html#ga5a682e671900b9b7f931137deb847fa6":[1,5,7], +"group__conversion__util.html#ga6216eed4cc05c37ce1ed13a0fbb6acd8":[1,5,10], +"group__conversion__util.html#ga6a479a58591ead92dcf0586e11fcad17":[1,5,16], +"group__conversion__util.html#ga7503f1876a6e1f5086d8b4bb2c1a653a":[1,5,0], +"group__conversion__util.html#ga8d8da39cd5d2948367429ed4d8885c6b":[1,5,1], +"group__conversion__util.html#ga93bdb8669a70adaa61dc76073ce66591":[1,5,13], +"group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be":[1,5,4], +"group__conversion__util.html#gacff5a4927d79e8b4c0d5a3050f5950b0":[1,5,9], +"group__conversion__util.html#gad4661f859cfadbe193793898671043c9":[1,5,11], +"group__conversion__util.html#gad74fbe6faf90d987b31380978f3ea341":[1,5,2], +"group__conversion__util.html#gad7d49be19f9ca91bc129668dd50d9e57":[1,5,15], +"group__conversion__util.html#gae02c549079cfb0350117cd6343a3d66f":[1,5,8], +"group__conversion__util.html#gae8b534c249d503aa764017bb088f3890":[1,5,12], +"group__conversion__util.html#gae995028f5a70c58ccf6013c9811e79aa":[1,5,3], "hierarchy.html":[3,2], "http_get_2example_8cpp-example.html":[2,0], +"index.html":[0], "index.html":[], -"index.html":[0], "index.html#Overview":[0,0], "index.html#features":[0,2], "index.html#notes":[0,1], @@ -109,6 +182,8 @@ "namespacewiconnect.html":[3,0,0], "ota_2example_8cpp-example.html":[2,2], "pages.html":[], +"structwiconnect_1_1_ghm_element.html":[1,4,3,1], +"structwiconnect_1_1_ghm_element_array.html":[1,4,3,2], "structwiconnect_1_1_http_socket_args.html":[1,2,5,1], "structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b":[1,2,5,1,1], "structwiconnect_1_1_http_socket_args.html#a57564bc3fed87b9ab2d3f4fff3d2dc24":[1,2,5,1,2],
--- a/doc/html/ota_2example_8cpp-example.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/ota_2example_8cpp-example.html Mon Oct 27 13:42:26 2014 -0700 @@ -118,13 +118,13 @@ <div class="line"><span class="comment">// Look for this name in your WiFi settings</span></div> <div class="line"><span class="comment">// (e.g. your phone's list of WiFi networks in the WiFi settings menu)</span></div> <div class="line"><span class="comment">// tip: add double-quotes around SSID to add spaces to name</span></div> -<div class="line"><span class="comment">//#define NETWORK_SSID "\"<YOUR NETWORK NAME HERE>\""</span></div> -<div class="line"><span class="preprocessor">#define NETWORK_SSID "ASUS"</span></div> +<div class="line"><span class="preprocessor">#define NETWORK_SSID "\"<YOUR NETWORK NAME HERE>\""</span></div> +<div class="line"></div> <div class="line"></div> <div class="line"><span class="comment">// This is the password of your WiFi network</span></div> <div class="line"><span class="comment">// Leave as empty string (e.g "") to connect to OPEN network</span></div> -<div class="line"><span class="comment">//#define NETWORK_PASSWORD "\"<YOUR NETWORK PASSWORD HERE>\""</span></div> -<div class="line"><span class="preprocessor">#define NETWORK_PASSWORD "Y@nkee123"</span></div> +<div class="line"><span class="preprocessor">#define NETWORK_PASSWORD "\"<YOUR NETWORK PASSWORD HERE>\""</span></div> +<div class="line"></div> <div class="line"></div> <div class="line"></div> <div class="line"></div>
--- a/doc/html/ota_2example_8cpp_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/ota_2example_8cpp_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -110,13 +110,13 @@ <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// Look for this name in your WiFi settings</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// (e.g. your phone's list of WiFi networks in the WiFi settings menu)</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// tip: add double-quotes around SSID to add spaces to name</span></div> -<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//#define NETWORK_SSID "\"<YOUR NETWORK NAME HERE>\""</span></div> -<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#define NETWORK_SSID "ASUS"</span></div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define NETWORK_SSID "\"<YOUR NETWORK NAME HERE>\""</span></div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// This is the password of your WiFi network</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// Leave as empty string (e.g "") to connect to OPEN network</span></div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//#define NETWORK_PASSWORD "\"<YOUR NETWORK PASSWORD HERE>\""</span></div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#define NETWORK_PASSWORD "Y@nkee123"</span></div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define NETWORK_PASSWORD "\"<YOUR NETWORK PASSWORD HERE>\""</span></div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> @@ -216,9 +216,9 @@ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">while</span>(<span class="keyword">true</span>){} <span class="comment">// infinite loop</span></div> <div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }</div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div> -<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00129">sdk.h:129</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00165">WiconnectTypes.h:165</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00140">sdk.h:140</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00172">WiconnectTypes.h:172</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/sdk_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/sdk_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -123,93 +123,96 @@ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gae7b6cfdff3a9aef465d5c4434937417d"> 61</a></span> <span class="preprocessor">#define WICONNECT_USE_DEFAULT_STRING_BUFFERS</span></div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div> -<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gaaff0108d684631b2bb88e1f6c255e9ac"> 67</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_MALLOC malloc</span></div> +<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga593c6629b59a853057cd6a5547ed3f4f"> 67</a></span> <span class="preprocessor">#define WICONNECT_GPIO_IRQ_ENABLED</span></div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div> -<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga0a14e4bc7a0aed9311b552c0ee8fd7ef"> 72</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_FREE free</span></div> -<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> -<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0"> 78</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_BAUD 115200</span></div> +<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gaaff0108d684631b2bb88e1f6c255e9ac"> 73</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_MALLOC malloc</span></div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> +<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga0a14e4bc7a0aed9311b552c0ee8fd7ef"> 78</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_FREE free</span></div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> -<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga7741b7a0fbbf9b7e47898b7d30e5e321"> 83</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_TIMEOUT 3000 // ms</span></div> -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> -<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga7352d6662e438d0969593df9e657d43f"> 88</a></span> <span class="preprocessor">#define WICONNECT_MAX_QUEUED_COMMANDS 8</span></div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div> -<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga9e7032540d999edf0dbae31e51c85962"> 93</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_COMMAND_PROCESSING_PERIOD 50 // ms</span></div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div> -<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401"> 99</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_NONBLOCKING false</span></div> +<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0"> 84</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_BAUD 115200</span></div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div> +<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga7741b7a0fbbf9b7e47898b7d30e5e321"> 89</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_TIMEOUT 3000 // ms</span></div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> +<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga7352d6662e438d0969593df9e657d43f"> 94</a></span> <span class="preprocessor">#define WICONNECT_MAX_QUEUED_COMMANDS 8</span></div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div> +<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga9e7032540d999edf0dbae31e51c85962"> 99</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_COMMAND_PROCESSING_PERIOD 50 // ms</span></div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div> -<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> -<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div> -<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div> -<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor">#define WICONNECT_GPIO_BASE_CLASS : DigitalOut</span></div> -<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#define WICONNECT_SERIAL_BASE_CLASS : RawSerial</span></div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor">#define WICONNECT_PERIODIC_TIMER_BASE_CLASS : Ticker</span></div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#define WICONNECT_EXTERNAL_INTERRUPT_GPIO_BASE_CLASS : InterruptIn</span></div> -<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor">#define WICONNECT_MAX_PIN_IRQ_HANDLERS 3</span></div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div> +<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401"> 105</a></span> <span class="preprocessor">#define WICONNECT_DEFAULT_NONBLOCKING false</span></div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div> +<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga80e1660ca602aff9f95ccbb4822fad9c"> 111</a></span> <span class="preprocessor">#define WICONNECT_ENABLE_DEBUGGING</span></div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div> -<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270"> 117</a></span> <span class="preprocessor">#define PIN_NC NC</span></div> -<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div> -<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c"> 123</a></span> <span class="keyword">typedef</span> PinName <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a>;</div> -<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> -<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_serial_config.html"> 129</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a></div> -<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> {</div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">public</span>:</div> -<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx;</div> -<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx;</div> -<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> cts;</div> -<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rts;</div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordtype">int</span> baud;</div> -<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">void</span> *serialRxBuffer;</div> -<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordtype">int</span> serialRxBufferSize;</div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> cts, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rts, <span class="keywordtype">int</span> baud, <span class="keywordtype">int</span> serialRxBufferSize, <span class="keywordtype">void</span> *serialRxBuffer = NULL)</div> -<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  this->rx =rx;</div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  this->tx =tx;</div> -<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  this->cts =cts;</div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  this->rts =rts;</div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  this->baud = baud;</div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  this->serialRxBuffer =serialRxBuffer;</div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  this->serialRxBufferSize =serialRxBufferSize;</div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  }</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// ----------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor">#define WICONNECT_GPIO_BASE_CLASS : DigitalOut</span></div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#define WICONNECT_SERIAL_BASE_CLASS : RawSerial</span></div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor">#define WICONNECT_PERIODIC_TIMER_BASE_CLASS : Ticker</span></div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#define WICONNECT_EXTERNAL_INTERRUPT_GPIO_BASE_CLASS : InterruptIn</span></div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#define WICONNECT_MAX_PIN_IRQ_HANDLERS 3</span></div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div> +<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270"> 128</a></span> <span class="preprocessor">#define PIN_NC NC</span></div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div> +<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c"> 134</a></span> <span class="keyword">typedef</span> PinName <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a>;</div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div> +<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classwiconnect_1_1_serial_config.html"> 140</a></span> <span class="keyword">class </span><a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a></div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> {</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">public</span>:</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx;</div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx;</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> cts;</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rts;</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordtype">int</span> baud;</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">void</span> *serialRxBuffer;</div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">int</span> serialRxBufferSize;</div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx, <span class="keywordtype">int</span> serialRxBufferSize, <span class="keywordtype">void</span> *serialRxBuffer = NULL)</div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> cts, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rts, <span class="keywordtype">int</span> baud, <span class="keywordtype">int</span> serialRxBufferSize, <span class="keywordtype">void</span> *serialRxBuffer = NULL)</div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  this->rx =rx;</div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  this->tx =tx;</div> -<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  this->cts = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  this->rts = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  this->baud = <a class="code" href="group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0">WICONNECT_DEFAULT_BAUD</a>;</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  this->cts =cts;</div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  this->rts =rts;</div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  this->baud = baud;</div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  this->serialRxBuffer =serialRxBuffer;</div> <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  this->serialRxBufferSize =serialRxBufferSize;</div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div> <div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx)</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx, <span class="keywordtype">int</span> serialRxBufferSize, <span class="keywordtype">void</span> *serialRxBuffer = NULL)</div> <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div> <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  this->rx =rx;</div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  this->tx =tx;</div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  this->cts =<a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  this->rts =<a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  this->cts = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  this->rts = <a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  this->baud = <a class="code" href="group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0">WICONNECT_DEFAULT_BAUD</a>;</div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  this->serialRxBuffer =NULL;</div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  this->serialRxBufferSize =0;</div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  this->serialRxBuffer =serialRxBuffer;</div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  this->serialRxBufferSize =serialRxBufferSize;</div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div> <div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> };</div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> -<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div> -<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga596d1da2fb23f4e748c83d64a47e10b3"> 180</a></span> <span class="preprocessor">#define delayMs(ms) wait_ms(ms)</span></div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="classwiconnect_1_1_serial_config.html">SerialConfig</a>(<a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> rx, <a class="code" href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">Pin</a> tx)</div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  {</div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  this->rx =rx;</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  this->tx =tx;</div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  this->cts =<a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  this->rts =<a class="code" href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a>;</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  this->baud = <a class="code" href="group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0">WICONNECT_DEFAULT_BAUD</a>;</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  this->serialRxBuffer =NULL;</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  this->serialRxBufferSize =0;</div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  }</div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> -<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> }</div> -<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00129">sdk.h:129</a></div></div> -<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00123">sdk.h:123</a></div></div> -<div class="ttc" id="group__api__core__macro_html_ga2e7ffaac225bc56852bb504f531aafa0"><div class="ttname"><a href="group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0">WICONNECT_DEFAULT_BAUD</a></div><div class="ttdeci">#define WICONNECT_DEFAULT_BAUD</div><div class="ttdoc">The default Host<->Wiconnect Module serial BAUD rate. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00078">sdk.h:78</a></div></div> -<div class="ttc" id="group__api__core__macro_html_gaa1dbeca66111f3a22d0ee6b122d69270"><div class="ttname"><a href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></div><div class="ttdeci">#define PIN_NC</div><div class="ttdoc">Default value for a pin, Not connected. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00117">sdk.h:117</a></div></div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> };</div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div> +<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="group__api__core__macro.html#ga596d1da2fb23f4e748c83d64a47e10b3"> 191</a></span> <span class="preprocessor">#define delayMs(ms) wait_ms(ms)</span></div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> }</div> +<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00140">sdk.h:140</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga1cf4dfa71da0b0dc3dc707dacf56cc9c"><div class="ttname"><a href="group__api__core__types.html#ga1cf4dfa71da0b0dc3dc707dacf56cc9c">wiconnect::Pin</a></div><div class="ttdeci">PinName Pin</div><div class="ttdoc">Pin name on HOST. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00134">sdk.h:134</a></div></div> +<div class="ttc" id="group__api__core__macro_html_ga2e7ffaac225bc56852bb504f531aafa0"><div class="ttname"><a href="group__api__core__macro.html#ga2e7ffaac225bc56852bb504f531aafa0">WICONNECT_DEFAULT_BAUD</a></div><div class="ttdeci">#define WICONNECT_DEFAULT_BAUD</div><div class="ttdoc">The default Host<->Wiconnect Module serial BAUD rate. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00084">sdk.h:84</a></div></div> +<div class="ttc" id="group__api__core__macro_html_gaa1dbeca66111f3a22d0ee6b122d69270"><div class="ttname"><a href="group__api__core__macro.html#gaa1dbeca66111f3a22d0ee6b122d69270">PIN_NC</a></div><div class="ttdeci">#define PIN_NC</div><div class="ttdoc">Default value for a pin, Not connected. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00128">sdk.h:128</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/sdk_types_8h_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/sdk_types_8h_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -102,7 +102,7 @@ </div><!--header--> <div class="contents"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> -<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "types/Socket/mBedSocketApi.h"</span></div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "api/types/Socket/mBedSocketApi.h"</span></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- a/doc/html/search/all_0.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_0.js Mon Oct 27 13:42:26 2014 -0700 @@ -3,5 +3,6 @@ ['align_5f4',['ALIGN_4',['../group__api__core__macro.html#ga8d334bd237af6b4e1eb929ef32b33ab0',1,'WiconnectTypes.h']]], ['align_5f8',['ALIGN_8',['../group__api__core__macro.html#gad7bc04eee187f219f2544905267568b0',1,'WiconnectTypes.h']]], ['align_5fn',['ALIGN_n',['../group__api__core__macro.html#ga346c951fa5af23cdbf1d18a59b2babd1',1,'WiconnectTypes.h']]], + ['activation',['Activation',['../group__api__ghm__activate.html',1,'']]], ['array_5fcount',['ARRAY_COUNT',['../group__api__core__macro.html#ga77baa56c8d3584b953f0a2626e6844ad',1,'WiconnectTypes.h']]] ];
--- a/doc/html/search/all_1.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_1.js Mon Oct 27 13:42:26 2014 -0700 @@ -5,7 +5,7 @@ ['certname',['certName',['../structwiconnect_1_1_http_socket_args.html#a6dda2d739bd2c43d1b63d7a526ecf95c',1,'wiconnect::HttpSocketArgs']]], ['checkcurrentcommand',['checkCurrentCommand',['../group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd',1,'wiconnect::Wiconnect']]], ['closeallsockets',['closeAllSockets',['../group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106',1,'wiconnect::SocketInterface']]], - ['connect',['connect',['../group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8',1,'wiconnect::SocketInterface']]], + ['connect',['connect',['../group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45',1,'wiconnect::SocketInterface']]], ['contexttype',['contextType',['../structwiconnect_1_1_http_socket_args.html#a401fd2b9a75ec8c76d59bd798d36e25b',1,'wiconnect::HttpSocketArgs']]], ['conversion_20utilities',['Conversion Utilities',['../group__conversion__util.html',1,'']]], ['createfile',['createFile',['../group__api__file__methods.html#ga16fb09105975644879eb09581ce486e5',1,'wiconnect::FileInterface']]]
--- a/doc/html/search/all_10.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_10.js Mon Oct 27 13:42:26 2014 -0700 @@ -7,12 +7,14 @@ ['scan',['scan',['../group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956',1,'wiconnect::NetworkInterface']]], ['scanresult',['ScanResult',['../classwiconnect_1_1_scan_result.html',1,'wiconnect']]], ['scanresultlist',['ScanResultList',['../classwiconnect_1_1_scan_result_list.html',1,'wiconnect']]], - ['sendcommand',['sendCommand',['../group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65',1,'wiconnect::Wiconnect::sendCommand(int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84',1,'wiconnect::Wiconnect::sendCommand(const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, int timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, const char *cmd,...)'],['../group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4',1,'wiconnect::Wiconnect::sendCommand(const char *cmd,...)'],['../group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, int timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351',1,'wiconnect::Wiconnect::sendCommand(int timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698',1,'wiconnect::Wiconnect::sendCommand(const char *cmd, va_list vaList)']]], + ['sendcommand',['sendCommand',['../group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9',1,'wiconnect::Wiconnect::sendCommand(TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84',1,'wiconnect::Wiconnect::sendCommand(const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, const char *cmd,...)'],['../group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4',1,'wiconnect::Wiconnect::sendCommand(const char *cmd,...)'],['../group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, TimerTimeout timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09',1,'wiconnect::Wiconnect::sendCommand(TimerTimeout timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698',1,'wiconnect::Wiconnect::sendCommand(const char *cmd, va_list vaList)']]], ['serialconfig',['SerialConfig',['../classwiconnect_1_1_serial_config.html',1,'wiconnect']]], ['setassertlogger',['setAssertLogger',['../group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0',1,'wiconnect::Wiconnect']]], - ['setcommanddefaulttimeout',['setCommandDefaultTimeout',['../group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32',1,'wiconnect::Wiconnect']]], + ['setblockingenabled',['setBlockingEnabled',['../group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c',1,'wiconnect::Wiconnect']]], + ['setcommanddefaulttimeout',['setCommandDefaultTimeout',['../group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f',1,'wiconnect::Wiconnect']]], ['setdebuglogger',['setDebugLogger',['../group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e',1,'wiconnect::Wiconnect']]], ['setdhcpenabled',['setDhcpEnabled',['../group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf',1,'wiconnect::NetworkInterface']]], + ['setdnsaddress',['setDnsAddress',['../group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9',1,'wiconnect::NetworkInterface']]], ['setipsettings',['setIpSettings',['../group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0',1,'wiconnect::NetworkInterface::setIpSettings(uint32_t ip, uint32_t netmask, uint32_t gateway)'],['../group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0',1,'wiconnect::NetworkInterface::setIpSettings(const char *ip, const char *netmask, const char *gateway)']]], ['setpintogpiomapper',['setPinToGpioMapper',['../group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d',1,'wiconnect::Wiconnect']]], ['setsetting',['setSetting',['../group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec',1,'wiconnect::Wiconnect::setSetting(const char *settingStr, uint32_t value)'],['../group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e',1,'wiconnect::Wiconnect::setSetting(const char *settingStr, const char *value)']]], @@ -22,16 +24,18 @@ ['socket_5fhttp_5fhead',['SOCKET_HTTP_HEAD',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236',1,'wiconnect']]], ['socket_5fhttp_5fpost',['SOCKET_HTTP_POST',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb',1,'wiconnect']]], ['socket_5finvalid_5fhandle',['SOCKET_INVALID_HANDLE',['../group__api__socket__macro.html#ga311741238658c89ea9344d32c0cec923',1,'WiconnectTypes.h']]], + ['socket_5ftype_5fghm',['SOCKET_TYPE_GHM',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f',1,'wiconnect']]], ['socket_5ftype_5fhttp',['SOCKET_TYPE_HTTP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751',1,'wiconnect']]], ['socket_5ftype_5ftcp',['SOCKET_TYPE_TCP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9',1,'wiconnect']]], ['socket_5ftype_5ftls',['SOCKET_TYPE_TLS',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4',1,'wiconnect']]], ['socket_5ftype_5fudp',['SOCKET_TYPE_UDP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc',1,'wiconnect']]], + ['socket_5ftype_5fudps',['SOCKET_TYPE_UDPS',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91',1,'wiconnect']]], ['socket_5ftype_5funknown',['SOCKET_TYPE_UNKNOWN',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e',1,'wiconnect']]], ['socketinterface',['SocketInterface',['../classwiconnect_1_1_socket_interface.html',1,'wiconnect']]], ['sockettype',['SocketType',['../group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d',1,'wiconnect']]], ['ssid',['Ssid',['../structwiconnect_1_1_ssid.html',1,'wiconnect']]], ['ssidstrbuffer',['SsidStrBuffer',['../group__api__network__types.html#ga38e0a82235258f96340b9ce2c6e1426c',1,'wiconnect']]], - ['ssidtostr',['ssidToStr',['../group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f',1,'wiconnect::NetworkInterface']]], + ['ssidtostr',['ssidToStr',['../group__conversion__util.html#gae8b534c249d503aa764017bb088f3890',1,'wiconnect::NetworkInterface']]], ['startwebsetup',['startWebSetup',['../group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847',1,'wiconnect::NetworkInterface']]], ['stopcurrentcommand',['stopCurrentCommand',['../group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0',1,'wiconnect::Wiconnect']]], ['stopwebsetup',['stopWebSetup',['../group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a',1,'wiconnect::NetworkInterface']]],
--- a/doc/html/search/all_11.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_11.js Mon Oct 27 13:42:26 2014 -0700 @@ -2,14 +2,16 @@ [ ['types',['Types',['../group__api__core__types.html',1,'']]], ['types',['Types',['../group__api__file__types.html',1,'']]], + ['types',['Types',['../group__api__ghm__types.html',1,'']]], ['types',['Types',['../group__api__network__types.html',1,'']]], ['tcp_20methods',['TCP Methods',['../group__api__socket__tcp.html',1,'']]], ['tls_20methods',['TLS Methods',['../group__api__socket__tls.html',1,'']]], ['types',['Types',['../group__api__socket__types.html',1,'']]], - ['tcpaccept',['tcpAccept',['../group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3',1,'wiconnect::SocketInterface']]], - ['tcpconnect',['tcpConnect',['../group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2',1,'wiconnect::SocketInterface']]], - ['tcplisten',['tcpListen',['../group__api__socket__tcp.html#ga563831b33089437233f128483d034578',1,'wiconnect::SocketInterface']]], + ['tcpaccept',['tcpAccept',['../group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035',1,'wiconnect::SocketInterface']]], + ['tcpconnect',['tcpConnect',['../group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527',1,'wiconnect::SocketInterface']]], + ['tcplisten',['tcpListen',['../group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa',1,'wiconnect::SocketInterface']]], ['tcpserverstop',['tcpServerStop',['../group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0',1,'wiconnect::SocketInterface']]], - ['tlsconnect',['tlsConnect',['../group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca',1,'wiconnect::SocketInterface']]], + ['timertimeout',['TimerTimeout',['../namespacewiconnect.html#a0c27570b2913afc6339821df7c934810',1,'wiconnect']]], + ['tlsconnect',['tlsConnect',['../group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4',1,'wiconnect::SocketInterface']]], ['type',['type',['../structwiconnect_1_1_http_socket_args.html#adffa0b3f63392a28c19aef272c918772',1,'wiconnect::HttpSocketArgs']]] ];
--- a/doc/html/search/all_12.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_12.js Mon Oct 27 13:42:26 2014 -0700 @@ -2,7 +2,7 @@ [ ['utility_20methods',['Utility Methods',['../group__api__network__util.html',1,'']]], ['udp_20methods',['UDP Methods',['../group__api__socket__udp.html',1,'']]], - ['udpconnect',['udpConnect',['../group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec',1,'wiconnect::SocketInterface']]], - ['unregistersocketirqhandler',['unregisterSocketIrqHandler',['../group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551',1,'wiconnect::SocketInterface']]], + ['udpconnect',['udpConnect',['../group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa',1,'wiconnect::SocketInterface']]], + ['udplisten',['udpListen',['../group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a',1,'wiconnect::SocketInterface']]], ['updatefirmware',['updateFirmware',['../group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632',1,'wiconnect::Wiconnect']]] ];
--- a/doc/html/search/all_14.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_14.js Mon Oct 27 13:42:26 2014 -0700 @@ -3,8 +3,8 @@ ['web_20setup_20methods',['Web Setup Methods',['../group__api__network__setup.html',1,'']]], ['wlan_20methods',['WLAN Methods',['../group__api__network__wlan.html',1,'']]], ['wakeup',['wakeup',['../group__api__core__misc.html#gad552c8f23dd0a0e8844ee1fc4d9358e5',1,'wiconnect::Wiconnect']]], + ['wiconnect',['wiconnect',['../namespacewiconnect.html',1,'wiconnect'],['../classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389',1,'wiconnect::Wiconnect::Wiconnect(const SerialConfig &serialConfig, Pin reset=PIN_NC, Pin wake=PIN_NC, bool nonBlocking=WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS)'],['../classwiconnect_1_1_wiconnect.html#afe9fa2efde4e26944cdc9b6be51a1a34',1,'wiconnect::Wiconnect::Wiconnect(const SerialConfig &serialConfig, int internalBufferSize, void *internalBuffer=NULL, Pin reset=PIN_NC, Pin wake=PIN_NC, bool nonBlocking=WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS)']]], ['wiconnect',['Wiconnect',['../classwiconnect_1_1_wiconnect.html',1,'wiconnect']]], - ['wiconnect',['wiconnect',['../namespacewiconnect.html',1,'wiconnect'],['../classwiconnect_1_1_wiconnect.html#a285510a2cba5341db387101ac75a4389',1,'wiconnect::Wiconnect::Wiconnect(const SerialConfig &serialConfig, Pin reset=PIN_NC, Pin wake=PIN_NC, bool nonBlocking=WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS)'],['../classwiconnect_1_1_wiconnect.html#afe9fa2efde4e26944cdc9b6be51a1a34',1,'wiconnect::Wiconnect::Wiconnect(const SerialConfig &serialConfig, int internalBufferSize, void *internalBuffer=NULL, Pin reset=PIN_NC, Pin wake=PIN_NC, bool nonBlocking=WICONNECT_DEFAULT_NONBLOCKING WICONNECT_MALLOC_ARGS)']]], ['wiconnect_5faborted',['WICONNECT_ABORTED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789',1,'wiconnect']]], ['wiconnect_5fanother_5fcmd_5fexecuting',['WICONNECT_ANOTHER_CMD_EXECUTING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83',1,'wiconnect']]], ['wiconnect_5fasync_5ftimer_5fenabled',['WICONNECT_ASYNC_TIMER_ENABLED',['../group__api__core__macro.html#gad466ede4f07512308e38402d777d8380',1,'sdk.h']]], @@ -17,11 +17,14 @@ ['wiconnect_5fdefault_5fnonblocking',['WICONNECT_DEFAULT_NONBLOCKING',['../group__api__core__macro.html#ga347d0e1228e8174563c6bcf48de18401',1,'sdk.h']]], ['wiconnect_5fdefault_5ftimeout',['WICONNECT_DEFAULT_TIMEOUT',['../group__api__core__macro.html#ga7741b7a0fbbf9b7e47898b7d30e5e321',1,'sdk.h']]], ['wiconnect_5fduplicate',['WICONNECT_DUPLICATE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4',1,'wiconnect']]], + ['wiconnect_5fenable_5fdebugging',['WICONNECT_ENABLE_DEBUGGING',['../group__api__core__macro.html#ga80e1660ca602aff9f95ccbb4822fad9c',1,'sdk.h']]], ['wiconnect_5fenable_5fmalloc',['WICONNECT_ENABLE_MALLOC',['../group__api__core__macro.html#gae9cf1249b46e784aa05250e2bcbe2e02',1,'sdk.h']]], ['wiconnect_5ferror',['WICONNECT_ERROR',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6',1,'wiconnect']]], ['wiconnect_5ffailed',['WICONNECT_FAILED',['../group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64',1,'WiconnectTypes.h']]], ['wiconnect_5ffirmware_5fupdate_5ftimeout',['WICONNECT_FIRMWARE_UPDATE_TIMEOUT',['../group__api__core__macro.html#ga6d336ec791dcd22238d2fc4995fb9431',1,'WiconnectTypes.h']]], + ['wiconnect_5fgpio_5firq_5fenabled',['WICONNECT_GPIO_IRQ_ENABLED',['../group__api__core__macro.html#ga593c6629b59a853057cd6a5547ed3f4f',1,'sdk.h']]], ['wiconnect_5fidle',['WICONNECT_IDLE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1',1,'wiconnect']]], + ['wiconnect_5fis_5fprocessing',['WICONNECT_IS_PROCESSING',['../group__api__core__macro.html#ga436d782bd2cdce3696eadda1083416af',1,'WiconnectTypes.h']]], ['wiconnect_5fmax_5fcmd_5fsize',['WICONNECT_MAX_CMD_SIZE',['../group__api__core__macro.html#ga2aa16118029ab13ab41514cb8eb93ba7',1,'WiconnectTypes.h']]], ['wiconnect_5fmax_5ffilename_5fsize',['WICONNECT_MAX_FILENAME_SIZE',['../group__api__core__macro.html#ga8bc3b8d2e7e7c9d10b23e0a15cd4507a',1,'WiconnectTypes.h']]], ['wiconnect_5fmax_5fhost_5fsize',['WICONNECT_MAX_HOST_SIZE',['../group__api__core__macro.html#ga7c5dcedd35669199b46bb292b3d3b525',1,'WiconnectTypes.h']]], @@ -50,5 +53,6 @@ ['wiconnect_5fwait_5fforever',['WICONNECT_WAIT_FOREVER',['../group__api__core__macro.html#ga580e5f45fee866c845e0d3fd1eb1744a',1,'WiconnectTypes.h']]], ['wiconnectfile',['WiconnectFile',['../classwiconnect_1_1_wiconnect_file.html',1,'wiconnect']]], ['wiconnectresult',['WiconnectResult',['../group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05',1,'wiconnect']]], - ['wiconnectsocket',['WiconnectSocket',['../classwiconnect_1_1_wiconnect_socket.html',1,'wiconnect']]] + ['wiconnectsocket',['WiconnectSocket',['../classwiconnect_1_1_wiconnect_socket.html',1,'wiconnect']]], + ['wiconnectudpserver',['WiconnectUdpServer',['../classwiconnect_1_1_wiconnect_udp_server.html',1,'wiconnect']]] ];
--- a/doc/html/search/all_3.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_3.js Mon Oct 27 13:42:26 2014 -0700 @@ -2,6 +2,7 @@ [ ['examples',['Examples',['../group__api__core__examples.html',1,'']]], ['examples',['Examples',['../group__api__file__examples.html',1,'']]], + ['examples',['Examples',['../group__api__ghm__examples.html',1,'']]], ['examples',['Examples',['../group__api__network__examples.html',1,'']]], ['examples',['Examples',['../group__api__socket__examples.html',1,'']]] ];
--- a/doc/html/search/all_5.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_5.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,17 +1,47 @@ var searchData= [ - ['getcommanddefaulttimeout',['getCommandDefaultTimeout',['../group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e',1,'wiconnect::Wiconnect']]], + ['gohack_2eme',['goHACK.me',['../group__api__ghm.html',1,'']]], + ['getblockingenabled',['getBlockingEnabled',['../group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad',1,'wiconnect::Wiconnect']]], + ['getcommanddefaulttimeout',['getCommandDefaultTimeout',['../group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e',1,'wiconnect::Wiconnect']]], ['getdhcpenabled',['getDhcpEnabled',['../group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff',1,'wiconnect::NetworkInterface']]], + ['getdnsaddress',['getDnsAddress',['../group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e',1,'wiconnect::NetworkInterface']]], ['getinstance',['getInstance',['../group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e',1,'wiconnect::Wiconnect']]], - ['getipaddress',['getIpAddress',['../group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290',1,'wiconnect::NetworkInterface']]], + ['getipaddress',['getIpAddress',['../group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f',1,'wiconnect::NetworkInterface']]], ['getipsettings',['getIpSettings',['../group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b',1,'wiconnect::NetworkInterface']]], ['getlastcommandresponsecodestr',['getLastCommandResponseCodeStr',['../group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a',1,'wiconnect::Wiconnect']]], ['getlastcommandresponselength',['getLastCommandResponseLength',['../group__api__core__misc.html#ga600215de23210071c42996d04390071e',1,'wiconnect::Wiconnect']]], + ['getmacaddress',['getMacAddress',['../group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3',1,'wiconnect::NetworkInterface']]], ['getnetworkjoinresult',['getNetworkJoinResult',['../group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b',1,'wiconnect::NetworkInterface']]], ['getnetworkstatus',['getNetworkStatus',['../group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5',1,'wiconnect::NetworkInterface']]], ['getresponsebuffer',['getResponseBuffer',['../group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8',1,'wiconnect::Wiconnect']]], + ['getrssi',['getRssi',['../group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee',1,'wiconnect::NetworkInterface']]], ['getsetting',['getSetting',['../group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc',1,'wiconnect::Wiconnect::getSetting(const char *settingStr, uint32_t *valuePtr)'],['../group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296',1,'wiconnect::Wiconnect::getSetting(const char *settingStr, char **valuePtr)'],['../group__api__core__settings.html#ga670947ef630233f7866f885500548233',1,'wiconnect::Wiconnect::getSetting(const char *settingStr, char *valueBuffer, uint16_t valueBufferLen)']]], - ['getsignalstrength',['getSignalStrength',['../group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea',1,'wiconnect::NetworkInterface']]], + ['getsignalstrength',['getSignalStrength',['../group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea',1,'wiconnect::NetworkInterface']]], ['getversion',['getVersion',['../group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f',1,'wiconnect::Wiconnect']]], - ['getwiconnectresultstr',['getWiconnectResultStr',['../group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be',1,'wiconnect::Wiconnect']]] + ['getwiconnectresultstr',['getWiconnectResultStr',['../group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be',1,'wiconnect::Wiconnect']]], + ['ghm_5fmsg_5fget_5fall',['GHM_MSG_GET_ALL',['../group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7',1,'wiconnect']]], + ['ghm_5fmsg_5fget_5fbody',['GHM_MSG_GET_BODY',['../group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1',1,'wiconnect']]], + ['ghm_5fmsg_5fget_5fdata_5fonly',['GHM_MSG_GET_DATA_ONLY',['../group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127',1,'wiconnect']]], + ['ghm_5fsync_5fall',['GHM_SYNC_ALL',['../group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7',1,'wiconnect']]], + ['ghm_5fsync_5fpull_5fonly',['GHM_SYNC_PULL_ONLY',['../group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd',1,'wiconnect']]], + ['ghm_5fsync_5fpush_5fonly',['GHM_SYNC_PUSH_ONLY',['../group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0',1,'wiconnect']]], + ['ghmactivate',['ghmActivate',['../group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff',1,'wiconnect::GhmInterface']]], + ['ghmdeactivate',['ghmDeactivate',['../group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b',1,'wiconnect::GhmInterface']]], + ['ghmdeletemessage',['ghmDeleteMessage',['../group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0',1,'wiconnect::GhmInterface::ghmDeleteMessage(uint8_t listIndex)'],['../group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9',1,'wiconnect::GhmInterface::ghmDeleteMessage(const char *msgId)']]], + ['ghmdownloadcapabilities',['ghmDownloadCapabilities',['../group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd',1,'wiconnect::GhmInterface']]], + ['ghmelement',['GhmElement',['../structwiconnect_1_1_ghm_element.html',1,'wiconnect']]], + ['ghmelementarray',['GhmElementArray',['../structwiconnect_1_1_ghm_element_array.html',1,'wiconnect']]], + ['ghmelementvaluetype',['GhmElementValueType',['../group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67',1,'wiconnect']]], + ['ghmgetmessage',['ghmGetMessage',['../group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234',1,'wiconnect::GhmInterface::ghmGetMessage(WiconnectSocket &socket, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)'],['../group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29',1,'wiconnect::GhmInterface::ghmGetMessage(WiconnectSocket &socket, uint8_t listIndex, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)'],['../group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d',1,'wiconnect::GhmInterface::ghmGetMessage(WiconnectSocket &socket, const char *msgId, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)']]], + ['ghminterface',['GhmInterface',['../classwiconnect_1_1_ghm_interface.html',1,'wiconnect']]], + ['ghmisactivated',['ghmIsActivated',['../group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff',1,'wiconnect::GhmInterface']]], + ['ghmlistmessages',['ghmListMessages',['../group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502',1,'wiconnect::GhmInterface']]], + ['ghmmessage',['GhmMessage',['../classwiconnect_1_1_ghm_message.html',1,'wiconnect']]], + ['ghmmessagegettype',['GhmMessageGetType',['../group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1',1,'wiconnect']]], + ['ghmmessagelist',['GhmMessageList',['../classwiconnect_1_1_ghm_message_list.html',1,'wiconnect']]], + ['ghmpostmessage',['ghmPostMessage',['../group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543',1,'wiconnect::GhmInterface']]], + ['ghmread',['ghmRead',['../group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2',1,'wiconnect::GhmInterface::ghmRead(const char *controlName, const char **valueStrPtr)'],['../group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f',1,'wiconnect::GhmInterface::ghmRead(const char *controlName, uint32_t *valueIntPtr)'],['../group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12',1,'wiconnect::GhmInterface::ghmRead(const char *controlName, char *valueBuffer, uint16_t valueBufferLen)']]], + ['ghmsynchronize',['ghmSynchronize',['../group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7',1,'wiconnect::GhmInterface']]], + ['ghmsynctype',['GhmSyncType',['../group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac',1,'wiconnect']]], + ['ghmwrite',['ghmWrite',['../group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223',1,'wiconnect::GhmInterface::ghmWrite(const char *elementName, const char *strValue)'],['../group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c',1,'wiconnect::GhmInterface::ghmWrite(const char *elementName, uint32_t uintValue)'],['../group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e',1,'wiconnect::GhmInterface::ghmWrite(const char *elementName, int32_t intValue)'],['../group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6',1,'wiconnect::GhmInterface::ghmWrite(const GhmElementArray *elementArray)']]] ];
--- a/doc/html/search/all_7.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_7.js Mon Oct 27 13:42:26 2014 -0700 @@ -2,7 +2,7 @@ [ ['init',['init',['../group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad',1,'wiconnect::Wiconnect']]], ['ipstrbuffer',['IpStrBuffer',['../group__api__network__types.html#gaa68646bb07ee9f174097b60ac7327342',1,'wiconnect']]], - ['iptostr',['ipToStr',['../group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303',1,'wiconnect::NetworkInterface']]], + ['iptostr',['ipToStr',['../group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c',1,'wiconnect::NetworkInterface']]], ['isinitialized',['isInitialized',['../group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff',1,'wiconnect::Wiconnect']]], ['iswebsetuprunning',['isWebSetupRunning',['../group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65',1,'wiconnect::NetworkInterface']]] ];
--- a/doc/html/search/all_a.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_a.js Mon Oct 27 13:42:26 2014 -0700 @@ -4,12 +4,14 @@ ['miscellaneous_20methods',['Miscellaneous Methods',['../group__api__core__misc.html',1,'']]], ['macros',['Macros',['../group__api__file__macro.html',1,'']]], ['methods',['Methods',['../group__api__file__methods.html',1,'']]], + ['macros',['Macros',['../group__api__ghm__macro.html',1,'']]], + ['message',['Message',['../group__api__ghm__msg.html',1,'']]], ['macros',['Macros',['../group__api__network__macros.html',1,'']]], ['macros',['Macros',['../group__api__socket__macro.html',1,'']]], ['miscellaneous_20methods',['Miscellaneous Methods',['../group__api__socket__misc.html',1,'']]], ['macaddress',['MacAddress',['../structwiconnect_1_1_mac_address.html',1,'wiconnect']]], ['macaddressstrbuffer',['MacAddressStrBuffer',['../group__api__network__types.html#ga04b095d2e2f32a3fd23e346a4be969d8',1,'wiconnect']]], - ['macaddresstostr',['macAddressToStr',['../group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134',1,'wiconnect::NetworkInterface']]], + ['macaddresstostr',['macAddressToStr',['../group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf',1,'wiconnect::NetworkInterface']]], ['max',['MAX',['../group__api__core__macro.html#gaacc3ee1a7f283f8ef65cea31f4436a95',1,'WiconnectTypes.h']]], ['min',['MIN',['../group__api__core__macro.html#ga74e75242132eaabbc1c512488a135926',1,'WiconnectTypes.h']]] ];
--- a/doc/html/search/all_f.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/all_f.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,7 @@ var searchData= [ + ['read_2fwrite',['Read/Write',['../group__api__ghm__com.html',1,'']]], ['readerfunc',['ReaderFunc',['../classwiconnect_1_1_reader_func.html',1,'wiconnect']]], - ['registersocketirqhandler',['registerSocketIrqHandler',['../group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a',1,'wiconnect::SocketInterface']]], ['reset',['reset',['../group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3',1,'wiconnect::Wiconnect']]], ['responsetoint32',['responseToInt32',['../group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0',1,'wiconnect::Wiconnect']]], ['responsetouint32',['responseToUint32',['../group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565',1,'wiconnect::Wiconnect']]],
--- a/doc/html/search/classes_2.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_2.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,8 @@ var searchData= [ - ['httpsocketargs',['HttpSocketArgs',['../structwiconnect_1_1_http_socket_args.html',1,'wiconnect']]] + ['ghmelement',['GhmElement',['../structwiconnect_1_1_ghm_element.html',1,'wiconnect']]], + ['ghmelementarray',['GhmElementArray',['../structwiconnect_1_1_ghm_element_array.html',1,'wiconnect']]], + ['ghminterface',['GhmInterface',['../classwiconnect_1_1_ghm_interface.html',1,'wiconnect']]], + ['ghmmessage',['GhmMessage',['../classwiconnect_1_1_ghm_message.html',1,'wiconnect']]], + ['ghmmessagelist',['GhmMessageList',['../classwiconnect_1_1_ghm_message_list.html',1,'wiconnect']]] ];
--- a/doc/html/search/classes_3.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_3.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['logfunc',['LogFunc',['../classwiconnect_1_1_log_func.html',1,'wiconnect']]] + ['httpsocketargs',['HttpSocketArgs',['../structwiconnect_1_1_http_socket_args.html',1,'wiconnect']]] ];
--- a/doc/html/search/classes_4.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_4.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['macaddress',['MacAddress',['../structwiconnect_1_1_mac_address.html',1,'wiconnect']]] + ['logfunc',['LogFunc',['../classwiconnect_1_1_log_func.html',1,'wiconnect']]] ];
--- a/doc/html/search/classes_5.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_5.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['networkinterface',['NetworkInterface',['../classwiconnect_1_1_network_interface.html',1,'wiconnect']]] + ['macaddress',['MacAddress',['../structwiconnect_1_1_mac_address.html',1,'wiconnect']]] ];
--- a/doc/html/search/classes_6.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_6.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['queuedcommand',['QueuedCommand',['../classwiconnect_1_1_queued_command.html',1,'wiconnect']]] + ['networkinterface',['NetworkInterface',['../classwiconnect_1_1_network_interface.html',1,'wiconnect']]] ];
--- a/doc/html/search/classes_7.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_7.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['readerfunc',['ReaderFunc',['../classwiconnect_1_1_reader_func.html',1,'wiconnect']]] + ['queuedcommand',['QueuedCommand',['../classwiconnect_1_1_queued_command.html',1,'wiconnect']]] ];
--- a/doc/html/search/classes_8.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_8.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,9 +1,4 @@ var searchData= [ - ['scanresult',['ScanResult',['../classwiconnect_1_1_scan_result.html',1,'wiconnect']]], - ['scanresultlist',['ScanResultList',['../classwiconnect_1_1_scan_result_list.html',1,'wiconnect']]], - ['serialconfig',['SerialConfig',['../classwiconnect_1_1_serial_config.html',1,'wiconnect']]], - ['socketinterface',['SocketInterface',['../classwiconnect_1_1_socket_interface.html',1,'wiconnect']]], - ['ssid',['Ssid',['../structwiconnect_1_1_ssid.html',1,'wiconnect']]], - ['stringutil',['StringUtil',['../class_string_util.html',1,'']]] + ['readerfunc',['ReaderFunc',['../classwiconnect_1_1_reader_func.html',1,'wiconnect']]] ];
--- a/doc/html/search/classes_9.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/classes_9.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,6 +1,9 @@ var searchData= [ - ['wiconnect',['Wiconnect',['../classwiconnect_1_1_wiconnect.html',1,'wiconnect']]], - ['wiconnectfile',['WiconnectFile',['../classwiconnect_1_1_wiconnect_file.html',1,'wiconnect']]], - ['wiconnectsocket',['WiconnectSocket',['../classwiconnect_1_1_wiconnect_socket.html',1,'wiconnect']]] + ['scanresult',['ScanResult',['../classwiconnect_1_1_scan_result.html',1,'wiconnect']]], + ['scanresultlist',['ScanResultList',['../classwiconnect_1_1_scan_result_list.html',1,'wiconnect']]], + ['serialconfig',['SerialConfig',['../classwiconnect_1_1_serial_config.html',1,'wiconnect']]], + ['socketinterface',['SocketInterface',['../classwiconnect_1_1_socket_interface.html',1,'wiconnect']]], + ['ssid',['Ssid',['../structwiconnect_1_1_ssid.html',1,'wiconnect']]], + ['stringutil',['StringUtil',['../class_string_util.html',1,'']]] ];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/classes_a.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.7"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="classes_a.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/classes_a.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,7 @@ +var searchData= +[ + ['wiconnect',['Wiconnect',['../classwiconnect_1_1_wiconnect.html',1,'wiconnect']]], + ['wiconnectfile',['WiconnectFile',['../classwiconnect_1_1_wiconnect_file.html',1,'wiconnect']]], + ['wiconnectsocket',['WiconnectSocket',['../classwiconnect_1_1_wiconnect_socket.html',1,'wiconnect']]], + ['wiconnectudpserver',['WiconnectUdpServer',['../classwiconnect_1_1_wiconnect_udp_server.html',1,'wiconnect']]] +];
--- a/doc/html/search/enums_1.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/enums_1.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,6 @@ var searchData= [ - ['httpsockettype',['HttpSocketType',['../group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6',1,'wiconnect']]] + ['ghmelementvaluetype',['GhmElementValueType',['../group__api__ghm__types.html#ga4174104f02851ee92e51846877706e67',1,'wiconnect']]], + ['ghmmessagegettype',['GhmMessageGetType',['../group__api__ghm__types.html#gaf75750bfef61c73f9e4677e9de663df1',1,'wiconnect']]], + ['ghmsynctype',['GhmSyncType',['../group__api__ghm__types.html#ga44ea17651dcf42ac9816f549beb577ac',1,'wiconnect']]] ];
--- a/doc/html/search/enums_2.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/enums_2.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,4 @@ var searchData= [ - ['networkjoinresult',['NetworkJoinResult',['../group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d',1,'wiconnect']]], - ['networksecurity',['NetworkSecurity',['../group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f',1,'wiconnect']]], - ['networksignalstrength',['NetworkSignalStrength',['../group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36',1,'wiconnect']]], - ['networkstatus',['NetworkStatus',['../group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99',1,'wiconnect']]] + ['httpsockettype',['HttpSocketType',['../group__api__socket__types.html#gadc1d6e26d4138c536bd5dce7ed4569d6',1,'wiconnect']]] ];
--- a/doc/html/search/enums_3.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/enums_3.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,7 @@ var searchData= [ - ['sockettype',['SocketType',['../group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d',1,'wiconnect']]] + ['networkjoinresult',['NetworkJoinResult',['../group__api__network__types.html#ga5f6f5c916a5dd1676f98da7fa511451d',1,'wiconnect']]], + ['networksecurity',['NetworkSecurity',['../group__api__network__types.html#ga026bd11cd5df47b7022362243e2d553f',1,'wiconnect']]], + ['networksignalstrength',['NetworkSignalStrength',['../group__api__network__types.html#gac5aead2b4cca0122a60168e75ea41d36',1,'wiconnect']]], + ['networkstatus',['NetworkStatus',['../group__api__network__types.html#gab448e57fc1a5e21cbba0283fd1a35d99',1,'wiconnect']]] ];
--- a/doc/html/search/enums_4.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/enums_4.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['wiconnectresult',['WiconnectResult',['../group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05',1,'wiconnect']]] + ['sockettype',['SocketType',['../group__api__socket__types.html#ga69dc55558df4c81599c5fb3dff98756d',1,'wiconnect']]] ];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/enums_5.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.7"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="enums_5.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/enums_5.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,4 @@ +var searchData= +[ + ['wiconnectresult',['WiconnectResult',['../group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05',1,'wiconnect']]] +];
--- a/doc/html/search/enumvalues_1.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/enumvalues_1.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,22 +1,9 @@ var searchData= [ - ['network_5fjoin_5fresult_5faborted',['NETWORK_JOIN_RESULT_ABORTED',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c',1,'wiconnect']]], - ['network_5fjoin_5fresult_5fbad_5fsecurity',['NETWORK_JOIN_RESULT_BAD_SECURITY',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957',1,'wiconnect']]], - ['network_5fjoin_5fresult_5ffailed',['NETWORK_JOIN_RESULT_FAILED',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc',1,'wiconnect']]], - ['network_5fjoin_5fresult_5fjoining',['NETWORK_JOIN_RESULT_JOINING',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475',1,'wiconnect']]], - ['network_5fjoin_5fresult_5fno_5fpassword',['NETWORK_JOIN_RESULT_NO_PASSWORD',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec',1,'wiconnect']]], - ['network_5fjoin_5fresult_5fno_5fssid',['NETWORK_JOIN_RESULT_NO_SSID',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304',1,'wiconnect']]], - ['network_5fjoin_5fresult_5fnone',['NETWORK_JOIN_RESULT_NONE',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5',1,'wiconnect']]], - ['network_5fjoin_5fresult_5fnot_5ffound',['NETWORK_JOIN_RESULT_NOT_FOUND',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2',1,'wiconnect']]], - ['network_5fjoin_5fresult_5fsuccess',['NETWORK_JOIN_RESULT_SUCCESS',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8',1,'wiconnect']]], - ['network_5frssi_5fexcellent',['NETWORK_RSSI_EXCELLENT',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385',1,'wiconnect']]], - ['network_5frssi_5fgood',['NETWORK_RSSI_GOOD',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533',1,'wiconnect']]], - ['network_5frssi_5fpoor',['NETWORK_RSSI_POOR',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae',1,'wiconnect']]], - ['network_5frssi_5funknown',['NETWORK_RSSI_UNKNOWN',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4',1,'wiconnect']]], - ['network_5frssi_5fvery_5fgood',['NETWORK_RSSI_VERY_GOOD',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713',1,'wiconnect']]], - ['network_5frssi_5fvery_5fpoor',['NETWORK_RSSI_VERY_POOR',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa',1,'wiconnect']]], - ['network_5fstatus_5fdown',['NETWORK_STATUS_DOWN',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067',1,'wiconnect']]], - ['network_5fstatus_5fjoining',['NETWORK_STATUS_JOINING',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497',1,'wiconnect']]], - ['network_5fstatus_5fup',['NETWORK_STATUS_UP',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46',1,'wiconnect']]], - ['network_5fstatus_5fwifi_5fonly',['NETWORK_STATUS_WIFI_ONLY',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c',1,'wiconnect']]] + ['ghm_5fmsg_5fget_5fall',['GHM_MSG_GET_ALL',['../group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1adcf75ccabf6676b9b8f3050080f4bab7',1,'wiconnect']]], + ['ghm_5fmsg_5fget_5fbody',['GHM_MSG_GET_BODY',['../group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a19876ca1d097b96c48a1e8b54ee562d1',1,'wiconnect']]], + ['ghm_5fmsg_5fget_5fdata_5fonly',['GHM_MSG_GET_DATA_ONLY',['../group__api__ghm__types.html#ggaf75750bfef61c73f9e4677e9de663df1a7b67ad45967438f44f6942968fb72127',1,'wiconnect']]], + ['ghm_5fsync_5fall',['GHM_SYNC_ALL',['../group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577aca8aa4d4efd897cd69e0f08feaeaa122e7',1,'wiconnect']]], + ['ghm_5fsync_5fpull_5fonly',['GHM_SYNC_PULL_ONLY',['../group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acaad5fbcfa42d14a2662bc5a517c108bdd',1,'wiconnect']]], + ['ghm_5fsync_5fpush_5fonly',['GHM_SYNC_PUSH_ONLY',['../group__api__ghm__types.html#gga44ea17651dcf42ac9816f549beb577acafcf2af6407845b24a3abac79587243e0',1,'wiconnect']]] ];
--- a/doc/html/search/enumvalues_2.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/enumvalues_2.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,11 +1,22 @@ var searchData= [ - ['socket_5fhttp_5fget',['SOCKET_HTTP_GET',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685',1,'wiconnect']]], - ['socket_5fhttp_5fhead',['SOCKET_HTTP_HEAD',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236',1,'wiconnect']]], - ['socket_5fhttp_5fpost',['SOCKET_HTTP_POST',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb',1,'wiconnect']]], - ['socket_5ftype_5fhttp',['SOCKET_TYPE_HTTP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751',1,'wiconnect']]], - ['socket_5ftype_5ftcp',['SOCKET_TYPE_TCP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9',1,'wiconnect']]], - ['socket_5ftype_5ftls',['SOCKET_TYPE_TLS',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4',1,'wiconnect']]], - ['socket_5ftype_5fudp',['SOCKET_TYPE_UDP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc',1,'wiconnect']]], - ['socket_5ftype_5funknown',['SOCKET_TYPE_UNKNOWN',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e',1,'wiconnect']]] + ['network_5fjoin_5fresult_5faborted',['NETWORK_JOIN_RESULT_ABORTED',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daed880c261bae590a5f59aebb01b6912c',1,'wiconnect']]], + ['network_5fjoin_5fresult_5fbad_5fsecurity',['NETWORK_JOIN_RESULT_BAD_SECURITY',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabb8da6425a24810668eade3488113957',1,'wiconnect']]], + ['network_5fjoin_5fresult_5ffailed',['NETWORK_JOIN_RESULT_FAILED',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da76b3ad647f00a3dc52e71e4ed670e7dc',1,'wiconnect']]], + ['network_5fjoin_5fresult_5fjoining',['NETWORK_JOIN_RESULT_JOINING',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da60569216928bd30142e2e143eaf58475',1,'wiconnect']]], + ['network_5fjoin_5fresult_5fno_5fpassword',['NETWORK_JOIN_RESULT_NO_PASSWORD',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da02f32115d4a39e6028e5ebb4944f0bec',1,'wiconnect']]], + ['network_5fjoin_5fresult_5fno_5fssid',['NETWORK_JOIN_RESULT_NO_SSID',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451daea6aa0a779a2823eadafa82dda6b7304',1,'wiconnect']]], + ['network_5fjoin_5fresult_5fnone',['NETWORK_JOIN_RESULT_NONE',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da2ac6866940725552e31532002ef649a5',1,'wiconnect']]], + ['network_5fjoin_5fresult_5fnot_5ffound',['NETWORK_JOIN_RESULT_NOT_FOUND',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451da5c790fb0440c39d95ec785e1c31c3cb2',1,'wiconnect']]], + ['network_5fjoin_5fresult_5fsuccess',['NETWORK_JOIN_RESULT_SUCCESS',['../group__api__network__types.html#gga5f6f5c916a5dd1676f98da7fa511451dabfbb179ad94f8d5a57a9da86de9c65a8',1,'wiconnect']]], + ['network_5frssi_5fexcellent',['NETWORK_RSSI_EXCELLENT',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2911018510263b4d6db772cf6ea69385',1,'wiconnect']]], + ['network_5frssi_5fgood',['NETWORK_RSSI_GOOD',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a5aa38a03f1ec4cdcdd1f0c41dfd19533',1,'wiconnect']]], + ['network_5frssi_5fpoor',['NETWORK_RSSI_POOR',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a2728fe7e544bee45b00ef95117085eae',1,'wiconnect']]], + ['network_5frssi_5funknown',['NETWORK_RSSI_UNKNOWN',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36a095c1eef3bdeb16e33b1f6a976e9f6c4',1,'wiconnect']]], + ['network_5frssi_5fvery_5fgood',['NETWORK_RSSI_VERY_GOOD',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ad77f98cf80b81d4c5277672402c0b713',1,'wiconnect']]], + ['network_5frssi_5fvery_5fpoor',['NETWORK_RSSI_VERY_POOR',['../group__api__network__types.html#ggac5aead2b4cca0122a60168e75ea41d36ab0e9cbbf4e2c6dee74d2639caef2cffa',1,'wiconnect']]], + ['network_5fstatus_5fdown',['NETWORK_STATUS_DOWN',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6a4dd5a93528f27eb983bf856b9f5067',1,'wiconnect']]], + ['network_5fstatus_5fjoining',['NETWORK_STATUS_JOINING',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a2916360f96699b2bf42cf5e122562497',1,'wiconnect']]], + ['network_5fstatus_5fup',['NETWORK_STATUS_UP',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a6d6f2fd76cab833e55bc398541c52b46',1,'wiconnect']]], + ['network_5fstatus_5fwifi_5fonly',['NETWORK_STATUS_WIFI_ONLY',['../group__api__network__types.html#ggab448e57fc1a5e21cbba0283fd1a35d99a8e40c9f169976770c3e65b9c0e44874c',1,'wiconnect']]] ];
--- a/doc/html/search/enumvalues_3.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/enumvalues_3.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,25 +1,13 @@ var searchData= [ - ['wiconnect_5faborted',['WICONNECT_ABORTED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789',1,'wiconnect']]], - ['wiconnect_5fanother_5fcmd_5fexecuting',['WICONNECT_ANOTHER_CMD_EXECUTING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83',1,'wiconnect']]], - ['wiconnect_5fbad_5farg',['WICONNECT_BAD_ARG',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa',1,'wiconnect']]], - ['wiconnect_5fcmd_5fresponse_5ferror',['WICONNECT_CMD_RESPONSE_ERROR',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff',1,'wiconnect']]], - ['wiconnect_5fduplicate',['WICONNECT_DUPLICATE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4',1,'wiconnect']]], - ['wiconnect_5ferror',['WICONNECT_ERROR',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6',1,'wiconnect']]], - ['wiconnect_5fidle',['WICONNECT_IDLE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1',1,'wiconnect']]], - ['wiconnect_5fmonitor_5fnot_5favailable',['WICONNECT_MONITOR_NOT_AVAILABLE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e',1,'wiconnect']]], - ['wiconnect_5fnot_5fconnected',['WICONNECT_NOT_CONNECTED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2',1,'wiconnect']]], - ['wiconnect_5fnot_5ffound',['WICONNECT_NOT_FOUND',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195',1,'wiconnect']]], - ['wiconnect_5fnot_5finitialized',['WICONNECT_NOT_INITIALIZED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43',1,'wiconnect']]], - ['wiconnect_5fnot_5fopened_5ffor_5freading',['WICONNECT_NOT_OPENED_FOR_READING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2',1,'wiconnect']]], - ['wiconnect_5fnull_5fbuffer',['WICONNECT_NULL_BUFFER',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5',1,'wiconnect']]], - ['wiconnect_5foverflow',['WICONNECT_OVERFLOW',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f',1,'wiconnect']]], - ['wiconnect_5fpinname_5fto_5fgpio_5fmapper_5fnull',['WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff',1,'wiconnect']]], - ['wiconnect_5fpinname_5fto_5fgpio_5fno_5fmapping',['WICONNECT_PINNAME_TO_GPIO_NO_MAPPING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a',1,'wiconnect']]], - ['wiconnect_5fprocessing',['WICONNECT_PROCESSING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0',1,'wiconnect']]], - ['wiconnect_5fresponse_5fparse_5ferror',['WICONNECT_RESPONSE_PARSE_ERROR',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5',1,'wiconnect']]], - ['wiconnect_5fsuccess',['WICONNECT_SUCCESS',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7',1,'wiconnect']]], - ['wiconnect_5ftimeout',['WICONNECT_TIMEOUT',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac',1,'wiconnect']]], - ['wiconnect_5funderflow',['WICONNECT_UNDERFLOW',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02',1,'wiconnect']]], - ['wiconnect_5funsupported',['WICONNECT_UNSUPPORTED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc',1,'wiconnect']]] + ['socket_5fhttp_5fget',['SOCKET_HTTP_GET',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6afc257aa28936e9fa8a332995b5449685',1,'wiconnect']]], + ['socket_5fhttp_5fhead',['SOCKET_HTTP_HEAD',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6a6d256a218aac67dffe66ae6c49a61236',1,'wiconnect']]], + ['socket_5fhttp_5fpost',['SOCKET_HTTP_POST',['../group__api__socket__types.html#ggadc1d6e26d4138c536bd5dce7ed4569d6ab271a5cd1775076aeb8c25fc14da12cb',1,'wiconnect']]], + ['socket_5ftype_5fghm',['SOCKET_TYPE_GHM',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da94c82597ad724e81c0bace9ed64ebc5f',1,'wiconnect']]], + ['socket_5ftype_5fhttp',['SOCKET_TYPE_HTTP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da3d433f1b569dc48077861cde0e464751',1,'wiconnect']]], + ['socket_5ftype_5ftcp',['SOCKET_TYPE_TCP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756daece967eb28f8913c30bc70fa1e0e5ff9',1,'wiconnect']]], + ['socket_5ftype_5ftls',['SOCKET_TYPE_TLS',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da0c365c200e62d61bf22798c25ccb96b4',1,'wiconnect']]], + ['socket_5ftype_5fudp',['SOCKET_TYPE_UDP',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756dab1b41b1c4daf8d171414b68e9033cfbc',1,'wiconnect']]], + ['socket_5ftype_5fudps',['SOCKET_TYPE_UDPS',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da77625728d545a400e0eae1483225ff91',1,'wiconnect']]], + ['socket_5ftype_5funknown',['SOCKET_TYPE_UNKNOWN',['../group__api__socket__types.html#gga69dc55558df4c81599c5fb3dff98756da6469a1b9d8fa6448c0f6f13e0028a60e',1,'wiconnect']]] ];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/enumvalues_4.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.7"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="enumvalues_4.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/enumvalues_4.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,25 @@ +var searchData= +[ + ['wiconnect_5faborted',['WICONNECT_ABORTED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ad345e256266694df078c99eaee04f789',1,'wiconnect']]], + ['wiconnect_5fanother_5fcmd_5fexecuting',['WICONNECT_ANOTHER_CMD_EXECUTING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a376da897f3a629fd71abd9db9f4cea83',1,'wiconnect']]], + ['wiconnect_5fbad_5farg',['WICONNECT_BAD_ARG',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae96c2edcdade2809cdb60a8a5b0983fa',1,'wiconnect']]], + ['wiconnect_5fcmd_5fresponse_5ferror',['WICONNECT_CMD_RESPONSE_ERROR',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a511a4e6fa8470f52110fc64f04cfe5ff',1,'wiconnect']]], + ['wiconnect_5fduplicate',['WICONNECT_DUPLICATE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5d9162280a5269a34245bf53c87401a4',1,'wiconnect']]], + ['wiconnect_5ferror',['WICONNECT_ERROR',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05acfd6d3c1efd03fae8cd443bc01bca8d6',1,'wiconnect']]], + ['wiconnect_5fidle',['WICONNECT_IDLE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a5bff05280d726da505c6e6ec2f085bd1',1,'wiconnect']]], + ['wiconnect_5fmonitor_5fnot_5favailable',['WICONNECT_MONITOR_NOT_AVAILABLE',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a28240905349a60a6b52bddbbd152ea5e',1,'wiconnect']]], + ['wiconnect_5fnot_5fconnected',['WICONNECT_NOT_CONNECTED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05aecb3384d1dc5a61345346a8cd63527b2',1,'wiconnect']]], + ['wiconnect_5fnot_5ffound',['WICONNECT_NOT_FOUND',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab9123e9628c3156f34c44913a72b4195',1,'wiconnect']]], + ['wiconnect_5fnot_5finitialized',['WICONNECT_NOT_INITIALIZED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05afea61b8f5d17f6be2aee2ce5b6bb7c43',1,'wiconnect']]], + ['wiconnect_5fnot_5fopened_5ffor_5freading',['WICONNECT_NOT_OPENED_FOR_READING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab3f9c2611514967ca4f155e35f522cc2',1,'wiconnect']]], + ['wiconnect_5fnull_5fbuffer',['WICONNECT_NULL_BUFFER',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a25c48e037bc3615840b81461db6385b5',1,'wiconnect']]], + ['wiconnect_5foverflow',['WICONNECT_OVERFLOW',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a2b2577cc3efe2cb37fda7dead222878f',1,'wiconnect']]], + ['wiconnect_5fpinname_5fto_5fgpio_5fmapper_5fnull',['WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab16dea725fe7b09d91a7651f18174cff',1,'wiconnect']]], + ['wiconnect_5fpinname_5fto_5fgpio_5fno_5fmapping',['WICONNECT_PINNAME_TO_GPIO_NO_MAPPING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a8d6d7c580a7aa3c4d64d41cac6e0307a',1,'wiconnect']]], + ['wiconnect_5fprocessing',['WICONNECT_PROCESSING',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a289d83a8cf2d1e1f272134d8268925c0',1,'wiconnect']]], + ['wiconnect_5fresponse_5fparse_5ferror',['WICONNECT_RESPONSE_PARSE_ERROR',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab17f003b5f90e88328bbc76435f9f2e5',1,'wiconnect']]], + ['wiconnect_5fsuccess',['WICONNECT_SUCCESS',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7',1,'wiconnect']]], + ['wiconnect_5ftimeout',['WICONNECT_TIMEOUT',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ae6a9fb0c6333a0431e5775da996087ac',1,'wiconnect']]], + ['wiconnect_5funderflow',['WICONNECT_UNDERFLOW',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05a7d4f9bd8b2b8ccc2ad902271e5241b02',1,'wiconnect']]], + ['wiconnect_5funsupported',['WICONNECT_UNSUPPORTED',['../group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05ab18f839c77a6a1f964c096980ef24adc',1,'wiconnect']]] +];
--- a/doc/html/search/functions_0.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_0.js Mon Oct 27 13:42:26 2014 -0700 @@ -2,6 +2,6 @@ [ ['checkcurrentcommand',['checkCurrentCommand',['../group__api__core__send__command.html#gaf48c1ec0b92af2619ab846baaaa471cd',1,'wiconnect::Wiconnect']]], ['closeallsockets',['closeAllSockets',['../group__api__socket__misc.html#ga8a80d96efac7cc514fe7fc61d1878106',1,'wiconnect::SocketInterface']]], - ['connect',['connect',['../group__api__socket__misc.html#ga037cb2813683697342fff01239c7f6f8',1,'wiconnect::SocketInterface']]], + ['connect',['connect',['../group__api__socket__misc.html#gab24204ef309b6e7a52b03b35a7046b45',1,'wiconnect::SocketInterface']]], ['createfile',['createFile',['../group__api__file__methods.html#ga16fb09105975644879eb09581ce486e5',1,'wiconnect::FileInterface']]] ];
--- a/doc/html/search/functions_3.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_3.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,17 +1,32 @@ var searchData= [ - ['getcommanddefaulttimeout',['getCommandDefaultTimeout',['../group__api__core__settings.html#gad5d31980a7b1e143f00b0117468c1a7e',1,'wiconnect::Wiconnect']]], + ['getblockingenabled',['getBlockingEnabled',['../group__api__core__settings.html#gaf6115968c49c128717cacd2f06b883ad',1,'wiconnect::Wiconnect']]], + ['getcommanddefaulttimeout',['getCommandDefaultTimeout',['../group__api__core__settings.html#gad8d98b8d2610f4ea564bede27e87857e',1,'wiconnect::Wiconnect']]], ['getdhcpenabled',['getDhcpEnabled',['../group__api__network__settings.html#ga70ec796b88eb6f8e7990dbf3eb2f2eff',1,'wiconnect::NetworkInterface']]], + ['getdnsaddress',['getDnsAddress',['../group__api__network__settings.html#ga585cb71d386ee61db3772f4b3218cb6e',1,'wiconnect::NetworkInterface']]], ['getinstance',['getInstance',['../group__api__core__misc.html#ga8dcd3ac87afd58b225abb068e835d06e',1,'wiconnect::Wiconnect']]], - ['getipaddress',['getIpAddress',['../group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290',1,'wiconnect::NetworkInterface']]], + ['getipaddress',['getIpAddress',['../group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f',1,'wiconnect::NetworkInterface']]], ['getipsettings',['getIpSettings',['../group__api__network__settings.html#ga291aef702f1c10bf2970394e3458022b',1,'wiconnect::NetworkInterface']]], ['getlastcommandresponsecodestr',['getLastCommandResponseCodeStr',['../group__api__core__misc.html#gad8069679fabb52d44647d27703f1a09a',1,'wiconnect::Wiconnect']]], ['getlastcommandresponselength',['getLastCommandResponseLength',['../group__api__core__misc.html#ga600215de23210071c42996d04390071e',1,'wiconnect::Wiconnect']]], + ['getmacaddress',['getMacAddress',['../group__api__network__wlan.html#ga70991a2c5865c8f0b44b67de35f3b6b3',1,'wiconnect::NetworkInterface']]], ['getnetworkjoinresult',['getNetworkJoinResult',['../group__api__network__wlan.html#gafefe6e679d7b48a7127d3ed6371fe58b',1,'wiconnect::NetworkInterface']]], ['getnetworkstatus',['getNetworkStatus',['../group__api__network__wlan.html#ga047ba9670f60406466391cec5bdd28e5',1,'wiconnect::NetworkInterface']]], ['getresponsebuffer',['getResponseBuffer',['../group__api__core__misc.html#ga27b5d6b8207e4ef0f73875606d628da8',1,'wiconnect::Wiconnect']]], + ['getrssi',['getRssi',['../group__api__network__wlan.html#gaa9db3c463cf6b4f351c37671882dd3ee',1,'wiconnect::NetworkInterface']]], ['getsetting',['getSetting',['../group__api__core__settings.html#ga16d5022d1fbd784fe0fd90a56911c5bc',1,'wiconnect::Wiconnect::getSetting(const char *settingStr, uint32_t *valuePtr)'],['../group__api__core__settings.html#ga9dfd70aac8f0770f300ccf3a126ba296',1,'wiconnect::Wiconnect::getSetting(const char *settingStr, char **valuePtr)'],['../group__api__core__settings.html#ga670947ef630233f7866f885500548233',1,'wiconnect::Wiconnect::getSetting(const char *settingStr, char *valueBuffer, uint16_t valueBufferLen)']]], - ['getsignalstrength',['getSignalStrength',['../group__api__network__settings.html#gaba16b9918e55c08285cf5b8b50dbabea',1,'wiconnect::NetworkInterface']]], + ['getsignalstrength',['getSignalStrength',['../group__api__network__wlan.html#gaba16b9918e55c08285cf5b8b50dbabea',1,'wiconnect::NetworkInterface']]], ['getversion',['getVersion',['../group__api__core__misc.html#ga4fc195839bc6c6bd0091074cbdc94c4f',1,'wiconnect::Wiconnect']]], - ['getwiconnectresultstr',['getWiconnectResultStr',['../group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be',1,'wiconnect::Wiconnect']]] + ['getwiconnectresultstr',['getWiconnectResultStr',['../group__conversion__util.html#gac96e2d2fca60cba12e7429626f9186be',1,'wiconnect::Wiconnect']]], + ['ghmactivate',['ghmActivate',['../group__api__ghm__activate.html#gaa0213731eebd4a14e9099d01ff76beff',1,'wiconnect::GhmInterface']]], + ['ghmdeactivate',['ghmDeactivate',['../group__api__ghm__activate.html#gad0e0484d1f9a6608475874544f96708b',1,'wiconnect::GhmInterface']]], + ['ghmdeletemessage',['ghmDeleteMessage',['../group__api__ghm__msg.html#ga451de9d69f7ecbf38e36056e502b94b0',1,'wiconnect::GhmInterface::ghmDeleteMessage(uint8_t listIndex)'],['../group__api__ghm__msg.html#ga7273f4c691aeccd241327f1be3e8d0e9',1,'wiconnect::GhmInterface::ghmDeleteMessage(const char *msgId)']]], + ['ghmdownloadcapabilities',['ghmDownloadCapabilities',['../group__api__ghm__activate.html#gaff03ecaa08146e6925820209cdab56bd',1,'wiconnect::GhmInterface']]], + ['ghmgetmessage',['ghmGetMessage',['../group__api__ghm__msg.html#gaaa05391432b2ca38bb416c671f57b234',1,'wiconnect::GhmInterface::ghmGetMessage(WiconnectSocket &socket, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)'],['../group__api__ghm__msg.html#gaa905a010f0e234d290eaef6e42975c29',1,'wiconnect::GhmInterface::ghmGetMessage(WiconnectSocket &socket, uint8_t listIndex, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)'],['../group__api__ghm__msg.html#ga9c6dffaa871f2443a32d75276160682d',1,'wiconnect::GhmInterface::ghmGetMessage(WiconnectSocket &socket, const char *msgId, GhmMessageGetType getType=GHM_MSG_GET_DATA_ONLY)']]], + ['ghmisactivated',['ghmIsActivated',['../group__api__ghm__activate.html#ga8bec70f780ca7de9dce1a15830c179ff',1,'wiconnect::GhmInterface']]], + ['ghmlistmessages',['ghmListMessages',['../group__api__ghm__msg.html#gae69971594793e1a10f11a51277909502',1,'wiconnect::GhmInterface']]], + ['ghmpostmessage',['ghmPostMessage',['../group__api__ghm__msg.html#gadc281f497041b26a151c72a0b5d03543',1,'wiconnect::GhmInterface']]], + ['ghmread',['ghmRead',['../group__api__ghm__com.html#ga3fde7b34da992719b41fc52178b73bc2',1,'wiconnect::GhmInterface::ghmRead(const char *controlName, const char **valueStrPtr)'],['../group__api__ghm__com.html#ga2d4f14ef409c30b49ce2a06b72d10c7f',1,'wiconnect::GhmInterface::ghmRead(const char *controlName, uint32_t *valueIntPtr)'],['../group__api__ghm__com.html#ga965090d4b28bda9f58716b522a6bee12',1,'wiconnect::GhmInterface::ghmRead(const char *controlName, char *valueBuffer, uint16_t valueBufferLen)']]], + ['ghmsynchronize',['ghmSynchronize',['../group__api__ghm__com.html#ga0aa48506edb22c90be513683672b96c7',1,'wiconnect::GhmInterface']]], + ['ghmwrite',['ghmWrite',['../group__api__ghm__com.html#ga2f57fc33ad0e71d608b1350d4e3ab223',1,'wiconnect::GhmInterface::ghmWrite(const char *elementName, const char *strValue)'],['../group__api__ghm__com.html#ga26ef47c451e7dbe869f19f5f36695e7c',1,'wiconnect::GhmInterface::ghmWrite(const char *elementName, uint32_t uintValue)'],['../group__api__ghm__com.html#gab524e64f4bbae826c27bf39d7f2d3c2e',1,'wiconnect::GhmInterface::ghmWrite(const char *elementName, int32_t intValue)'],['../group__api__ghm__com.html#ga5eb797aba87a3ab76d742afe34292ee6',1,'wiconnect::GhmInterface::ghmWrite(const GhmElementArray *elementArray)']]] ];
--- a/doc/html/search/functions_5.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_5.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,7 @@ var searchData= [ ['init',['init',['../group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad',1,'wiconnect::Wiconnect']]], - ['iptostr',['ipToStr',['../group__conversion__util.html#gaff8b0af70f4d4be792b943ad3af27303',1,'wiconnect::NetworkInterface']]], + ['iptostr',['ipToStr',['../group__conversion__util.html#ga02e6b01f11f2283208f051b1b49b634c',1,'wiconnect::NetworkInterface']]], ['isinitialized',['isInitialized',['../group__api__core__misc.html#gab00c7110984f6d6187241d17a4a431ff',1,'wiconnect::Wiconnect']]], ['iswebsetuprunning',['isWebSetupRunning',['../group__api__network__setup.html#gab52d3a01427d0e8bd52460d992144f65',1,'wiconnect::NetworkInterface']]] ];
--- a/doc/html/search/functions_8.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_8.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['macaddresstostr',['macAddressToStr',['../group__conversion__util.html#ga13ecaf390b4bf4a68b51a6b18e669134',1,'wiconnect::NetworkInterface']]] + ['macaddresstostr',['macAddressToStr',['../group__conversion__util.html#ga01520d55f1923d90fb899ddef2f21cdf',1,'wiconnect::NetworkInterface']]] ];
--- a/doc/html/search/functions_c.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_c.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,6 +1,5 @@ var searchData= [ - ['registersocketirqhandler',['registerSocketIrqHandler',['../group__api__socket__misc.html#ga94d1eb5407cb8b60ad366ecbe0e1b52a',1,'wiconnect::SocketInterface']]], ['reset',['reset',['../group__api__core__misc.html#gabec1504eb7f486085dad82c4a94310e3',1,'wiconnect::Wiconnect']]], ['responsetoint32',['responseToInt32',['../group__api__core__misc.html#gada79343aece515e00f9be4045d3858a0',1,'wiconnect::Wiconnect']]], ['responsetouint32',['responseToUint32',['../group__api__core__misc.html#gac40b2964149e60245ff3cac6adbcd565',1,'wiconnect::Wiconnect']]],
--- a/doc/html/search/functions_d.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_d.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,16 +1,18 @@ var searchData= [ ['scan',['scan',['../group__api__network__util.html#gacdf014d8aca9de33dbc1563c6bb1f956',1,'wiconnect::NetworkInterface']]], - ['sendcommand',['sendCommand',['../group__api__core__send__command.html#ga3a2637e5ce300a03c448edf1eff13c2c',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#gad23730a1f2f7714ef962f24a0f99f0f7',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#ga0e0591e923da9ab814bb3dd3afbda197',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#gadd347dd3952ebab2fa27561c12858f65',1,'wiconnect::Wiconnect::sendCommand(int timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84',1,'wiconnect::Wiconnect::sendCommand(const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#ga3655750f929f8f4e966278193d0385a9',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, int timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, const char *cmd,...)'],['../group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4',1,'wiconnect::Wiconnect::sendCommand(const char *cmd,...)'],['../group__api__core__send__command.html#gaa6d744ec08ba6c9abf451bdc2b0beb00',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, int timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#gace479d34633141ff1eefa0e98c4d2351',1,'wiconnect::Wiconnect::sendCommand(int timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698',1,'wiconnect::Wiconnect::sendCommand(const char *cmd, va_list vaList)']]], + ['sendcommand',['sendCommand',['../group__api__core__send__command.html#gadd23f2f86fcc0a438dad798ab3353505',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#gaa36b07b28a166fe51f9dc92bcab5d3d8',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd, va_list vaList)'],['../group__api__core__send__command.html#gabe0e5c170b9c6ec7d6dc96a3639c721e',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#ga8c6d84b338847fbdd41f61c5375117e9',1,'wiconnect::Wiconnect::sendCommand(TimerTimeout timeoutMs, const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#gaca2f1b17d2cc98cbc6dac219ffcf9e84',1,'wiconnect::Wiconnect::sendCommand(const ReaderFunc &reader, void *user, const char *cmd,...)'],['../group__api__core__send__command.html#ga5f437c3518de14706c6fcff32a0b0f97',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, TimerTimeout timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#gaf93db1b2730bb586287f7756f3cdf092',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#gaac75ca154bd5d5a21c714dd828a92363',1,'wiconnect::Wiconnect::sendCommand(char *responseBuffer, int responseBufferLen, const char *cmd,...)'],['../group__api__core__send__command.html#ga7eb983a196daa5de20a73fd234dc6f64',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, const char *cmd,...)'],['../group__api__core__send__command.html#gadad1c5b3df07a24ab09492edf93dd1f4',1,'wiconnect::Wiconnect::sendCommand(const char *cmd,...)'],['../group__api__core__send__command.html#ga9a89a0dd00f8eedb5e3eb8d4a4ed58df',1,'wiconnect::Wiconnect::sendCommand(const Callback &completeCallback, TimerTimeout timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#ga5666d99d72494995db0a812fcc9bbd09',1,'wiconnect::Wiconnect::sendCommand(TimerTimeout timeoutMs, const char *cmd,...)'],['../group__api__core__send__command.html#ga9d0ade0ec2866d7e0df5391bc69f5698',1,'wiconnect::Wiconnect::sendCommand(const char *cmd, va_list vaList)']]], ['setassertlogger',['setAssertLogger',['../group__api__core__settings.html#ga273f67fede26be4a3d5d909c5cf8c7e0',1,'wiconnect::Wiconnect']]], - ['setcommanddefaulttimeout',['setCommandDefaultTimeout',['../group__api__core__settings.html#gaaaf8be221699870053ad98911b066a32',1,'wiconnect::Wiconnect']]], + ['setblockingenabled',['setBlockingEnabled',['../group__api__core__settings.html#ga851795595a422a14249b7ea9f0038c4c',1,'wiconnect::Wiconnect']]], + ['setcommanddefaulttimeout',['setCommandDefaultTimeout',['../group__api__core__settings.html#gacae50138f9388a66496408f9c2bf6a6f',1,'wiconnect::Wiconnect']]], ['setdebuglogger',['setDebugLogger',['../group__api__core__settings.html#ga75fb083451ee530a1c19e6a4c1be185e',1,'wiconnect::Wiconnect']]], ['setdhcpenabled',['setDhcpEnabled',['../group__api__network__settings.html#ga65eb99f880ed739d0f3cd393e5b56eaf',1,'wiconnect::NetworkInterface']]], + ['setdnsaddress',['setDnsAddress',['../group__api__network__settings.html#ga258d8b80064c6ce311a433affe63a0e9',1,'wiconnect::NetworkInterface']]], ['setipsettings',['setIpSettings',['../group__api__network__settings.html#ga2f7ec21084d3f2835d9c1c201915a9e0',1,'wiconnect::NetworkInterface::setIpSettings(uint32_t ip, uint32_t netmask, uint32_t gateway)'],['../group__api__network__settings.html#gaa418175dd3d06b870f3dd8e035cb4dd0',1,'wiconnect::NetworkInterface::setIpSettings(const char *ip, const char *netmask, const char *gateway)']]], ['setpintogpiomapper',['setPinToGpioMapper',['../group__api__core__settings.html#ga180b043ec83c53b5bf6b9ef2b187d08d',1,'wiconnect::Wiconnect']]], ['setsetting',['setSetting',['../group__api__core__settings.html#gace51a2841415a53f54fcce336182f0ec',1,'wiconnect::Wiconnect::setSetting(const char *settingStr, uint32_t value)'],['../group__api__core__settings.html#ga085a17a466905069940611bdd14c1d3e',1,'wiconnect::Wiconnect::setSetting(const char *settingStr, const char *value)']]], ['signalstrengthtostr',['signalStrengthToStr',['../group__conversion__util.html#gad4661f859cfadbe193793898671043c9',1,'wiconnect::NetworkInterface']]], - ['ssidtostr',['ssidToStr',['../group__conversion__util.html#gafce7929a10e16cf9be7307a2f97bef3f',1,'wiconnect::NetworkInterface']]], + ['ssidtostr',['ssidToStr',['../group__conversion__util.html#gae8b534c249d503aa764017bb088f3890',1,'wiconnect::NetworkInterface']]], ['startwebsetup',['startWebSetup',['../group__api__network__setup.html#gaea3e133f2ee8c95d8d108c15561f3847',1,'wiconnect::NetworkInterface']]], ['stopcurrentcommand',['stopCurrentCommand',['../group__api__core__send__command.html#ga4a9bd29de1d5c496fbcc28ecfa51e7c0',1,'wiconnect::Wiconnect']]], ['stopwebsetup',['stopWebSetup',['../group__api__network__setup.html#gac5ca67b7bfa587935b5619e441dc8d8a',1,'wiconnect::NetworkInterface']]],
--- a/doc/html/search/functions_e.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_e.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,8 +1,8 @@ var searchData= [ - ['tcpaccept',['tcpAccept',['../group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3',1,'wiconnect::SocketInterface']]], - ['tcpconnect',['tcpConnect',['../group__api__socket__tcp.html#ga4a788d604d759b5da51f682b998b9bd2',1,'wiconnect::SocketInterface']]], - ['tcplisten',['tcpListen',['../group__api__socket__tcp.html#ga563831b33089437233f128483d034578',1,'wiconnect::SocketInterface']]], + ['tcpaccept',['tcpAccept',['../group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035',1,'wiconnect::SocketInterface']]], + ['tcpconnect',['tcpConnect',['../group__api__socket__tcp.html#gad8e8632715a38222ce4fea5fe0aaf527',1,'wiconnect::SocketInterface']]], + ['tcplisten',['tcpListen',['../group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa',1,'wiconnect::SocketInterface']]], ['tcpserverstop',['tcpServerStop',['../group__api__socket__tcp.html#ga3d0137ebe308674e75f81457c38679d0',1,'wiconnect::SocketInterface']]], - ['tlsconnect',['tlsConnect',['../group__api__socket__tls.html#gacf10d28ced4591d99c4113ebee6382ca',1,'wiconnect::SocketInterface']]] + ['tlsconnect',['tlsConnect',['../group__api__socket__tls.html#ga4e6e89eb9aedec1ff6d25645c33f51e4',1,'wiconnect::SocketInterface']]] ];
--- a/doc/html/search/functions_f.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/functions_f.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,6 +1,6 @@ var searchData= [ - ['udpconnect',['udpConnect',['../group__api__socket__udp.html#ga80f1d19174124f3d0f246e1c1201b3ec',1,'wiconnect::SocketInterface']]], - ['unregistersocketirqhandler',['unregisterSocketIrqHandler',['../group__api__socket__misc.html#ga820d2fdb12d343212638e55633bd8551',1,'wiconnect::SocketInterface']]], + ['udpconnect',['udpConnect',['../group__api__socket__udp.html#ga0ca5eabcd64ce45b574205447101f8aa',1,'wiconnect::SocketInterface']]], + ['udplisten',['udpListen',['../group__api__socket__udp.html#ga067fb0d662d8e27e3f5b561ded29a51a',1,'wiconnect::SocketInterface']]], ['updatefirmware',['updateFirmware',['../group__api__core__misc.html#gad447fe3341539eb9b276d269645bb632',1,'wiconnect::Wiconnect']]] ];
--- a/doc/html/search/groups_0.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_0.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,5 +1,4 @@ var searchData= [ - ['core',['Core',['../group__api__core.html',1,'']]], - ['conversion_20utilities',['Conversion Utilities',['../group__conversion__util.html',1,'']]] + ['activation',['Activation',['../group__api__ghm__activate.html',1,'']]] ];
--- a/doc/html/search/groups_1.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_1.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,5 @@ var searchData= [ - ['examples',['Examples',['../group__api__core__examples.html',1,'']]], - ['examples',['Examples',['../group__api__file__examples.html',1,'']]], - ['examples',['Examples',['../group__api__network__examples.html',1,'']]], - ['examples',['Examples',['../group__api__socket__examples.html',1,'']]] + ['core',['Core',['../group__api__core.html',1,'']]], + ['conversion_20utilities',['Conversion Utilities',['../group__conversion__util.html',1,'']]] ];
--- a/doc/html/search/groups_2.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_2.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,8 @@ var searchData= [ - ['file',['File',['../group__api__file.html',1,'']]] + ['examples',['Examples',['../group__api__core__examples.html',1,'']]], + ['examples',['Examples',['../group__api__file__examples.html',1,'']]], + ['examples',['Examples',['../group__api__ghm__examples.html',1,'']]], + ['examples',['Examples',['../group__api__network__examples.html',1,'']]], + ['examples',['Examples',['../group__api__socket__examples.html',1,'']]] ];
--- a/doc/html/search/groups_3.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_3.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['http_20methods',['HTTP Methods',['../group__api__socket__http.html',1,'']]] + ['file',['File',['../group__api__file.html',1,'']]] ];
--- a/doc/html/search/groups_4.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_4.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,10 +1,4 @@ var searchData= [ - ['macros',['Macros',['../group__api__core__macro.html',1,'']]], - ['miscellaneous_20methods',['Miscellaneous Methods',['../group__api__core__misc.html',1,'']]], - ['macros',['Macros',['../group__api__file__macro.html',1,'']]], - ['methods',['Methods',['../group__api__file__methods.html',1,'']]], - ['macros',['Macros',['../group__api__network__macros.html',1,'']]], - ['macros',['Macros',['../group__api__socket__macro.html',1,'']]], - ['miscellaneous_20methods',['Miscellaneous Methods',['../group__api__socket__misc.html',1,'']]] + ['gohack_2eme',['goHACK.me',['../group__api__ghm.html',1,'']]] ];
--- a/doc/html/search/groups_5.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_5.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,4 +1,4 @@ var searchData= [ - ['network',['Network',['../group__api__network.html',1,'']]] + ['http_20methods',['HTTP Methods',['../group__api__socket__http.html',1,'']]] ];
--- a/doc/html/search/groups_6.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_6.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,7 +1,12 @@ var searchData= [ - ['send_20command_20methods',['Send Command Methods',['../group__api__core__send__command.html',1,'']]], - ['settings_20methods',['Settings Methods',['../group__api__core__settings.html',1,'']]], - ['settings_20methods',['Settings Methods',['../group__api__network__settings.html',1,'']]], - ['socket',['Socket',['../group__api__socket.html',1,'']]] + ['macros',['Macros',['../group__api__core__macro.html',1,'']]], + ['miscellaneous_20methods',['Miscellaneous Methods',['../group__api__core__misc.html',1,'']]], + ['macros',['Macros',['../group__api__file__macro.html',1,'']]], + ['methods',['Methods',['../group__api__file__methods.html',1,'']]], + ['macros',['Macros',['../group__api__ghm__macro.html',1,'']]], + ['message',['Message',['../group__api__ghm__msg.html',1,'']]], + ['macros',['Macros',['../group__api__network__macros.html',1,'']]], + ['macros',['Macros',['../group__api__socket__macro.html',1,'']]], + ['miscellaneous_20methods',['Miscellaneous Methods',['../group__api__socket__misc.html',1,'']]] ];
--- a/doc/html/search/groups_7.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_7.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,9 +1,4 @@ var searchData= [ - ['types',['Types',['../group__api__core__types.html',1,'']]], - ['types',['Types',['../group__api__file__types.html',1,'']]], - ['types',['Types',['../group__api__network__types.html',1,'']]], - ['tcp_20methods',['TCP Methods',['../group__api__socket__tcp.html',1,'']]], - ['tls_20methods',['TLS Methods',['../group__api__socket__tls.html',1,'']]], - ['types',['Types',['../group__api__socket__types.html',1,'']]] + ['network',['Network',['../group__api__network.html',1,'']]] ];
--- a/doc/html/search/groups_8.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_8.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,5 +1,4 @@ var searchData= [ - ['utility_20methods',['Utility Methods',['../group__api__network__util.html',1,'']]], - ['udp_20methods',['UDP Methods',['../group__api__socket__udp.html',1,'']]] + ['read_2fwrite',['Read/Write',['../group__api__ghm__com.html',1,'']]] ];
--- a/doc/html/search/groups_9.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/groups_9.js Mon Oct 27 13:42:26 2014 -0700 @@ -1,5 +1,7 @@ var searchData= [ - ['web_20setup_20methods',['Web Setup Methods',['../group__api__network__setup.html',1,'']]], - ['wlan_20methods',['WLAN Methods',['../group__api__network__wlan.html',1,'']]] + ['send_20command_20methods',['Send Command Methods',['../group__api__core__send__command.html',1,'']]], + ['settings_20methods',['Settings Methods',['../group__api__core__settings.html',1,'']]], + ['settings_20methods',['Settings Methods',['../group__api__network__settings.html',1,'']]], + ['socket',['Socket',['../group__api__socket.html',1,'']]] ];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/groups_a.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.7"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="groups_a.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/groups_a.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,10 @@ +var searchData= +[ + ['types',['Types',['../group__api__core__types.html',1,'']]], + ['types',['Types',['../group__api__file__types.html',1,'']]], + ['types',['Types',['../group__api__ghm__types.html',1,'']]], + ['types',['Types',['../group__api__network__types.html',1,'']]], + ['tcp_20methods',['TCP Methods',['../group__api__socket__tcp.html',1,'']]], + ['tls_20methods',['TLS Methods',['../group__api__socket__tls.html',1,'']]], + ['types',['Types',['../group__api__socket__types.html',1,'']]] +];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/groups_b.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.7"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="groups_b.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/groups_b.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,5 @@ +var searchData= +[ + ['utility_20methods',['Utility Methods',['../group__api__network__util.html',1,'']]], + ['udp_20methods',['UDP Methods',['../group__api__socket__udp.html',1,'']]] +];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/groups_c.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.7"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="groups_c.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/groups_c.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,5 @@ +var searchData= +[ + ['web_20setup_20methods',['Web Setup Methods',['../group__api__network__setup.html',1,'']]], + ['wlan_20methods',['WLAN Methods',['../group__api__network__wlan.html',1,'']]] +];
--- a/doc/html/search/search.js Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/search/search.js Mon Oct 27 13:42:26 2014 -0700 @@ -8,14 +8,14 @@ var indexSectionsWithContent = { 0: "acdefghijlmnopqrstuvw", - 1: "cfhlmnqrsw", + 1: "cfghlmnqrsw", 2: "w", 3: "cdfghijlmnoprstuw", 4: "clotv", - 5: "imps", - 6: "fhnsw", - 7: "fnsw", - 8: "cefhmnstuw", + 5: "impst", + 6: "fghnsw", + 7: "fgnsw", + 8: "acefghmnrstuw", 9: "l" };
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/typedefs_4.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html><head><title></title> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta name="generator" content="Doxygen 1.8.7"/> +<link rel="stylesheet" type="text/css" href="search.css"/> +<script type="text/javascript" src="typedefs_4.js"></script> +<script type="text/javascript" src="search.js"></script> +</head> +<body class="SRPage"> +<div id="SRIndex"> +<div class="SRStatus" id="Loading">Loading...</div> +<div id="SRResults"></div> +<script type="text/javascript"><!-- +createResults(); +--></script> +<div class="SRStatus" id="Searching">Searching...</div> +<div class="SRStatus" id="NoMatches">No Matches</div> +<script type="text/javascript"><!-- +document.getElementById("Loading").style.display="none"; +document.getElementById("NoMatches").style.display="none"; +var searchResults = new SearchResults("searchResults"); +searchResults.Search(); +--></script> +</div> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/search/typedefs_4.js Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,4 @@ +var searchData= +[ + ['timertimeout',['TimerTimeout',['../namespacewiconnect.html#a0c27570b2913afc6339821df7c934810',1,'wiconnect']]] +];
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/structwiconnect_1_1_ghm_element-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,123 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('structwiconnect_1_1_ghm_element.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">wiconnect::GhmElement Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="structwiconnect_1_1_ghm_element.html">wiconnect::GhmElement</a>, including all inherited members.</p> +<table class="directory"> +</table></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/structwiconnect_1_1_ghm_element.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,134 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('structwiconnect_1_1_ghm_element.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="structwiconnect_1_1_ghm_element-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">wiconnect::GhmElement Struct Reference<div class="ingroups"><a class="el" href="group__api__ghm__types.html">Types</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>goHACK.me stream or control value + <a href="structwiconnect_1_1_ghm_element.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>goHACK.me stream or control value </p> + +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00436">436</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +</div><hr/>The documentation for this struct was generated from the following file:<ul> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/structwiconnect_1_1_ghm_element_array-members.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,123 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('structwiconnect_1_1_ghm_element_array.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="headertitle"> +<div class="title">wiconnect::GhmElementArray Member List</div> </div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="structwiconnect_1_1_ghm_element_array.html">wiconnect::GhmElementArray</a>, including all inherited members.</p> +<table class="directory"> +</table></div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/html/structwiconnect_1_1_ghm_element_array.html Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,134 @@ +<!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>ACKme WiConnect Host Library</title> +<link rel="icon" href="favicon.ico" type="image/x-icon"> +<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> +<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="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> +<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" style="font-family:verdana;"> + <table border='0' cellpadding='0' cellspacing='0' width="98%"> + <tr style="height:20px"><td> </td></tr> + <tr style="border-collapse: collapse; padding: 0;"> + <td style="width:20px"></td> + <td style="padding-right:40px"><img src="ackmelogo.png" alt="ACKme Logo" /></td> + <td style="vertical-align:middle; text-align:left; font: bold 25px/100% Verdana, Arial, Helvetica, sans-serif;"> + WiConnect Host Library- API Reference Guide</td> + <td style="width:20px"></td> + </tr> + <tr><td> </td></tr> + </table> +</div><!-- Generated by Doxygen 1.8.7 --> +<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>Library Overview</span></a></li> + <li><a href="modules.html"><span>Library API</span></a></li> + <li><a href="examples.html"><span>API Examples</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="http://wiconnect.ack.me/2.0/general_overview"><span>WiConnect Reference Manual</span></a></li> + <li><a href="http://www.ack.me/WiConnect"><span>ACKme Website</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 id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="classes.html"><span>Class Index</span></a></li> + <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</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('structwiconnect_1_1_ghm_element_array.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>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</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>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><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="structwiconnect_1_1_ghm_element_array-members.html">List of all members</a> </div> + <div class="headertitle"> +<div class="title">wiconnect::GhmElementArray Struct Reference<div class="ingroups"><a class="el" href="group__api__ghm__types.html">Types</a></div></div> </div> +</div><!--header--> +<div class="contents"> + +<p>Array of goHACK.me stream or control values. + <a href="structwiconnect_1_1_ghm_element_array.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>></code></p> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p>Array of goHACK.me stream or control values. </p> + +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00451">451</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +</div><hr/>The documentation for this struct was generated from the following file:<ul> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> +</ul> +</div><!-- contents --> +</div><!-- doc-content --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="footer">© ACKme Networks 2014</li> + </ul> +</div> +</body> +</html> \ No newline at end of file
--- a/doc/html/structwiconnect_1_1_http_socket_args.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/structwiconnect_1_1_http_socket_args.html Mon Oct 27 13:42:26 2014 -0700 @@ -140,9 +140,9 @@ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Struct for hold HTTP socket configuration. </p> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00348">348</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00364">364</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div><hr/>The documentation for this struct was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/structwiconnect_1_1_mac_address.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/structwiconnect_1_1_mac_address.html Mon Oct 27 13:42:26 2014 -0700 @@ -119,9 +119,9 @@ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Network MAC Address type. </p> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00293">293</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00307">307</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div><hr/>The documentation for this struct was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/structwiconnect_1_1_ssid.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/structwiconnect_1_1_ssid.html Mon Oct 27 13:42:26 2014 -0700 @@ -132,9 +132,9 @@ <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Network SSID type. </p> -<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00283">283</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> +<p>Definition at line <a class="el" href="_wiconnect_types_8h_source.html#l00297">297</a> of file <a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a>.</p> </div><hr/>The documentation for this struct was generated from the following file:<ul> -<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> +<li>C:/Users/reed/workspace/host-wiconnect/src/wiconnect/Wiconnect/api/<a class="el" href="_wiconnect_types_8h_source.html">WiconnectTypes.h</a></li> </ul> </div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/tcp__server_2example_8cpp_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/tcp__server_2example_8cpp_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -218,9 +218,9 @@ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">// STEP 4: Start the TCP server</span></div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="comment">//-------------------------------------------------------------------------</span></div> <div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  printf(<span class="stringliteral">"Starting TCP server, listening on: %s:%d\r\n"</span>, wiconnectIfc.<a class="code" href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">getIpAddress</a>(), TCP_SERVER_PORT);</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  printf(<span class="stringliteral">"Starting TCP server, listening on: %s:%d\r\n"</span>, wiconnectIfc.<a class="code" href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">getIpAddress</a>(), TCP_SERVER_PORT);</div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span>(<a class="code" href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64">WICONNECT_FAILED</a>(result, wiconnectIfc.<a class="code" href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">tcpListen</a>(TCP_SERVER_PORT, TCP_SERVER_MAX_CLIENTS)))</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">if</span>(<a class="code" href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64">WICONNECT_FAILED</a>(result, wiconnectIfc.<a class="code" href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">tcpListen</a>(TCP_SERVER_PORT, TCP_SERVER_MAX_CLIENTS)))</div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  {</div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  printf(<span class="stringliteral">"Failed to start TCP server: %s\r\n"</span>, Wiconnect::getWiconnectResultStr(result));</div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">for</span>(;;); <span class="comment">// infinite loop</span></div> @@ -235,7 +235,7 @@ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  printf(<span class="stringliteral">"Waiting for a client to connect...\r\n"</span>);</div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span>(<a class="code" href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64">WICONNECT_FAILED</a>(result, wiconnectIfc.<a class="code" href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">tcpAccept</a>(clientSocket)))</div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span>(<a class="code" href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64">WICONNECT_FAILED</a>(result, wiconnectIfc.<a class="code" href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">tcpAccept</a>(clientSocket)))</div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  {</div> <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  printf(<span class="stringliteral">"Failed to accept client: %s\r\n"</span>, Wiconnect::getWiconnectResultStr(result));</div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">continue</span>;</div> @@ -278,15 +278,15 @@ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div> <div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div> <div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> -<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00129">sdk.h:129</a></div></div> -<div class="ttc" id="group__api__network__settings_html_ga0b8fc3d5be0bae9ffcdc1b4b9aee6290"><div class="ttname"><a href="group__api__network__settings.html#ga0b8fc3d5be0bae9ffcdc1b4b9aee6290">wiconnect::NetworkInterface::getIpAddress</a></div><div class="ttdeci">const char * getIpAddress(char *buffer=NULL)</div><div class="ttdoc">Return the current IP address of the module if possible, else return 0.0.0.0. </div></div> +<div class="ttc" id="group__api__network__settings_html_gabd8eb629fd40defaa9ab22c189652a3f"><div class="ttname"><a href="group__api__network__settings.html#gabd8eb629fd40defaa9ab22c189652a3f">wiconnect::NetworkInterface::getIpAddress</a></div><div class="ttdeci">const char * getIpAddress(char *buffer ALLOW_NULL_STRING_BUFFER)</div><div class="ttdoc">Return the current IP address of the module if possible, else return 0.0.0.0. </div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> +<div class="ttc" id="group__api__socket__tcp_html_ga9f4f3e53ea7f4e84d43529da8580aaaa"><div class="ttname"><a href="group__api__socket__tcp.html#ga9f4f3e53ea7f4e84d43529da8580aaaa">wiconnect::SocketInterface::tcpListen</a></div><div class="ttdeci">WiconnectResult tcpListen(uint16_t listeningPort, int maxClients=0 GPIO_IRQ_ARG_NC)</div><div class="ttdoc">Start internal TCP server and listen on specified port. </div></div> +<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00140">sdk.h:140</a></div></div> <div class="ttc" id="group__api__core__misc_html_gae2e3add2e60543d0e3340ed7a9e034ad"><div class="ttname"><a href="group__api__core__misc.html#gae2e3add2e60543d0e3340ed7a9e034ad">wiconnect::Wiconnect::init</a></div><div class="ttdeci">WiconnectResult init(bool bringNetworkUp=false)</div><div class="ttdoc">Initialize library and communication link with WiConnect WiFi module. </div></div> -<div class="ttc" id="group__api__socket__tcp_html_ga0ea4efc810c7c5a9fbd96fcc627633b3"><div class="ttname"><a href="group__api__socket__tcp.html#ga0ea4efc810c7c5a9fbd96fcc627633b3">wiconnect::SocketInterface::tcpAccept</a></div><div class="ttdeci">WiconnectResult tcpAccept(WiconnectSocket &socket, int timeoutMs=WICONNECT_WAIT_FOREVER)</div><div class="ttdoc">Wait for next client to connect to TCP server. </div></div> +<div class="ttc" id="group__api__socket__tcp_html_ga9e12bc568b7e8d72152e53a90de13035"><div class="ttname"><a href="group__api__socket__tcp.html#ga9e12bc568b7e8d72152e53a90de13035">wiconnect::SocketInterface::tcpAccept</a></div><div class="ttdeci">WiconnectResult tcpAccept(WiconnectSocket &socket, uint32_t timeoutMs=WICONNECT_WAIT_FOREVER)</div><div class="ttdoc">Wait for next client to connect to TCP server. </div></div> <div class="ttc" id="classwiconnect_1_1_wiconnect_socket_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect_socket.html">wiconnect::WiconnectSocket</a></div><div class="ttdoc">Connection object to remote server. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_socket_8h_source.html#l00043">WiconnectSocket.h:43</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> -<div class="ttc" id="group__api__socket__tcp_html_ga563831b33089437233f128483d034578"><div class="ttname"><a href="group__api__socket__tcp.html#ga563831b33089437233f128483d034578">wiconnect::SocketInterface::tcpListen</a></div><div class="ttdeci">WiconnectResult tcpListen(uint16_t listeningPort, int maxClients=0, Pin irqPin=PIN_NC)</div><div class="ttdoc">Start internal TCP server and listen on specified port. </div></div> -<div class="ttc" id="group__api__core__macro_html_gab27aa3ef76302b5221766abfd4f47e64"><div class="ttname"><a href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64">WICONNECT_FAILED</a></div><div class="ttdeci">#define WICONNECT_FAILED(result, func)</div><div class="ttdoc">Populates result with return value from func, returns TRUE if return value contains error...</div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00092">WiconnectTypes.h:92</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> +<div class="ttc" id="group__api__core__macro_html_gab27aa3ef76302b5221766abfd4f47e64"><div class="ttname"><a href="group__api__core__macro.html#gab27aa3ef76302b5221766abfd4f47e64">WICONNECT_FAILED</a></div><div class="ttdeci">#define WICONNECT_FAILED(result, func)</div><div class="ttdoc">Populates result with return value from func, returns TRUE if return value contains error...</div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00093">WiconnectTypes.h:93</a></div></div> <div class="ttc" id="group__api__network__wlan_html_gac439d0af5a17da32d405e25dcba83d16"><div class="ttname"><a href="group__api__network__wlan.html#gac439d0af5a17da32d405e25dcba83d16">wiconnect::NetworkInterface::join</a></div><div class="ttdeci">WiconnectResult join(const char *ssid=NULL, const char *password=NULL, const Callback &completeHandler=Callback())</div><div class="ttdoc">Join a WiFi network. </div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content -->
--- a/doc/html/web__setup_2example_8cpp_source.html Mon Oct 27 13:32:40 2014 -0700 +++ b/doc/html/web__setup_2example_8cpp_source.html Mon Oct 27 13:42:26 2014 -0700 @@ -238,11 +238,11 @@ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span> {</div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  webSetupCompleteFlag = <span class="keyword">true</span>;</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span> }</div> -<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00159">WiconnectTypes.h:159</a></div></div> +<div class="ttc" id="group__api__core__types_html_ga325637ed501728bd6c8c7a7982b9ce05"><div class="ttname"><a href="group__api__core__types.html#ga325637ed501728bd6c8c7a7982b9ce05">wiconnect::WiconnectResult</a></div><div class="ttdeci">WiconnectResult</div><div class="ttdoc">API Result code. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00166">WiconnectTypes.h:166</a></div></div> <div class="ttc" id="classwiconnect_1_1_callback_html"><div class="ttname"><a href="classwiconnect_1_1_callback.html">wiconnect::Callback</a></div><div class="ttdoc">Generic callback function. </div><div class="ttdef"><b>Definition:</b> <a href="_callback_8h_source.html#l00049">Callback.h:49</a></div></div> -<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00129">sdk.h:129</a></div></div> -<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00165">WiconnectTypes.h:165</a></div></div> -<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00074">WiconnectInterface.h:74</a></div></div> +<div class="ttc" id="classwiconnect_1_1_serial_config_html"><div class="ttname"><a href="classwiconnect_1_1_serial_config.html">wiconnect::SerialConfig</a></div><div class="ttdoc">Host<->Wiconnect Module serial configuration. </div><div class="ttdef"><b>Definition:</b> <a href="sdk_8h_source.html#l00140">sdk.h:140</a></div></div> +<div class="ttc" id="group__api__core__types_html_gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7"><div class="ttname"><a href="group__api__core__types.html#gga325637ed501728bd6c8c7a7982b9ce05af0a2ad8af174aee6b52813d8528328e7">wiconnect::WICONNECT_SUCCESS</a></div><div class="ttdoc">Command successfully completed. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_types_8h_source.html#l00172">WiconnectTypes.h:172</a></div></div> +<div class="ttc" id="classwiconnect_1_1_wiconnect_html"><div class="ttname"><a href="classwiconnect_1_1_wiconnect.html">wiconnect::Wiconnect</a></div><div class="ttdoc">The root WiConnect library class. This class inheriets all WiConnect functionality. </div><div class="ttdef"><b>Definition:</b> <a href="_wiconnect_interface_8h_source.html#l00078">WiconnectInterface.h:78</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/wiconnect_library.doxyfile Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,2329 @@ +# Doxyfile 1.8.7 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = "WiConnect Host Library" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is included in +# the documentation. The maximum height of the logo should not exceed 55 pixels +# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo +# to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a +# new page for each member. If set to NO, the documentation of a member will be +# part of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = YES + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO these classes will be included in the various overviews. This option has +# no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the +# todo list. This list is created by putting \todo commands in the +# documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the +# test list. This list is created by putting \test commands in the +# documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST = YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if <section_label> ... \endif and \cond <section_label> +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES the list +# will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. Do not use file names with spaces, bibtex cannot handle them. See +# also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO doxygen will only warn about wrong or incomplete parameter +# documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. +# Note: If this tag is empty the current directory is searched. + +INPUT = ../src/wiconnect/Wiconnect ../src/wiconnect/Wiconnect/api ../src/wiconnect/Wiconnect/api/types ../src/wiconnect/Wiconnect/sdk/mbed ../src/wiconnect/examples/mbed ../src/wiconnect/examples/mbed/web_setup ../src/wiconnect/examples/mbed/join ../src/wiconnect/examples/mbed/http_get ../src/wiconnect/examples/mbed/tcp_server ../src/wiconnect/examples/mbed/ota + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank the +# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, +# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, +# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, +# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, +# *.qsf, *.as and *.js. + +FILE_PATTERNS = + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = ../src/wiconnect/Wiconnect/sdk/arduino + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = *.c */sdk/mbed/*.cpp + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = wiconnect::Buffer wiconnect::CommandQueue wiconnect::SocketIrqHandlerMap wiconnect::TimeoutTimer wiconnect::WICONNECT_EXTERNAL_INTERRUPT_GPIO_BASE_CLASS wiconnect::WICONNECT_GPIO_BASE_CLASS wiconnect::WICONNECT_PERIODIC_TIMER_BASE_CLASS wiconnect::WICONNECT_SERIAL_BASE_CLASS + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = ../src/wiconnect/examples/mbed + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = YES + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# <filter> <input-file> +# +# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER ) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES, then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# compiled with the --with-libclang option. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = header.html + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = footer.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- +# defined cascading style sheet that is included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefor more robust against future updates. +# Doxygen will copy the style sheet file to the output directory. For an example +# see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the stylesheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 0 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 40 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler ( hhc.exe). If non-empty +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated ( +# YES) or that it should be included in the master .chm file ( NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated ( +# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = YES + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 1 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use <access key> + S +# (what the <access key> is depends on the OS and browser, but it is typically +# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down +# key> to jump into the search results window, the results can be navigated +# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel +# the search. The filter options can be selected when the cursor is inside the +# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys> +# to select a filter and <Enter> or <escape> to activate or cancel the filter +# option. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a web server instead of a web client using Javascript. There +# are two flavors of web server based searching depending on the EXTERNAL_SEARCH +# setting. When disabled, doxygen will generate a PHP script for searching and +# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +# and searching needs to be provided by external tools. See the section +# "External Indexing and Searching" for details. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SERVER_BASED_SEARCH = NO + +# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain the +# search results. +# +# Doxygen ships with an example indexer ( doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). +# +# See the section "External Indexing and Searching" for details. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will return the search results when EXTERNAL_SEARCH is enabled. +# +# Doxygen ships with an example indexer ( doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Searching" for details. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. +# The default file is: searchdata.xml. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of +# to a relative location where the documentation can be found. The format is: +# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTRA_SEARCH_MAPPINGS = + +#--------------------------------------------------------------------------- +# Configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output. +# The default value is: YES. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. +# +# Note that when enabling USE_PDFLATEX this option is only used for generating +# bitmaps for formulas in the HTML output, but not in the Makefile that is +# written to the output directory. +# The default file is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate +# index for LaTeX. +# The default file is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX +# documents. This may be useful for small projects and may help to save some +# trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used by the +# printer. +# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x +# 14 inches) and executive (7.25 x 10.5 inches). +# The default value is: a4. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +PAPER_TYPE = a4 + +# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names +# that should be included in the LaTeX output. To get the times font for +# instance you can specify +# EXTRA_PACKAGES=times +# If left blank no extra packages will be included. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the +# generated LaTeX document. The header should contain everything until the first +# chapter. If it is left blank doxygen will generate a standard header. See +# section "Doxygen usage" for information on how to let doxygen write the +# default header to a separate file. +# +# Note: Only use a user-defined header if you know what you are doing! The +# following commands have a special meaning inside the header: $title, +# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will +# replace them by respectively the title of the page, the current date and time, +# only the current date, the version number of doxygen, the project name (see +# PROJECT_NAME), or the project number (see PROJECT_NUMBER). +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_HEADER = + +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the +# generated LaTeX document. The footer should contain everything after the last +# chapter. If it is left blank doxygen will generate a standard footer. +# +# Note: Only use a user-defined footer if you know what you are doing! +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_FOOTER = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the LATEX_OUTPUT output +# directory. Note that the files will be copied as-is; there are no commands or +# markers available. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_FILES = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is +# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will +# contain links (just like the HTML output) instead of page references. This +# makes the output suitable for online browsing using a PDF viewer. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +PDF_HYPERLINKS = YES + +# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate +# the PDF file directly from the LaTeX files. Set this option to YES to get a +# higher quality PDF documentation. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode +# command to the generated LaTeX files. This will instruct LaTeX to keep running +# if errors occur, instead of asking the user for help. This option is also used +# when generating formulas in HTML. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_BATCHMODE = NO + +# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the +# index chapters (such as File Index, Compound Index, etc.) in the output. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_HIDE_INDICES = NO + +# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source +# code with syntax highlighting in the LaTeX output. +# +# Note that which sources are shown also depends on other settings such as +# SOURCE_BROWSER. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. See +# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# The default value is: plain. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_BIB_STYLE = plain + +#--------------------------------------------------------------------------- +# Configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The +# RTF output is optimized for Word 97 and may not look too pretty with other RTF +# readers/editors. +# The default value is: NO. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: rtf. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF +# documents. This may be useful for small projects and may help to save some +# trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will +# contain hyperlink fields. The RTF file will contain links (just like the HTML +# output) instead of page references. This makes the output suitable for online +# browsing using Word or some other Word compatible readers that support those +# fields. +# +# Note: WordPad (write) and others do not support links. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's config +# file, i.e. a series of assignments. You only have to provide replacements, +# missing definitions are set to their default value. +# +# See also section "Doxygen usage" for information on how to generate the +# default style sheet that doxygen normally uses. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an RTF document. Syntax is +# similar to doxygen's config file. A template extensions file can be generated +# using doxygen -e rtf extensionFile. +# This tag requires that the tag GENERATE_RTF is set to YES. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for +# classes and files. +# The default value is: NO. + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. A directory man3 will be created inside the directory specified by +# MAN_OUTPUT. +# The default directory is: man. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to the generated +# man pages. In case the manual section does not start with a number, the number +# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is +# optional. +# The default value is: .3. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_EXTENSION = .3 + +# The MAN_SUBDIR tag determines the name of the directory created within +# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by +# MAN_EXTENSION with the initial . removed. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_SUBDIR = + +# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it +# will generate one additional man file for each entity documented in the real +# man page(s). These additional files only source the real man page, but without +# them the man command would be unable to find the correct page. +# The default value is: NO. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that +# captures the structure of the code including all documentation. +# The default value is: NO. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: xml. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_OUTPUT = xml + +# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program +# listings (including syntax highlighting and cross-referencing information) to +# the XML output. Note that enabling this will significantly increase the size +# of the XML output. +# The default value is: YES. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files +# that can be used to generate PDF. +# The default value is: NO. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. +# The default directory is: docbook. +# This tag requires that the tag GENERATE_DOCBOOK is set to YES. + +DOCBOOK_OUTPUT = docbook + +#--------------------------------------------------------------------------- +# Configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen +# Definitions (see http://autogen.sf.net) file that captures the structure of +# the code including all documentation. Note that this feature is still +# experimental and incomplete at the moment. +# The default value is: NO. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module +# file that captures the structure of the code including all documentation. +# +# Note that this feature is still experimental and incomplete at the moment. +# The default value is: NO. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary +# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI +# output from the Perl module output. +# The default value is: NO. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely +# formatted so it can be parsed by a human reader. This is useful if you want to +# understand what is going on. On the other hand, if this tag is set to NO the +# size of the Perl module output will be much smaller and Perl will parse it +# just the same. +# The default value is: YES. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file are +# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful +# so different doxyrules.make files included by the same Makefile don't +# overwrite each other's variables. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all +# C-preprocessor directives found in the sources and include files. +# The default value is: YES. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names +# in the source code. If set to NO only conditional compilation will be +# performed. Macro expansion can be done in a controlled way by setting +# EXPAND_ONLY_PREDEF to YES. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then +# the macro expansion is limited to the macros specified with the PREDEFINED and +# EXPAND_AS_DEFINED tags. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES the includes files in the +# INCLUDE_PATH will be searched if a #include is found. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by the +# preprocessor. +# This tag requires that the tag SEARCH_INCLUDES is set to YES. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will be +# used. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that are +# defined before the preprocessor is started (similar to the -D option of e.g. +# gcc). The argument of the tag is a list of macros of the form: name or +# name=definition (no spaces). If the definition and the "=" are omitted, "=1" +# is assumed. To prevent a macro definition from being undefined via #undef or +# recursively expanded use the := operator instead of the = operator. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this +# tag can be used to specify a list of macro names that should be expanded. The +# macro definition that is found in the sources will be used. Use the PREDEFINED +# tag if you want to use a different macro definition that overrules the +# definition found in the source code. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will +# remove all references to function-like macros that are alone on a line, have +# an all uppercase name, and do not end with a semicolon. Such function macros +# are typically used for boiler-plate code, and will confuse the parser if not +# removed. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration options related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tag files. For each tag +# file the location of the external documentation should be added. The format of +# a tag file without this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where loc1 and loc2 can be relative or absolute paths or URLs. See the +# section "Linking to external documentation" for more information about the use +# of tag files. +# Note: Each tag file must have a unique name (where the name does NOT include +# the path). If a tag file is not located in the directory in which doxygen is +# run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create a +# tag file that is based on the input files it reads. See section "Linking to +# external documentation" for more information about the usage of tag files. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external class will be listed in the +# class index. If set to NO only the inherited external classes will be listed. +# The default value is: NO. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in +# the modules index. If set to NO, only the current project's groups will be +# listed. +# The default value is: YES. + +EXTERNAL_GROUPS = YES + +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in +# the related pages index. If set to NO, only the current project's pages will +# be listed. +# The default value is: YES. + +EXTERNAL_PAGES = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of 'which perl'). +# The default file (with absolute path) is: /usr/bin/perl. + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram +# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to +# NO turns the diagrams off. Note that this option also works with HAVE_DOT +# disabled, but it is recommended to install and use dot, since it yields more +# powerful graphs. +# The default value is: YES. + +CLASS_DIAGRAMS = NO + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see: +# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# You can include diagrams made with dia in doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. + +DIA_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide inheritance +# and usage relations if the target is undocumented or is not a class. +# The default value is: YES. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz (see: +# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# Bell Labs. The other options in this section have no effect if this option is +# set to NO +# The default value is: NO. + +HAVE_DOT = NO + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed +# to run in parallel. When set to 0 doxygen will base this on the number of +# processors available in the system. You can set it explicitly to a value +# larger than 0 to get control over the balance between CPU load and processing +# speed. +# Minimum value: 0, maximum value: 32, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_NUM_THREADS = 0 + +# When you want a differently looking font n the dot files that doxygen +# generates you can specify the font name using DOT_FONTNAME. You need to make +# sure dot is able to find the font, which can be done by putting it in a +# standard location or by setting the DOTFONTPATH environment variable or by +# setting DOT_FONTPATH to the directory containing the font. +# The default value is: Helvetica. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of +# dot graphs. +# Minimum value: 4, maximum value: 24, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the default font as specified with +# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set +# the path where dot can find it using this tag. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_FONTPATH = + +# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for +# each documented class showing the direct and indirect inheritance relations. +# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a +# graph for each documented class showing the direct and indirect implementation +# dependencies (inheritance, containment, and class references variables) of the +# class with other documented classes. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for +# groups, showing the direct groups dependencies. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +UML_LOOK = NO + +# If the UML_LOOK tag is enabled, the fields and methods are shown inside the +# class node. If there are many fields or methods and many nodes the graph may +# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the +# number of items for each type to make the size more manageable. Set this to 0 +# for no limit. Note that the threshold may be exceeded by 50% before the limit +# is enforced. So when you set the threshold to 10, up to 15 fields may appear, +# but if the number exceeds 15, the total amount of fields shown is limited to +# 10. +# Minimum value: 0, maximum value: 100, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. + +UML_LIMIT_NUM_FIELDS = 10 + +# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and +# collaboration graphs will show the relations between templates and their +# instances. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +TEMPLATE_RELATIONS = NO + +# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to +# YES then doxygen will generate a graph for each documented file showing the +# direct and indirect include dependencies of the file with other documented +# files. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +INCLUDE_GRAPH = YES + +# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are +# set to YES then doxygen will generate a graph for each documented file showing +# the direct and indirect include dependencies of the file with other documented +# files. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH tag is set to YES then doxygen will generate a call +# dependency graph for every global function or class method. +# +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller +# dependency graph for every global function or class method. +# +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable caller graphs for selected +# functions only using the \callergraph command. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical +# hierarchy of all classes instead of a textual one. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the +# dependencies a directory has on other directories in a graphical way. The +# dependency relations are determined by the #include relations between the +# files in the directories. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. +# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order +# to make the SVG files visible in IE 9+ (other browsers do not have this +# requirement). +# Possible values are: png, jpg, gif and svg. +# The default value is: png. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_IMAGE_FORMAT = png + +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# +# Note that this requires a modern browser other than Internet Explorer. Tested +# and working are Firefox, Chrome, Safari, and Opera. +# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make +# the SVG files visible. Older versions of IE do not have SVG support. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +INTERACTIVE_SVG = NO + +# The DOT_PATH tag can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the \dotfile +# command). +# This tag requires that the tag HAVE_DOT is set to YES. + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = + +# The DIAFILE_DIRS tag can be used to specify one or more directories that +# contain dia files that are included in the documentation (see the \diafile +# command). + +DIAFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes +# that will be shown in the graph. If the number of nodes in a graph becomes +# larger than this value, doxygen will truncate the graph, which is visualized +# by representing a node as a red box. Note that doxygen if the number of direct +# children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that +# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. +# Minimum value: 0, maximum value: 10000, default value: 50. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs +# generated by dot. A depth value of 3 means that only nodes reachable from the +# root by following a path via at most 3 edges will be shown. Nodes that lay +# further from the root node will be omitted. Note that setting this option to 1 +# or 2 may greatly reduce the computation time needed for large code bases. Also +# note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. +# Minimum value: 0, maximum value: 1000, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not seem +# to support this out of the box. +# +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) support +# this, this feature is disabled by default. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page +# explaining the meaning of the various boxes and arrows in the dot generated +# graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot +# files that are used to generate the various graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_CLEANUP = YES
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/internal/CommandCommon.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,107 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + +#include <stdio.h> +#include <stdarg.h> +#include "Wiconnect.h" +#include "api/StringUtil.h" +#include "internal/common.h" + + +#define CHECK_NULL_BUFFER(buf) if(buf == NULL) return WICONNECT_NULL_BUFFER +#define CHECK_INITIALIZED() if(!initialized) return WICONNECT_NOT_INITIALIZED +#define RESET_CMD_HEADER(header) memset(header, 0, sizeof(CommandHeader)); header->bytes_remaining = WICONNECT_HEADER_LENGTH + +#ifdef WICONNECT_ENABLE_DEBUGGING +#define DEBUG_CMD_SEND(cmd) debugLog(">> CMD: %s", cmd) +#define DEBUG_CMD_LOG(res) debugLog("<< LOG: %s", res) +#define DEBUG_CMD_RESPONSE(res) debugLog("<< RES: %s", res) +#define DEBUG_CMD_ERROR(code) debugLog("<< ERR:(%d) %s", code, getLastCommandResponseCodeStr()) +#define DEBUG_ERROR(msg, ...) debugLog(" ERR: " msg, ## __VA_ARGS__) +#define DEBUG_INFO(msg, ...) debugLog(" DBG: " msg, ## __VA_ARGS__) +#else +#define DEBUG_CMD_SEND(cmd) +#define DEBUG_CMD_LOG(res) +#define DEBUG_CMD_RESPONSE(res) +#define DEBUG_CMD_ERROR(code) +#define DEBUG_ERROR(msg, ...) +#define DEBUG_INFO(msg, ...) +#endif + + +typedef enum +{ + WICONNECT_CMD_TYPE_NULL = 0, + WICONNECT_CMD_TYPE_REPLY = 'R', + WICONNECT_CMD_TYPE_LOG = 'L', + WICONNECT_CMD_TYPE_SAFEMODE = 'S' +} ResponseType; + +typedef enum +{ + WICONNECT_CMD_CODE_NULL = 0, + WICONNECT_CMD_SUCCESS = 1, // The command was successful + WICONNECT_CMD_FAILED = 2, // The command failed, most likely in the firmware + WICONNECT_CMD_PARSE_ERROR = 3, // Failed to parse the command + WICONNECT_CMD_UNKNOWN = 4, // Unknown command + WICONNECT_CMD_TOO_FEW_ARGS = 5, // Not enough command arguments + WICONNECT_CMD_TOO_MANY_ARGS = 6, // Too many command arguments + WICONNECT_CMD_UNKNOWN_OPTION = 7, // Unknown option (e.g. known 'set' command option) + WICONNECT_CMD_BAD_ARGS = 8, // Invalid command arguments +} ResponseCode; + +#define WICONNECT_HEADER_LENGTH 9 +typedef struct +{ + ResponseType response_type; + ResponseCode response_code; + uint16_t response_len; + uint8_t len_buffer[WICONNECT_HEADER_LENGTH]; + uint8_t *len_buffer_ptr; + uint8_t bytes_remaining; +} CommandHeader; + +typedef struct +{ + char *responseBuffer; + char *responseBufferPtr; + int responseBufferLen; + ReaderFunc reader; + void *user; + char *commandPtr; + int commandLen; + int bytesToWrite; + int bytesToRead; + TimerTimeout timeoutMs; + Callback callback; + bool nonBlocking; +} CommandContext; +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/internal/WiconnectCommands.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,46 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#pragma once + + + + +#define CMD_SAVE "save" +#define CMD_GET_VERSION "ver" + + +#define CMD_SET_SYSTEM_COMMAND_MODE "set system.cmd.mode %s" +#define CMD_SET_NETWORK_DHCP "set network.dhcp.enabled %d" +#define CMD_SET_STATIC_IP "set static.ip %d.%d.%d.%d" +#define CMD_SET_STATIC_GATEWAY "set static.netmask %d.%d.%d.%d" +#define CMD_SET_STATIC_NETMASK "set static.gateway %d.%d.%d.%d" + + +#define CMD_GET_NETWORK_STATUS "get network.status" +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/internal/common.h Mon Oct 27 13:42:26 2014 -0700 @@ -0,0 +1,117 @@ +/** + * ACKme WiConnect Host Library is licensed under the BSD licence: + * + * Copyright (c)2014 ACKme Networks. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + * OF SUCH DAMAGE. + */ +#ifndef _COMMON_H_ +#define _COMMON_H_ + + +#include "WiconnectCommands.h" + + + +/* Note we need the 2 concats below because arguments to ## + * are not expanded, so we need to expand __LINE__ with one indirection + * before doing the actual concatenation. */ +#define ASSERT_CONCAT_(a, b) a ## b +#define ASSERT_CONCAT(a, b) ASSERT_CONCAT_(a, b) +#define ct_assert(e) enum { ASSERT_CONCAT(assert_line_, __LINE__) = 1/(!!(e)) } + +#define wiconnect_assert(_wiconnect, msg, expr) if(!(expr)){if(_wiconnect != NULL) _wiconnect->assertLogger.call(msg); for(;;); } + + + +#ifndef WICONNECT_ASYNC_TIMER_ENABLED +#define CHECK_CALLBACK_AVAILABLE(cb) if(cb.isValid()) return WICONNECT_UNSUPPORTED +#else +#define CHECK_CALLBACK_AVAILABLE(cb) +#endif + +#define UNUSED(expr) do { (void)(expr); } while (0) + +#define CHECK_CLEANUP_COMMAND() \ + if(result != WICONNECT_PROCESSING) \ + { \ + wiconnect->internalProcessingState = 0; \ + wiconnect->currentCommandId = NULL; \ + } + +#define CHECK_OTHER_COMMAND_EXECUTING() \ +{ \ + static const volatile uint8_t __funcId = 0; \ + if(wiconnect->currentCommandId == NULL) \ + { \ + wiconnect->currentCommandId = (void*)&__funcId; \ + } \ + else if(wiconnect->currentCommandId != (void*)&__funcId) \ + { \ + return WICONNECT_ANOTHER_CMD_EXECUTING; \ + } \ +} + +#define _CHECK_CLEANUP_COMMAND() \ + if(result != WICONNECT_PROCESSING) \ + { \ + internalProcessingState = 0; \ + currentCommandId = NULL; \ + } + +#define _CHECK_OTHER_COMMAND_EXECUTING() \ +{ \ + static const volatile uint8_t __funcId = 0; \ + if(currentCommandId == NULL) \ + { \ + currentCommandId = (void*)&__funcId; \ + } \ + else if(currentCommandId != (void*)&__funcId) \ + { \ + return WICONNECT_ANOTHER_CMD_EXECUTING; \ + } \ +} + +#define WICONNECT_IS_IDLE() (wiconnect->currentCommandId == NULL) +#define _WICONNECT_IS_IDLE() (currentCommandId == NULL) + + + +#ifdef WICONNECT_USE_DEFAULT_STRING_BUFFERS +#define SET_STR_BUFFER(_buffer, size) \ + char *ptr; \ + static char defaultBuffer[size]; \ + ptr = (_buffer == NULL) ? defaultBuffer : _buffer; +#else +#define SET_STR_BUFFER(_buffer, size) \ + char *ptr; \ + if(_buffer == NULL) \ + { \ + return "<null>"; \ + } \ + ptr = _buffer; +#endif + + +#endif