You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.3 KiB
97 lines
3.3 KiB
.. _ieee802154_interface: |
|
|
|
IEEE 802.15.4 |
|
############# |
|
|
|
.. contents:: |
|
:local: |
|
:depth: 2 |
|
|
|
Introduction |
|
************ |
|
|
|
IEEE 802.15.4 is a technical standard which defines the operation of low-rate |
|
wireless personal area networks (LR-WPANs). For a more detailed overview of this |
|
standard, see the `IEEE 802.15.4 Wikipedia article |
|
<https://en.wikipedia.org/wiki/IEEE_802.15.4>`_. |
|
|
|
The most recent version of the standard is accessible through the `IEEE GET |
|
Program |
|
<https://ieeexplore.ieee.org/browse/standards/get-program/page/series?id=68>`_. |
|
You need to create a free IEEE account and can then downloading it. |
|
|
|
We're currently following the IEEE 802.15.4-2020 specification. This version is |
|
backwards compatible with IEEE 802.15.4-2015, parts of which are contained in |
|
the Thread protocol stack. The 2020 version also includes prior extensions that |
|
were accepted into the standard, namely IEEE 802.15.4g (SUN FSK) and IEEE |
|
802.15.4e (TSCH) which are of relevance to industrial IoT and automation. For |
|
recent developments in UWB ranging technology, see IEEE 802.15.4z which is not |
|
yet integrated into the standard's mainline. |
|
|
|
Whenever sections from the standard are cited in the documentation, they refer |
|
to IEEE 802.15.4-2020 section, table and figure numbering - unless otherwise |
|
specified. |
|
|
|
Zephyr supports both, native IEEE 802.15.4 and Thread, with 6LoWPAN. Zephyr's |
|
:ref:`thread_protocol_interface` implementation is based on `OpenThread |
|
<https://openthread.io/>`_. The IPv6 header compression in 6LoWPAN is used for |
|
native IEEE 802.15.4. |
|
|
|
API Reference |
|
************* |
|
|
|
IEEE 802.15.4 API Overview |
|
========================== |
|
|
|
Gives an introduction and overview over the whole IEEE 802.15.4 subsystem and |
|
all of its APIs, configuration and user interfaces for all audiences. |
|
|
|
.. doxygengroup:: ieee802154 |
|
|
|
|
|
.. _ieee802154_mgmt_api: |
|
|
|
IEEE 802.15.4 Management API |
|
============================ |
|
|
|
This is the main subsystem-specific API of interest to IEEE 802.15.4 |
|
**application developers** as it allows to configure the IEEE 802.15.4 subsystem |
|
at runtime. Other relevant interfaces for application developers are the |
|
typical shell, socket, Kconfig and devicetree APIs that can be accessed through |
|
Zephyr's generic subsystem-independent documentation. Look out for |
|
IEEE802154/ieee802154 prefixes there. |
|
|
|
.. doxygengroup:: ieee802154_mgmt |
|
|
|
|
|
.. _ieee802154_driver_api: |
|
|
|
IEEE 802.15.4 Driver API |
|
======================== |
|
|
|
This is the main API of interest to IEEE 802.15.4 **driver developers**. |
|
|
|
.. doxygengroup:: ieee802154_driver |
|
|
|
|
|
.. _ieee802154_l2_api: |
|
|
|
IEEE 802.15.4 L2 / Native Stack API |
|
=================================== |
|
|
|
This documents the IEEE 802.15.4 L2 native stack, which neither applications nor |
|
drivers will ever access directly. It is called internally by Zephyr's upper |
|
network layers (L3+), its socket and network context abstractions. This API is |
|
therefore of interest to IEEE 802.15.4 **subsystem contributors** only. |
|
|
|
.. doxygengroup:: ieee802154_l2 |
|
|
|
OpenThread L2 Adaptation Layer API |
|
================================== |
|
|
|
Zephyr's OpenThread L2 platform adaptation layer glues the external OpenThread |
|
stack together with Zephyr's IEEE 802.15.4 protocol agnostic driver API. This |
|
API is of interest to OpenThread L2 **subsystem contributors** only. |
|
|
|
The OpenThread API is part of the :ref:`thread_protocol_interface` subsystem and |
|
documented there.
|
|
|