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.
Options/Tx16TransmitOptions.cpp@0:837e6c48e90d, 2015-10-22 (annotated)
- Committer:
- yangcq88517
- Date:
- Thu Oct 22 12:28:26 2015 +0000
- Revision:
- 0:837e6c48e90d
- Child:
- 4:a0f1fba6c2fb
initial upload
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:837e6c48e90d | 5 | Tx16TransmitOptions::Tx16TransmitOptions(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 | 0:837e6c48e90d | 21 | Tx16TransmitOptions Tx16TransmitOptions::ForceLongHeader = Tx16TransmitOptions(0x02); |
yangcq88517 | 0:837e6c48e90d | 22 | |
yangcq88517 | 0:837e6c48e90d | 23 | Tx16TransmitOptions Tx16TransmitOptions::DisableLongHeader = Tx16TransmitOptions(0x04); |
yangcq88517 | 0:837e6c48e90d | 24 | |
yangcq88517 | 0:837e6c48e90d | 25 | Tx16TransmitOptions Tx16TransmitOptions::InvokeTraceroute = 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 | } |