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.
Device/Address.h@6:5f31ddc17239, 2015-11-14 (annotated)
- 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?
User | Revision | Line number | New 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 |