Skip to content

hardwario/chester-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,164 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CHESTER SDK

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.

Requirements

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.

Initialization

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

Building & flashing

Start with a sample:

cd chester/samples/blinky

Build the sample:

west build

Flash the sample to CHESTER:

west flash

Debugging application

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

Next steps

For technical documentation, visit: https://docs.hardwario.com/chester

Contributing

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.

Code format

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.

Commit style

  • 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.

About

Firmware SDK for the HARDWARIO CHESTER platform — built on Zephyr RTOS and the nRF Connect SDK.

Topics

Resources

License

Stars

17 stars

Watchers

4 watching

Forks

Packages

 
 
 

Contributors