Skip to content

Conversation

Aeyohan
Copy link
Contributor

@Aeyohan Aeyohan commented Mar 11, 2025

Added a very basic getting started guide to the docs. Will likely need to be updated once zephyr is updated to 4.0/4.1 due to additions to the west tool, and changes to zephyr docs as a result.

It's also worth noting that I don't remember exactly where setting up the python tools fits in (i.e. can a basic infuse app be built and programmed without setting up python tooling).
Obviously, I reference the gateway_usb which needs python tooling to check the firmware is working, but that would fit well into a next steps guide/demo.

@Aeyohan Aeyohan requested a review from JordanYates March 11, 2025 04:32
Copy link
Contributor

@JordanYates JordanYates left a comment

Choose a reason for hiding this comment

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

Generally speaking I think guides should be their own top level section after "Cloud", "Embedded", etc.


To use vscode (Visual Studio Code):

1. Install and Open VScode from Windows (not WSL).
Copy link
Contributor

Choose a reason for hiding this comment

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

Doc build error here:

infuse-sdk/doc/_build/src/embedded/getting_started/index.rst:369: WARNING: Enumerated list ends without a blank line; unexpected unindent.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Lists in rst are confusing.
Didn't realise it stopped outputting errors and had to make clean to make them reappear.


Follow this guide to:

- Set up a command-line Infuse IoT Emebdded development environment on Ubuntu, macOS, or
Copy link
Contributor

Choose a reason for hiding this comment

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

Emebdded typo.

Sample" steps.

Setup Python environment
*****************************************
Copy link
Contributor

Choose a reason for hiding this comment

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

Should only be as long as the title

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Turns out at some point I Ctrl+clicked the file reference in a warning to go to the location, but it opened the file from the _build folder.
Was really confusing why my changes were magically undoing themselves.


.. note::

Installing Zephyr requires a many dependencies and by default installs all of them which
Copy link
Contributor

Choose a reason for hiding this comment

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

this is not a complete sentence that makes sense

.. _host_setup:

Setup and Install `Zephyr RTOS <https://www.zephyrproject.org/>`_
*****************************************************************
Copy link
Contributor

Choose a reason for hiding this comment

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

This entire section should just be a link to the Zephyr setup steps IMO.
Once baseline zephyr is setup:

  1. Clone out infuse-sdk into the workspace
  2. Set infuse-sdk as the manifest folder (edit .west/config, [manifest] path)
  3. west update
  4. Ensure west build -b nrf52840dk/nrf52840 infuse-sdk/app/gateway_usb builds

Trying to copy extra information from the Zephyr website is just likely to go out of date.

Setup Build Directory (Optional)
********************************

.. note::
Copy link
Contributor

Choose a reason for hiding this comment

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

Note should go at the end


.. group-tab:: macOS

- Install ``binutils`` through brew for useful tools such as ``addr2line``.
Copy link
Contributor

Choose a reason for hiding this comment

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

Proper toolchain versions of addr2line are installed as part of the Zephyr SDK

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed step

@Aeyohan Aeyohan force-pushed the feature/getting_started branch from cafab3d to 28521a0 Compare March 14, 2025 08:16
@Aeyohan
Copy link
Contributor Author

Aeyohan commented Mar 14, 2025

  • Created new Section Guides and Tutorials
  • Added placeholder index
  • Moved getting started guide here
  • Changed guide to get Zephyr project setup, then clone infuse-iot, switch west manifest path, west update and build sample.
  • Broke out troubleshooting, vscode setup, useful tips.
  • checked for build warning with make clean && make html

@Aeyohan Aeyohan requested a review from JordanYates March 14, 2025 08:22
Copy link
Contributor

@JordanYates JordanYates left a comment

Choose a reason for hiding this comment

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

This can still be simplified further.
Most notes here are specific to WSL, I think it would make sense to move WSL specific info to a dedicated sub-guide.


Follow this guide to:

- Set up a command-line Infuse-IoT Embedded development environment on Ubuntu, macOS, or
Copy link
Contributor

Choose a reason for hiding this comment

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

Probably drop the OS mentions, there shouldn't be anything stopping this working on native Windows as well, its a supported Zephyr platform.


Zephyr's install instructions uses the workspace: ``~/zephyrproject``. We
recommend using the workspace: ``~/code/infuse-iot`` instead (but you're welcome to replace
this path with your own desired desintation, at your own risk).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
this path with your own desired desintation, at your own risk).
this path with your own desired destination, at your own risk).

The first step is to setup and install Zephyr RTOS.
Install and test Zephyr is working by building the Blinky sample application.

.. note::
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 drop this entire note, and the OS specific sections below.
Step 1, complete the Zephyr getting started guide (With a note that it can be skipped if you already have a working Zephyr install).
Step 2, create a new workspace for Infuse-IoT now that upstream Zephyr is installed, which should only require:

mkdir ~/infuse
cd ~/infuse
west init -m [email protected]:Embeint/infuse-sdk.git
west update 

The goal is to offload as much information as possible to the Zephyr docs, there is no value in duplicating information here that can go out of date faster.


nRF Command line tools will eventually be replaced by `nrfutil`_.

.. tabs::
Copy link
Contributor

Choose a reason for hiding this comment

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

Install instructions should be deferred to Nordic instructions, not duplicated here.

@Aeyohan Aeyohan force-pushed the feature/getting_started branch from 28521a0 to 6cee418 Compare April 2, 2025 01:59
@Aeyohan
Copy link
Contributor Author

Aeyohan commented Apr 2, 2025

  • Added separate WSL guide
  • Changed toc structure to accommodate wsl guide
  • Updated to include steps for native windows (but have not tested) (This was a nuisance since bash/zsh commands don't work on powershell/cmd).
  • Fixed typo
  • Changed approach to setup zephyrproject, then setup a new west workspace for infuse-iot
  • Removed references to nrfutil
    Left out one change, adding soon

Aeyohan added 2 commits April 2, 2025 14:05
Removed `struct` from recently added documentation references.
Caused build errors when building docs

Signed-off-by: Aeyohan Furtado <[email protected]>
Added a very basic getting started guide to the docs.

Signed-off-by: Aeyohan Furtado <[email protected]>
@Aeyohan Aeyohan force-pushed the feature/getting_started branch from 6cee418 to 2f79f57 Compare April 2, 2025 04:05
@Aeyohan
Copy link
Contributor Author

Aeyohan commented Apr 2, 2025

  • Fix docs build issue in channels.h
  • Added note on deleting ~/zephyrproject to transfer venv first.

Copy link

codecov bot commented Apr 2, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

📢 Thoughts on this report? Let us know!

@Aeyohan Aeyohan requested a review from JordanYates April 2, 2025 08:45
@JordanYates JordanYates merged commit c9cb813 into main Apr 6, 2025
12 checks passed
@JordanYates JordanYates deleted the feature/getting_started branch April 6, 2025 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants