Skip to content

Development plan

Info

This document is still a draft and is missing sections.

The development plan is provided as a guidance on how the project is developed. It's guiding, not prescriptive.

Configuration management

Source code is kept in Gitlab, as is documentation.

Documentation of the project is published at Gitlab pages.

Changes to configuration items are made by pushing new revisions to main.

File organization

The project uses a mono-repo structure, meaning everything is put in one repository. The structure is as follows:

  • aqla-fw: Source code for firmware
  • aqla-hw: KiCAD projects for hardware
  • docs: Project documentation not part of the design files

Software file organization

cargo is used to build the software.

To enable running unit tests without compiling to specific hardware, there are two workspaces;

  • outer, located at aqla-fw contains generic code that can build on any host. Any non-hardware specific code should be placed in an approriate crate at the outer workspace.
  • inner, located at aqla-fw/cross contains code that needs to be cross-compiled to target. Cross-compiling is controlled by aqla-fw/cross/.cargo/config.toml.

(Note that there is nothing that define the names; they are just Cargo.toml files located at these directories)

Verification

Info

This section is still a draft. It should include details regarding:

  • Unit testing
  • HIL testing
  • System testing

Release process and versioning

Info

This section is still a draft. It should detail:

  • How releases are created. (Release process)
  • Versioning scheme used.