| 882 | |
| 883 | |
| 884 | class ZigBeeBeacon(Packet): |
| 885 | name = "ZigBee Beacon Payload" |
| 886 | fields_desc = [ |
| 887 | # Protocol ID (1 octet) |
| 888 | ByteField("proto_id", 0), |
| 889 | # nwkcProtocolVersion (4 bits) |
| 890 | BitField("nwkc_protocol_version", 0, 4), |
| 891 | # Stack profile (4 bits) |
| 892 | BitField("stack_profile", 0, 4), |
| 893 | # End device capacity (1 bit) |
| 894 | BitField("end_device_capacity", 0, 1), |
| 895 | # Device depth (4 bits) |
| 896 | BitField("device_depth", 0, 4), |
| 897 | # Router capacity (1 bit) |
| 898 | BitField("router_capacity", 0, 1), |
| 899 | # Reserved (2 bits) |
| 900 | BitField("reserved", 0, 2), |
| 901 | # Extended PAN ID (8 octets) |
| 902 | dot15d4AddressField("extended_pan_id", 0, adjust=lambda pkt, x: 8), |
| 903 | # Tx offset (3 bytes) |
| 904 | # In ZigBee 2006 the Tx-Offset is optional, while in the 2007 and later versions, the Tx-Offset is a required value. # noqa: E501 |
| 905 | BitField("tx_offset", 0, 24), |
| 906 | # Update ID (1 octet) |
| 907 | ByteField("update_id", 0), |
| 908 | ] |
| 909 | |
| 910 | |
| 911 | # Inter-PAN Transmission # |
nothing calls this directly
no test coverage detected
searching dependent graphs…