XBee-mbed library http://mbed.org/users/okini3939/notebook/xbee-mbed/

Dependents:   device_server_udp led_sender_post XBee_API_ex1 XBee_API_ex2 ... more

Files at this revision

API Documentation at this revision

Comitter:
okini3939
Date:
Tue Mar 13 09:11:35 2012 +0000
Parent:
4:f6d73acc1f75
Child:
6:6f84e2840408
Commit message:

Changed in this revision

XBeeWiFi.cpp Show annotated file Show diff for this revision Revisions of this file
XBeeWiFi.h Show annotated file Show diff for this revision Revisions of this file
--- a/XBeeWiFi.cpp	Tue Mar 13 09:01:52 2012 +0000
+++ b/XBeeWiFi.cpp	Tue Mar 13 09:11:35 2012 +0000
@@ -122,6 +122,9 @@
     char val[1] = {0};
     AtCommandRequest atRequest;
 
+    _nameserver = IpAddr(0,0,0,0);
+    _nameport = DNS_PORT;
+
     atRequest.setCommand(cmd);
     atRequest.setCommandValue((uint8_t*)val);
     atRequest.setCommandValueLength(1);
@@ -178,6 +181,7 @@
 
     // name server
     _nameserver = nameserver;
+    _nameport = DNS_PORT;
 
     return 0;
 }
@@ -306,8 +310,9 @@
 }
 
 #ifdef USE_WIFIDNS
-int XBeeWiFi::setNameserver (IpAddr &nameserver) {
+int XBeeWiFi::setNameserver (IpAddr &nameserver, int port = DNS_PORT) {
     _nameserver = nameserver;
+    _nameport = port;
     return 0;
 }
 
@@ -326,7 +331,7 @@
         addr = IpAddr(127, 0, 0, 1);
         return 0;
     }
-/*
+
     // bind src port
     val[0] = (DNS_SRC_PORT >> 8) & 0xff;
     val[1] = DNS_SRC_PORT & 0xff;
@@ -337,11 +342,11 @@
     send(atRequest);
     r = getWiResponse(AT_COMMAND_RESPONSE);
     DBG("wifi C0: %d\r\n", r);
-*/
+
     // send DNS request
     len = createDnsRequest(name, buf);
     dnsRequest.setAddress(_nameserver);
-    dnsRequest.setDstPort(DNS_PORT);
+    dnsRequest.setDstPort(_nameport);
     dnsRequest.setSrcPort(DNS_SRC_PORT);
     dnsRequest.setProtocol(PROTOCOL_UDP);
     dnsRequest.setPayload((uint8_t*)buf);
--- a/XBeeWiFi.h	Tue Mar 13 09:01:52 2012 +0000
+++ b/XBeeWiFi.h	Tue Mar 13 09:11:35 2012 +0000
@@ -117,7 +117,7 @@
     int getStatus ();
     int getWiResponse (int apiId, int frameid = 0, int timeout = 3000);
 #ifdef USE_WIFIDNS
-    int setNameserver (IpAddr &nameserver);
+    int setNameserver (IpAddr &nameserver, int port);
     int getHostByName (const char* name, IpAddr &addr);
 #endif
     /**
@@ -134,6 +134,7 @@
 
 private:
     IpAddr _nameserver;
+    int _nameport;
 };
 #endif