1. Preface

This is the foxBMS 2 developer manual. Every developer working on the project MUST read this document to understand the development workflow. Changes to this document MUST be tracked under version control. The document is versioned as part of the foxBMS 2 documentation.

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

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. Git is used for this task. The details of the development workflows are described in the respective developer manuals.