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

Embed: (wiki syntax)

« Back to documentation index

wiconnect Namespace Reference

wiconnect Namespace Reference

ACKme WiConnect Host Library is licensed under the BSD licence: More...

Data Structures

class  FileInterface
 The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. More...
class  GhmInterface
 The provides an interface for http://goHACK.me. More...
class  NetworkInterface
 The provides an interface for joining and/or creating a network. More...
class  SerialConfig
 Host<->Wiconnect Module serial configuration. More...
class  SocketInterface
 The provides an interface for creating TCP/UDP/TLS/HTTP client sockets. More...
class  Callback
 Generic callback function. More...
class  CommandQueue
 Class for hold queued commands. More...
class  FileList
 WiConnect WiFi module file listing. More...
class  FunctionPointer
 Generic function pointer. More...
class  GhmMessage
 Contains single entry from goHACK.me message listing. More...
class  GhmMessageList
 List of goHACK.me messages. More...
class  WICONNECT_GPIO_BASE_CLASS
 Host GPIO class. More...
class  LogFunc
 Logging callback function. More...
class  WICONNECT_PERIODIC_TIMER_BASE_CLASS
 Class for periodically calling a supplied callback. More...
class  WICONNECT_EXTERNAL_INTERRUPT_GPIO_BASE_CLASS
 Class for handlinga Pin IRQ. More...
class  QueuedCommand
 Class which contains command for asynchronous processing. More...
class  ReaderFunc
 Generic data reading callback function. More...
class  ScanResult
 Contains single entry from WiFi scan results. More...
class  ScanResultList
 List of WiFi network scan results. More...
class  SocketIrqHandlerMap
 Generic callback function. More...
class  TimeoutTimer
 Class for maintaining command processing timeouts. More...
class  WiconnectFile
 WiConnect WiFi module file object. More...
class  WICONNECT_SERIAL_BASE_CLASS
 Serial class for interfacing to WiConnect WiFi module. More...
class  WiconnectSocket
 Connection object to remote server. More...
class  WiconnectUdpServer
 UDP Server Listening socket. More...
class  Wiconnect
 The root WiConnect library class. More...
struct  Buffer
 Generic buffer type. More...
struct  Ssid
 Network SSID type. More...
struct  MacAddress
 Network MAC Address type. More...
struct  HttpSocketArgs
 Struct for hold HTTP socket configuration. More...
struct  GhmElement
 goHACK.me stream or control value More...
struct  GhmElementArray
 Array of goHACK.me stream or control values. More...

Typedefs

typedef PinName Pin
 Pin name on HOST.
typedef int8_t(* PinToGpioMapper )(Pin pin)
 Function pointer for mapping from a host pin to a WiConnect Module GPIO.
typedef unsigned long TimerTimeout
 Timeout type.
typedef char MacAddressStrBuffer [18]
 Buffer to hold a MAC address string.
typedef char SsidStrBuffer [129]
 Buffer to hold a SSID string.
typedef char IpStrBuffer [18]
 Buffer to hold an IP address string.

Enumerations

enum  WiconnectResult {
  WICONNECT_ABORTED = 3, WICONNECT_IDLE = 2, WICONNECT_PROCESSING = 1, WICONNECT_SUCCESS = 0,
  WICONNECT_ERROR = -1, WICONNECT_CMD_RESPONSE_ERROR = -2, WICONNECT_NULL_BUFFER = -3, WICONNECT_NOT_INITIALIZED = -4,
  WICONNECT_OVERFLOW = -5, WICONNECT_TIMEOUT = -6, WICONNECT_RESPONSE_PARSE_ERROR = -8, WICONNECT_ANOTHER_CMD_EXECUTING = -9,
  WICONNECT_BAD_ARG = -10, WICONNECT_UNSUPPORTED = -11, WICONNECT_PINNAME_TO_GPIO_MAPPER_NULL = -12, WICONNECT_DUPLICATE = -13,
  WICONNECT_NOT_FOUND = -14, WICONNECT_PINNAME_TO_GPIO_NO_MAPPING = -15, WICONNECT_NOT_CONNECTED = -16, WICONNECT_UNDERFLOW = -17,
  WICONNECT_MONITOR_NOT_AVAILABLE = -18, WICONNECT_NOT_OPENED_FOR_READING = -19, WICONNECT_FIRMWARE_OUTDATED = -20
}
 

API Result code.

More...
enum  NetworkStatus { NETWORK_STATUS_DOWN, NETWORK_STATUS_WIFI_ONLY, NETWORK_STATUS_UP, NETWORK_STATUS_JOINING }
 

Network connection status.

More...
enum  NetworkJoinResult {
  NETWORK_JOIN_RESULT_NONE, NETWORK_JOIN_RESULT_SUCCESS, NETWORK_JOIN_RESULT_JOINING, NETWORK_JOIN_RESULT_NO_SSID,
  NETWORK_JOIN_RESULT_NO_PASSWORD, NETWORK_JOIN_RESULT_BAD_SECURITY, NETWORK_JOIN_RESULT_NOT_FOUND, NETWORK_JOIN_RESULT_FAILED,
  NETWORK_JOIN_RESULT_ABORTED
}
 

Network connection status.

More...
enum  NetworkSignalStrength {
  NETWORK_RSSI_EXCELLENT = 0, NETWORK_RSSI_VERY_GOOD = 1, NETWORK_RSSI_GOOD = 2, NETWORK_RSSI_POOR = 3,
  NETWORK_RSSI_VERY_POOR = 4, NETWORK_RSSI_UNKNOWN = 5
}
 

Network RSSI signal level.

More...
enum  NetworkSecurity
 

Network security type.

More...
enum  SocketType {
  SOCKET_TYPE_UNKNOWN, SOCKET_TYPE_TCP, SOCKET_TYPE_TLS, SOCKET_TYPE_UDP,
  SOCKET_TYPE_HTTP, SOCKET_TYPE_UDPS, SOCKET_TYPE_GHM
}
 

Socket type.

More...
enum  HttpSocketType { SOCKET_HTTP_GET, SOCKET_HTTP_POST, SOCKET_HTTP_HEAD }
 

HTTP Socket sub-type.

More...
enum  FileFlags {
  FILE_FLAG_NONE = 0, FILE_FLAG_VALID = (1 << 0), FILE_FLAG_EXECUTABLE = (1 << 1), FILE_FLAG_ENCRYPTED = (1 << 2),
  FILE_FLAG_INTERNAL = (1 << 3), FILE_FLAG_BOOTABLE = (1 << 4), FILE_FLAG_USER = (1 << 5), FILE_FLAG_ESSENTIAL = (1 << 6),
  FILE_FLAG_INVALID = 0xFFFF
}
 

File flags type.

More...
enum  FileType {
  FILE_TYPE_UPGRADE_APP = 0x00, FILE_TYPE_WIFI_FW = 0x01, FILE_TYPE_REGULAR_APP = 0x81, FILE_TYPE_USER_RANGE_START = 150,
  FILE_TYPE_USER_RANGE_END = 199, FILE_TYPE_TEMPORY = 0xF9, FILE_TYPE_GPIO_CONFIG = 0xFA, FILE_TYPE_COMMAND_HELP = 0xFB,
  FILE_TYPE_SDC_CAPS = 0xFC, FILE_TYPE_SETUP_SCRIPT = 0xFD, FILE_TYPE_MISC_FIX_LEN = 0xFE, FILE_TYPE_UNKNOWN = 0xFF
}
 

File type type.

More...
enum  GhmElementValueType
 

goHACK.me stream or control value type

More...
enum  GhmSyncType { GHM_SYNC_ALL, GHM_SYNC_PUSH_ONLY, GHM_SYNC_PULL_ONLY }
 

goHACK.me sychronization type

More...
enum  GhmMessageGetType { GHM_MSG_GET_DATA_ONLY, GHM_MSG_GET_BODY, GHM_MSG_GET_ALL }
 

goHACK.me message GET type

More...

Detailed Description

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.

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.

The entire Wiconnect Library is contained within the 'wiconnect' namespace


Typedef Documentation

typedef int8_t(* PinToGpioMapper)(Pin pin)

Function pointer for mapping from a host pin to a WiConnect Module GPIO.

Parameters:
[in]pinA host pin
Returns:
The corresponding WiConnect Module GPIO (which the given pin is physically connected). Return -1 if no mapping is available.

Definition at line 207 of file WiconnectTypes.h.

typedef unsigned long TimerTimeout

Timeout type.

Definition at line 213 of file WiconnectTypes.h.