Contributing
We welcome contributions to the project! This document outlines the process for contributing code, reporting issues, and suggesting improvements.
Setting Up Your Development Environment
We work with VS Code [1]. To set it up to contribute, follow these steps:
Build the project
Follow the instructions in the Build & Install section to build the project. It is important to build the project before setting up your development environment to ensure that VS Code can find the necessary include files.
Set up VS Code:
Add the following settings to your
.vscode/settings.json
:{ "C_Cpp.codeAnalysis.clangTidy.enabled": true, "C_Cpp.codeAnalysis.clangTidy.useBuildPath": true, "C_Cpp.clang_format_fallbackStyle": "Google", "C_Cpp.codeAnalysis.exclude": { "**/extern/**": true, "**/build/**": true, "**/usr/include/**": true, "**/usr/lib/**": true }, "[cpp]": { "editor.tabSize": 2 }, "[cuda-cpp]": { "editor.tabSize": 2 }, "search.exclude": { "**/.git": true, "**/extern": true, "**/doxyxml": true, "**/build": true, "**/html": true } }
Make sure to install the
C/C++ Extension Pack
extension from the VS Code marketplace.Create the ``.vscode/c_cpp_properties.json`` file:
{ "configurations": [ { "name": "Linux", "compileCommands": "${workspaceFolder}/build/compile_commands.json", "intelliSenseMode": "linux-gcc-x64", "cStandard": "c17", "cppStandard": "c++17" } ], "version": 4 }
This assumes that the cross compiler is installed in
~/tools/arm/arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-linux-gnueabihf
. Update the path if necessary.
Reporting Issues
If you encounter any issues while using the project, please report them on the project’s issue tracker. Provide as much detail as possible, including steps to reproduce the issue, the expected behavior, and any relevant logs or screenshots.
Submitting Code
To submit code to the project, follow these steps:
Fork the repository:
Create a fork of the repository on GitLab.
Create a new branch:
git checkout -b my-feature-branch
Make your changes:
Ensure your code follows the project’s coding standards and includes appropriate tests.
Commit your changes:
git commit -m "Description of my changes"
Push your changes:
git push origin my-feature-branch
Create a merge request:
Open a merge request on GitLab and provide a detailed description of your changes.
Code Style
Please follow the project’s coding standards when contributing code. This includes using
clang-format
with the Google style and ensuring all code is properly documented.
Testing
Ensure that all tests pass before submitting your code. You can run the tests using the following
command from within the doc
directory:
python -m unittest discover
For further information on running tests, see the Tests section.
Thank you for contributing to the project!