To successfully install and contribute to the project, ensure you have the following prerequisites installed:
In order to build the project you must ensure the correct include paths are added for the compiler to recognise the headers. At minimum the following must be included:
If running Tracealyzer also make sure to include these headers:
/Australis-Avionics/Core/Inc/
are required.Before making any changes to the project source it is recommended to ensure the environment is correctly set-up.
To start, the compiler toolchain arm-none-eabi-gcc
should be installed and visible to whatever build system is intended to be used.
For Windows systems a Keil uVision project is provided in /Australis-Avionics/MDK-ARM/
as Australis-Avionics.uvprojx
.
This project is already configured for building for and debugging on the target platform, however maintenance for this platform is likely to be behind – one should double check all sources and includes prior to beginning of development to minimise difficulties.
A CMake profile is available for building the project from the command line across other platforms. To start, make sure the toolchain path is correct in /Australis-Avionics/toolchain.cmake
, navigate to /Australis-Avionics/Build/
and run the following:
Compile time flags can be defined with CMake prior to building. These flags are declared in /Australis-Avionics/CMakeLists.txt
and can be passed at build time.
Once built, the compiled binary will be available as /Australis-Avionics/Build/Australis-firmware
and a .map
file will be generated.
This repository additionally provides a Dockerfile
for building an Arch Linux based Docker to host containers on. This image includes the base tooling requirements for development and debugging as well as the contents of the repository.
To get started with the Docker image you must first clone this repository; ensure Docker is installed on the host system, then run the following from the root directory of the repo, substituting {name}
with any choice of name for the container:
--device
flag to docker run
e.g. docker run -w /root --name avionics --device=/dev/ttyUSB0 -it australis/dev:latest
Specification for coding standard and best practices for this project can be found on the wiki
Name | Role |
---|---|
Matthew Ricci | Principal firmware developer |
William Houlahan | Initial driver implementations |
Benjamin Wilsmore | Initial driver implementations |
Other members of the Aurora V Avionics team:
Thank you to Aurora & Legacy project team leads Patrick Underwood and Brodie Alexander for providing the opportunity and environment to work on these rockets as part of the team, and thank you to everyone who helped make them a reality!