This repository contains source codes for the CHESTER SDK. It is a firmware framework for developing embedded IoT applications on the CHESTER hardware platform. The framework builds on top of nRF Connect SDK (from Nordic Semiconductor), which uses Zephyr OS (backed by Linux Foundation). By design, the users of CHESTER SDK can build their applications or another SDK layer on top of it as long as CHESTER will be the underlying hardware platform.
The CHESTER SDK targets only nRF52840 SoC (Nordic Semiconductor). It has no relation to the onboard LTE module, nor LoRaWAN module.
These are the basic prerequisites to work with the CHESTER SDK:
- Desktop environment with Windows, macOS, or Ubuntu
- CHESTER hardware platform (preferably
CHESTER-M-BCDGLS) - USB debugger SEGGER J-Link
- Power source for CHESTER (e.g. Power Profiler Kit II)
Also, you will need to install required software by this guide: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/gs_installing.html
Optionally, you may install Visual Studio Code as the editor. It is not a required component and you can use any editor of your preference, but HARDWARIO can provide limited support for this environment.
The first step is to initiaze West workspace:
If you clone from GitLab (former repository), use this command:
west init -m git@gitlab.hardwario.com:chester/sdk.git --manifest-rev main chester-sdk
If you clone from GitHub (newer repository which will be used later from July 2023)
west init -m git@github.com:hardwario/chester-sdk.git --manifest-rev main chester-sdk
Go inside the West workspace folder:
cd chester-sdk
Synchronize West workspace (will take some time):
west update
Install the required Python packages for Zephyr, nRF Connect SDK, and CHESTER (run inside your Python virtual environment):
west packages pip --install
Install the Zephyr SDK (host tools and the ARM toolchain). The version is detected automatically from zephyr/SDK_VERSION:
west sdk install --toolchains arm-zephyr-eabi
Pre-configure the target board for West workspace:
west config build.board chester
Start with a sample:
cd chester/samples/blinky
Build the sample:
west build
Flash the sample to CHESTER:
west flash
In order to interact with CHESTRE, you can use our cli tool. Running hardwario chester app console will give you access to the device logs and shell.
You can open GDB debug session with this command:
west debug
Alternatively, this command will attach to a running target:
west attach
For technical documentation, visit: https://docs.hardwario.com/chester
Contributions to CHESTER SDK repository are welcome, but you have to follow some rules and guidelines.
First of all, always follow the existing code style, naming conventions, etc. Search for similarities, and continue in the same direction. Respecting consistency is an important aspect of your contribution.
We use Clang-Format with the rules defined in the file .clang-format.
In the Visual Studio Code, open the user's settings and enable the option editor.formatOnSave. You can enable this option only for the CHESTER workspace.
- The author has a properly set name, surname and email address.
- The commit message follows the format
domain: change(e.g.applications: tester: Add GPIO commands). - The commit message is always in imperative format (starts with a verb).
- Commit contains the
Signed-off-by: ...sentence at the end.