Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/includes/include_building_and_running.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ This sample can be found under :file:`samples/sid_end_device`.
.. note::
Before you flash your Sidewalk sample, make sure you have completed the following:

* You downloaded the Sidewalk repository and updated west according to the :ref:`dk_building_sample_app` section.
* You have set up the Sidewalk repository using the standalone west.yml configuration as described in the :ref:`setting_up_sdk` section.
* You provisioned your device during the :ref:`setting_up_sidewalk_prototype`.

This step needs to be completed only once.
Expand Down
5 changes: 3 additions & 2 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

Be aware, that by downloading and including the Sidewalk repository, you accept the above-mentioned license.

Due to these restrictions, Sidewalk cannot be automatically fetched through the nRF Connect SDK and will require performing a dedicated setup.
All information regarding completing it is included in this guide, so ensure you follow it in order.
Due to these restrictions, Sidewalk is now managed through its own west.yml configuration, separate from the nRF Connect SDK manifest.
All information regarding completing the setup is included in this guide, so ensure you follow it in order.

Welcome to the nRF Connect SDK - Amazon Sidewalk
################################################
Expand Down Expand Up @@ -41,6 +41,7 @@ Browse the content by referring to the following pages:
:caption: Subpages:

setting_up_sidewalk_environment/setting_up_environment.rst
setting_up_sidewalk_environment/migration_guide.rst
samples/samples_list.rst
compatibility_matrix.rst
releases_and_migration.rst
Expand Down
161 changes: 161 additions & 0 deletions doc/setting_up_sidewalk_environment/migration_guide.rst
Copy link
Contributor

@ktaborowski ktaborowski Mar 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename migration_guide_addon_v010

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't notice your comment, I renamed it migration_guide_standalone.rst,
I think it also describes the change good enough for our need

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another migration guides are named from ncs versions so I would recommend to keep this convetion, see https://github.com/nrfconnect/sdk-sidewalk/tree/main/doc/releases_and_migration

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok I will fix it

Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
.. _migration_guide:

Migration Guide: Moving from NCS Manifest to Standalone west.yml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Migration Guide for moving to Sidewalk Add-on ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

###############################################################

This guide explains how to migrate your Sidewalk development environment from using the NCS manifest to the new standalone west.yml setup.

Overview
========

The Sidewalk repository has been moved out of the NCS manifest into its own west.yml configuration. This change provides more flexibility and better control over the Sidewalk development environment. The Sidewalk release cycle will be detached from NCS, allowing for faster releases of new libraries on stable versions of NCS. The Sidewalk repository is now visible in the NCS add-on index repository, which enables an alternative setup method using the VSCode NRF Connect add-on.

Prerequisites
============

Before starting the migration, ensure you have:

* Git installed on your system
* Python 3.8 or later installed
* The west tool installed
* nrfutil installed

Alternative Setup Method
=======================

If you prefer using VSCode, you can set up a clean environment using the NRF Connect add-on:

1. Install VSCode and the NRF Connect add-on
2. Open VSCode and click on the NRF Connect icon in the sidebar
3. Click on "Add Application" and select "Sidewalk" from the list of available applications
4. Follow the prompts to set up your development environment

This method will automatically handle the repository setup and dependencies installation.

Migration Steps
=============

1. Clone the New Sidewalk Repository
----------------------------------

.. code-block:: console
# Clone the new Sidewalk repository into sidewalk directory
git clone https://github.com/nordicsemiconductor/sidewalk.git sidewalk
2. Clean Existing West Configuration (if applicable)
-------------------------------------------------

If you already have an NCS setup with Sidewalk, you need to remove the existing west configuration and ensure Sidewalk is checked out to the correct revision after the NCS separation:

.. code-block:: console
# Remove the .west directory to clean the west configuration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest moving comments to the text section instead placing in in the cosnole snippets

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that those comments in place are actually good, they does not matter if you copy/paste whole block, and they explain line by line why the command is needed

rm -rf .west
# Checkout and pull main branch in Sidewalk repository
cd sidewalk
git checkout main
git pull origin main
cd ..
3. Initialize West
-----------------

.. code-block:: console
# Initialize west with the new manifest
west init -l sidewalk
4. Update Repositories
---------------------

.. code-block:: console
# Update all repositories
west update
5. Update Toolchain and Install Dependencies
------------------------------------------

.. code-block:: console
# Get the toolchain hash and download it
nrf/scripts/toolchain.py
nrfutil toolchain install --ncs-version $(nrf/scripts/toolchain.py --ncs-version)
# Install Python dependencies for nRF and Zephyr
pip install -r nrf/scripts/requirements.txt
pip install -r zephyr/scripts/requirements.txt
# Install Sidewalk Python requirements
pip install -r requirements.txt
Verification
===========

To verify your migration was successful:

1. Check that all repositories are properly cloned:

.. code-block:: console
west list
Expected output should show all required repositories with their paths and revisions. For example:

.. code-block:: console
name path revision
---------------------- ---------------------- ----------------------
manifest sidewalk HEAD
...
Invalid output would be:
* Empty list
* Missing repositories
* Error messages
* "Not found" status for any repository

2. Verify the build process:

.. code-block:: console
west build -b nrf54l15dk/nrf54l15/cpuapp samples/sid_end_device
This will build the Sidewalk end device sample application. If the build succeeds, your migration was successful.

Common Issues and Solutions
=========================

1. Repository Conflicts
----------------------

If you encounter repository conflicts during the migration:

.. code-block:: console
# Remove the .west directory
rm -rf .west
# Reinitialize west
west init -l sidewalk
# Update repositories
west update
2. Build Errors
--------------

If you encounter build errors:

* Ensure all dependencies are installed
* Check that the NCS environment is properly sourced
* Verify that you're using the correct board target
* Try building the Zephyr hello world sample to verify your basic build environment:

.. code-block:: console
west build -b nrf54l15dk/nrf54l15/cpuapp zephyr/samples/basic/hello_world
Additional Resources
==================

* :ref:`setting_up_environment`
* :ref:`samples_list`
* :ref:`compatibility_matrix`
46 changes: 25 additions & 21 deletions doc/setting_up_sidewalk_environment/setting_up_sdk.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,51 +12,55 @@ Once confirmed, follow the `Installing the nRF Connect SDK`_ instructions.

.. _dk_building_sample_app:

Downloading the Sidewalk repository
Setting up the Sidewalk Repository
***********************************

Once you have installed the nRF Connect SDK, download the Sidewalk application:
The Sidewalk repository is now managed through its own west.yml configuration. To set up the Sidewalk development environment:

1. Open a terminal window in the ncs folder.
Your directory structure should look as follows:
1. Clone the Sidewalk repository:

.. code-block:: console

.
|___ .west
|___ bootloader
|___ modules
|___ nrf
|___ nrfxlib
|___ zephyr
|___ ...
git clone https://github.com/nordicsemiconductor/sidewalk.git sidewalk
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can initlize west form sidewalk repostoriy directly, no need to clone it with git and init west locally.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm true, you can do i both ways, I will try to add it to the doc


#. Enable the Sidewalk group filter for west.
2. If you are migrating from an existing NCS setup with Sidewalk, clean the west configuration:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest moving it to the Note section or sht with a link to migration guide instead of keeping in in setting up instructions

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok


.. code-block:: console

$ west config manifest.group-filter "+sidewalk"
# Remove the .west directory to clean the west configuration
rm -rf .west
# Checkout and pull main branch in Sidewalk repository
cd sidewalk
git checkout main
git pull origin main
cd ..

Check for Sidewalk presence in west:
3. Initialize west with the new manifest:

.. code-block:: console

$ west list sidewalk
sidewalk sidewalk <sidewalk_revision> https://github.com/nrfconnect/sdk-sidewalk
west init -l sidewalk

#. Update all repositories:
4. Update all repositories:

.. code-block:: console

$ west update
west update

Depending on your connection, the update might take some time.

#. Install Python requirements for Sidewalk.
5. Install the toolchain and update Python packages:

.. code-block:: console

$ pip install -r sidewalk/requirements.txt
# Get the toolchain hash and download it
nrf/scripts/toolchain.py
nrfutil toolchain install --ncs-version $(nrf/scripts/toolchain.py --ncs-version)
# Install Python dependencies for nRF and Zephyr
pip install -r nrf/scripts/requirements.txt
pip install -r zephyr/scripts/requirements.txt
# Install Sidewalk Python requirements
pip install -r requirements.txt

Extracting nRF Command Line Tools
*********************************
Expand Down