XBee API mode library
Diff: XBeeDataTypes.h
- Revision:
- 2:eea7afd6cf08
- Parent:
- 0:0232a97b3883
- Child:
- 3:8453df14bd30
--- a/XBeeDataTypes.h Thu Sep 20 02:28:35 2012 +0000 +++ b/XBeeDataTypes.h Thu Sep 20 02:44:49 2012 +0000 @@ -27,6 +27,9 @@ #include "mbed.h" +/** + * class for XBee 64-bit address data type + */ class XBeeAddress64 { public: XBeeAddress64(); @@ -35,9 +38,9 @@ XBeeAddress64(uint32_t high, uint32_t low); operator uint64_t(); - bool operator==(XBeeAddress64& address); - bool operator==(const char* address); - bool operator==(uint64_t address); + bool operator ==(XBeeAddress64& address); + bool operator ==(const char* address); + bool operator ==(uint64_t address); operator char *(); char operator [](int index) const { @@ -60,6 +63,9 @@ const XBeeAddress64 COORDINATOR(0, 0); const XBeeAddress64 BROADCAST(0, 0xFFFF); +/** + * class for XBee 16-bit address data type + */ class XBeeAddress16 { public: XBeeAddress16(); @@ -68,9 +74,9 @@ XBeeAddress16(char high, char low); operator uint16_t(); - bool operator==(XBeeAddress16& address); - bool operator==(const char* address); - bool operator==(uint16_t address); + bool operator ==(XBeeAddress16& address); + bool operator ==(const char* address); + bool operator ==(uint16_t address); operator char *(); char operator [](int index) const { @@ -89,6 +95,9 @@ char *raw_address() { return (char *) address16; } }; +/** + * class for XBee data type + */ class XBeeData { public: XBeeData(int capacity); @@ -123,26 +132,41 @@ char *raw_address() { return (char *) data; } }; +/** + * class for XBee command data type + */ class XBeeCommandData : public XBeeData { public: XBeeCommandData(int capacity = 20) : XBeeData(capacity) {} }; +/** + * class for XBee received data type + */ class XBeeReceivedData : public XBeeData { public: XBeeReceivedData(int capacity = 128) : XBeeData(capacity) {} }; +/** + * class for XBee raw data type + */ class XBeeRawData : public XBeeData { public: XBeeRawData(int capacity = 128) : XBeeData(capacity) {} }; +/** + * class for XBee AT command data type + */ class XBeeATCommand : public XBeeData { public: XBeeATCommand() : XBeeData(3) {} }; +/** + * class for bit array data type + */ class BitArray { public: BitArray(int mask, int values); @@ -155,6 +179,9 @@ int valueAt(int i) const; }; +/** + * class for int array data type + */ class IntArray { public: IntArray(int mask, const char *value); @@ -167,6 +194,9 @@ int valueAt(int i) const; }; +/** + * class for IOSample data type + */ class IOSample { public: IOSample(const char *data); @@ -179,6 +209,9 @@ char buf[128]; }; +/** + * class for uint8 data type + */ class XBeeUint8 { public: XBeeUint8(char data = 0, char base = 10) { @@ -212,31 +245,49 @@ } }; +/** + * class for XBee frame ID data type + */ class XBeeFrameID : public XBeeUint8 { public: XBeeFrameID(char id = 0) : XBeeUint8(id) {} }; +/** + * class for XBee retry count data type + */ class XBeeRetryCount : public XBeeUint8 { public: XBeeRetryCount(char count = 0) : XBeeUint8(count) {} }; +/** + * class for XBee status data type + */ class XBeeStatus : public XBeeUint8 { public: XBeeStatus(char data = 0) : XBeeUint8(data, 16) {} }; +/** + * class for XBee delivery status data type + */ class XBeeDeliveryStatus : public XBeeUint8 { public: XBeeDeliveryStatus(char data = 0) : XBeeUint8(data, 16) {} }; +/** + * class for XBee discovery status data type + */ class XBeeDiscoveryStatus : public XBeeUint8 { public: XBeeDiscoveryStatus(char data = 0) : XBeeUint8(data, 16) {} }; +/** + * class for XBee receive status data type + */ class XBeeReceiveOptions : public XBeeUint8 { public: XBeeReceiveOptions(char data = 0) : XBeeUint8(data, 16) {}