This is the repository for Align Standard Library (ASL).
Align Racing UiA (AR) is a multidisciplinary student organisation at The University of Agder (UiA), that take part in the world’s largest yearly engineering competition; Formula Student (FS). The organisation continuously consists of around 60 students, from a wide variety of disciplines. The competition includes developing, building, budgeting and marketing a small scale formula type racing car. AR takes this a bit further by having more focus on developing a strong organisation, open for all disciplines, that gives the members a taste of future work-life.
This repository is currently undergoing a major overhaul, and will be more directed towards a STM32 ecosystem, unlike the Arduino and ATmega targets it usually have targeted. The libraries in this repository is following a CMake build structure, with the goal that everything should be relatively easy to implement in custom projects, by simply adding the subdirectory, and including the libraries.
The build tools used internaly are currently based on the "STM32 VS Code extension" combined with CMake, to simplify the process of building, and flashing projects onto the microcontrollers through an STLink.
First make sure you have STM32CubeCLT and STM32CubeMX.
With those, open STM32CubeMX and setup and configure a CMake project.
If you need this library, include it.
If you have the required space to download everything, the simplest way to include all the functionality of the ASL to your own project, is to add it as a submodule.
git init
git submodule add -b AR25 https://github.com/align-racing-uia/align_standard_library asl
Then add it to your project by adding
add_subdirectory(asl)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
asl
)
To your CMakeLists.txt
.
Then run to download all libraries:
cd asl
git submodule update --init
We use RTT through the awesome RTT implementation created by Segger. In this repository it is added as a submodule, with a light CMakeLists to make it easy to implement into custom programs. As the team is using STLinks for programming, and not JLinks, the best solution the team has found to actually watch the RTT stream as of now, is to use the functionality of the program "strtt".
- If a program from an external repo is to be added as a library, make sure to create a new folder for it in the
libs
folder, together with aCMakeLists.txt
. It is also prefered if external libraries is added as a submodules.
All content included in this Git repository is under the license:
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
You are free to:
- Share — copy and redistribute the material in any medium or format
- Adapt — remix, transform, and build upon the material
Under the following terms:
- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- NonCommercial — You may not use the material for commercial purposes.
- ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.