Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aabadie/riot-generator
riotgen: a source code generator for the RIOT operating system
https://github.com/aabadie/riot-generator
Last synced: about 7 hours ago
JSON representation
riotgen: a source code generator for the RIOT operating system
- Host: GitHub
- URL: https://github.com/aabadie/riot-generator
- Owner: aabadie
- License: bsd-3-clause
- Created: 2018-02-12T16:50:43.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2023-03-08T15:23:07.000Z (almost 2 years ago)
- Last Synced: 2024-12-14T04:35:01.308Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 217 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: COPYING
Awesome Lists containing this project
README
riotgen: a RIOT source code generator
-------------------------------------|CI| |codecov| |PyPi|
.. |CI| image:: https://github.com/aabadie/riot-generator/workflows/CI/badge.svg
:target: https://github.com/aabadie/riot-generator/actions?query=workflow%3ACI+branch%3Amain
:alt: CI status.. |codecov| image:: https://codecov.io/gh/aabadie/riot-generator/branch/main/graph/badge.svg
:target: https://codecov.io/gh/aabadie/riot-generator.. |PyPi| image:: https://badge.fury.io/py/riotgen.svg
:target: https://badge.fury.io/py/riotgen
:alt: 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 applicationExamples
........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 -iTesting
.......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