XBee and XBee-PRO ZigBee RF modules provide cost-effective wireless connectivity to electronic devices. They are interoperable with other ZigBee PRO feature set devices, including devices from other vendors.

Dependencies:   BufferedArray

Dependents:   MBEDminiproject

Committer:
yangcq88517
Date:
Sat Nov 14 16:42:36 2015 +0000
Revision:
6:5f31ddc17239
Parent:
0:837e6c48e90d
change to unsigned char array

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:837e6c48e90d 1 #ifndef UK_AC_HERTS_SMARTLAB_XBEE_Address
yangcq88517 0:837e6c48e90d 2 #define UK_AC_HERTS_SMARTLAB_XBEE_Address
yangcq88517 0:837e6c48e90d 3
yangcq88517 0:837e6c48e90d 4 #include "mbed.h"
yangcq88517 0:837e6c48e90d 5
yangcq88517 0:837e6c48e90d 6 class Address
yangcq88517 0:837e6c48e90d 7 {
yangcq88517 0:837e6c48e90d 8 protected:
yangcq88517 0:837e6c48e90d 9 // total 10 bytes
yangcq88517 0:837e6c48e90d 10 // IEEE 64 + 16bit networ address
yangcq88517 6:5f31ddc17239 11 unsigned char value[10];
yangcq88517 0:837e6c48e90d 12 public:
yangcq88517 0:837e6c48e90d 13 static Address * BROADCAST_ZIGBEE;
yangcq88517 0:837e6c48e90d 14 static Address * BROADCAST_XBEE;
yangcq88517 0:837e6c48e90d 15
yangcq88517 0:837e6c48e90d 16 /// <summary>
yangcq88517 0:837e6c48e90d 17 /// create empty address : 0x00000000 0x00000000 0x0000
yangcq88517 0:837e6c48e90d 18 /// this is the default ZigBee Coordinatior
yangcq88517 0:837e6c48e90d 19 /// </summary>
yangcq88517 0:837e6c48e90d 20 Address();
yangcq88517 0:837e6c48e90d 21
yangcq88517 0:837e6c48e90d 22 /// <summary>
yangcq88517 0:837e6c48e90d 23 /// create address from byte[8 + 2] value : 8 bytes of ieee + 2 bytes network
yangcq88517 0:837e6c48e90d 24 /// </summary>
yangcq88517 0:837e6c48e90d 25 /// <param name="Address64"></param>
yangcq88517 0:837e6c48e90d 26 /// <param name="NET16"></param>
yangcq88517 6:5f31ddc17239 27 Address(const unsigned char * address64, const unsigned char * NET16);
yangcq88517 0:837e6c48e90d 28
yangcq88517 0:837e6c48e90d 29 /// <summary>
yangcq88517 0:837e6c48e90d 30 /// create address from byte[10] value : 8 bytes of ieee follow 2 bytes network
yangcq88517 0:837e6c48e90d 31 /// </summary>
yangcq88517 0:837e6c48e90d 32 /// <param name="value"></param>
yangcq88517 6:5f31ddc17239 33 Address(const unsigned char * addr);
yangcq88517 0:837e6c48e90d 34
yangcq88517 0:837e6c48e90d 35 Address(long serialNumberHigh, long serialNumberLow, int networkAddress);
yangcq88517 0:837e6c48e90d 36
yangcq88517 6:5f31ddc17239 37 unsigned long getSerialNumberHigh();
yangcq88517 0:837e6c48e90d 38
yangcq88517 6:5f31ddc17239 39 unsigned long getSerialNumberLow();
yangcq88517 0:837e6c48e90d 40
yangcq88517 6:5f31ddc17239 41 unsigned int getNetworkAddress();
yangcq88517 0:837e6c48e90d 42
yangcq88517 0:837e6c48e90d 43 void setSerialNumberHigh(long SerialNumberHigh);
yangcq88517 0:837e6c48e90d 44
yangcq88517 0:837e6c48e90d 45 void setSerialNumberLow(long SerialNumberLow);
yangcq88517 0:837e6c48e90d 46
yangcq88517 0:837e6c48e90d 47 void setNetworkAddress(int NetworkAddress);
yangcq88517 0:837e6c48e90d 48
yangcq88517 0:837e6c48e90d 49 /// <summary>
yangcq88517 0:837e6c48e90d 50 /// total 10 bytes
yangcq88517 0:837e6c48e90d 51 /// IEEE 64 + 16bit networ address
yangcq88517 0:837e6c48e90d 52 /// </summary>
yangcq88517 0:837e6c48e90d 53 /// <returns></returns>
yangcq88517 6:5f31ddc17239 54 const unsigned char * getAddressValue();
yangcq88517 0:837e6c48e90d 55
yangcq88517 0:837e6c48e90d 56 friend bool operator ==(const Address &a,const Address &b);
yangcq88517 0:837e6c48e90d 57
yangcq88517 0:837e6c48e90d 58 friend bool operator !=(const Address &a,const Address &b);
yangcq88517 0:837e6c48e90d 59 };
yangcq88517 0:837e6c48e90d 60
yangcq88517 0:837e6c48e90d 61 #endif