Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of XBee by
Diff: XBeeWiFi.h
- Revision:
- 4:f6d73acc1f75
- Parent:
- 3:8573b122fa84
- Child:
- 5:547cfff7adf7
diff -r 8573b122fa84 -r f6d73acc1f75 XBeeWiFi.h
--- a/XBeeWiFi.h Thu Mar 08 17:41:29 2012 +0000
+++ b/XBeeWiFi.h Tue Mar 13 09:01:52 2012 +0000
@@ -72,8 +72,8 @@
#define DNS_CLASS_IN 1
#define DNS_PORT 53
-#define DNS_SRC_PORT 1234
-#define DNS_TIMEOUT 5 // x 3s
+#define DNS_SRC_PORT 10053
+#define DNS_TIMEOUT 15000 // ms
struct DNSHeader {
uint16_t id;
@@ -104,21 +104,26 @@
*/
class XBeeWiFi : public XBee {
public:
- XBeeWiFi (PinName p_tx, PinName p_rx, PinName p_cts);
+ XBeeWiFi (PinName p_tx, PinName p_rx, PinName p_cts, PinName p_rts);
int setup (int security, const char *ssid, const char *pin);
int setup (const char *ssid);
int reset ();
+ int baud (int b);
int setAddress ();
int setAddress (IpAddr &ipaddr, IpAddr &netmask, IpAddr &gateway, IpAddr &nameserver);
int getAddress (IpAddr &ipaddr, IpAddr &netmask, IpAddr &gateway, IpAddr &nameserver);
int setTimeout (int timeout);
int getStatus ();
- int getWiResponse (int apiId, int frameid = 0, int timeout = 1500);
+ int getWiResponse (int apiId, int frameid = 0, int timeout = 3000);
#ifdef USE_WIFIDNS
int setNameserver (IpAddr &nameserver);
int getHostByName (const char* name, IpAddr &addr);
#endif
+ /**
+ * Call with instance of AtCommandResponse only if getApiId() == AT_COMMAND_RESPONSE
+ */
+// void getIPV4RxFrame (XBeeResponse &responses);
protected:
int getWiAddr (IpAddr &ipaddr);
@@ -140,8 +145,8 @@
/**
* Creates a unicast IPv4TransmitRequest with the DEFAULT_FRAME_ID
*/
- IPv4TransmitRequest(IpAddr &dstAddr, uint16_t dstPort, uint16_t srcPort, uint8_t protocol, uint8_t option, uint8_t *data, uint8_t dataLength, uint8_t frameId);
- IPv4TransmitRequest(IpAddr &dstAddr, uint16_t dstPort, uint8_t *data, uint8_t dataLength);
+ IPv4TransmitRequest(IpAddr &dstAddr, uint16_t dstPort, uint16_t srcPort, uint8_t protocol, uint8_t option, uint8_t *data, uint16_t dataLength, uint8_t frameId);
+ IPv4TransmitRequest(IpAddr &dstAddr, uint16_t dstPort, uint8_t *data, uint16_t dataLength);
/**
* Creates a default instance of this class. At a minimum you must specify
* a payload, payload length and a destination address before sending this request.
@@ -159,8 +164,8 @@
void setOption(uint8_t option);
protected:
// declare virtual functions
- virtual uint8_t getFrameData(uint8_t pos);
- virtual uint8_t getFrameDataLength();
+ virtual uint8_t getFrameData(uint16_t pos);
+ virtual uint16_t getFrameDataLength();
private:
IpAddr _dstAddr;
uint16_t _dstPort;
@@ -190,7 +195,7 @@
uint16_t getSrcPort();
uint8_t getProtocol();
uint8_t getStatus();
- virtual uint8_t getDataLength();
+ virtual uint16_t getDataLength();
// frame position where data starts
virtual uint8_t getDataOffset();
private:
