Git Product home page Git Product logo

spinner's Introduction

Vertigo

CI status Documentation

Introduction

Spinner is a motor control firmware based on the Field Oriented Control (FOC) principles. The firmware is built on top of the Zephyr RTOS, a modern multi-platform RTOS. Spinner is still a proof of concept, so do not expect production grade stability or features.

Getting Started

Before getting started, make sure you have a proper Zephyr development environment. You can follow the official Zephyr Getting Started Guide.

Initialization

The first step is to initialize the spinner workspace folder where the source and all Zephyr modules will be cloned. You can do that by running:

# initialize spinner workspace
west init -m https://github.com/teslabs/spinner --mr main spinner
# update modules
cd spinner
west update

Build & Run

The application can be built by running:

west build -b $BOARD spinner [-- -DSHIELD=$SHIELD]

where $BOARD is the target board (see boards) and $SHIELD an optional shield (see boards/shields). Some other build configurations are also provided:

  • debug.conf: Enable debug-friendly build
  • shell.conf: Enable shell facilities

They can be enabled by setting OVERLAY_CONFIG, e.g.

west build -b $BOARD spinner -- -DOVERLAY_CONFIG=debug.conf

Once you have built the application you can flash it by running:

west flash

Documentation

The documentation is based on Sphinx. Doxygen is used to extract the API docstrings, but its HTML output can also be used if preferred. A simple CMake script is provided in order to facilitate the documentation build process. In order to configure CMake you need to run:

cmake -Sdocs -Bbuild_docs

In order to build the Doxygen documentation you need to run:

cmake --build build_docs -t doxygen

Note that Doxygen output is required by Sphinx, so every time you change your API docstrings, remember to run the doxygen target. In order to build the Sphinx HTML documentation you need to run:

cmake --build build_docs -t html

spinner's People

Contributors

gmarull avatar martinjaeger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.