Skip to content

Commit

Permalink
docs: NCP documentation added
Browse files Browse the repository at this point in the history
NCP sample and NCP host package documentation added.
  • Loading branch information
milewr committed Nov 29, 2024
1 parent 54e45ab commit 44d91d0
Show file tree
Hide file tree
Showing 14 changed files with 314 additions and 46 deletions.
4 changes: 0 additions & 4 deletions docs/architectures.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ This page describes the platform designs that are possible with the Zigbee stack

The designs are described from the least to the most complex, that is from simple applications that consist of a single chip running single or multiple protocols to scenarios in which the nRF SoC acts as a network co-processor when the application is running on a much more powerful host processor.

.. include:: /includes/coprocessor_note.txt

.. _ug_zigbee_platform_design_soc:

System-on-Chip designs
Expand Down Expand Up @@ -95,8 +93,6 @@ This platform design is suitable for the following development kit:
Co-processor designs
********************

.. include:: /includes/coprocessor_note.txt

In co-processor designs, the application runs on one processor (the host processor) and communicates with another processor that provides the radio interface.
In these designs, the more powerful processor (host) interacts with the Zigbee network through a connectivity device, for example a Nordic Semiconductor's device with the Zigbee interface.

Expand Down
4 changes: 2 additions & 2 deletions docs/images/zigbee_platform_design_ncp.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions docs/lib/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ The following table lists libraries enabled by default for each available Zigbee
- :ref:`Light bulb <zigbee_light_bulb_sample>`
- :ref:`Light switch <zigbee_light_switch_sample>`
- :ref:`Network coordinator <zigbee_network_coordinator_sample>`
- :ref:`NCP <zigbee_ncp_sample>`
- :ref:`Shell (sample) <zigbee_shell_sample>`
- :ref:`Template <zigbee_template_sample>`
* - ZBOSS OSIF
Expand All @@ -92,28 +93,33 @@ The following table lists libraries enabled by default for each available Zigbee
- ✔
- ✔
- ✔
- ✔
* - Shell (library)
-
-
-
-
- ✔
-
* - Application utilities (default signal handler)
- ✔
- ✔
- ✔
-
- ✔
- ✔
* - Error handler
- ✔
- ✔
- ✔
-
- ✔
- ✔
* - Endpoint logger
-
-
-
-
- ✔
-
* - Scene helper
Expand All @@ -122,6 +128,7 @@ The following table lists libraries enabled by default for each available Zigbee
-
-
-
-

Read the table symbols in the following manner:

Expand Down
34 changes: 16 additions & 18 deletions docs/lib/osif.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,23 +70,23 @@ The ZBOSS OSIF serial implements sets of backend functions that are used by the

These backend functions serve logging ZBOSS traces that are useful for debugging and are provided in binary format.

..
These backend functions serve one or both of the following purposes:

* Logging ZBOSS traces - Used for handling stack logs that are useful for debugging and are provided in binary format.
* Handling NCP communication with the host device - Used only for the :ref:`NCP architecture <ug_zigbee_platform_design_ncp>`.
These backend functions serve one or both of the following purposes:

* Logging ZBOSS traces - Used for handling stack logs that are useful for debugging and are provided in binary format.
* Handling NCP communication with the host device - Used only for the :ref:`NCP architecture <ug_zigbee_platform_design_ncp>`.

The following table shows which sets of functions serve which purpose.
The following table shows which sets of functions serve which purpose.

.. _osif_table:
.. _osif_table:

+----------------------------+---------------+---------------+----------+
| | Async serial | Serial logger | Logger |
+============================+===============+===============+==========+
| Logging ZBOSS traces | - | - | - |
+----------------------------+---------------+---------------+----------+
| Handling NCP communication | - | | |
+----------------------------+---------------+---------------+----------+
+----------------------------+---------------+---------------+----------+
| | Async serial | Serial logger | Logger |
+============================+===============+===============+==========+
| Logging ZBOSS traces | - | - | - |
+----------------------------+---------------+---------------+----------+
| Handling NCP communication | - | | |
+----------------------------+---------------+---------------+----------+

For more information about configuring ZBOSS stack logs, see :ref:`zigbee_ug_logging_stack_logs`.

Expand Down Expand Up @@ -116,16 +116,14 @@ To configure this set of functions, use the following Kconfig options:
* ``CONFIG_ZIGBEE_HAVE_ASYNC_SERIAL`` - This option enables Zigbee async serial.
* ``CONFIG_ZIGBEE_UART_SUPPORTS_FLOW_CONTROL`` - This option should be set if serial device supports flow control.
* ``CONFIG_ZIGBEE_UART_RX_BUF_LEN`` - This option enables and configures the size of internal RX and TX buffer.

..
* ``CONFIG_ZBOSS_TRACE_BINARY_NCP_TRANSPORT_LOGGING`` - This option enables logging ZBOSS traces in binary format with Zigbee async serial.
* ``CONFIG_ZBOSS_TRACE_BINARY_NCP_TRANSPORT_LOGGING`` - This option enables logging ZBOSS traces in binary format with Zigbee async serial.

The Zigbee ZBOSS OSIF layer serial device needs to be provided in devicetree as follows:

.. code-block:: devicetree
chosen {
ncs,zigbee-uart = &uart0;
ncs,zigbee-uart = &uart20;
};
Zigbee serial logger
Expand All @@ -149,7 +147,7 @@ The ZBOSS tracing serial device needs to be provided in Devicetree like this:
.. code-block:: devicetree
chosen {
ncs,zboss-trace-uart = &uart1;
ncs,zboss-trace-uart = &uart21;
};
Zigbee logger
Expand Down
2 changes: 1 addition & 1 deletion docs/links.txt
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@
.. _`ZBOSS stack release notes`:
.. _`external ZBOSS development guide and API documentation`: https://nrfconnect.github.io/ncs-zigbee/docs/zboss/4.1.4.2/zigbee_devguide.html
.. _`Stack commissioning start sequence`: https://nrfconnect.github.io/ncs-zigbee/docs/zboss/4.1.4.2/using_zigbee__z_c_l.html#stack_start_initiation
.. _`ZBOSS NCP Host`: https://developer.nordicsemi.com/Zigbee/ncp_sdk_for_host/ncp_host_v2.2.3.zip
.. _`ZBOSS NCP Host`: https://github.com/nrfconnect/ncs-zigbee/resources/ncp_host_v3.0.0.zip
.. _`NCP Host documentation`: https://nrfconnect.github.io/ncs-zigbee/docs/zboss/4.1.4.2/zboss_ncp_host_intro.html
.. _`Rebuilding the ZBOSS libraries for host`: https://nrfconnect.github.io/ncs-zigbee/docs/zboss/4.1.4.2/zboss_ncp_host.html#rebuilding_libs
.. _`process the frame`: https://nrfconnect.github.io/ncs-zigbee/docs/zboss/4.1.4.2/using_zigbee__z_c_l.html#process_zcl_cmd
Expand Down
7 changes: 2 additions & 5 deletions docs/memory.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ Values are provided for :ref:`ZBOSS libraries <zigbee_zboss>`.
Samples were built using the available :ref:`zigbee_zboss`.
Unless stated otherwise, the default :file:`prj.conf` was used.

.. _zigbee_memory_52840:
.. _zigbee_memory_52833:
.. _zigbee_memory_5340:
.. _zigbee_memory_21540:

RAM and flash memory requirements
*********************************

Expand Down Expand Up @@ -49,6 +44,8 @@ Values are provided in kilobytes (KB).
+------------------------------------------------------------------------------------------------------------------------+--------------------------+---------------------------+----------------------------------+-----------------------------+-------------+--------------------------+-------------+
| :ref:`Light switch <zigbee_light_switch_sample>` with :ref:`zigbee_light_switch_sample_nus` | 446 | 0 | 32 | 4 | 482 | 72 | 72 |
+------------------------------------------------------------------------------------------------------------------------+--------------------------+---------------------------+----------------------------------+-----------------------------+-------------+--------------------------+-------------+
| :ref:`NCP <zigbee_ncp_sample>` | 0 | 0 | 32 | 4 | 0 | 0 | 0 |
+------------------------------------------------------------------------------------------------------------------------+--------------------------+---------------------------+----------------------------------+-----------------------------+-------------+--------------------------+-------------+
| :ref:`Zigbee application template <zigbee_template_sample>` | 392 | 0 | 32 | 4 | 428 | 100 | 100 |
+------------------------------------------------------------------------------------------------------------------------+--------------------------+---------------------------+----------------------------------+-----------------------------+-------------+--------------------------+-------------+
| :ref:`Zigbee shell <zigbee_shell_sample>` | 472 | 0 | 32 | 4 | 508 | 117 | 117 |
Expand Down
7 changes: 3 additions & 4 deletions docs/quick-start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -123,11 +123,10 @@ After you complete this quick start guide, we recommend that you get familiar wi

* If you want to test a multiprotocol solution, see the :ref:`zigbee_light_switch_sample_nus` section of the light switch sample.

..
* If you want to start developing for co-processor designs:
* If you want to start developing for co-processor designs:

* :ref:`ug_zigbee_platform_design_ncp`
* `NCP Host documentation`_
* :ref:`ug_zigbee_platform_design_ncp`
* `NCP Host documentation`_

* If you want to learn more about ZBOSS:

Expand Down
16 changes: 15 additions & 1 deletion docs/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,25 @@ For a full list of |addon|, related |NCS| and ZBOSS stack and NCP host package v
+-------------------+------------------+-----------------------+---------------------+
| |addon| version | |NCS| version | ZBOSS stack version | NCP host version |
+===================+==================+=======================+=====================+
| 0.1.0 | 2.8.0 | 4.1.4.2 | N/A |
| 0.2.0 | 2.8.0 | 4.1.4.2 | 3.0.0 |
+-------------------+ + +---------------------+
| 0.1.0 | | | N/A |
+-------------------+------------------+-----------------------+---------------------+

.. _zigbee_release:

|addon| v0.2.0 - 28/11/2024
***************************

This is an experimental release.

* Added:

* The :ref:`NCP <zigbee_ncp_sample>` sample.
* The `ZBOSS NCP Host`_ package v\ |zigbee_ncp_package_version|.

* Updated the documentation with small improvements.

|addon| v0.1.0 - 15/11/2024
***************************

Expand Down
5 changes: 5 additions & 0 deletions docs/samples/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,30 +76,35 @@ The following table lists variants and extensions available for each Zigbee samp
- Light bulb
- Light switch
- Network coordinator
- NCP
- Shell
- Template
* - Sleepy End Device behavior
- :ref:`*** <zigbee_ug_sed>`
- ✔
-
-
- :ref:`** <zigbee_ug_sed>`
- :ref:`** <zigbee_ug_sed>`
* - Multiprotocol Bluetooth LE
- `*** <Multiprotocol support_>`_
- ✔
- `*** <Multiprotocol support_>`_
-
- `*** <Multiprotocol support_>`_
- `*** <Multiprotocol support_>`_
* - Endpoint logger
- :ref:`** <ug_zigbee_configuring_components_logger_ep>`
- :ref:`** <ug_zigbee_configuring_components_logger_ep>`
- :ref:`** <ug_zigbee_configuring_components_logger_ep>`
-
- ✔
- :ref:`** <ug_zigbee_configuring_components_logger_ep>`
* - ZCL scene helper
- ✔
- :ref:`*** <ug_zigbee_configuring_components_scene_helper>`
- :ref:`*** <ug_zigbee_configuring_components_scene_helper>`
-
- :ref:`*** <ug_zigbee_configuring_components_scene_helper>`
- :ref:`*** <ug_zigbee_configuring_components_scene_helper>`

Expand Down
7 changes: 7 additions & 0 deletions docs/samples/ncp/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.. _zigbee_ncp_sample:

Zigbee: NCP
###########

.. include:: ../../../samples/ncp/README.rst
:start-after: ###########
4 changes: 2 additions & 2 deletions docs/shortcuts.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.. ### Versions

.. |addon_version| replace:: 0.1.0
.. |addon_version| replace:: 0.2.0
.. |ncs_version| replace:: 2.8.0
.. |zigbee_version| replace:: Zigbee 3.0
.. |zboss_version| replace:: 4.1.4.2
Expand Down Expand Up @@ -40,6 +40,6 @@
.. |zigbee_ncp_package| replace:: It contains the full development-ready source code for host and evaluation-ready firmware for the nRF54L15 DK.
The package comes with prebuilt libraries compatible with 64-bit Ubuntu 22.04 Linux.
.. |zigbee_ncp_package_more_info| replace:: For information about how to recompile the package libraries for a different host architecture or operating system, see the `NCP Host documentation`_.
For information about how to use NCP Host for Zigbee in the |NCS| or build the firmware using the NCP sample, see the :ref:`NCP sample <zigbee_ncp_sample>`.
For information about how to use NCP Host with the |addon| for the |NCS| or build the firmware using the NCP sample, see the :ref:`NCP sample <zigbee_ncp_sample>`.
.. |zigbee_shell_config| replace:: You can add support for Zigbee shell commands to any of the available :ref:`Zigbee samples <zigbee_samples>`.
Some of the commands use an endpoint for sending packets, so no endpoint handler is allowed to be registered for this endpoint.
17 changes: 8 additions & 9 deletions docs/tools.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,19 @@ It provides a near real-time display of 802.15.4 packets that are sent back and

See `nRF Sniffer for 802.15.4`_ for documentation.

..
.. _ug_zigbee_tools_ncp_host:
.. _ug_zigbee_tools_ncp_host:

ZBOSS NCP Host
**************
ZBOSS NCP Host
**************

The NCP Host is a ZBOSS-based tool for running the host side of the :ref:`ug_zigbee_platform_design_ncp_details` design.
|zigbee_ncp_package|
The NCP Host is a ZBOSS-based tool for running the host side of the :ref:`ug_zigbee_platform_design_ncp_details` design.
|zigbee_ncp_package|

The tool is available for download as a standalone :file:`zip` package using the following link:
The tool is available for download as a standalone :file:`zip` package using the following link:

* `ZBOSS NCP Host`_ (|zigbee_ncp_package_version|)
* `ZBOSS NCP Host`_ (|zigbee_ncp_package_version|)

|zigbee_ncp_package_more_info|
|zigbee_ncp_package_more_info|

.. _ug_zigbee_tools_logger_endpoint:

Expand Down
9 changes: 9 additions & 0 deletions docs/zboss/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,15 @@ ZBOSS stack changelog

All notable changes to the ZBOSS stack are documented in ZBOSS documentation.

|addon| v0.2.0
**************

ZBOSS 4.1.4.2
`Documentation <ZBOSS 4.1.4.2 Documentation_>`_ | `Release notes <ZBOSS 4.1.4.2 changelog_>`_

NCP Host 3.0.0
`Documentation <NCP Host 3.0.0 Documentation_>`_ | `Release notes <NCP Host 3.0.0 changelog_>`_

|addon| v0.1.0
**************

Expand Down
Loading

0 comments on commit 44d91d0

Please sign in to comment.