-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Doc creation #1
Doc creation #1
Conversation
Just realized that we don't have a documentation build set up. |
8db3512
to
1655682
Compare
Incorporated more feedback, |
1655682
to
3887ed5
Compare
Some suggestions were accidentally left out. Latest build: |
3887ed5
to
7708f83
Compare
Latest build: |
1fa416e
to
9bf3608
Compare
Weekend build: |
9bf3608
to
576c76b
Compare
Changed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments.
|
||
If your devices should use a different address, you can change the address according to your company's addressing scheme. | ||
|
||
.. include:: includes/ieee802154_eui64_conf_nrf54l.txt |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CONFIG_IEEE802154_NRF5_UICR_EUI64_ENABLE
is not available for nRF54.
@milewr this is something we'll need to address.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@edmont I have also this part of documentation in my notes to be carefully verified and updated.
======= | ||
|
||
* The ZBOSS stack to version ``4.1.4.2+``. | ||
For detailed information, see `ZBOSS stack release notes`_ for the |addon| v0.1.0 release. | ||
|
||
nRF Connect SDK v2.7.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: add 2.8.0 changelog.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@edmont let's discuss this subpage of documentation. In my opinion some information can be duplicated and we should omit it.
|
||
Each of the samples you will use for forming the network is based on the single-chip, single-protocol architecture, uses the default configuration (that is, without any additional sample extensions enabled) and has a clearly defined role: | ||
|
||
* :ref:`Zigbee network coordinator <zigbee_network_coordinator_sample>` demonstrates the Zigbee Coordinator role and supports only the network steering commissioning mechanism. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO: check the R23 commissioning naming.
Should we move the maturity level table here? |
While all support is going to be experimental, I don't think it necessary. If some features are not going to be supported at all or will eventually be marked supported, it makes more sense. |
576c76b
to
9afe7e1
Compare
Forgot to upload version after last update. Includes adding v2.8.0 changelog entry to ZBOSS changelog. |
9afe7e1
to
020d9c9
Compare
And had actually forgotten to push the latest change. Now the changes included in the previous built documentation are fully present on the branch. |
docs/setup.rst
Outdated
|
||
To work with the |addon| for the |NCS|, you need to `install the nRF Connect SDK <Installing the nRF Connect SDK_>`_, including all its prerequisites. | ||
|
||
When working with |addon| v\ |addon_version|, choose |NCS| v\ |ncs_version| when you get the |NCS| code. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it should be mentioned as a note and on the top of "Software requirements" section mentioning that for Zigbee R23 add-on version... choose v2.8.0 toolchain.
In next sentence "To work with the Zigbee R23... install prerequisites and toolchain.
docs/setup.rst
Outdated
Software requirements | ||
********************* | ||
|
||
To work with the |addon| for the |NCS|, you need to `install the nRF Connect SDK <Installing the nRF Connect SDK_>`_, including all its prerequisites. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To work with the |addon| for the |NCS|, you need to `install the nRF Connect SDK <Installing the nRF Connect SDK_>`_, including all its prerequisites. | |
To work with the |addon| for the |NCS|, you need to `install the nRF Connect SDK <Installing the nRF Connect SDK_>`_ all prerequisites and toolchain. |
docs/setup.rst
Outdated
.. note:: | ||
If you are working on the command line, in Step 4, use the following command to initialize west with the |addon|, and the correct version of the |NCS|: | ||
|
||
.. code-block:: console | ||
|
||
west init -m "http://github.com/nrfconnect/ncs-zigbee" --mr main | ||
|
||
To create an application, follow the `Creating an application`_ instructions, with the following differences: | ||
|
||
.. tabs:: | ||
|
||
.. group-tab:: |nRFVSC| | ||
|
||
In Step 4, select :guilabel:`Browse nRF Connect SDK Add-on Index`, then select :guilabel:`Zigbee R23 extension`, and select the latest version of the |addon|. | ||
|
||
.. group-tab:: command line | ||
|
||
Should this point to https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/create_application.html#creating_application_for_use_with_command_line and the Freestanding application tab? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to separate approach for VS Code and Command Line/Linux.
For Linux basically after installing all prerequisites toolchain, user need to proceed with "west init command".
For VS Code it needs to "install" Zigbee add-on. For now I found that we can point to use this description https://docs.nordicsemi.com/bundle/nrf-connect-vscode/page/get_started/build_app_ncs.html#how-to-create-an-application and selecting "Browse nRF Connect SDK Add-on Index" --> Zigbee add-on
.. figure:: images/zigbee_qsg_vsc_flash.png | ||
:alt: nRF Connect for Visual Studio Code - Refresh Connected Devices and Flash buttons | ||
|
||
When the programming is done, the **LED1** on the development kit turns on to indicate that the Zigbee network is open. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check LED naming
The **LED2** turns on when the application is started. | ||
#. Press **Button 0** on the development kit programmed with the network coordinator sample to reopen the Zigbee network. | ||
After some time, the devices join the Zigbee network. | ||
|
||
* On the development kit programmed with the light bulb sample, **LED1** turns on when the light bulb joins the network. | ||
* On the development kit programmed with the light switch sample, **LED1** turns on when the device joins the network and **LED2** turns on when the light switch finds a light bulb to control. | ||
|
||
Reopening the network | ||
If you find that you are having issues with your devices joining the Zigbee network, it may be because the network needs to be reopened manually. | ||
By default, the network remains open for 180 seconds at startup and after **Button 0** is pressed. | ||
After 180 seconds have passed, the network will close and needs to be re-opened. | ||
|
||
When the network is open, **LED1** on the development kit programmed with the network coordinator sample will be on. | ||
If **LED1** is not on, then the network is closed and needs to be reopened again. | ||
|
||
To reopen the network, press **Button 0** on the development kit that has been programmed as the network coordinator. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check LEDs and Buttons naming
The communication channel uses Zephyr's `UART API`_ API. The serial device is selected in devicetree like this: | ||
|
||
.. code-block:: devicetree | ||
|
||
chosen { | ||
ncs,zigbee-uart = &uart0; | ||
}; | ||
|
||
By default, Zephyr's logger uses ``uart0`` and the NCP sample communicates through the UART serialization using ``uart1``. | ||
The DTS overlay file configures ``uart1`` to be connected to the on-board J-Link instead of ``uart0``. | ||
As the result, Zephyr's logger ``uart0`` is available only through GPIO pins (**P1.00** and **P1.01**). | ||
|
||
The ``uart0`` pins are configured by devicetree overlay files for each supported development kit in the :file:`boards` directory. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check with @AdamZelikNS if this is correct.
To change the communication channel from the default UART to nRF USB CDC ACM ``cdc_acm_uart0``, use the :file:`prj_usb.conf` configuration file and add the ``-DFILE_SUFFIX=usb`` flag to the build command. | ||
When using the nRF52840 Dongle, please add the ``-DFILE_SUFFIX=dongle`` flag to the build command instead. | ||
See `Providing CMake options`_ in the |NCS| documentation for instructions on how to add these flags to your build. | ||
For example, when building from the command line, use the following commands: | ||
|
||
.. code-block:: console | ||
|
||
west build samples/zigbee/ncp -b nrf52840dk/nrf52840 -- -DFILE_SUFFIX=usb | ||
|
||
.. code-block:: console | ||
|
||
west build samples/zigbee/ncp -b nrf52840dongle/nrf52840 -- -DFILE_SUFFIX=dongle | ||
|
||
The USB device VID and PID are configured by the sample's Kconfig file. | ||
|
||
.. note:: | ||
USB is used as the default NCP communication channel when using the nRF52840 Dongle. | ||
|
||
When you change the communication channel to nRF USB using either :file:`prj_usb.conf` or :file:`prj_dongle.conf` and select any of the :file:`<board>_usb.overlay` or :file:`<board>_dongle.overlay` files, respectively, :ref:`Zigbee stack logs <zigbee_ug_logging_stack_logs>` are printed by default using ``uart1``. | ||
This is configured in the project file with the following Kconfig options: | ||
|
||
* ``CONFIG_ZBOSS_TRACE_BINARY_LOGGING`` - To enable binary format. | ||
* ``CONFIG_ZBOSS_TRACE_UART_LOGGING`` - To select the UART serial over the nRF USB serial. | ||
This option is set by default when the binary format is enabled. | ||
|
||
And, in the overlay file like this: | ||
|
||
.. code-block:: devicetree | ||
|
||
chosen { | ||
ncs,zboss-trace-uart = &uart1; | ||
}; | ||
|
||
Alternatively, you can configure :ref:`Zigbee stack logs <zigbee_ug_logging_stack_logs>` to be printed in binary format using an independent CDC ACM device of the same nRF USB. | ||
Complete the following steps: | ||
|
||
1. Set the following Kconfig options: | ||
|
||
* ``CONFIG_ZBOSS_TRACE_BINARY_LOGGING`` - This option enables the binary format. | ||
* ``CONFIG_ZBOSS_TRACE_USB_CDC_LOGGING`` - This option selects nRF USB serial over UART serial. | ||
|
||
#. Create two instances of USB CDC ACM for the application: | ||
|
||
a. Create two entries in the DTS overlay file :file:`<board>_usb.overlay` or :file:`<board>_dongle.overlay` for the selected board, one for each USB CDC ACM instance. | ||
See `CDC ACM`_ in the Zephyr documentation for more information. | ||
#. Extend the ``zephyr_udc0`` node in the DTS overlay file to also configure the second USB CDC ACM instance ``"cdc_acm_uart1"``: | ||
|
||
.. code-block:: devicetree | ||
|
||
&zephyr_udc0 { | ||
cdc_acm_uart0: cdc_acm_uart0 { | ||
compatible = "zephyr,cdc-acm-uart"; | ||
}; | ||
|
||
cdc_acm_uart1: cdc_acm_uart1 { | ||
compatible = "zephyr,cdc-acm-uart"; | ||
}; | ||
}; | ||
|
||
#. Configure the chosen tracing UART device like this: | ||
|
||
.. code-block:: devicetree | ||
|
||
chosen { | ||
ncs,zboss-trace-uart = &cdc_acm_uart1; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check with @AdamZelikNS if this is correct.
Description refers to nRF52840 dongle - is it valid for nRF54L15 and requires only small polishing?
docs/samples/ncp/README.rst
Outdated
* For the ``nrf52840dongle/nrf52840`` board target, the `nRF5 SDK Bootloader`_ is used by default because the dongle comes with this bootloader preinstalled. | ||
* For the ``nrf52840dk/nrf52840``, ``nrf52833dk/nrf52833``, and ``nrf21540dk/nrf52840`` board targets, the following scenarios are possible when building for them: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For sure wrong boards/targets Check if it is valid for nRF54L15. @AdamZelikNS pls comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now, updated to add apply options that were for the non-dongle targets to apply to nrf54l15dk/nrf54l15/cpuapp
.
1. Download and extract the `ZBOSS NCP Host`_ package. | ||
|
||
.. note:: | ||
If you are using a Linux distribution different than the 64-bit Ubuntu 18.04, make sure to rebuild the package libraries and applications. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mariusz-nordicsemi shall we update Ubuntu version here?
docs/samples/ncp/README.rst
Outdated
When the light bulb joins the network, the **LED2** on the light bulb device turns on to indicate that it is connected to the simple gateway. | ||
The gateway then starts discovering the On/Off cluster. | ||
When it is found, the simple gateway configures bindings and reporting for the device. | ||
It then starts sending On/Off toggle commands with a 15-second interval that toggle the **LED3** on the light bulb on and off. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check LEDs namings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LED3 should probably be LED1, which is controlled by a different device. LED2 should be correct. At least, based on what is currently in the documentation.
8faea21
to
4a9c072
Compare
Current version. I think we are getting to the point where it would make sense to squash and marge this PR, and then start working on separate PRs for improvements. |
Due to build system limitations, RST documentation must all be inside the `doc` folder. This moves the ZBOSS documentation to the correct folder. Signed-off-by: Wille Backman <wille.backman@nordicsemi.no>
Adds the existing documentation from the SDK and nrfxlib repos, and makes the necessary changes to them so everything builds correctly. Signed-off-by: Wille Backman <wille.backman@nordicsemi.no>
Reorders some Doxygen declarations so that the header documentation will build. Also adds comments for some conditionals so they are easier to keep track of when troubleshooting. Signed-off-by: Wille Backman <wille.backman@nordicsemi.no>
4a9c072
to
4931aef
Compare
Rebased, and squashed a couple of commits. Also added the Template sample to the |
Applying the feedback that was provided. Signed-off-by: Wille Backman <wille.backman@nordicsemi.no>
4931aef
to
d35e494
Compare
doc: add documentation
Adds the currently existing documentation from the nRF Connect SDK and the nrfxlib, then updates them to work outside of the shared documentation structure.