posilani dat
Dependencies: FatFileSystemCpp mbed PowerControl USBHostLite
Diff: WiflyInterface/WiflyInterface.cpp
- Revision:
- 7:805c16a071d0
diff -r c16e8b17092a -r 805c16a071d0 WiflyInterface/WiflyInterface.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiflyInterface/WiflyInterface.cpp Mon Apr 20 18:14:54 2015 +0000 @@ -0,0 +1,62 @@ +#include "WiflyInterface.h" + +WiflyInterface::WiflyInterface( PinName tx, PinName rx, PinName reset, PinName tcp_status, + const char * ssid, const char * phrase, Security sec) : + Wifly(tx, rx, reset, tcp_status, ssid, phrase, sec) +{ + ip_set = false; +} + +int WiflyInterface::init() +{ + state.dhcp = true; + reset(); + return 0; +} + +int WiflyInterface::init(const char* ip, const char* mask, const char* gateway) +{ + state.dhcp = false; + this->ip = ip; + strcpy(ip_string, ip); + ip_set = true; + this->netmask = mask; + this->gateway = gateway; + reset(); + + return 0; +} + +int WiflyInterface::connect() +{ + return join(); +} + +int WiflyInterface::disconnect() +{ + return Wifly::disconnect(); +} + +char * WiflyInterface::getIPAddress() +{ + char * match = 0; + if (!ip_set) { + if (!sendCommand("get ip a\r", NULL, ip_string)) + return NULL; + exit(); + flush(); + match = strstr(ip_string, "<"); + if (match != NULL) { + *match = '\0'; + } + if (strlen(ip_string) < 6) { + match = strstr(ip_string, ">"); + if (match != NULL) { + int len = strlen(match + 1); + memcpy(ip_string, match + 1, len); + } + } + ip_set = true; + } + return ip_string; +} \ No newline at end of file