1. Preface

This is the foxBMS 2 developer manual. It is mandatory that every developer working on the project reads this document in order to understand the development workflow. Changes to this document have to be done under version control. It is versioned as part of the foxBMS 2 documentation.

Terms and their definitions related to the developer manual are described in Table 1.3.

1.1. Structure

This document is separated into a general style-guide, a software developer manual and a hardware developer manual.

1.2. Terminology

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 in [Bra97] and [Lei17] when, and only when, they appear in all capitals and bold, as shown here.

This terminology is used throughout all technical documents associated with foxBMS 2.

1.3. Version control

In order for changes to be traceable all changes in the foxBMS 2-project MUST be under version control. We have chosen Git for this task. The details of the development workflows are described in the respective developer manuals.