Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Building, Testing, Running, and Releasing

Setup

Follow the instructions in Development Environment to setup the required tools.

Make a clone of the repository:

git clone git@github.com:empriselab/mote-core.git

or

git clone https://github.com/empriselab/mote-core.git

Build

Compile source and generate executable artifacts.

# Build Mote's firmware
just firmware::build 
# Build the configuration webpage
just config::build 
# Build the book
just book::build 

Test

Run unit tests.

# Run api test cases
just api::test
# Run ffi test cases
just ffi::test
# Test code examples in the book
just book::test

Run

Run a target.

Running firmware requires connecting to Mote using a SWD debug probe.

# Deploy firmware to Mote (first time doing so)
just firmware::provision
# Deploy firmware to Mote (any time after)
just firmware::deploy
# Serve the configuration page
just config::run-dev
# Serve / open the book
just book::open

Release

Release artifacts are built and uploaded automatically via continuous integration.

  • mote-firmware
    • Released on any tag to mote-cote matching the pattern mote-firmware-vX.X.X, where vX.X.X matches the semantic version of the mote-firmware crate.
    • Automated via this GitHub Action.
  • mote-ffi
    • Released on any tag to mote-cote matching the pattern mote-ffi-vX.X.X, where vX.X.X matches the semantic version of the mote-firmware crate.
    • C++ library released via the GitHub Action
    • Python library released via the GitHub Action
  • mote-book and mote-configuration