Giter VIP home page Giter VIP logo

foxbms-setup's Introduction

foxBMS

foxBMS is a free, open and flexible development environment to design battery management systems. It is the first modular open source BMS development platform.

foxBMS Project Setup

The foxBMS project consists of several repositories.

The foxConda environment. This environment provides all the tools necessary to generate the documentation, compile the code for the MCUs and flash the generated binaries on the MCUs (e.g., Python, git, GCC).

The starting point to get foxBMS is the foxBMS-setup repository (https://github.com/foxBMS/foxbms-setup), which contains the general setup files for the foxBMS project. It includes a setup script (bootstrap.py) which clones all the other needed repositories. The needed documentation will be generated automatically after these repositories have been cloned. The generated documentation is found in the directory ./build. After the bootstrap step, the top project directory (foxBMS-setup) structure looks like this:

  • foxbms-setup
  • .git *
  • build
  • documentation
  • embedded-software
  • mcu-primary
  • mcu-secondary
  • mcu-common
  • mcu-freertos
  • mcu-hal
  • tools
  • .gitignore *
  • .config.yaml *
  • bootstrap.py
  • build.py
  • CHANGELOG.md
  • LICENSE.md
  • README.md
  • wscript
  • Directories and files with starting full stop are hidden in Windows in default configuration.

There is a help available by running "python bootstrap.py -h".

foxBMS Repositories

The foxbms-setup repositories have already been described.

foxBMS is made out of two Microcontroller Units (MCU), named primary and secondary. The C code for the primary MCU is found in the repository foxBMS-primary (https://github.com/foxBMS/mcu-primary). The C code for the secondary MCU is found in the repository foxBMS-secondary (https://github.com/foxBMS/mcu-secondary). The C code common to the primary and secondary MCU is found in the repository mcu-common (https://github.com/foxBMS/mcu-common).The Doxygen documentation is generated from these sources into ./build/primary/doxygen/html and ./build/secondary/doxygen/html respectively. The main file is in both cases index.html.

The layout and schematic files for the foxBMS hardware are found in the foxBMS-hardware repository (https://github.com/foxBMS/hardware).

The Hardware Abstraction Layer (hal) for foxBMS is found in the hal-repository (https://github.com/foxBMS/mcu-hal). The real time operating system (FreeRTOS) for foxBMS is found in the FreeRTOS-repository (https://github.com/foxBMS/mcu-freertos).

The tools needed for foxBMS are in the foxBMS-tools-repository (https://github.com/foxBMS/tools.)

The general documentation files for the foxBMS project are found in the foxBMS-documentation repository (https://github.com/foxBMS/documentation). The sphinx documentation is found in foxBMS-documentation/doc/sphinx while the Doxygen documentation configuration is found in foxBMS-documentation/doc/doxygen. The Doxygen documentation itself is found in the software sources of the primary and secondary microcontroller. The general documentation, rendered from the sphinx sources is found in ./build/sphinx/foxBMS-documentation/doc/sphinx/html. The main file is index.html

A generated version of the Sphinx documentation can be found at http://foxbms.readthedocs.io/. It explains the structure of the foxBMS hardware, how to install the foxConda environment and how to use foxConda to compile and flash the sources.

Building the Sources

For building the software, open a shell and type "python build.py -h". All available build options will be displayed. The top build directory is ./build.

Cleaning the ./build-Directory

For cleaning instructions open a shell and type "python clean.py -h". All available cleaning options will be displayed.

foxbms-setup's People

Contributors

foxbms avatar danielcrowley avatar sw3i avatar

Watchers

James Cloos 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.