Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • avn/swd/skyward-boardcore
  • emilio.corigliano/skyward-boardcore
  • ettore.pane/skyward-boardcore
  • giulia.facchi/skyward-boardcore
  • valerio.flamminii/skyward-boardcore
  • nicolo.caruso/skyward-boardcore
6 results
Select Git revision
Show changes
Commits on Source (662)
Showing with 1424 additions and 712 deletions
{
BasedOnStyle: Google,
AccessModifierOffset: -4,
AlignConsecutiveAssignments: true,
AllowShortIfStatementsOnASingleLine: false,
AllowShortLoopsOnASingleLine: false,
BreakBeforeBraces: Allman,
ColumnLimit: 80,
ConstructorInitializerAllOnOneLineOrOnePerLine: false,
IndentCaseLabels: true,
IndentWidth: 4,
KeepEmptyLinesAtTheStartOfBlocks: true,
}
BasedOnStyle: Google
ColumnLimit: 80
IndentWidth: 4
AccessModifierOffset: -4
BreakBeforeBraces: Allman
# Allow braceless single line if/else/for/while statements
RemoveBracesLLVM: true
AlignConsecutiveAssignments: Consecutive
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
PackConstructorInitializers: BinPack
IndentCaseLabels: true
# Empty lines behavior
InsertNewlineAtEOF: true
KeepEmptyLinesAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
# Align pointers/references to the type, not the variable
DerivePointerAlignment: false
PointerAlignment: Left
......@@ -21,16 +21,17 @@ STM32F429zi_Discovery.xml
._*
.DS_Store
build
build-host
cmake-build-*
*.sublime-workspace
*.sublime-project
store.json
**/generated/
core
__pycache__
/scripts/generators/generated
/scripts/generators/scxmls
scripts/logdecoder/logdecoder
doc/output
\ No newline at end of file
# Copyright (c) 2021 Skyward Experimental Rocketry
# Authors: Luca Erbetta, Luca Conterio, Alberto Nidasio, Damiano Amatruda
# Copyright (c) 2024 Skyward Experimental Rocketry
# Authors: Luca Erbetta, Luca Conterio, Alberto Nidasio, Damiano Amatruda, Giacomo Caironi
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
......@@ -22,93 +22,84 @@
variables:
GIT_SUBMODULE_STRATEGY: recursive
default:
image: registry.skywarder.eu/avn/swd/docker/miosix:v3
stages:
- build-release
- build-debug
- build-logdecoder
- test
- lint
- build
- test
- documentation
# Stage build-release
build-release:
stage: build-release
tags:
- miosix
script:
- ./sbs
# Stage build-debug
build-debug:
stage: build-debug
tags:
- miosix
script:
- ./sbs --debug
# Stage build-logdecoder
build-logdecoder:
stage: build-logdecoder
tags:
- miosix
script:
- cd scripts/logdecoder
- make
# Stage test
test:
stage: test
tags:
- miosix
script:
- ./sbs --test catch-tests-boardcore
# Stage lint
cppcheck:
stage: lint
tags:
- miosix
script:
- cppcheck --version
- ./scripts/linter.py --cppcheck src
format:
stage: lint
tags:
- miosix
script:
- clang-tidy --version
- clang-format --version
- ./scripts/linter.py --format src
copyright:
stage: lint
tags:
- miosix
script:
- /usr/bin/python3 --version
- ./scripts/linter.py --copyright src
find:
stage: lint
tags:
- miosix
script:
- /usr/bin/python3 --version
- ./scripts/linter.py --find src
# Stage build
build-debug:
stage: build
script:
- cmake --version
- ccache --version
- ninja --version
- ./sbs build --debug
build-release:
stage: build
script:
- cmake --version
- ccache --version
- ninja --version
- ./sbs build
logdecoder:
stage: build
script:
- g++ --version
- cd scripts/logdecoder
- make
# Stage test
test:
stage: test
script:
- ./sbs test
# Stage documentation
documentation:
pages:
stage: documentation
only:
- master
tags:
- copyright
- main
script:
- echo "Generate documentation to https://documentation.skywarder.eu/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}"
- rm -rf doc/output
- doxygen --version
- doxygen doc/Doxyfile
- rm -rf /srv/code_documentation/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}
- mkdir -p /srv/code_documentation/${CI_PROJECT_NAME}/
- mv doc/output/html /srv/code_documentation/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}
- mv doc/output/html public
artifacts:
paths:
- public
[submodule "Catch2"]
path = libs/Catch2
url = ../third-party/Catch2.git
url = https://git.skywarder.eu/avn/swd/third-party/Catch2.git
[submodule "Eigen"]
path = libs/eigen
url = ../third-party/eigen.git
url = https://git.skywarder.eu/avn/swd/third-party/eigen.git
[submodule "Modern formatting library"]
path = libs/fmt
url = ../third-party/fmt.git
url = https://git.skywarder.eu/avn/swd/third-party/fmt.git
[submodule "MAVLink Skyward library"]
path = libs/mavlink-skyward-lib
url = ../mavlink/mavlink-skyward-lib
url = https://git.skywarder.eu/avn/swd/mavlink/mavlink-skyward-lib
[submodule "Miosix Host"]
path = libs/miosix-host
url = ../miosix-host.git
url = https://git.skywarder.eu/avn/swd/miosix-host.git
[submodule "Miosix Kernel"]
path = libs/miosix-kernel
url = ../miosix-kernel.git
url = https://git.skywarder.eu/avn/swd/miosix-kernel.git
[submodule "Miosix GUI library"]
path = libs/mxgui
url = ../third-party/mxgui.git
[submodule "Trivial serialization for C++"]
path = libs/tscpp
url = ../third-party/tscpp.git
url = https://git.skywarder.eu/avn/swd/third-party/mxgui.git
[submodule "libs/socrate"]
path = libs/socrate
url = https://git.skywarder.eu/avn/swd/socrate.git
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/
SkywardBoardcore
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeSharedSettings">
<configurations>
<configuration PROFILE_NAME="Debug" ENABLED="true" CONFIG_NAME="Debug" GENERATION_OPTIONS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_TOOLCHAIN_FILE=$CMakeProjectDir$/libs/miosix-kernel/miosix/_tools/toolchain.cmake -GNinja" />
<configuration PROFILE_NAME="Release" ENABLED="true" CONFIG_NAME="Release" GENERATION_OPTIONS="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_TOOLCHAIN_FILE=$CMakeProjectDir$/libs/miosix-kernel/miosix/_tools/toolchain.cmake -GNinja" />
</configurations>
</component>
</project>
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<clangFormatSettings>
<option name="ENABLED" value="true" />
</clangFormatSettings>
</code_scheme>
</component>
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
<component name="CidrRootsConfiguration">
<sourceRoots>
<file path="$PROJECT_DIR$/src" />
</sourceRoots>
<excludeRoots>
<file path="$PROJECT_DIR$/build" />
<file path="$PROJECT_DIR$/libs" />
</excludeRoots>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/skyward-boardcore.iml" filepath="$PROJECT_DIR$/.idea/skyward-boardcore.iml" />
</modules>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="CMake" type="CPP_MODULE" version="4" />
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/Catch2" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/eigen" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/fmt" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/mavlink_skyward_lib" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/miosix-kernel" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/miosix-kernel/miosix/_examples/datalogger/tscpp" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/mxgui" vcs="Git" />
<mapping directory="$PROJECT_DIR$/libs/tscpp" vcs="Git" />
</component>
</project>
{
"env": {
"defaultDefines": [
"_MIOSIX",
"DEBUG",
"__cplusplus=201402L"
],
"defaultIncludePaths": [
"${workspaceFolder}/libs/Catch2/include",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/fmt/include",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/miosix-kernel/miosix",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common/CMSIS/Include",
"${workspaceFolder}/libs/mxgui",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs/socrate/include",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests",
"${workspaceFolder}/version"
]
},
"configurations": [
{
"name": "stm32f407vg_stm32f4discovery",
"name": "stm32f205rc_ciuti",
"cStandard": "c11",
"cppStandard": "c++11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"DEBUG",
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f205rc_ciuti",
"_BOARD_STM32F205RC_CIUTI",
"_ARCH_CORTEXM3_STM32F2",
"STM32F205xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_120MHz=120000000",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM3_stm32f2/common",
"${workspaceFolder}/src/bsps/stm32f205rc_ciuti/config",
"${workspaceFolder}/src/bsps/stm32f205rc_ciuti"
]
},
{
"name": "stm32f429zi_death_stack_v1",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_death_stack_v1",
"_BOARD_STM32F429ZI_DEATH_STACK_V1",
"_ARCH_CORTEXM4_STM32F4",
"_BOARD_STM32F407VG_STM32F4DISCOVERY",
"_MIOSIX_BOARDNAME=stm32f407vg_stm32f4discovery",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"_MIOSIX",
"__cplusplus=201103L"
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery",
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/fmt/include",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/src/bsps/stm32f429zi_death_stack_v1/config",
"${workspaceFolder}/src/bsps/stm32f429zi_death_stack_v1"
],
"browse": {
"path": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery",
"configurationProvider": "ms-vscode.cmake-tools"
},
{
"name": "stm32f429zi_death_stack_v2",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_death_stack_v2",
"_BOARD_STM32F429ZI_DEATH_STACK_V2",
"_ARCH_CORTEXM4_STM32F4",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/stdlib_integration",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/interfaces",
"${workspaceFolder}/libs/miosix-kernel/miosix/filesystem",
"${workspaceFolder}/libs/miosix-kernel/miosix/kernel",
"${workspaceFolder}/libs/miosix-kernel/miosix/util",
"${workspaceFolder}/libs/miosix-kernel/miosix/e20",
"${workspaceFolder}/libs/miosix-kernel/miosix/*",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs/mxgui",
"${workspaceFolder}/libs/fmt",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/src/bsps/stm32f429zi_death_stack_v2/config",
"${workspaceFolder}/src/bsps/stm32f429zi_death_stack_v2"
]
},
{
"name": "stm32f429zi_death_stack_v3",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_death_stack_v3",
"_BOARD_STM32F429ZI_DEATH_STACK_V3",
"_ARCH_CORTEXM4_STM32F4",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"limitSymbolsToIncludedHeaders": true
}
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/src/bsps/stm32f429zi_death_stack_v3/config",
"${workspaceFolder}/src/bsps/stm32f429zi_death_stack_v3"
]
},
{
"name": "stm32f429zi_stm32f4discovery",
"name": "stm32f429zi_nokia",
"cStandard": "c11",
"cppStandard": "c++11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"DEBUG",
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_nokia",
"_BOARD_STM32F429ZI_NOKIA",
"_ARCH_CORTEXM4_STM32F4",
"_BOARD_STM32F429ZI_STM32F4DISCOVERY",
"_MIOSIX_BOARDNAME=stm32f429zi_stm32f4discovery",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"_MIOSIX",
"__cplusplus=201103L"
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.0f"
],
"includePath": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery",
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/fmt/include",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/src/bsps/stm32f429zi_nokia/config",
"${workspaceFolder}/src/bsps/stm32f429zi_nokia"
]
},
{
"name": "stm32f429zi_parafoil",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_parafoil",
"_BOARD_STM32F429ZI_PARAFOIL",
"_ARCH_CORTEXM4_STM32F4",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.0f"
],
"browse": {
"path": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery",
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/stdlib_integration",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/interfaces",
"${workspaceFolder}/libs/miosix-kernel/miosix/filesystem",
"${workspaceFolder}/libs/miosix-kernel/miosix/kernel",
"${workspaceFolder}/libs/miosix-kernel/miosix/util",
"${workspaceFolder}/libs/miosix-kernel/miosix/e20",
"${workspaceFolder}/libs/miosix-kernel/miosix/*",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs/mxgui",
"${workspaceFolder}/libs/fmt",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/src/bsps/stm32f429zi_parafoil/config",
"${workspaceFolder}/src/bsps/stm32f429zi_parafoil"
]
},
{
"name": "stm32f429zi_pyxis_auxiliary",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_pyxis_auxiliary",
"_BOARD_STM32F429ZI_PYXIS_AUXILIARY",
"_ARCH_CORTEXM4_STM32F4",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"V_DDA_VOLTAGE=3.3f"
],
"limitSymbolsToIncludedHeaders": true
}
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/src/bsps/stm32f429zi_pyxis_auxiliary/config",
"${workspaceFolder}/src/bsps/stm32f429zi_pyxis_auxiliary"
]
},
{
"name": "stm32f429zi_skyward_death_stack_x",
"name": "stm32f429zi_rig",
"cStandard": "c11",
"cppStandard": "c++11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"DEBUG",
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_rig",
"_BOARD_STM32F429ZI_RIG",
"_ARCH_CORTEXM4_STM32F4",
"_BOARD_STM32F429ZI_SKYWARD_DEATHST_X",
"_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_x",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"_MIOSIX",
"__cplusplus=201103L"
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.0f"
],
"includePath": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x",
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/fmt/include",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/src/bsps/stm32f429zi_rig/config",
"${workspaceFolder}/src/bsps/stm32f429zi_rig"
]
},
{
"name": "stm32f429zi_con_rig",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_con_rig",
"_BOARD_STM32F429ZI_CON_RIG",
"_ARCH_CORTEXM4_STM32F4",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.0f"
],
"browse": {
"path": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x",
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/stdlib_integration",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/interfaces",
"${workspaceFolder}/libs/miosix-kernel/miosix/filesystem",
"${workspaceFolder}/libs/miosix-kernel/miosix/kernel",
"${workspaceFolder}/libs/miosix-kernel/miosix/util",
"${workspaceFolder}/libs/miosix-kernel/miosix/e20",
"${workspaceFolder}/libs/miosix-kernel/miosix/*",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs/mxgui",
"${workspaceFolder}/libs/fmt",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/src/bsps/stm32f429zi_con_rig/config",
"${workspaceFolder}/src/bsps/stm32f429zi_con_rig"
]
},
{
"name": "stm32f767zi_conrig_v2",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_conrig_v2",
"_BOARD_STM32F767ZI_CONRIG_V2",
"_ARCH_CORTEXM7_STM32F7",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"limitSymbolsToIncludedHeaders": true
}
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_conrig_v2/config",
"${workspaceFolder}/src/bsps/stm32f767zi_conrig_v2"
]
},
{
"name": "stm32f429zi_parafoil",
"name": "stm32f756zg_nucleo",
"cStandard": "c11",
"cppStandard": "c++11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"DEBUG",
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f756zg_nucleo",
"D_BOARD_STM32F756ZG_NUCLEO",
"_ARCH_CORTEXM7_STM32F7",
"STM32F756xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f756zg_nucleo/config",
"${workspaceFolder}/src/bsps/stm32f756zg_nucleo"
]
},
{
"name": "stm32f767zi_automated_antennas",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_automated_antennas",
"_BOARD_STM32F767ZI_AUTOMATED_ANTENNAS",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_automated_antennas/config",
"${workspaceFolder}/src/bsps/stm32f767zi_automated_antennas"
]
},
{
"name": "stm32f767zi_compute_unit",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_compute_unit",
"_BOARD_STM32F767ZI_COMPUTE_UNIT",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_compute_unit/config",
"${workspaceFolder}/src/bsps/stm32f767zi_compute_unit"
]
},
{
"name": "stm32f767zi_compute_unit_v2",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_compute_unit_v2",
"_BOARD_STM32F767ZI_COMPUTE_UNIT_V2",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_compute_unit_v2/config",
"${workspaceFolder}/src/bsps/stm32f767zi_compute_unit_v2"
]
},
{
"name": "stm32f767zi_rig_v2",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_rig_v2",
"_BOARD_STM32F767ZI_RIG_V2",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_rig_v2/config",
"${workspaceFolder}/src/bsps/stm32f767zi_rig_v2"
]
},
{
"name": "stm32f767zi_lyra_biscotto",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_lyra_biscotto",
"_BOARD_STM32F767ZI_LYRA_BISCOTTO",
"_ARCH_CORTEXM7_STM32F7",
"STM32F767xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_lyra_biscotto/config",
"${workspaceFolder}/src/bsps/stm32f767zi_lyra_biscotto"
]
},
{
"name": "stm32f767zi_lyra_motor",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_lyra_motor",
"_BOARD_STM32F767ZI_LYRA_MOTOR",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_lyra_motor/config",
"${workspaceFolder}/src/bsps/stm32f767zi_lyra_motor"
]
},
{
"name": "stm32f767zi_death_stack_v4",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_death_stack_v4",
"_BOARD_STM32F767ZI_DEATH_STACK_V4",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_death_stack_v4/config",
"${workspaceFolder}/src/bsps/stm32f767zi_death_stack_v4"
]
},
{
"name": "stm32f767zi_gemini_gs",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_gemini_gs",
"_BOARD_STM32F767ZI_GEMINI_GS",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_gemini_gs/config",
"${workspaceFolder}/src/bsps/stm32f767zi_gemini_gs"
]
},
{
"name": "stm32f767zi_gemini_motor",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_gemini_motor",
"_BOARD_STM32F767ZI_GEMINI_MOTOR",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_gemini_motor/config",
"${workspaceFolder}/src/bsps/stm32f767zi_gemini_motor"
]
},
{
"name": "stm32f767zi_lyra_gs",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_lyra_gs",
"_BOARD_STM32F767ZI_LYRA_GS",
"_ARCH_CORTEXM7_STM32F7",
"STM32F767xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_lyra_gs/config",
"${workspaceFolder}/src/bsps/stm32f767zi_lyra_gs"
]
},
{
"name": "stm32f767zi_orion_biscotto",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_orion_biscotto",
"_BOARD_STM32F767ZI_ORION_BISCOTTO",
"_ARCH_CORTEXM7_STM32F7",
"STM32F767xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_orion_biscotto/config",
"${workspaceFolder}/src/bsps/stm32f767zi_orion_biscotto"
]
},
{
"name": "stm32f767zi_orion_engine",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_orion_engine",
"_BOARD_STM32F767ZI_ORION_ENGINE",
"_ARCH_CORTEXM7_STM32F7",
"STM32F767xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/src/bsps/stm32f767zi_orion_engine/config",
"${workspaceFolder}/src/bsps/stm32f767zi_orion_engine"
]
},
{
"name": "stm32f407vg_stm32f4discovery",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f407vg_stm32f4discovery",
"_BOARD_STM32F4DISCOVERY",
"_ARCH_CORTEXM4_STM32F4",
"_BOARD_STM32F429ZI_PARAFOIL",
"_MIOSIX_BOARDNAME=stm32f429zi_parafoil",
"STM32F407xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"_MIOSIX",
"__cplusplus=201103L"
"V_DDA_VOLTAGE=3.0f"
],
"includePath": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_parafoil",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_parafoil",
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/fmt/include",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery",
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery"
]
},
{
"name": "stm32f429zi_stm32f4discovery",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_stm32f4discovery",
"_BOARD_STM32F429ZI_STM32F4DISCOVERY",
"_ARCH_CORTEXM4_STM32F4",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.0f"
],
"browse": {
"path": [
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_parafoil",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_parafoil",
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/stdlib_integration",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/interfaces",
"${workspaceFolder}/libs/miosix-kernel/miosix/filesystem",
"${workspaceFolder}/libs/miosix-kernel/miosix/kernel",
"${workspaceFolder}/libs/miosix-kernel/miosix/util",
"${workspaceFolder}/libs/miosix-kernel/miosix/e20",
"${workspaceFolder}/libs/miosix-kernel/miosix/*",
"${workspaceFolder}/libs/mavlink-skyward-lib",
"${workspaceFolder}/libs/eigen",
"${workspaceFolder}/libs/tscpp",
"${workspaceFolder}/libs/mxgui",
"${workspaceFolder}/libs/fmt",
"${workspaceFolder}/src/shared",
"${workspaceFolder}/src/tests"
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery",
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery"
]
},
{
"name": "stm32f767zi_nucleo",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f767zi_nucleo",
"D_BOARD_STM32F767ZI_NUCLEO",
"_ARCH_CORTEXM7_STM32F7",
"STM32F767xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"limitSymbolsToIncludedHeaders": true
}
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_nucleo",
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_nucleo"
]
},
{
"name": "stm32f769ni_discovery",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f769ni_discovery",
"_BOARD_STM32F769NI_DISCO",
"_ARCH_CORTEXM7_STM32F7",
"STM32F769xx",
"HSE_VALUE=25000000",
"SYSCLK_FREQ_216MHz=216000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f769ni_discovery",
"${workspaceFolder}/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f769ni_discovery"
]
},
{
"name": "stm32f429zi_lyra_cubesat",
"cStandard": "c11",
"cppStandard": "c++14",
"compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"defines": [
"${defaultDefines}",
"_MIOSIX_BOARDNAME=stm32f429zi_lyra_cubesat",
"_BOARD_STM32F429ZI_LYRA_CUBESAT",
"_ARCH_CORTEXM4_STM32F4",
"STM32F429xx",
"HSE_VALUE=8000000",
"SYSCLK_FREQ_168MHz=168000000",
"__ENABLE_XRAM",
"V_DDA_VOLTAGE=3.3f"
],
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
"${workspaceFolder}/src/bsps/stm32f429zi_lyra_cubesat/config",
"${workspaceFolder}/src/bsps/stm32f429zi_lyra_cubesat"
]
},
{
"name": "logdecoder",
"includePath": [
"${defaultIncludePaths}",
"${workspaceFolder}/skyward-boardcore/libs/miosix-host"
],
"defines": [
"COMPILE_FOR_HOST",
"COMPILE_FOR_X86",
"FMT_HEADER_ONLY"
],
"compilerPath": "/usr/bin/g++",
"cStandard": "c17",
"intelliSenseMode": "linux-gcc-x64",
"cppStandard": "c++20"
}
],
"version": 4
......
......@@ -15,6 +15,21 @@
"${workspaceFolder}/data/gdb/stm32f4-stlinv2.cfg"
]
},
{
"cwd": "${workspaceRoot}",
"executable": "${workspaceFolder}/build/${fileBasenameNoExtension}",
"name": "F756",
"request": "attach",
"type": "cortex-debug",
"servertype": "openocd",
"device": "STM32F756ZG",
"svdFile": "${workspaceFolder}/data/gdb/stm32f750.svd",
"armToolchainPath": "/opt/arm-miosix-eabi/bin",
"toolchainPrefix": "arm-miosix-eabi",
"configFiles": [
"${workspaceFolder}/data/gdb/stm32f7-stlinv2.cfg"
]
},
{
"cwd": "${workspaceRoot}",
"executable": "${workspaceFolder}/build/${fileBasenameNoExtension}",
......
......@@ -118,22 +118,43 @@
"specialfunctions": "cpp"
},
"cSpell.words": [
"abom",
"ADCPRE",
"addfilter",
"ADON",
"aelf",
"airbrakes",
"Airbrakes",
"Alain",
"Alessandro",
"ALST",
"AMSL",
"apbclk",
"atthr",
"AVDD",
"awum",
"Baro",
"bittiming",
"boardcore",
"Boardcorev",
"boudrate",
"Canbus",
"canprotocol",
"Carlucci",
"CCMDATAR",
"CCMDATARAMEN",
"compid",
"Corigliano",
"CORTEXM",
"CPHA",
"cpitch",
"cppcheck",
"croll",
"cwise",
"cyaw",
"DATABUS",
"datasheet",
"Davide",
"deleteme",
"DMEIE",
"Doxyfile",
......@@ -148,8 +169,15 @@
"Fatttr",
"fedetft's",
"fiprintf",
"FMCEN",
"FMPIE",
"FOVR",
"FRLVL",
"FRXTH",
"Gatttr",
"getdetahstate",
"Ghirardini",
"Giulia",
"GNSS",
"Gpio",
"GPIOA",
......@@ -159,52 +187,106 @@
"GPIOE",
"GPIOF",
"GPIOG",
"GPIOH",
"GPIOI",
"GPIOJ",
"GPIOK",
"GPIOS",
"gpstr",
"Hatt",
"HCLK",
"HIFCR",
"HISR",
"hppw",
"HSCMAND",
"HSCMRNN",
"HWMAPPING",
"IDLEIE",
"Impli",
"Implii",
"INAK",
"INRQ",
"irqn",
"irqv",
"JEOC",
"JOFR",
"JSQR",
"JSWSTART",
"Kalman",
"Katt",
"kbps",
"LBKM",
"ldrex",
"leds",
"LIFCR",
"LISR",
"logdecoder",
"LSBFIRST",
"Luca",
"Mandelli",
"Matteo",
"Mavlink",
"mavlinkdriver",
"MEKF",
"microcontrollers",
"Microstep",
"Microsteps",
"MINC",
"miosix",
"mkdir",
"MODER",
"mosfet",
"mosi",
"MPXHZ",
"Musso",
"nart",
"NATT",
"NBAR",
"NDTR",
"NGPS",
"Nidasio",
"NJRST",
"NMAG",
"NMEA",
"NMEKF",
"nord",
"NVIC",
"OUTX",
"OUTY",
"OUTZ",
"peripehral",
"Piazzolla",
"PINC",
"Pitot",
"Plin",
"prescaler",
"PUPDR",
"Qgbw",
"Qget",
"Qhandle",
"Qput",
"Qwait",
"Qwakeup",
"RDHR",
"RDLR",
"RDTR",
"rflm",
"RFOM",
"Riccardo",
"RQCP",
"RXCRCR",
"Rssi",
"RXIRQ",
"RXNE",
"RXNEIE",
"sats",
"Satt",
"SDCLK",
"SDCR",
"sdio",
"SDRAM",
"smpr",
"SMPR",
"spitch",
"sqdip",
"sqtrp",
......@@ -212,11 +294,28 @@
"SSCDANN",
"SSCDRRN",
"stof",
"SWSTART",
"syaw",
"taskscheduler",
"TCIE",
"TCIF",
"TDHR",
"TDLR",
"TDTR",
"TEIE",
"Terraneo",
"testsuite",
"THID",
"TMEIE",
"tparam",
"TSCPP",
"TSVREFE",
"Tweakable",
"TXCRCR",
"txfp",
"TXIRQ",
"TXOK",
"TXRQ",
"Ublox",
"UBXACK",
"UBXGPS",
......@@ -224,10 +323,16 @@
"Unsync",
"upcounter",
"USART",
"vbat",
"VBATE",
"velnord",
"vout",
"vsense",
"WSPI",
"Xbee",
"xnord",
"yned"
"yned",
"Zyxda"
],
"cSpell.language": "en",
"cSpell.enabled": true
......
......@@ -55,6 +55,7 @@ flags = [
'-Ilibs/miosix-kernel/miosix/arch/common',
'-Ilibs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common',
'-Ilibs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery',
'-Ilibs/socrate/include',
'-Ilibs/eigen',
'-Imiosix',
'-Imiosix-kernel',
......
......@@ -19,22 +19,25 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
cmake_minimum_required(VERSION 3.16)
cmake_minimum_required(VERSION 3.25)
enable_testing()
include(cmake/sbs.cmake)
#-----------------------------------------------------------------------------#
# Project #
#-----------------------------------------------------------------------------#
project(SkywardBoardcore)
project(Boardcore)
include(cmake/sbs.cmake)
#-----------------------------------------------------------------------------#
# Entrypoints #
#-----------------------------------------------------------------------------#
add_executable(bmx160-calibration-entry src/entrypoints/bmx160-calibration-entry.cpp)
sbs_target(bmx160-calibration-entry stm32f429zi_skyward_death_stack_x)
add_executable(bmx160-calibration-v2 src/entrypoints/bmx160-calibration-entry.cpp)
sbs_target(bmx160-calibration-v2 stm32f429zi_death_stack_v2)
add_executable(bmx160-calibration-v3 src/entrypoints/bmx160-calibration-entry.cpp)
sbs_target(bmx160-calibration-v3 stm32f429zi_death_stack_v3)
add_executable(config-dsgamma src/entrypoints/config-dsgamma.cpp)
sbs_target(config-dsgamma stm32f429zi_stm32f4discovery)
......@@ -42,17 +45,41 @@ sbs_target(config-dsgamma stm32f429zi_stm32f4discovery)
add_executable(imu-calibration src/entrypoints/imu-calibration.cpp)
sbs_target(imu-calibration stm32f429zi_parafoil)
add_executable(mxgui-helloworld src/entrypoints/examples/mxgui-helloworld.cpp)
sbs_target(mxgui-helloworld stm32f429zi_stm32f4discovery)
# This executable fails during linking with the error: undefined reference to `__cxa_throw_bad_array_new_length'
# add_executable(mxgui-helloworld src/entrypoints/examples/mxgui-helloworld.cpp)
# sbs_target(mxgui-helloworld stm32f429zi_stm32f4discovery)
add_executable(kernel-testsuite src/entrypoints/kernel-testsuite.cpp)
sbs_target(kernel-testsuite stm32f429zi_stm32f4discovery)
add_executable(compute-unit-v2-testsuite src/entrypoints/compute-unit-v2-testsuite.cpp)
sbs_target(compute-unit-v2-testsuite stm32f767zi_compute_unit_v2_no_xram)
# add_executable(kernel-testsuite src/entrypoints/kernel-testsuite.cpp)
# sbs_target(kernel-testsuite stm32f767zi_compute_unit)
add_executable(runcam-settings src/entrypoints/runcam-settings.cpp)
sbs_target(runcam-settings stm32f407vg_stm32f4discovery)
add_executable(sdcard-benchmark src/entrypoints/sdcard-benchmark.cpp)
sbs_target(sdcard-benchmark stm32f429zi_stm32f4discovery)
sbs_target(sdcard-benchmark stm32f429zi_death_stack_v2)
add_executable(sx1278fsk-ra01-serial src/entrypoints/sx1278-serial.cpp)
target_compile_definitions(sx1278fsk-ra01-serial PRIVATE SX1278_IS_FSK)
sbs_target(sx1278fsk-ra01-serial stm32f429zi_nokia)
add_executable(sx1278lora-ra01-serial src/entrypoints/sx1278-serial.cpp)
target_compile_definitions(sx1278lora-ra01-serial PRIVATE SX1278_IS_LORA)
sbs_target(sx1278lora-ra01-serial stm32f429zi_nokia)
add_executable(sx1278fsk-skyward433-serial src/entrypoints/sx1278-serial.cpp)
target_compile_definitions(sx1278fsk-skyward433-serial PRIVATE SX1278_IS_FSK SX1278_IS_SKYWARD433)
sbs_target(sx1278fsk-skyward433-serial stm32f767zi_gemini_gs)
add_executable(sx1278lora-skyward433-serial src/entrypoints/sx1278-serial.cpp)
target_compile_definitions(sx1278lora-skyward433-serial PRIVATE SX1278_IS_LORA SX1278_IS_SKYWARD433)
sbs_target(sx1278lora-skyward433-serial stm32f429zi_nokia)
add_executable(sx1278fsk-ebyterig-serial src/entrypoints/sx1278-serial.cpp)
target_compile_definitions(sx1278fsk-ebyterig-serial PRIVATE SX1278_IS_FSK)
sbs_target(sx1278fsk-ebyterig-serial stm32f429zi_rig)
#-----------------------------------------------------------------------------#
# Tests #
......@@ -76,11 +103,14 @@ sbs_target(test-max485 stm32f407vg_stm32f4discovery)
add_executable(test-pinobserver src/tests/test-pinobserver.cpp)
sbs_target(test-pinobserver stm32f429zi_stm32f4discovery)
add_executable(test-rtc src/tests/test-rtc.cpp)
sbs_target(test-rtc stm32f767zi_compute_unit)
add_executable(test-sensormanager src/tests/test-sensormanager.cpp)
sbs_target(test-sensormanager stm32f429zi_skyward_death_stack_x)
sbs_target(test-sensormanager stm32f429zi_death_stack_v2)
add_executable(test-serial src/tests/test-serial.cpp)
sbs_target(test-serial stm32f407vg_stm32f4discovery)
sbs_target(test-serial stm32f767zi_lyra_biscotto)
add_executable(test-taskscheduler src/tests/scheduler/test-taskscheduler.cpp)
sbs_target(test-taskscheduler stm32f407vg_stm32f4discovery)
......@@ -88,22 +118,38 @@ sbs_target(test-taskscheduler stm32f407vg_stm32f4discovery)
add_executable(test-trace-logger src/tests/test-trace-logger.cpp)
sbs_target(test-trace-logger stm32f429zi_stm32f4discovery)
add_executable(test-hil
src/tests/hil/test-hil.cpp
src/tests/hil/Sensors/Sensors.cpp
)
sbs_target(test-hil stm32f767zi_death_stack_v4)
#-----------------------------------------------------------------------------#
# Tests - Catch #
#-----------------------------------------------------------------------------#
add_executable(catch-tests-boardcore
src/tests/catch/catch-tests-entry.cpp
src/tests/catch/skyQuaternion/test-skyquaternion.cpp
src/tests/catch/examples/example-test-factorial.cpp
src/tests/catch/test-aero.cpp
# src/tests/catch/test-buttonhandler.cpp
src/tests/catch/test-circularbuffer.cpp
src/tests/catch/test-eventbroker.cpp
src/tests/catch/test-timestamptimer.cpp
src/tests/catch/test-kalman-eigen.cpp
src/tests/catch/test-gptimer.cpp
src/tests/catch/test-kalman.cpp
src/tests/catch/test-numeric.cpp
src/tests/catch/test-packetqueue.cpp
src/tests/catch/test-sensormanager-catch.cpp
src/tests/catch/xbee/test-xbee-parser.cpp
src/tests/catch/test-modulemanager.cpp
src/tests/catch/test-dependencymanager.cpp
src/tests/catch/test-MEA.cpp
src/tests/catch/test-airbrakesInterp.cpp
src/tests/catch/test-pitot.cpp
src/tests/catch/test-units.cpp
src/tests/catch/test-registry-frontend.cpp
src/tests/catch/propagator/test-propagator.cpp
)
target_compile_definitions(catch-tests-boardcore PRIVATE USE_MOCK_PERIPHERALS)
sbs_target(catch-tests-boardcore stm32f429zi_stm32f4discovery)
......@@ -119,55 +165,74 @@ sbs_target(test-hbridge stm32f429zi_stm32f4discovery)
add_executable(test-servo src/tests/actuators/test-servo.cpp)
sbs_target(test-servo stm32f429zi_stm32f4discovery)
add_executable(test-buzzer src/tests/actuators/test-buzzer.cpp)
sbs_target(test-buzzer stm32f429zi_hre_test_stand)
# add_executable(test-buzzer src/tests/actuators/test-buzzer.cpp)
# sbs_target(test-buzzer stm32f429zi_hre_test_stand)
add_executable(test-stepper src/tests/actuators/test-stepper.cpp)
sbs_target(test-stepper stm32f429zi_stm32f4discovery)
sbs_target(test-stepper stm32f767zi_nucleo)
add_executable(test-stepper-pwm src/tests/actuators/test-stepper-pwm.cpp)
sbs_target(test-stepper-pwm stm32f767zi_nucleo)
#-----------------------------------------------------------------------------#
# Tests - Algorithms #
#-----------------------------------------------------------------------------#
add_executable(test-kalman-eigen-benchmark src/tests/algorithms/Kalman/test-kalman-eigen-benchmark.cpp)
sbs_target(test-kalman-eigen-benchmark stm32f429zi_stm32f4discovery)
add_executable(test-tmp src/tests/algorithms/NAS/test-tmp.cpp)
sbs_target(test-tmp stm32f429zi_skyward_death_stack_x)
add_executable(test-kalman-benchmark src/tests/algorithms/Kalman/test-kalman-benchmark.cpp)
sbs_target(test-kalman-benchmark stm32f429zi_stm32f4discovery)
add_executable(test-attitude-parafoil src/tests/algorithms/NAS/test-attitude-parafoil.cpp)
sbs_target(test-attitude-parafoil stm32f429zi_parafoil)
add_executable(test-attitude-stack src/tests/algorithms/NAS/test-attitude-stack.cpp)
sbs_target(test-attitude-stack stm32f429zi_skyward_death_stack_x)
sbs_target(test-attitude-stack stm32f429zi_death_stack_v2)
add_executable(test-nas-parafoil src/tests/algorithms/NAS/test-nas-parafoil.cpp)
sbs_target(test-nas-parafoil stm32f429zi_parafoil)
add_executable(test-nas-stack src/tests/algorithms/NAS/test-nas-stack.cpp)
sbs_target(test-nas-stack stm32f429zi_skyward_death_stack_x)
add_executable(test-nas src/tests/algorithms/NAS/test-nas.cpp)
sbs_target(test-nas stm32f429zi_death_stack_v3)
add_executable(test-nas-with-triad src/tests/algorithms/NAS/test-nas-with-triad.cpp)
sbs_target(test-nas-with-triad stm32f429zi_skyward_death_stack_x)
sbs_target(test-nas-with-triad stm32f429zi_death_stack_v2)
add_executable(test-triad src/tests/algorithms/NAS/test-triad.cpp)
sbs_target(test-triad stm32f429zi_skyward_death_stack_x)
sbs_target(test-triad stm32f429zi_death_stack_v3)
add_executable(test-triad-parafoil src/tests/algorithms/NAS/test-triad-parafoil.cpp)
sbs_target(test-triad-parafoil stm32f429zi_parafoil)
add_executable(test-ada src/tests/algorithms/ADA/test-ada.cpp)
sbs_target(test-ada stm32f429zi_death_stack_v3)
#-----------------------------------------------------------------------------#
# Tests - Boards #
#-----------------------------------------------------------------------------#
add_executable(test-compute-unit src/tests/boards/test-compute-unit.cpp)
sbs_target(test-compute-unit stm32f767zi_compute_unit)
add_executable(test-qspi-flash src/tests/boards/test-qspi-flash.cpp)
sbs_target(test-qspi-flash stm32f767zi_compute_unit)
#-----------------------------------------------------------------------------#
# Tests - Drivers #
#-----------------------------------------------------------------------------#
add_executable(test-canbus-loopback src/tests/drivers/canbus/test-canbus-loopback.cpp)
sbs_target(test-canbus-loopback stm32f429zi_stm32f4discovery)
add_executable(test-ad5204 src/tests/drivers/test-ad5204.cpp)
sbs_target(test-ad5204 stm32f205rc_ciuti)
add_executable(test-can-2way src/tests/drivers/canbus/CanDriver/test-can-2way.cpp)
sbs_target(test-can-2way stm32f429zi_pyxis_auxiliary)
add_executable(test-canbus-2way src/tests/drivers/canbus/test-canbus-2way.cpp)
sbs_target(test-canbus-2way stm32f429zi_stm32f4discovery)
add_executable(test-can-filters src/tests/drivers/canbus/CanDriver/test-can-filters.cpp)
sbs_target(test-can-filters stm32f429zi_pyxis_auxiliary)
add_executable(test-dma-spi src/tests/drivers/dma/test-dma-spi.cpp)
sbs_target(test-dma-spi stm32f429zi_stm32f4discovery)
add_executable(test-can-loopback src/tests/drivers/canbus/CanDriver/test-can-loopback.cpp)
sbs_target(test-can-loopback stm32f429zi_death_stack_v2)
add_executable(test-can-protocol src/tests/drivers/canbus/CanProtocol/test-can-protocol.cpp)
sbs_target(test-can-protocol stm32f429zi_death_stack_v2)
add_executable(test-dsgamma src/tests/drivers/test-dsgamma.cpp)
sbs_target(test-dsgamma stm32f429zi_stm32f4discovery)
......@@ -176,10 +241,7 @@ add_executable(test-general-purpose-timer src/tests/drivers/timer/test-general-p
sbs_target(test-general-purpose-timer stm32f429zi_stm32f4discovery)
add_executable(test-internal-adc src/tests/drivers/test-internal-adc.cpp)
sbs_target(test-internal-adc stm32f429zi_skyward_death_stack_x)
add_executable(test-internal-adc-dma src/tests/drivers/test-internal-adc-dma.cpp)
sbs_target(test-internal-adc-dma stm32f429zi_stm32f4discovery)
sbs_target(test-internal-adc stm32f767zi_compute_unit)
add_executable(test-mavlink src/tests/drivers/test-mavlink.cpp)
sbs_target(test-mavlink stm32f407vg_stm32f4discovery)
......@@ -190,17 +252,11 @@ sbs_target(test-MBLoadCell stm32f407vg_stm32f4discovery)
add_executable(test-pwm src/tests/drivers/timer/test-pwm.cpp)
sbs_target(test-pwm stm32f429zi_stm32f4discovery)
add_executable(test-spi src/tests/drivers/spi/test-spi.cpp)
sbs_target(test-spi stm32f429zi_stm32f4discovery)
add_executable(test-spi-as-slave src/tests/drivers/spi/test-spi-as-slave.cpp)
sbs_target(test-spi-as-slave stm32f429zi_stm32f4discovery)
add_executable(test-counted-pwm src/tests/drivers/timer/test-counted-pwm.cpp)
sbs_target(test-counted-pwm stm32f429zi_stm32f4discovery)
add_executable(test-spi-signal-generator src/tests/drivers/spi/test-spi-signal-generator.cpp)
sbs_target(test-spi-signal-generator stm32f429zi_stm32f4discovery)
add_executable(test-spi-slave-bus src/tests/drivers/spi/test-spi-slave-bus.cpp)
sbs_target(test-spi-slave-bus stm32f429zi_stm32f4discovery)
add_executable(test-spi src/tests/drivers/spi/test-spi.cpp)
sbs_target(test-spi stm32f407vg_stm32f4discovery)
add_executable(test-timer-utils src/tests/drivers/timer/test-timer-utils.cpp)
sbs_target(test-timer-utils stm32f429zi_stm32f4discovery)
......@@ -208,11 +264,8 @@ sbs_target(test-timer-utils stm32f429zi_stm32f4discovery)
add_executable(test-timestamptimer src/tests/drivers/timer/test-timestamptimer.cpp)
sbs_target(test-timestamptimer stm32f429zi_stm32f4discovery)
add_executable(test-vn100serial src/tests/drivers/test-vn100serial.cpp)
sbs_target(test-vn100serial stm32f407vg_stm32f4discovery)
add_executable(test-xbee-bidir src/tests/drivers/xbee/test-xbee-bidir.cpp)
sbs_target(test-xbee-bidir stm32f429zi_skyward_death_stack_x)
sbs_target(test-xbee-bidir stm32f429zi_death_stack_v2)
add_executable(test-xbee-gui
src/tests/drivers/xbee/test-xbee-gui.cpp
......@@ -226,8 +279,35 @@ sbs_target(test-xbee-rcv stm32f429zi_stm32f4discovery)
add_executable(test-xbee-snd src/tests/drivers/xbee/test-xbee-snd.cpp)
sbs_target(test-xbee-snd stm32f429zi_stm32f4discovery)
add_executable(test-usart src/tests/drivers/usart/test-usart.cpp)
sbs_target(test-usart stm32f407vg_stm32f4discovery)
add_executable(test-usart-f4 src/tests/drivers/usart/test-usart.cpp)
sbs_target(test-usart-f4 stm32f429zi_stm32f4discovery)
add_executable(test-usart-f7 src/tests/drivers/usart/test-usart.cpp)
sbs_target(test-usart-f7 stm32f767zi_nucleo)
add_executable(test-dma-mem-to-mem src/tests/drivers/test-dma-mem-to-mem.cpp)
sbs_target(test-dma-mem-to-mem stm32f767zi_compute_unit)
add_executable(test-i2c-driver-f4 src/tests/drivers/i2c/test-i2c-driver.cpp)
sbs_target(test-i2c-driver-f4 stm32f429zi_stm32f4discovery)
add_executable(test-i2c-f4 src/tests/drivers/i2c/test-i2c.cpp)
sbs_target(test-i2c-f4 stm32f429zi_stm32f4discovery)
add_executable(test-i2c-driver-f7 src/tests/drivers/i2c/test-i2c-driver.cpp)
sbs_target(test-i2c-driver-f7 stm32f767zi_nucleo)
add_executable(test-i2c-f7 src/tests/drivers/i2c/test-i2c.cpp)
sbs_target(test-i2c-f7 stm32f767zi_nucleo)
add_executable(test-wiz5500 src/tests/drivers/test-wiz5500.cpp)
sbs_target(test-wiz5500 stm32f767zi_gemini_gs)
add_executable(test-bsram src/tests/drivers/test-bsram.cpp)
sbs_target(test-bsram stm32f767zi_lyra_biscotto)
add_executable(test-dipswitch src/tests/drivers/test-dipswitch.cpp)
sbs_target(test-dipswitch stm32f767zi_lyra_gs)
#-----------------------------------------------------------------------------#
# Tests - Events #
......@@ -240,60 +320,73 @@ sbs_target(test-fsm stm32f429zi_stm32f4discovery)
# Tests - Radio #
#-----------------------------------------------------------------------------#
add_executable(test-sx1278-bench
src/tests/drivers/sx1278/test-sx1278-bench.cpp
src/tests/drivers/sx1278/test-sx1278-core.cpp
)
sbs_target(test-sx1278-bench stm32f407vg_stm32f4discovery)
add_executable(test-sx1278fsk-bidir src/tests/radio/sx1278/fsk/test-sx1278-bidir.cpp)
sbs_target(test-sx1278fsk-bidir stm32f429zi_nokia)
add_executable(test-sx1278-bidir
src/tests/drivers/sx1278/test-sx1278-bidir.cpp
src/tests/drivers/sx1278/test-sx1278-core.cpp
)
sbs_target(test-sx1278-bidir stm32f407vg_stm32f4discovery)
add_executable(test-sx1278fsk-tx src/tests/radio/sx1278/test-sx1278-bench-serial.cpp)
target_compile_definitions(test-sx1278fsk-tx PRIVATE DISABLE_RX)
sbs_target(test-sx1278fsk-tx stm32f429zi_nokia)
add_executable(test-sx1278-tx
src/tests/drivers/sx1278/test-sx1278-tx.cpp
src/tests/drivers/sx1278/test-sx1278-core.cpp
)
sbs_target(test-sx1278-tx stm32f407vg_stm32f4discovery)
add_executable(test-sx1278fsk-rx src/tests/radio/sx1278/test-sx1278-bench-serial.cpp)
target_compile_definitions(test-sx1278fsk-rx PRIVATE DISABLE_TX)
sbs_target(test-sx1278fsk-rx stm32f429zi_nokia)
add_executable(test-sx1278-rx
src/tests/drivers/sx1278/test-sx1278-rx.cpp
src/tests/drivers/sx1278/test-sx1278-core.cpp
)
sbs_target(test-sx1278-rx stm32f407vg_stm32f4discovery)
add_executable(test-sx1278fsk-gui-tx src/tests/radio/sx1278/test-sx1278-bench-gui.cpp)
target_compile_definitions(test-sx1278fsk-gui-tx PRIVATE DISABLE_RX)
sbs_target(test-sx1278fsk-gui-tx stm32f429zi_nokia)
add_executable(test-sx1278-mavlink
src/tests/drivers/sx1278/test-sx1278-mavlink.cpp
src/tests/drivers/sx1278/test-sx1278-core.cpp
)
sbs_target(test-sx1278-mavlink stm32f407vg_stm32f4discovery)
add_executable(test-sx1278fsk-gui-rx src/tests/radio/sx1278/test-sx1278-bench-gui.cpp)
target_compile_definitions(test-sx1278fsk-gui-rx PRIVATE DISABLE_TX)
sbs_target(test-sx1278fsk-gui-rx stm32f429zi_nokia)
add_executable(test-sx1278-serial
src/tests/drivers/sx1278/test-sx1278-serial.cpp
src/tests/drivers/sx1278/test-sx1278-core.cpp
)
sbs_target(test-sx1278-serial stm32f429zi_stm32f4discovery)
add_executable(test-sx1278fsk-mavlink src/tests/radio/sx1278/fsk/test-sx1278-mavlink.cpp)
sbs_target(test-sx1278fsk-mavlink stm32f429zi_nokia)
# add_executable(test-mavlinkdriver src/tests/radio/test-mavlinkdriver.cpp)
# sbs_target(test-mavlinkdriver stm32f407vg_stm32f4discovery)
add_executable(test-sx1278lora-bidir src/tests/radio/sx1278/lora/test-sx1278-bidir.cpp)
sbs_target(test-sx1278lora-bidir stm32f429zi_nokia)
add_executable(test-sx1278lora-mavlink src/tests/radio/sx1278/lora/test-sx1278-mavlink.cpp)
sbs_target(test-sx1278lora-mavlink stm32f429zi_nokia)
add_executable(test-sx1278lora-simple-rx src/tests/radio/sx1278/lora/test-sx1278-simple.cpp)
target_compile_definitions(test-sx1278lora-simple-rx PRIVATE ENABLE_RX)
sbs_target(test-sx1278lora-simple-rx stm32f429zi_nokia)
add_executable(test-sx1278lora-simple-tx src/tests/radio/sx1278/lora/test-sx1278-simple.cpp)
target_compile_definitions(test-sx1278lora-simple-tx PRIVATE ENABLE_TX)
sbs_target(test-sx1278lora-simple-tx stm32f429zi_nokia)
add_executable(test-sx1278lora-tx src/tests/radio/sx1278/test-sx1278-bench-serial.cpp)
target_compile_definitions(test-sx1278lora-tx PRIVATE DISABLE_RX SX1278_IS_LORA)
sbs_target(test-sx1278lora-tx stm32f429zi_nokia)
add_executable(test-sx1278lora-rx src/tests/radio/sx1278/test-sx1278-bench-serial.cpp)
target_compile_definitions(test-sx1278lora-rx PRIVATE DISABLE_TX SX1278_IS_LORA)
sbs_target(test-sx1278lora-rx stm32f429zi_nokia)
add_executable(test-mavlinkdriver src/tests/radio/test-mavlinkdriver.cpp)
sbs_target(test-mavlinkdriver stm32f407vg_stm32f4discovery)
add_executable(test-sx1278lora-gui-rx src/tests/radio/sx1278/test-sx1278-bench-gui.cpp)
target_compile_definitions(test-sx1278lora-gui-rx PRIVATE DISABLE_TX SX1278_IS_LORA)
sbs_target(test-sx1278lora-gui-rx stm32f429zi_nokia)
add_executable(test-sx1278lora-gui-tx src/tests/radio/sx1278/test-sx1278-bench-gui.cpp)
target_compile_definitions(test-sx1278lora-gui-tx PRIVATE DISABLE_RX SX1278_IS_LORA)
sbs_target(test-sx1278lora-gui-tx stm32f429zi_nokia)
#-----------------------------------------------------------------------------#
# Tests - Sensors #
#-----------------------------------------------------------------------------#
add_executable(test-ads1118 src/tests/sensors/ADS1118/test-ads1118.cpp)
add_executable(test-ads1118 src/tests/sensors/test-ads1118.cpp)
sbs_target(test-ads1118 stm32f407vg_stm32f4discovery)
add_executable(test-ads131m04 src/tests/sensors/ADS131M04/test-ads131m04.cpp)
sbs_target(test-ads131m04 stm32f429zi_stm32f4discovery)
add_executable(test-ads131m04highfreq src/tests/sensors/ADS131M04/test-ads131m04highfreq.cpp)
sbs_target(test-ads131m04highfreq stm32f429zi_stm32f4discovery)
add_executable(test-ads131m04 src/tests/sensors/test-ads131m04.cpp)
sbs_target(test-ads131m04 stm32f429zi_death_stack_v3)
add_executable(test-ads131m04highfreq-with-logger src/tests/sensors/ADS131M04/test-ads131m04highfreq-with-logger.cpp)
sbs_target(test-ads131m04highfreq-with-logger stm32f429zi_stm32f4discovery)
add_executable(test-ads131m08 src/tests/sensors/test-ads131m08.cpp)
sbs_target(test-ads131m08 stm32f767zi_compute_unit)
add_executable(test-analog-pressure-sensors src/tests/sensors/analog/test-analog-pressure-sensors.cpp)
sbs_target(test-analog-pressure-sensors stm32f429zi_stm32f4discovery)
......@@ -310,20 +403,23 @@ sbs_target(test-calibration-benchmark stm32f407vg_stm32f4discovery)
add_executable(test-calibration-stats src/tests/sensors/calibration/test-calibration-stats.cpp)
sbs_target(test-calibration-stats stm32f407vg_stm32f4discovery)
add_executable(test-calibration src/tests/sensors/calibration/test-calibration.cpp)
sbs_target(test-calibration stm32f407vg_stm32f4discovery)
add_executable(test-bme280-spi src/tests/sensors/test-bme280-spi.cpp)
sbs_target(test-bme280-spi stm32f429zi_stm32f4discovery)
add_executable(test-bme280 src/tests/sensors/test-bme280.cpp)
sbs_target(test-bme280 stm32f429zi_stm32f4discovery)
add_executable(test-bme280-i2c src/tests/sensors/test-bme280-i2c.cpp)
sbs_target(test-bme280-i2c stm32f429zi_stm32f4discovery)
add_executable(test-bmp280 src/tests/sensors/test-bmp280.cpp)
sbs_target(test-bmp280 stm32f429zi_stm32f4discovery)
add_executable(test-bmp280-spi src/tests/sensors/test-bmp280-spi.cpp)
sbs_target(test-bmp280-spi stm32f429zi_stm32f4discovery)
add_executable(test-bmp280-i2c src/tests/sensors/test-bmp280-i2c.cpp)
sbs_target(test-bmp280-i2c stm32f429zi_stm32f4discovery)
add_executable(test-bmx160 src/tests/sensors/test-bmx160.cpp)
sbs_target(test-bmx160 stm32f429zi_skyward_death_stack_x)
sbs_target(test-bmx160 stm32f429zi_death_stack_v2)
add_executable(test-bmx160-with-correction src/tests/sensors/test-bmx160-with-correction.cpp)
sbs_target(test-bmx160-with-correction stm32f429zi_skyward_death_stack_x)
sbs_target(test-bmx160-with-correction stm32f429zi_death_stack_v2)
add_executable(test-hx711 src/tests/sensors/test-hx711.cpp)
sbs_target(test-hx711 stm32f429zi_stm32f4discovery)
......@@ -338,7 +434,13 @@ add_executable(test-lis3dsh src/tests/sensors/test-lis3dsh.cpp)
sbs_target(test-lis3dsh stm32f407vg_stm32f4discovery)
add_executable(test-lis3mdl src/tests/sensors/test-lis3mdl.cpp)
sbs_target(test-lis3mdl stm32f429zi_skyward_death_stack_x)
sbs_target(test-lis3mdl stm32f429zi_death_stack_v2)
add_executable(test-lis331hh src/tests/sensors/test-lis331hh.cpp)
sbs_target(test-lis331hh stm32f205rc_ciuti)
add_executable(test-lps331ap src/tests/sensors/test-lps331ap.cpp)
sbs_target(test-lps331ap stm32f429zi_stm32f4discovery)
add_executable(test-max6675 src/tests/sensors/test-max6675.cpp)
sbs_target(test-max6675 stm32f429zi_stm32f4discovery)
......@@ -346,20 +448,51 @@ sbs_target(test-max6675 stm32f429zi_stm32f4discovery)
add_executable(test-max31855 src/tests/sensors/test-max31855.cpp)
sbs_target(test-max31855 stm32f429zi_stm32f4discovery)
add_executable(test-max31856 src/tests/sensors/test-max31856.cpp)
sbs_target(test-max31856 stm32f767zi_compute_unit)
add_executable(test-mpu9250 src/tests/sensors/test-mpu9250.cpp)
sbs_target(test-mpu9250 stm32f429zi_parafoil)
add_executable(test-ms5803 src/tests/sensors/test-ms5803.cpp)
sbs_target(test-ms5803 stm32f429zi_skyward_death_stack_x)
add_executable(test-ms5803-spi src/tests/sensors/test-ms5803-spi.cpp)
sbs_target(test-ms5803-spi stm32f429zi_death_stack_v2)
add_executable(test-ms5803-i2c src/tests/sensors/test-ms5803-i2c.cpp)
sbs_target(test-ms5803-i2c stm32f429zi_stm32f4discovery)
add_executable(test-ubxgps-serial src/tests/sensors/test-ubxgps-serial.cpp)
sbs_target(test-ubxgps-serial stm32f429zi_skyward_death_stack_x)
sbs_target(test-ubxgps-serial stm32f429zi_death_stack_v2)
add_executable(test-ubxgps-spi src/tests/sensors/test-ubxgps-spi.cpp)
sbs_target(test-ubxgps-spi stm32f429zi_skyward_death_stack_x)
sbs_target(test-ubxgps-spi stm32f429zi_death_stack_v2)
add_executable(test-vn100-serial src/tests/sensors/test-vn100-serial.cpp)
sbs_target(test-vn100-serial stm32f407vg_stm32f4discovery)
add_executable(test-vn100-spi src/tests/sensors/test-vn100-spi.cpp)
sbs_target(test-vn100-spi stm32f407vg_stm32f4discovery)
add_executable(test-vn300 src/tests/sensors/test-vn300.cpp)
sbs_target(test-vn300 stm32f767zi_compute_unit)
add_executable(test-lis2mdl src/tests/sensors/test-lis2mdl.cpp)
sbs_target(test-lis2mdl stm32f429zi_stm32f4discovery)
add_executable(test-h3lis331dl src/tests/sensors/test-h3lis331dl.cpp)
sbs_target(test-h3lis331dl stm32f407vg_stm32f4discovery)
add_executable(test-lps28dfw src/tests/sensors/test-lps28dfw.cpp)
sbs_target(test-lps28dfw stm32f767zi_nucleo)
add_executable(test-lps22df src/tests/sensors/test-lps22df.cpp)
sbs_target(test-lps22df stm32f767zi_nucleo)
add_executable(test-lsm6dsrx src/tests/sensors/test-lsm6dsrx.cpp)
sbs_target(test-lsm6dsrx stm32f407vg_stm32f4discovery)
add_executable(test-vn100 src/tests/sensors/test-vn100.cpp)
sbs_target(test-vn100 stm32f407vg_stm32f4discovery)
add_executable(test-nd015x src/tests/sensors/test-nd015x.cpp)
sbs_target(test-nd015x stm32f767zi_lyra_biscotto)
#-----------------------------------------------------------------------------#
# Tests - Utils #
......
![alt text](https://avatars2.githubusercontent.com/u/8077370?s=200&v=4)
<div align="center">
<img src="https://avatars2.githubusercontent.com/u/8077370?s=200&v=4" alt="Skyward Experimental Rocketry" width="200"></a>
<h1>Skyward Boardcore</h1>
<a href="https://git.skywarder.eu/avn/swd/skyward-boardcore/-/pipelines"><img src="https://git.skywarder.eu/avn/swd/skyward-boardcore/badges/main/pipeline.svg"></a>
</div>
Skyward Boardcore
[![pipeline status](https://git.skywarder.eu/scs/skyward-boardcore/badges/master/pipeline.svg)](https://git.skywarder.eu/scs/skyward-boardcore/commits/master)
-------------
Boardcore is a C++14 rocket software framework targeting custom embedded boards designed by Skyward Experimental Rocketry.
Boardcore is a framework for developing and building missile software for custom boards with Miosix.
Boardcore runs on top of [Miosix](https://miosix.org/), a lightweight operating system for microcontrollers. It implements a POSIX-like API, the C standard library and the C++ standard library. It also provides a pre-emptive scheduler (among others) and a custom concurrency API with support for Threads and synchronization primitives.
A FAT32 filesystem, a serial port driver, platform timers and General Purpose I/O functionalities (GPIO) are also exposed through a custom API.
[Miosix](https://miosix.org/) is a lightweight OS for embedded developing which provides support for basic things such as Threads, GPIO, Time and many other. You can find our fork of the kernel here: [skyward/miosix-kernel](https://git.skywarder.eu/scs/miosix-kernel)
We maintain a fork of the Miosix OS to fit our needs: [skyward/miosix-kernel](https://git.skywarder.eu/avn/swd/miosix-kernel)
Building is made with [SBS](https://git.skywarder.eu/scs/skyward-boardcore/wikis/Skyward-Build-System-(SBS)), which was created to easily compile and reuse code for different boards.
The project is built with the CMake build system. We also have our own script that is built on top of CMake, to automate compilation and deployment to different hardware targets, [SBS](https://git.skywarder.eu/avn/swd/skyward-boardcore/wikis/Skyward-Build-System-(SBS)).
### Content
## Content
| **src/** | sources! |
| ------------ | ------------------------------------------------------- |
| shared/ | objects, drivers and other stuff written by us |
| entrypoints/ | each file here is a 'main' |
| tests/ | contains the 'main' of every test |
| **build/** | compiled binaries that can be flashed on a target board |
| **data/** | configuration (barely used now) |
| **libs/** | external libs (Miosix kernel as a git submodule) |
| **scripts/** | some tools (e.g. script for flashing on the boards) |
| Path | Description |
| ---------------- | ----------------------------------------------------------- |
| src/bsps/ | Board Support Packages (BSP) |
| src/shared/ | Device drivers and general-purpose classes/utilities |
| src/entrypoints/ | Entry points for general tasks (e.g. calibration) |
| src/tests/ | Entry points for on-device unit testing |
| build/ | Build output directory |
| libs/ | External libraries (git submodules) |
| scripts/ | Various tools and utilities (e.g. linting, log decoder) |
In the main folder you will find **CMakeLists.txt** which is used to configure the build system.
## Getting Started
### Getting Started
### Dependencies
#### Dependencies
The following are required to build the project:
* `CMake` 3.25
* `Git`
* `Miosix` Toolchain
* CMake
* Git
* Miosix Toolchain
You will also need the following tools for linting and formatting:
* `Python3`
* `Cppcheck 2.7`
* `ClangFormat 18`
Also, Ccache, Ninja, OpenOCD, Cppcheck, clang-format and pre-commit are recommended for a better experience.
We also recommend to install `Ccache`, `Ninja`, `OpenOCD`, and `pre-commit` for a smoother development experience.
#### Cloning the repo
### Cloning the repo
Clone this repo with the `--recursive` option.
Clone the repository with the `--recursive` option:
```sh
git clone --recursive https://git.skywarder.eu/scs/skyward-boardcore.git
git clone --recursive https://git.skywarder.eu/avn/swd/skyward-boardcore.git
cd skyward-boardcore
```
### Building
## Building
You can build everything using CMake:
Using the SBS script is the recommended way to build the project. When called with no arguments, it will build all targets:
```sh
./sbs
```
This may take a while depending on how many targets there are. If `ccache` is installed, it will be used to cache intermediate compilation artifacts to speed-up incremental builds.
Alternatively, you can build with CMake commands:
```sh
mkdir build
cd build
......@@ -52,14 +66,11 @@ cmake -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -D
cmake --build .
```
Or using the SBS wrapper script:
```sh
./sbs
```
## Documentation
The build system will start building all the targets (entrypoints and tests). Depending on how many targets there are, this operation may take several minutes.
The code is documented with Doxygen, check it out [here](http://avn.pages.skywarder.eu/swd/skyward-boardcore).
### Contributing
## Contributing
You can install a pre-commit hook to ensure changes to the code will pass CI:
......@@ -67,10 +78,10 @@ You can install a pre-commit hook to ensure changes to the code will pass CI:
pre-commit install
```
### What's next?
## What's next?
In the [Wiki](https://git.skywarder.eu/scs/skyward-boardcore/wikis/home) you will find some first-steps **guides** (configuring the IDE, building a firmware, etc.) as well as the **coding guidelines** and some **best practices** we adopt.
You can find first-step **guides** in the [Wiki](https://git.skywarder.eu/avn/swd/skyward-boardcore/wikis/home) (configuring the IDE, building examples, etc.) as well our **code guidelines** and **best practices** that we follow.
If you want to contribute to this repository, please read [Git Workflow](https://git.skywarder.eu/scs/skyward-boardcore/wikis/Git-Workflow).
If you want to contribute to this repository, please read our [Git Workflow](https://git.skywarder.eu/avn/swd/skyward-boardcore/wikis/Git-Workflow).
If you just want to start messing around, try [this](https://git.skywarder.eu/scs/skyward-boardcore/wikis/Boardcore-Quick-Start).
If you want to start messing around with the code, check out the [LED blink guide](https://git.skywarder.eu/avn/swd/skyward-boardcore/-/wikis/LED-Blink).
......@@ -19,21 +19,25 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
add_library(boardcore-host STATIC EXCLUDE_FROM_ALL
# Boardcore source files used when compiling for host
set(BOARDCORE_HOST_SRC
# Debug
${SBS_BASE}/src/shared/utils/Debug.cpp
${SBS_BASE}/src/shared/diagnostic/CpuMeter.cpp
${SBS_BASE}/src/shared/diagnostic/CpuMeter/CpuMeter.cpp
${SBS_BASE}/src/shared/diagnostic/PrintLogger.cpp
# Actuators
${SBS_BASE}/src/shared/actuators/Servo/Servo.cpp
# Drivers
${SBS_BASE}/src/shared/drivers/timer/TimestampTimer.cpp
# Events
${SBS_BASE}/src/shared/events/EventBroker.cpp
# Algorithms
${SBS_BASE}/src/shared/algorithms/MEA/MEA.cpp
${SBS_BASE}/src/shared/algorithms/AirBrakes/AirBrakesPI.cpp
${SBS_BASE}/src/shared/algorithms/AirBrakes/AirBrakesInterp.cpp
${SBS_BASE}/src/shared/algorithms/Propagator/Propagator.cpp
# Logger
${SBS_BASE}/src/shared/logger/Logger.cpp
......@@ -52,14 +56,26 @@ add_library(boardcore-host STATIC EXCLUDE_FROM_ALL
${SBS_BASE}/src/shared/utils/SkyQuaternion/SkyQuaternion.cpp
${SBS_BASE}/src/shared/utils/Stats/Stats.cpp
${SBS_BASE}/src/shared/utils/TestUtils/TestHelper.cpp
${SBS_BASE}/src/shared/utils/Registry/RegistryFrontend.cpp
${SBS_BASE}/src/shared/utils/Registry/RegistrySerializer.cpp
${SBS_BASE}/src/shared/utils/DependencyManager/DependencyManager.cpp
)
add_library(SkywardBoardcore::Boardcore::host ALIAS boardcore-host)
target_include_directories(boardcore-host PUBLIC ${SBS_BASE}/src/shared)
# Create a library specific for host builds
add_library(boardcore-host STATIC EXCLUDE_FROM_ALL ${BOARDCORE_HOST_SRC})
# Only one include directory for Boardcore!
target_include_directories(boardcore-host PUBLIC ${BOARDCORE_PATH}/src/shared)
# Link libraries
target_link_libraries(boardcore-host PUBLIC
Miosix::Miosix::host
TSCPP::TSCPP
Eigen3::Eigen
fmt::fmt-header-only
Catch2::Catch2
Mavlink::Mavlink
Socrate::Socrate
)
# Create a nice alias for the library
add_library(Skyward::Boardcore::host ALIAS boardcore-host)
\ No newline at end of file