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
Diff: NetworkInterface.h
- Revision:
- 11:ea484e1b7fc4
- Parent:
- 1:6ec9998427ad
- Child:
- 13:2b51f5267c92
--- a/NetworkInterface.h Mon Aug 11 21:59:00 2014 -0700 +++ b/NetworkInterface.h Tue Aug 12 02:34:46 2014 -0700 @@ -15,45 +15,226 @@ #include "types/ScanResultList.h" +/** + * @namespace wiconnect + */ namespace wiconnect { +/** + * @ingroup types_network + * + * @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. + * + */ class NetworkInterface { public: + /** + * @ingroup api_network_setup + * + * @brief Start the WiConnect WiFi module 'web setup' feature. + */ 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. + */ WiconnectResult stopWebSetup(); + + /** + * @ingroup api_network_setup + * + * @brief Return status of WiConnect WiFi module 'web setup' feature. + */ WiconnectResult isWebSetupRunning(bool *isRunningPtr); + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_network_wlan + * + * @brief Join a WiFi network. + */ WiconnectResult join(const char* ssid = NULL, const char *password = NULL, const Callback &completeHandler = Callback()); + + /** + * @ingroup api_network_wlan + * + * @brief Leave a WiFi network. + */ WiconnectResult leave(); + + /** + * @ingroup api_network_wlan + * + * @brief Get connection status to WiFi network. + */ WiconnectResult getNetworkStatus(NetworkStatus *statusPtr); + // ------------------------------------------------------------------------ + + // 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. + */ WiconnectResult scan(ScanResultList &resultList, const uint8_t *channelList = NULL, const char* ssid = NULL); + + /** + * @ingroup api_network_util + * + * @brief Ping a WiFi network. + */ WiconnectResult ping(const char *domain = NULL, uint32_t *timeMsPtr = NULL); + + /** + * @ingroup api_network_util + * + * @brief Resolve domain name into IP address. + */ WiconnectResult lookup(const char *domain, uint32_t *ipAddressPtr); + + // ------------------------------------------------------------------------ + + + /** + * @ingroup api_network_settings + * + * @brief Set DHCP enabled. + */ 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 Get signal strength to WiFi network + */ WiconnectResult getSignalStrength(NetworkSignalStrength *signalStrengthPtr); + + // ------------------------------------------------------------------------ + + + /** + * @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 = NULL); + + /** + * @ingroup conversion_util + * + * @brief Convert @ref NetworkStatus to string + */ static const char* networkStatusToStr(NetworkStatus status); + + /** + * @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 = NULL); + + /** + * @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 = NULL); protected: