riotgen: generator for RIOT source code


Keywords
generator, code
License
BSD-3-Clause
Install
pip install riotgen==0.9.1

Documentation

riotgen: a RIOT source code generator

CI status codecov riotgen version

riotgen is a command line interface helper tool that is used to bootstrap RIOT source files for standalone applications, board supports, driver modules, system modules, packages and example/test applications.

riotgen is Python 3.7+ compatible.

Installation

Install riotgen using pip:

pip install riotgen

Installing from source

Clone this repository:

git clone git://github.com/aabadie/riot-generator.git

Install using pip from the source directory:

cd riot-generator
pip install .

Usage

riotgen uses subcommands for generating the code for applications, tests, packages and board support:

riotgen --help
Usage: riotgen [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  application  Bootstrap a RIOT application
  board        Bootstrap a RIOT board support
  driver       Bootstrap a RIOT driver module
  example      Bootstrap a RIOT example application
  module       Bootstrap a RIOT system module
  pkg          Bootstrap a RIOT external package
  test         Bootstrap a RIOT test application

Examples

Generate an application in the current directory that build against the RIOT source located in /opt/RIOT and using the interactive wizzard:

riotgen application -i -r /opt/RIOT

or:

RIOTBASE=/opt/RIOT riotgen application -i

The command line wizard will ask for questions about the new application: target board, RIOT base directory, author name, etc.

Generate an application using a configuration file (see the samples provided in the source code):

riotgen application --riotbase /opt/RIOT --config path/to/config/file.cfg

In both cases, once complete, the new application can be built using:

make

example, driver, module, pkg, test and board subcommands generate the skeleton code directly in the RIOT base directory:

riotgen example --riotbase /opt/RIOT -i
riotgen driver --riotbase /opt/RIOT -i
riotgen module --riotbase /opt/RIOT -i
riotgen pkg --riotbase /opt/RIOT -i
riotgen board --riotbase /opt/RIOT -i
riotgen test --riotbase /opt/RIOT -i

Testing

Testing is performed using the Tox automation tool. You can install Tox using pip:

pip install tox

To run the whole tests and checks, use:

tox

To only run the tests, use:

tox -e tests

To only run the static checks (flake8, black, twine --check), use:

tox -e check

To reformat your code following the black tool, use:

tox -e format