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/Tx64TransmitOptions.cpp@6:5f31ddc17239, 2015-11-14 (annotated)
- 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?
User | Revision | Line number | New contents of line |
---|---|---|---|
yangcq88517 | 0:837e6c48e90d | 1 | #include "Tx64TransmitOptions.h" |
yangcq88517 | 0:837e6c48e90d | 2 | |
yangcq88517 | 0:837e6c48e90d | 3 | Tx64TransmitOptions::Tx64TransmitOptions() { } |
yangcq88517 | 0:837e6c48e90d | 4 | |
yangcq88517 | 6:5f31ddc17239 | 5 | Tx64TransmitOptions::Tx64TransmitOptions(unsigned char value) |
yangcq88517 | 0:837e6c48e90d | 6 | : OptionsBase(value) |
yangcq88517 | 0:837e6c48e90d | 7 | { } |
yangcq88517 | 0:837e6c48e90d | 8 | |
yangcq88517 | 0:837e6c48e90d | 9 | Tx64TransmitOptions::Tx64TransmitOptions(bool disable_retries_and_route_repair, bool donot_repeat_packet, bool send_packet_with_broadcast_PanID, bool invoke_traceroute, bool purge_packet_if_delayed_due_to_duty_cycle) |
yangcq88517 | 0:837e6c48e90d | 10 | { |
yangcq88517 | 0:837e6c48e90d | 11 | value = 0x00; |
yangcq88517 | 0:837e6c48e90d | 12 | if (disable_retries_and_route_repair) |
yangcq88517 | 0:837e6c48e90d | 13 | value |= 0x01; |
yangcq88517 | 0:837e6c48e90d | 14 | if (donot_repeat_packet) |
yangcq88517 | 0:837e6c48e90d | 15 | value |= 0x02; |
yangcq88517 | 0:837e6c48e90d | 16 | if (send_packet_with_broadcast_PanID) |
yangcq88517 | 0:837e6c48e90d | 17 | value |= 0x04; |
yangcq88517 | 0:837e6c48e90d | 18 | if (invoke_traceroute) |
yangcq88517 | 0:837e6c48e90d | 19 | value |= 0x08; |
yangcq88517 | 0:837e6c48e90d | 20 | if (purge_packet_if_delayed_due_to_duty_cycle) |
yangcq88517 | 0:837e6c48e90d | 21 | value |= 0x10; |
yangcq88517 | 0:837e6c48e90d | 22 | } |
yangcq88517 | 0:837e6c48e90d | 23 | |
yangcq88517 | 4:a0f1fba6c2fb | 24 | Tx64TransmitOptions * Tx64TransmitOptions::DonotRepeatPacket = new Tx64TransmitOptions(0x02); |
yangcq88517 | 0:837e6c48e90d | 25 | |
yangcq88517 | 4:a0f1fba6c2fb | 26 | Tx64TransmitOptions * Tx64TransmitOptions::SendPacketWithBroadcastPanID = new Tx64TransmitOptions(0x04); |
yangcq88517 | 0:837e6c48e90d | 27 | |
yangcq88517 | 4:a0f1fba6c2fb | 28 | Tx64TransmitOptions * Tx64TransmitOptions::InvokeTraceroute = new Tx64TransmitOptions(0x08); |
yangcq88517 | 0:837e6c48e90d | 29 | |
yangcq88517 | 4:a0f1fba6c2fb | 30 | Tx64TransmitOptions * Tx64TransmitOptions::PurgePacketWhenDelayed = new Tx64TransmitOptions(0x10); |
yangcq88517 | 0:837e6c48e90d | 31 | |
yangcq88517 | 0:837e6c48e90d | 32 | bool Tx64TransmitOptions::getDonotRepeatPacket() |
yangcq88517 | 0:837e6c48e90d | 33 | { |
yangcq88517 | 0:837e6c48e90d | 34 | if ((value & 0x02) == 0x02) |
yangcq88517 | 0:837e6c48e90d | 35 | return true; |
yangcq88517 | 0:837e6c48e90d | 36 | else return false; |
yangcq88517 | 0:837e6c48e90d | 37 | } |
yangcq88517 | 0:837e6c48e90d | 38 | |
yangcq88517 | 0:837e6c48e90d | 39 | void Tx64TransmitOptions::setDonotRepeatPacket(bool status) |
yangcq88517 | 0:837e6c48e90d | 40 | { |
yangcq88517 | 0:837e6c48e90d | 41 | if (status) |
yangcq88517 | 0:837e6c48e90d | 42 | value |= 0x02; |
yangcq88517 | 0:837e6c48e90d | 43 | else |
yangcq88517 | 0:837e6c48e90d | 44 | value &= 0xFD; |
yangcq88517 | 0:837e6c48e90d | 45 | } |
yangcq88517 | 0:837e6c48e90d | 46 | |
yangcq88517 | 0:837e6c48e90d | 47 | bool Tx64TransmitOptions::getSendPacketWithBroadcastPanID() |
yangcq88517 | 0:837e6c48e90d | 48 | { |
yangcq88517 | 0:837e6c48e90d | 49 | if ((value & 0x04) == 0x04) |
yangcq88517 | 0:837e6c48e90d | 50 | return true; |
yangcq88517 | 0:837e6c48e90d | 51 | else return false; |
yangcq88517 | 0:837e6c48e90d | 52 | } |
yangcq88517 | 0:837e6c48e90d | 53 | |
yangcq88517 | 0:837e6c48e90d | 54 | void Tx64TransmitOptions::setSendPacketWithBroadcastPanID(bool status) |
yangcq88517 | 0:837e6c48e90d | 55 | { |
yangcq88517 | 0:837e6c48e90d | 56 | if (status) |
yangcq88517 | 0:837e6c48e90d | 57 | value |= 0x04; |
yangcq88517 | 0:837e6c48e90d | 58 | else |
yangcq88517 | 0:837e6c48e90d | 59 | value &= 0xFB; |
yangcq88517 | 0:837e6c48e90d | 60 | } |
yangcq88517 | 0:837e6c48e90d | 61 | |
yangcq88517 | 0:837e6c48e90d | 62 | bool Tx64TransmitOptions::getInvokeTraceroute() |
yangcq88517 | 0:837e6c48e90d | 63 | { |
yangcq88517 | 0:837e6c48e90d | 64 | if ((value & 0x08) == 0x08) |
yangcq88517 | 0:837e6c48e90d | 65 | return true; |
yangcq88517 | 0:837e6c48e90d | 66 | else return false; |
yangcq88517 | 0:837e6c48e90d | 67 | } |
yangcq88517 | 0:837e6c48e90d | 68 | |
yangcq88517 | 0:837e6c48e90d | 69 | void Tx64TransmitOptions::setInvokeTraceroute(bool status) |
yangcq88517 | 0:837e6c48e90d | 70 | { |
yangcq88517 | 0:837e6c48e90d | 71 | if (status) |
yangcq88517 | 0:837e6c48e90d | 72 | value |= 0x08; |
yangcq88517 | 0:837e6c48e90d | 73 | else |
yangcq88517 | 0:837e6c48e90d | 74 | value &= 0xF7; |
yangcq88517 | 0:837e6c48e90d | 75 | } |
yangcq88517 | 0:837e6c48e90d | 76 | |
yangcq88517 | 0:837e6c48e90d | 77 | bool Tx64TransmitOptions::getPurgePacketWhenDelayed() |
yangcq88517 | 0:837e6c48e90d | 78 | { |
yangcq88517 | 0:837e6c48e90d | 79 | if ((value & 0x10) == 0x10) |
yangcq88517 | 0:837e6c48e90d | 80 | return true; |
yangcq88517 | 0:837e6c48e90d | 81 | else return false; |
yangcq88517 | 0:837e6c48e90d | 82 | } |
yangcq88517 | 0:837e6c48e90d | 83 | |
yangcq88517 | 0:837e6c48e90d | 84 | void Tx64TransmitOptions::setPurgePacketWhenDelayed(bool status) |
yangcq88517 | 0:837e6c48e90d | 85 | { |
yangcq88517 | 0:837e6c48e90d | 86 | if (status) |
yangcq88517 | 0:837e6c48e90d | 87 | value |= 0x10; |
yangcq88517 | 0:837e6c48e90d | 88 | else |
yangcq88517 | 0:837e6c48e90d | 89 | value &= 0xEF; |
yangcq88517 | 0:837e6c48e90d | 90 | } |