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 ataqla-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 ataqla-fw/cross
contains code that needs to be cross-compiled to target. Cross-compiling is controlled byaqla-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.