1.. _ieee802154_interface: 2 3IEEE 802.15.4 4############# 5 6.. contents:: 7 :local: 8 :depth: 2 9 10Introduction 11************ 12 13IEEE 802.15.4 is a technical standard which defines the operation of low-rate 14wireless personal area networks (LR-WPANs). For a more detailed overview of this 15standard, see the `IEEE 802.15.4 Wikipedia article 16<https://en.wikipedia.org/wiki/IEEE_802.15.4>`_. 17 18The most recent version of the standard is accessible through the `IEEE GET 19Program 20<https://ieeexplore.ieee.org/browse/standards/get-program/page/series?id=68>`_. 21You need to create a free IEEE account and can then downloading it. 22 23We're currently following the IEEE 802.15.4-2020 specification. This version is 24backwards compatible with IEEE 802.15.4-2015, parts of which are contained in 25the Thread protocol stack. The 2020 version also includes prior extensions that 26were accepted into the standard, namely IEEE 802.15.4g (SUN FSK) and IEEE 27802.15.4e (TSCH) which are of relevance to industrial IoT and automation. For 28recent developments in UWB ranging technology, see IEEE 802.15.4z which is not 29yet integrated into the standard's mainline. 30 31Whenever sections from the standard are cited in the documentation, they refer 32to IEEE 802.15.4-2020 section, table and figure numbering - unless otherwise 33specified. 34 35Zephyr supports both, native IEEE 802.15.4 and Thread, with 6LoWPAN. Zephyr's 36:ref:`thread_protocol_interface` implementation is based on `OpenThread 37<https://openthread.io/>`_. The IPv6 header compression in 6LoWPAN is shared 38among native IEEE 802.15.4 and the Bluetooth IPSP (IP support profile). 39 40API Reference 41************* 42 43IEEE 802.15.4 API Overview 44========================== 45 46Gives an introduction and overview over the whole IEEE 802.15.4 subsystem and 47all of its APIs, configuration and user interfaces for all audiences. 48 49.. doxygengroup:: ieee802154 50 51 52.. _ieee802154_mgmt_api: 53 54IEEE 802.15.4 Management API 55============================ 56 57This is the main subsystem-specific API of interest to IEEE 802.15.4 58**application developers** as it allows to configure the IEEE 802.15.4 subsystem 59at runtime. Other relevant interfaces for application developers are the 60typical shell, socket, Kconfig and devicetree APIs that can be accessed through 61Zephyr's generic subsystem-independent documentation. Look out for 62IEEE802154/ieee802154 prefixes there. 63 64.. doxygengroup:: ieee802154_mgmt 65 66 67.. _ieee802154_driver_api: 68 69IEEE 802.15.4 Driver API 70======================== 71 72This is the main API of interest to IEEE 802.15.4 **driver developers**. 73 74.. doxygengroup:: ieee802154_driver 75 76 77.. _ieee802154_l2_api: 78 79IEEE 802.15.4 L2 / Native Stack API 80=================================== 81 82This documents the IEEE 802.15.4 L2 native stack, which neither applications nor 83drivers will ever access directly. It is called internally by Zephyr's upper 84network layers (L3+), its socket and network context abstractions. This API is 85therefore of interest to IEEE 802.15.4 **subsystem contributors** only. 86 87.. doxygengroup:: ieee802154_l2 88 89OpenThread L2 Adaptation Layer API 90================================== 91 92Zephyr's OpenThread L2 platform adaptation layer glues the external OpenThread 93stack together with Zephyr's IEEE 802.15.4 protocol agnostic driver API. This 94API is of interest to OpenThread L2 **subsystem contributors** only. 95 96The OpenThread API is part of the :ref:`thread_protocol_interface` subsystem and 97documented there. 98