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:
4:a0f1fba6c2fb
change to unsigned char array

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:837e6c48e90d 1 #include "Tx16TransmitOptions.h"
yangcq88517 0:837e6c48e90d 2
yangcq88517 0:837e6c48e90d 3 Tx16TransmitOptions::Tx16TransmitOptions() { }
yangcq88517 0:837e6c48e90d 4
yangcq88517 6:5f31ddc17239 5 Tx16TransmitOptions::Tx16TransmitOptions(unsigned char value):OptionsBase(value)
yangcq88517 0:837e6c48e90d 6 { }
yangcq88517 0:837e6c48e90d 7
yangcq88517 0:837e6c48e90d 8 Tx16TransmitOptions::Tx16TransmitOptions(bool disable_retries_and_route_repair, bool force_long_header, bool disable_long_header, bool invoke_traceroute)
yangcq88517 0:837e6c48e90d 9 {
yangcq88517 0:837e6c48e90d 10 value = 0x00;
yangcq88517 0:837e6c48e90d 11 if (disable_retries_and_route_repair)
yangcq88517 0:837e6c48e90d 12 value |= 0x01;
yangcq88517 0:837e6c48e90d 13 if (force_long_header)
yangcq88517 0:837e6c48e90d 14 value |= 0x02;
yangcq88517 0:837e6c48e90d 15 if (disable_long_header)
yangcq88517 0:837e6c48e90d 16 value |= 0x04;
yangcq88517 0:837e6c48e90d 17 if (invoke_traceroute)
yangcq88517 0:837e6c48e90d 18 value |= 0x08;
yangcq88517 0:837e6c48e90d 19 }
yangcq88517 0:837e6c48e90d 20
yangcq88517 4:a0f1fba6c2fb 21 Tx16TransmitOptions * Tx16TransmitOptions::ForceLongHeader = new Tx16TransmitOptions(0x02);
yangcq88517 0:837e6c48e90d 22
yangcq88517 4:a0f1fba6c2fb 23 Tx16TransmitOptions * Tx16TransmitOptions::DisableLongHeader = new Tx16TransmitOptions(0x04);
yangcq88517 0:837e6c48e90d 24
yangcq88517 4:a0f1fba6c2fb 25 Tx16TransmitOptions * Tx16TransmitOptions::InvokeTraceroute = new Tx16TransmitOptions(0x08);
yangcq88517 0:837e6c48e90d 26
yangcq88517 0:837e6c48e90d 27 bool Tx16TransmitOptions::getForceLongHeader()
yangcq88517 0:837e6c48e90d 28 {
yangcq88517 0:837e6c48e90d 29 if ((value & 0x02) == 0x02)
yangcq88517 0:837e6c48e90d 30 return true;
yangcq88517 0:837e6c48e90d 31 else return false;
yangcq88517 0:837e6c48e90d 32 }
yangcq88517 0:837e6c48e90d 33
yangcq88517 0:837e6c48e90d 34 void Tx16TransmitOptions::setForceLongHeader(bool status)
yangcq88517 0:837e6c48e90d 35 {
yangcq88517 0:837e6c48e90d 36 if (status)
yangcq88517 0:837e6c48e90d 37 value |= 0x02;
yangcq88517 0:837e6c48e90d 38 else
yangcq88517 0:837e6c48e90d 39 value &= 0xFD;
yangcq88517 0:837e6c48e90d 40 }
yangcq88517 0:837e6c48e90d 41
yangcq88517 0:837e6c48e90d 42 bool Tx16TransmitOptions::getDisableLongHeader()
yangcq88517 0:837e6c48e90d 43 {
yangcq88517 0:837e6c48e90d 44 if ((value & 0x04) == 0x04)
yangcq88517 0:837e6c48e90d 45 return true;
yangcq88517 0:837e6c48e90d 46 else return false;
yangcq88517 0:837e6c48e90d 47 }
yangcq88517 0:837e6c48e90d 48
yangcq88517 0:837e6c48e90d 49 void Tx16TransmitOptions::setDisableLongHeader(bool status)
yangcq88517 0:837e6c48e90d 50 {
yangcq88517 0:837e6c48e90d 51 if (status)
yangcq88517 0:837e6c48e90d 52 value |= 0x04;
yangcq88517 0:837e6c48e90d 53 else
yangcq88517 0:837e6c48e90d 54 value &= 0xFB;
yangcq88517 0:837e6c48e90d 55 }
yangcq88517 0:837e6c48e90d 56
yangcq88517 0:837e6c48e90d 57 bool Tx16TransmitOptions::getInvokeTraceroute()
yangcq88517 0:837e6c48e90d 58 {
yangcq88517 0:837e6c48e90d 59 if ((value & 0x08) == 0x08)
yangcq88517 0:837e6c48e90d 60 return true;
yangcq88517 0:837e6c48e90d 61 else return false;
yangcq88517 0:837e6c48e90d 62 }
yangcq88517 0:837e6c48e90d 63
yangcq88517 0:837e6c48e90d 64 void Tx16TransmitOptions::setInvokeTraceroute(bool status)
yangcq88517 0:837e6c48e90d 65 {
yangcq88517 0:837e6c48e90d 66 if (status)
yangcq88517 0:837e6c48e90d 67 value |= 0x08;
yangcq88517 0:837e6c48e90d 68 else
yangcq88517 0:837e6c48e90d 69 value &= 0xF7;
yangcq88517 0:837e6c48e90d 70 }