diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 74b7c3142b06876e4ffd041b775273d43340eaf6..7653bbb59505e7c56fcaa0eb880e6caa114613ce 100755 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -2,11 +2,10 @@ "env": { "defaultDefines": [ "_MIOSIX", - "DEBUG", - "__cplusplus=201402L" + "DEBUG" ], "defaultIncludePaths": [ - "${workspaceFolder}/skyward-boardcore/libs/Catch2/include", + "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include", "${workspaceFolder}/skyward-boardcore/libs/eigen", "${workspaceFolder}/skyward-boardcore/libs/fmt/include", "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", @@ -18,32 +17,11 @@ "${workspaceFolder}/skyward-boardcore/src/shared", "${workspaceFolder}/skyward-boardcore/src/tests", "${workspaceFolder}/src/boards", + "${workspaceFolder}/src/tests", "${workspaceFolder}/src" ] }, "configurations": [ - { - "name": "stm32f205rc_skyward_ciuti", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f205RC_skyward_ciuti", - "_BOARD_STM32F205RC_SKYWARD_CIUTI", - "_ARCH_CORTEXM3_STM32F2", - "STM32F205xx", - "HSE_VALUE=25000000", - "SYSCLK_FREQ_120MHz=120000000", - "V_DDA_VOLTAGE=3.3f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM3_stm32f2/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM3_stm32f2/stm32f205rc_skyward_ciuti", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM3_stm32f2/stm32f205rc_skyward_ciuti" - ] - }, { "name": "stm32f407vg_stm32f4discovery", "cStandard": "c11", @@ -63,41 +41,19 @@ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery" + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery", + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/" ] }, { - "name": "stm32f429zi_hre_test_stand", + "name": "stm32f429zi_death_stack_v3", "cStandard": "c11", "cppStandard": "c++14", "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_hre_test_stand", - "_BOARD_STM32F429ZI_HRE_TEST_STAND", - "_ARCH_CORTEXM4_STM32F4", - "STM32F429xx", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", - "__ENABLE_XRAM", - "V_DDA_VOLTAGE=3.0f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_hre_test_stand", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_hre_test_stand" - ] - }, - { - "name": "stm32f429zi_skyward_death_stack_v3", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_v3", - "_BOARD_STM32F429ZI_SKYWARD_DEATHST_X", + "_MIOSIX_BOARDNAME=stm32f429zi_death_stack_v3", + "_BOARD_STM32F429ZI_DEATH_STACK_V3", "_ARCH_CORTEXM4_STM32F4", "STM32F429xx", "HSE_VALUE=8000000", @@ -108,8 +64,7 @@ "includePath": [ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3" + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_death_stack_v3/**" ] }, { @@ -122,63 +77,23 @@ "_MIOSIX_BOARDNAME=stm32f767zi_compute_unit", "_BOARD_STM32F767ZI_COMPUTE_UNIT", "_ARCH_CORTEXM7_STM32F7", - "STM32F769xx", + "STM32F767xx", "HSE_VALUE=25000000", "SYSCLK_FREQ_216MHz=216000000", "__ENABLE_XRAM", "V_DDA_VOLTAGE=3.3f" ], "includePath": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix", - "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/fmt/include", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/hardware_in_the_loop", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src/tests", - "${workspaceFolder}/src" - ], - "browse": { - "path": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs/mxgui", - "${workspaceFolder}/skyward-boardcore/libs/fmt", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/hardware_in_the_loop", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src/tests" - ], - "limitSymbolsToIncludedHeaders": true - } + "${defaultIncludePaths}", + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_compute_unit/**" + ] }, { "name": "stm32f767zi_compute_unit_HIL", "cStandard": "c11", "cppStandard": "c++14", - "compilerPath": "C://arm-miosix-eabi/bin/arm-miosix-eabi-g++", + "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ "{defaultDefines}", "_MIOSIX_BOARDNAME=stm32f767zi_compute_unit", @@ -192,173 +107,54 @@ "HILTest" ], "includePath": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix", - "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/fmt/include", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/hardware_in_the_loop", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src/tests", - "${workspaceFolder}/src" - ], - "browse": { - "path": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs/mxgui", - "${workspaceFolder}/skyward-boardcore/libs/fmt", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/hardware_in_the_loop", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src/tests" - ], - "limitSymbolsToIncludedHeaders": true - } + "${defaultIncludePaths}", + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_compute_unit/**", + "${workspaceFolder}/src/hardware_in_the_loop" + ] }, { - "name": "stm32f767zi_skyward_death_stack_v4", + "name": "stm32f767zi_death_stack_v4", "cStandard": "c11", "cppStandard": "c++14", "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_v4", - "_BOARD_STM32F429ZI_SKYWARD_DEATHST_V4", "_ARCH_CORTEXM7_STM32F7", - "_BOARD_STM32F767ZI_SKYWARD_DEATHST_V4", - "_MIOSIX_BOARDNAME=stm32f767zi_skyward_death_stack_v4", + "_BOARD_STM32F767ZI_DEATH_STACK_V4", + "_MIOSIX_BOARDNAME=stm32f767zi_death_stack_v4", "HSE_VALUE=8000000", "SYSCLK_FREQ_168MHz=168000000", - "_MIOSIX", - "__cplusplus=201402L", - "HILSimulation", "ROCCARASO" ], "includePath": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", + "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix", - "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/fmt/include", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src", - "${workspaceFolder}/src/hardware_in_the_loop" - ], - "browse": { - "path": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs/mxgui", - "${workspaceFolder}/skyward-boardcore/libs/fmt", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/boards" - ], - "limitSymbolsToIncludedHeaders": true - } + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_death_stack_v4/**" + ] }, { - "name": "stm32f767zi_skyward_death_stack_v4_HIL", + "name": "stm32f767zi_death_stack_v4_HIL", "cStandard": "c11", "cppStandard": "c++14", "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ - "DEBUG", + "{defaultDefines}", "_ARCH_CORTEXM7_STM32F7", - "_BOARD_STM32F767ZI_SKYWARD_DEATHST_V4", - "_MIOSIX_BOARDNAME=stm32f767zi_skyward_death_stack_v4", + "_BOARD_STM32F767ZI_DEATH_STACK_V4", + "_MIOSIX_BOARDNAME=stm32f767zi_death_stack_v4", "HSE_VALUE=8000000", "SYSCLK_FREQ_168MHz=168000000", - "_MIOSIX", - "__cplusplus=201103L", - "HILSimulation", "ROCCARASO", + "HILSimulation", "HILMain" ], "includePath": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", + "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix", - "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/fmt/include", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src", + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_death_stack_v4/**", "${workspaceFolder}/src/hardware_in_the_loop" - ], - "browse": { - "path": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs/mxgui", - "${workspaceFolder}/skyward-boardcore/libs/fmt", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/boards" - ], - "limitSymbolsToIncludedHeaders": true - } + ] }, { "name": "stm32f429zi_skyward_pyxis_auxiliary", @@ -366,184 +162,51 @@ "cppStandard": "c++14", "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ - "DEBUG", - "_ARCH_CORTEXM4_STM32F4", - "_BOARD_STM32F429ZI_SKYWARD_PYXIS_AUXILIARY", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_pyxis_auxiliary", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", - "_MIOSIX", - "__cplusplus=201103L" - ], - "includePath": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix", - "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/fmt/include", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/hardware_in_the_loop", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src/tests", - "${workspaceFolder}/src" - ], - "browse": { - "path": [ - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*", - "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib", - "${workspaceFolder}/skyward-boardcore/libs/eigen", - "${workspaceFolder}/skyward-boardcore/libs/tscpp", - "${workspaceFolder}/skyward-boardcore/libs/mxgui", - "${workspaceFolder}/skyward-boardcore/libs/fmt", - "${workspaceFolder}/skyward-boardcore/src/shared", - "${workspaceFolder}/skyward-boardcore/src/tests", - "${workspaceFolder}/src/hardware_in_the_loop", - "${workspaceFolder}/src/boards", - "${workspaceFolder}/src/tests" - ], - "limitSymbolsToIncludedHeaders": true - } - }, - { - "name": "stm32f205rc_skyward_ciuti", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "DEBUG", - "_ARCH_CORTEXM3_STM32F2", - "_BOARD_STM32F205RC_SKYWARD_CIUTI", - "_MIOSIX_BOARDNAME=stm32f205RC_skyward_ciuti", - "HSE_VALUE=25000000", - "SYSCLK_FREQ_216MHz=216000000", - "__ENABLE_XRAM", - "V_DDA_VOLTAGE=3.3f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4", - ], - }, - { - "name": "stm32f429zi_skyward_death_stack_x", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_x", - "_BOARD_STM32F429ZI_SKYWARD_DEATHST_X", + "${defaultDefines}", "_ARCH_CORTEXM4_STM32F4", + "_BOARD_STM32F429ZI_PYXIS_AUXILIARY", + "_MIOSIX_BOARDNAME=stm32f429zi_pyxis_auxiliary", "STM32F429xx", "HSE_VALUE=8000000", "SYSCLK_FREQ_168MHz=168000000", - "__ENABLE_XRAM", "V_DDA_VOLTAGE=3.3f" ], "includePath": [ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x" + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_pyxis_auxiliary/**" ] }, { - "name": "stm32f429zi_skyward_death_stack_x_maker_faire", + "name": "stm32f205rc_ciuti", "cStandard": "c11", "cppStandard": "c++14", "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_x_maker_faire", - "_BOARD_STM32F429ZI_SKYWARD_DEATHST_X_MAKER_FAIRE", - "_ARCH_CORTEXM4_STM32F4", - "STM32F429xx", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", + "${defaultDefines}", + "_ARCH_CORTEXM3_STM32F2", + "_BOARD_STM32F205RC_CIUTI", + "_MIOSIX_BOARDNAME=stm32f205RC_ciuti", + "HSE_VALUE=25000000", + "SYSCLK_FREQ_216MHz=216000000", "__ENABLE_XRAM", "V_DDA_VOLTAGE=3.3f" ], "includePath": [ "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x_maker_faire", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x_maker_faire" - ] - }, - { - "name": "stm32f429zi_skyward_groundstation", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation", - "_BOARD_STM32F429ZI_SKYWARD_GS", - "_ARCH_CORTEXM4_STM32F4", - "STM32F429xx", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", - "__ENABLE_XRAM", - "V_DDA_VOLTAGE=3.0f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation" - ] - }, - { - "name": "stm32f429zi_skyward_groundstation_parafoil", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation_parafoil", - "D_BOARD_STM32F429ZI_SKYWARD_GS_PARAFOIL", - "_ARCH_CORTEXM4_STM32F4", - "STM32F429xx", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", - "__ENABLE_XRAM", - "V_DDA_VOLTAGE=3.0f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_parafoil", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_parafoil" + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM3_stm32f2/common", + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f205rc_ciuti/**" ] }, { - "name": "stm32f429zi_skyward_groundstation_v2", + "name": "stm32f429zi_parafoil", "cStandard": "c11", "cppStandard": "c++14", "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation_v2", - "_BOARD_STM32F429ZI_SKYWARD_GS_V2", + "_MIOSIX_BOARDNAME=stm32f429zi_parafoil", + "_BOARD_STM32F429ZI_PARAFOIL", "_ARCH_CORTEXM4_STM32F4", "STM32F429xx", "HSE_VALUE=8000000", @@ -554,19 +217,17 @@ "includePath": [ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2" + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_parafoil/**" ] }, { - "name": "stm32f429zi_skyward_parafoil", + "name": "stm32f429zi_rig", "cStandard": "c11", "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", "defines": [ "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_parafoil", - "_BOARD_STM32F429ZI_SKYWARD_PARAFOIL", + "_MIOSIX_BOARDNAME=stm32f429zi_rig", + "_BOARD_STM32F429ZI_RIG", "_ARCH_CORTEXM4_STM32F4", "STM32F429xx", "HSE_VALUE=8000000", @@ -577,53 +238,7 @@ "includePath": [ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_parafoil", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_parafoil" - ] - }, - { - "name": "stm32f429zi_skyward_pyxis_auxiliary", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_pyxis_auxiliary", - "_BOARD_STM32F429ZI_SKYWARD_PYXIS_AUXILIARY", - "_ARCH_CORTEXM4_STM32F4", - "STM32F429xx", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", - "V_DDA_VOLTAGE=3.3f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary" - ] - }, - { - "name": "stm32f429zi_skyward_rig", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_rig", - "_BOARD_STM32F429ZI_SKYWARD_RIG", - "_ARCH_CORTEXM4_STM32F4", - "STM32F429xx", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", - "__ENABLE_XRAM", - "V_DDA_VOLTAGE=3.0f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_rig", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_rig" + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_rig/**" ] }, { @@ -646,30 +261,8 @@ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery" - ] - }, - { - "name": "stm32f767zi_compute_unit", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f767zi_compute_unit", - "_BOARD_STM32F767ZI_COMPUTE_UNIT", - "_ARCH_CORTEXM7_STM32F7", - "STM32F767xx", - "HSE_VALUE=25000000", - "SYSCLK_FREQ_216MHz=216000000", - "__ENABLE_XRAM", - "V_DDA_VOLTAGE=3.3f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_compute_unit", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_compute_unit" + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery", + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/" ] }, { @@ -691,8 +284,7 @@ "includePath": [ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_gemini_motor", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_gemini_motor" + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_gemini_motor/**" ] }, { @@ -703,7 +295,7 @@ "defines": [ "{defaultDefines}", "_MIOSIX_BOARDNAME=stm32f756zg_nucleo", - "D_BOARD_STM32F756ZG_NUCLEO", + "_BOARD_STM32F756ZG_NUCLEO", "_ARCH_CORTEXM7_STM32F7", "STM32F756xx", "HSE_VALUE=25000000", @@ -714,8 +306,7 @@ "includePath": [ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f756zg_nucleo", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f756zg_nucleo" + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f756zg_nucleo/**" ] }, { @@ -726,7 +317,7 @@ "defines": [ "{defaultDefines}", "_MIOSIX_BOARDNAME=stm32f767zi_nucleo", - "D_BOARD_STM32F767ZI_NUCLEO", + "_BOARD_STM32F767ZI_NUCLEO", "_ARCH_CORTEXM7_STM32F7", "STM32F767xx", "HSE_VALUE=25000000", @@ -738,7 +329,8 @@ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_nucleo", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_nucleo" + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_nucleo", + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/" ] }, { @@ -761,7 +353,8 @@ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f769ni_discovery", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f769ni_discovery" + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f769ni_discovery", + "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/" ] }, { @@ -783,31 +376,7 @@ "includePath": [ "${defaultIncludePaths}", "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_gemini_gs", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_gemini_gs" - ] - }, - { - "name": "stm32f429zi_skyward_groundstation_v2", - "cStandard": "c11", - "cppStandard": "c++14", - "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++", - "defines": [ - "{defaultDefines}", - "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation_v2", - "_BOARD_STM32F429ZI_SKYWARD_GS_V2", - "_ARCH_CORTEXM4_STM32F4", - "STM32F429xx", - "HSE_VALUE=8000000", - "SYSCLK_FREQ_168MHz=168000000", - "__ENABLE_XRAM", - "V_DDA_VOLTAGE=3.0f" - ], - "includePath": [ - "${defaultIncludePaths}", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2", - "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2" + "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_gemini_gs/**" ] } ], diff --git a/.vscode/settings.json b/.vscode/settings.json index a51e6cc187fb81ae22cabe4c3fa1497faa877e3e..ad62c26731816d98d09c56c75bab66a64d314265 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -169,7 +169,7 @@ "VREF", "Xbee" ], - "C_Cpp.errorSquiggles": "Enabled", + "C_Cpp.errorSquiggles": "enabled", "cmake.configureSettings": { "CMAKE_C_COMPILER_LAUNCHER": "ccache", "CMAKE_CXX_COMPILER_LAUNCHER": "ccache" diff --git a/CMakeLists.txt b/CMakeLists.txt index bb34a759c97938be60a951c975b88d18189764c6..ec35b72dba4edc0662b46e7382712148cd0f21b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,7 @@ cmake_minimum_required(VERSION 3.16) enable_testing() include(skyward-boardcore/cmake/sbs.cmake) +include(cmake/dependencies.cmake) # -----------------------------------------------------------------------------# # Project # @@ -40,27 +41,27 @@ sbs_target(test-hil stm32f767zi_compute_unit) add_executable(main-entry src/entrypoints/Main/main-entry.cpp ${MAIN_COMPUTER}) target_include_directories(main-entry PRIVATE ${OBSW_INCLUDE_DIRS}) -sbs_target(main-entry stm32f767zi_skyward_death_stack_v4) +sbs_target(main-entry stm32f767zi_death_stack_v4) add_executable(main-entry-roccaraso src/entrypoints/Main/main-entry.cpp ${MAIN_COMPUTER}) target_include_directories(main-entry-roccaraso PRIVATE ${OBSW_INCLUDE_DIRS}) target_compile_definitions(main-entry-roccaraso PRIVATE ROCCARASO) -sbs_target(main-entry-roccaraso stm32f767zi_skyward_death_stack_v4) +sbs_target(main-entry-roccaraso stm32f767zi_death_stack_v4) add_executable(main-entry-euroc src/entrypoints/Main/main-entry.cpp ${MAIN_COMPUTER}) target_include_directories(main-entry-euroc PRIVATE ${OBSW_INCLUDE_DIRS}) target_compile_definitions(main-entry-euroc PRIVATE EUROC) -sbs_target(main-entry-euroc stm32f767zi_skyward_death_stack_v4) +sbs_target(main-entry-euroc stm32f767zi_death_stack_v4) add_executable(payload-entry-roccaraso src/entrypoints/Payload/payload-entry.cpp ${PAYLOAD_COMPUTER}) target_include_directories(payload-entry-roccaraso PRIVATE ${OBSW_INCLUDE_DIRS}) target_compile_definitions(payload-entry-roccaraso PRIVATE ROCCARASO) -sbs_target(payload-entry-roccaraso stm32f767zi_skyward_death_stack_v4) +sbs_target(payload-entry-roccaraso stm32f767zi_death_stack_v4) add_executable(payload-entry-euroc src/entrypoints/Payload/payload-entry.cpp ${PAYLOAD_COMPUTER}) target_include_directories(payload-entry-euroc PRIVATE ${OBSW_INCLUDE_DIRS}) target_compile_definitions(payload-entry-euroc PRIVATE EUROC) -sbs_target(payload-entry-euroc stm32f767zi_skyward_death_stack_v4) +sbs_target(payload-entry-euroc stm32f767zi_death_stack_v4) add_executable(motor-entry src/entrypoints/Motor/motor-entry.cpp ${MOTOR_SOURCES}) target_include_directories(motor-entry PRIVATE ${OBSW_INCLUDE_DIRS}) @@ -68,7 +69,7 @@ sbs_target(motor-entry stm32f767zi_gemini_motor) add_executable(rig-entry src/entrypoints/RIG/rig-entry.cpp ${RIG_COMPUTER}) target_include_directories(rig-entry PRIVATE ${OBSW_INCLUDE_DIRS}) -sbs_target(rig-entry stm32f429zi_skyward_rig) +sbs_target(rig-entry stm32f429zi_rig) add_executable(con_rig-entry src/entrypoints/con_RIG/con_rig-entry.cpp ${CON_RIG_COMPUTER}) target_include_directories(con_rig-entry PRIVATE ${OBSW_INCLUDE_DIRS}) @@ -86,4 +87,4 @@ add_executable(nokia-groundstation-entry ${GROUNDSTATION_COMMON} ${GROUNDSTATION_NOKIA} ) target_include_directories(nokia-groundstation-entry PRIVATE ${OBSW_INCLUDE_DIRS}) -sbs_target(nokia-groundstation-entry stm32f429zi_skyward_groundstation_v2) +sbs_target(nokia-groundstation-entry stm32f429zi_nokia) diff --git a/skyward-boardcore b/skyward-boardcore index c0c732f55291f08ffb25360dd5f98cb63184b620..63e304cfc867103ca14f5ad4244afd80a7757c46 160000 --- a/skyward-boardcore +++ b/skyward-boardcore @@ -1 +1 @@ -Subproject commit c0c732f55291f08ffb25360dd5f98cb63184b620 +Subproject commit 63e304cfc867103ca14f5ad4244afd80a7757c46 diff --git a/src/boards/Groundstation/Common/Radio/RadioBase.cpp b/src/boards/Groundstation/Common/Radio/RadioBase.cpp index 22be5ff3b345e82f6ab3be4e18705317eec2b7c1..777e655793912479990ea2b14341ce2fa0e1af29 100644 --- a/src/boards/Groundstation/Common/Radio/RadioBase.cpp +++ b/src/boards/Groundstation/Common/Radio/RadioBase.cpp @@ -29,6 +29,7 @@ using namespace miosix; using namespace Groundstation; using namespace Boardcore; +using Boardcore::Constants::NS_IN_MS; bool RadioBase::sendMsg(const mavlink_message_t& msg) { @@ -108,7 +109,8 @@ void RadioBase::run() miosix::Thread::sleep(AUTOMATIC_FLUSH_PERIOD); // If enough time has passed, automatically flush. - if (miosix::getTick() > last_eot_packet_ts + AUTOMATIC_FLUSH_DELAY) + if (miosix::getTime() > + last_eot_packet_ts + AUTOMATIC_FLUSH_DELAY * NS_IN_MS) { flush(); } @@ -144,7 +146,7 @@ void RadioBase::handleMsg(const mavlink_message_t& msg) if (isEndOfTransmissionPacket(msg)) { - last_eot_packet_ts = miosix::getTick(); + last_eot_packet_ts = miosix::getTime(); flush(); } } diff --git a/src/boards/Motor/Actuators/Actuators.cpp b/src/boards/Motor/Actuators/Actuators.cpp index 4e7050ac4d3dd718f004002a5f482ace632ebf59..d00b9a325642159b1a7375dae21d65d82fd9059b 100644 --- a/src/boards/Motor/Actuators/Actuators.cpp +++ b/src/boards/Motor/Actuators/Actuators.cpp @@ -96,8 +96,9 @@ void Actuators::openServoAtomic(ServosList servo, uint32_t time) // Open the valve if it's closed if (timings[servo] == 0) { - timings[servo] = getTick() + time; - setFlag[servo] = getTick(); + long long timeMs = (getTime() / Constants::NS_IN_MS); + timings[servo] = timeMs + time; + setFlag[servo] = timeMs; } } } @@ -112,7 +113,7 @@ void Actuators::closeServo(ServosList servo) if (timings[servo] > 0) { timings[servo] = 0; - setFlag[servo] = getTick(); + setFlag[servo] = getTime() / Constants::NS_IN_MS; } } } @@ -153,7 +154,7 @@ Servo* Actuators::getServo(ServosList servo) void Actuators::checkTimings() { - uint64_t currentTick = getTick(); + uint64_t currentTme = getTime() / Constants::NS_IN_MS; // Enter in protected zone where the timings should be checked and changed // and the servo should be positioned atomically over all the threads. A @@ -164,9 +165,9 @@ void Actuators::checkTimings() for (uint8_t i = 0; i < ServosList::ServosList_ENUM_END; i++) { - if (timings[i] > currentTick) + if (timings[i] > currentTme) { - if (currentTick > setFlag[i] + SERVO_CONFIDENCE_TIME) + if (currentTme > setFlag[i] + SERVO_CONFIDENCE_TIME) { // 2% less than the actual aperture setServoPosition( @@ -184,9 +185,9 @@ void Actuators::checkTimings() if (timings[i] != 0) { timings[i] = 0; - setFlag[i] = currentTick; + setFlag[i] = currentTme; } - if (currentTick > setFlag[i] + SERVO_CONFIDENCE_TIME) + if (currentTme > setFlag[i] + SERVO_CONFIDENCE_TIME) { // 2% open setServoPosition(static_cast<ServosList>(i), diff --git a/src/boards/Motor/Actuators/Actuators.h b/src/boards/Motor/Actuators/Actuators.h index 61caeefedd26475d715467d7621aba1d709d8a28..837a7040226075c589aeaaad882c9661065095cc 100644 --- a/src/boards/Motor/Actuators/Actuators.h +++ b/src/boards/Motor/Actuators/Actuators.h @@ -95,14 +95,14 @@ private: void checkTimings(); // Create the list of timings for every servo - uint64_t timings[ServosList::ServosList_ENUM_END] = {0}; + uint64_t timings[ServosList::ServosList_ENUM_END] = {0}; // [ms] // This set of flags helps the controller to know when the servo have been // set, in order to change slightly their angle after CONSTANT time, to // avoid over consumption - uint64_t setFlag[ServosList::ServosList_ENUM_END] = {0}; + uint64_t setFlag[ServosList::ServosList_ENUM_END] = {0}; // [ms] float openings[ServosList::ServosList_ENUM_END] = {0}; - uint64_t openingTimes[ServosList::ServosList_ENUM_END] = {0}; + uint64_t openingTimes[ServosList::ServosList_ENUM_END] = {0}; // [ms] // This set represents the events to throw at opening/closing of valves uint8_t openingEvents[ServosList::ServosList_ENUM_END] = {0}; diff --git a/src/boards/RIG/Actuators/Actuators.cpp b/src/boards/RIG/Actuators/Actuators.cpp index 0273849a869ffe503fa76eda11a5d61b6ac51adf..ba98cbee30202f3f049a09e23903ffe046cc6ff7 100644 --- a/src/boards/RIG/Actuators/Actuators.cpp +++ b/src/boards/RIG/Actuators/Actuators.cpp @@ -193,7 +193,7 @@ void Actuators::setServoPosition(ServosList servo, float position) void Actuators::checkTimings() { - uint64_t currentTick = getTick(); + uint64_t currentTime = getTime() / Constants::NS_IN_MS; // [ms] // Enter in protected zone where the timings should be checked and changed // and the servo should be positioned atomically over all the threads. A @@ -204,9 +204,9 @@ void Actuators::checkTimings() for (uint8_t i = 0; i < ServosList::ServosList_ENUM_END; i++) { - if (timings[i] > currentTick) + if (timings[i] > currentTime) { - if (currentTick > + if (currentTime > setFlag[i] + Config::Servos::SERVO_CONFIDENCE_TIME) { setServoPosition( @@ -228,7 +228,7 @@ void Actuators::checkTimings() if (timings[i] != 0) { timings[i] = 0; - setFlag[i] = currentTick; + setFlag[i] = currentTime; { RestartKernelLock l(lock); @@ -238,7 +238,7 @@ void Actuators::checkTimings() closingEvents[i], Common::Topics::TOPIC_MOTOR); } } - if (currentTick > + if (currentTime > setFlag[i] + Config::Servos::SERVO_CONFIDENCE_TIME) { setServoPosition( @@ -265,7 +265,7 @@ void Actuators::toggleServo(ServosList servo) if (timings[servo] > 0) { timings[servo] = 0; - setFlag[servo] = getTick(); + setFlag[servo] = getTime() / Constants::NS_IN_MS; { RestartKernelLock l(lock); @@ -282,8 +282,9 @@ void Actuators::toggleServo(ServosList servo) } else { - timings[servo] = getTick() + openingTimes[servo]; - setFlag[servo] = getTick(); + long long timeMs = getTime() / Constants::NS_IN_MS; + timings[servo] = timeMs + openingTimes[servo]; + setFlag[servo] = timeMs; { RestartKernelLock l(lock); @@ -311,7 +312,7 @@ void Actuators::openServoAtomic(ServosList servo, uint32_t time) if (timings[servo] > 0) { timings[servo] = 0; - setFlag[servo] = getTick(); + setFlag[servo] = getTime() / Constants::NS_IN_MS;; { RestartKernelLock l(lock); @@ -328,8 +329,9 @@ void Actuators::openServoAtomic(ServosList servo, uint32_t time) } else { - timings[servo] = getTick() + time; - setFlag[servo] = getTick(); + long long timeMs = getTime() / Constants::NS_IN_MS; + timings[servo] = timeMs + time; + setFlag[servo] = timeMs; { RestartKernelLock l(lock); @@ -358,7 +360,7 @@ void Actuators::closeAllServo() { // Make the timings expire timings[i] = 0; - setFlag[i] = getTick(); + setFlag[i] = getTime() / Constants::NS_IN_MS;; // Publish the command also into the CAN bus ModuleManager::getInstance().get<CanHandler>()->sendCanServoCommand( diff --git a/src/boards/RIG/Actuators/Actuators.h b/src/boards/RIG/Actuators/Actuators.h index b6e2118eedaf08af26518087343f709920934948..bc98af801139b25f822b99e8e4cef6181d26689c 100644 --- a/src/boards/RIG/Actuators/Actuators.h +++ b/src/boards/RIG/Actuators/Actuators.h @@ -133,15 +133,15 @@ private: void checkTimings(); // Create the list of timings for every servo - uint64_t timings[ServosList::ServosList_ENUM_END] = {0}; + uint64_t timings[ServosList::ServosList_ENUM_END] = {0}; // [ms] // This set of flags helps the controller to know when the servo have been // set, in order to change slightly their angle after CONSTANT time, to // avoid over consumption - uint64_t setFlag[ServosList::ServosList_ENUM_END] = {0}; + uint64_t setFlag[ServosList::ServosList_ENUM_END] = {0}; // [ms] float openings[ServosList::ServosList_ENUM_END] = {1}; uint64_t openingTimes[ServosList::ServosList_ENUM_END] = { - 100000}; // Default 100s + 100000}; // Default 100s [ms] // This set represents the events to throw at opening/closing of valves uint8_t openingEvents[ServosList::ServosList_ENUM_END] = {0}; diff --git a/src/boards/RIG/Radio/Radio.cpp b/src/boards/RIG/Radio/Radio.cpp index 3febc05c03b92e5878092eec5f7a67abf165b43b..a03d2a6ad56399dd2be456757b567f1080212dd3 100644 --- a/src/boards/RIG/Radio/Radio.cpp +++ b/src/boards/RIG/Radio/Radio.cpp @@ -34,6 +34,7 @@ using namespace Boardcore; using namespace miosix; +using Boardcore::Constants::NS_IN_MS; void __attribute__((used)) EXTI5_IRQHandlerImpl() { @@ -239,8 +240,9 @@ void Radio::handleMavlinkMessage(const mavlink_message_t& msg) // Extract the buttons data and if there is a slope post the event if (previousState.arm_switch == 0 && state.arm_switch == 1) { - if (getTick() > lastManualCommand + - Config::Radio::RADIO_LAST_COMMAND_THRESHOLD) + if (getTime() > + lastManualCommand + + Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS) { EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION, Common::TOPIC_TARS); @@ -249,84 +251,90 @@ void Radio::handleMavlinkMessage(const mavlink_message_t& msg) modules.get<CanHandler>()->sendEvent( Common::CanConfig::EventId::ARM); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } } if (previousState.filling_valve_btn == 0 && state.filling_valve_btn == 1) { - if (getTick() > lastManualCommand + - Config::Radio::RADIO_LAST_COMMAND_THRESHOLD) + if (getTime() > + lastManualCommand + + Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS) { EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION, Common::TOPIC_TARS); modules.get<Actuators>()->toggleServo( ServosList::FILLING_VALVE); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } } if (previousState.ignition_btn == 0 && state.ignition_btn == 1) { - if (getTick() > lastManualCommand + - Config::Radio::RADIO_LAST_COMMAND_THRESHOLD) + if (getTime() > + lastManualCommand + + Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS) { EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION, Common::TOPIC_TARS); EventBroker::getInstance().post(Common::MOTOR_IGNITION, Common::TOPIC_MOTOR); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } } if (previousState.quick_connector_btn == 0 && state.quick_connector_btn == 1) { - if (getTick() > lastManualCommand + - Config::Radio::RADIO_LAST_COMMAND_THRESHOLD) + if (getTime() > + lastManualCommand + + Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS) { EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION, Common::TOPIC_TARS); modules.get<Actuators>()->toggleServo( ServosList::DISCONNECT_SERVO); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } } if (previousState.release_pressure_btn == 0 && state.release_pressure_btn == 1) { - if (getTick() > lastManualCommand + - Config::Radio::RADIO_LAST_COMMAND_THRESHOLD) + if (getTime() > + lastManualCommand + + Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS) { EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION, Common::TOPIC_TARS); modules.get<Actuators>()->toggleServo( ServosList::RELEASE_VALVE); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } } if (previousState.start_tars_btn == 0 && state.start_tars_btn == 1) { - if (getTick() > lastManualCommand + - Config::Radio::RADIO_LAST_COMMAND_THRESHOLD) + if (getTime() > + lastManualCommand + + Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS) { EventBroker::getInstance().post(Common::MOTOR_START_TARS, Common::TOPIC_TARS); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } } if (previousState.venting_valve_btn == 0 && state.venting_valve_btn == 1) { - if (getTick() > lastManualCommand + - Config::Radio::RADIO_LAST_COMMAND_THRESHOLD) + if (getTime() > + lastManualCommand + + Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS) { EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION, Common::TOPIC_TARS); modules.get<Actuators>()->toggleServo( ServosList::VENTING_VALVE); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } } @@ -339,7 +347,7 @@ void Radio::handleMavlinkMessage(const mavlink_message_t& msg) modules.get<CanHandler>()->sendEvent( Common::CanConfig::EventId::DISARM); - lastManualCommand = getTick(); + lastManualCommand = getTime(); } previousState = state; diff --git a/src/boards/RIG/Radio/Radio.h b/src/boards/RIG/Radio/Radio.h index 7f91e498ed11d0e89f11f46965523013103212c6..ddb5877324250028dc820fb423d77c8e815ed4d7 100644 --- a/src/boards/RIG/Radio/Radio.h +++ b/src/boards/RIG/Radio/Radio.h @@ -94,8 +94,8 @@ private: buffer; std::thread radioBackupDIO; - long long int lastManualCommand = - 0; // Specifies the last tick [ms] in which a command is executed + long long lastManualCommand = + 0; // Timestamp of the last command execution [ns] Boardcore::Logger& SDlogger = Boardcore::Logger::getInstance(); Boardcore::PrintLogger logger = Boardcore::Logging::getLogger("Radio"); }; diff --git a/src/boards/RIG/StatesMonitor/StatesMonitor.cpp b/src/boards/RIG/StatesMonitor/StatesMonitor.cpp index 65144b1ac369098e0c8d75758fb016874c791173..18245be8561f2d5a22f0a7f100a5dab4ac254e8d 100644 --- a/src/boards/RIG/StatesMonitor/StatesMonitor.cpp +++ b/src/boards/RIG/StatesMonitor/StatesMonitor.cpp @@ -23,6 +23,7 @@ #include <RIG/StatesMonitor/StatesMonitor.h> using namespace Boardcore; +using namespace Boardcore::Constants; using namespace miosix; namespace RIG @@ -52,8 +53,8 @@ void StatesMonitor::update() for (int i = 0; i < Config::StatesMonitor::BOARDS_NUMBER; i++) { // Check if the time since the last config expires - if (getTick() > - updateTimestamps[i] + Config::StatesMonitor::MAX_TIMEOUT) + if (getTime() > + updateTimestamps[i] + Config::StatesMonitor::MAX_TIMEOUT * NS_IN_MS) { boardStatuses[i] = 0; } @@ -70,7 +71,7 @@ void StatesMonitor::setBoardStatus(Common::CanConfig::Board board, if (index < Config::StatesMonitor::BOARDS_NUMBER) { boardStatuses[index] = status; - updateTimestamps[index] = getTick(); + updateTimestamps[index] = getTime(); } }