Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .mega-linter.yml
Comment thread
gabrielfrasantos marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,3 @@ SARIF_REPORTER: true
SHOW_SKIPPED_LINTERS: false
JSON_JSONLINT_ARGUMENTS: --mode cjson
CPP_CPPCHECK_ARGUMENTS: --suppress=normalCheckLevelMaxBranches --library=qt
CPP_CPPCHECK_FILTER_REGEX_EXCLUDE: platform/qemu
15 changes: 1 addition & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ if (NUMERICAL_TOOLBOX_STANDALONE)
FetchContent_Declare(
emil
GIT_REPOSITORY https://github.com/embedded-pro/embedded-infra-lib.git
GIT_TAG 2848dbf163a6ebf159e29f7f4f73b96f7773d20d # Unreleased
GIT_TAG b1056e80ab5376d7e4ee821c5b3c5680bc01f751 # Unreleased
)

set(EMIL_INCLUDE_MBEDTLS Off CACHE BOOL "" FORCE)
Expand All @@ -47,16 +47,7 @@ if (NUMERICAL_TOOLBOX_STANDALONE)
set(EMIL_BUILD_ECHO_COMPILERS Off CACHE BOOL "" FORCE)
set(EMIL_ENABLE_DOCKER_TOOLS Off CACHE BOOL "" FORCE)

if(DEFINED QEMU_MACHINE)
set(gtest_disable_pthreads ON CACHE BOOL "" FORCE)
endif()

FetchContent_MakeAvailable(emil)

if(DEFINED QEMU_MACHINE)
function(emil_add_test target)
endfunction()
endif()
endif()

project(numerical-toolbox LANGUAGES C CXX ASM VERSION 3.1.1) # x-release-please-version
Expand Down Expand Up @@ -97,10 +88,6 @@ endif()

include(QemuHelpers)

if(DEFINED QEMU_MACHINE)
add_subdirectory(platform/qemu)
endif()

add_subdirectory(numerical)

if (NUMERICAL_TOOLBOX_BUILD_SIMULATOR)
Expand Down
12 changes: 10 additions & 2 deletions CMakePresets.json
Comment thread
gabrielfrasantos marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,10 @@
"CMAKE_CONFIGURATION_TYPES": "RelWithDebInfo",
"NUMERICAL_TOOLBOX_BUILD_TESTS": "On",
"NUMERICAL_TOOLBOX_BUILD_SIMULATOR": "Off",
"QEMU_MACHINE": "mps2-an386",
"EMIL_BUILD_QEMU": "On",
"EMIL_BUILD_CORTEX_M": "On",
"TARGET_CORTEX": "m4",
"CMAKE_CROSSCOMPILING_EMULATOR": "qemu-system-arm;-M;mps2-an386;-nographic;-semihosting-config;enable=on,target=native;-kernel",
"CMAKE_CXX_FLAGS": "-DGTEST_HAS_STREAM_REDIRECTION=0 -DGTEST_HAS_POSIX_RE=0 -D_POSIX_C_SOURCE=200112L"
}
},
Expand All @@ -81,7 +84,10 @@
"CMAKE_CONFIGURATION_TYPES": "RelWithDebInfo",
"NUMERICAL_TOOLBOX_BUILD_TESTS": "On",
"NUMERICAL_TOOLBOX_BUILD_SIMULATOR": "Off",
"QEMU_MACHINE": "mps2-an500",
"EMIL_BUILD_QEMU": "On",
"EMIL_BUILD_CORTEX_M": "On",
"TARGET_CORTEX": "m7",
"CMAKE_CROSSCOMPILING_EMULATOR": "qemu-system-arm;-M;mps2-an500;-nographic;-semihosting-config;enable=on,target=native;-kernel",
"CMAKE_CXX_FLAGS": "-DGTEST_HAS_STREAM_REDIRECTION=0 -DGTEST_HAS_POSIX_RE=0 -D_POSIX_C_SOURCE=200112L"
}
}
Expand Down Expand Up @@ -126,6 +132,7 @@
"configuration": "RelWithDebInfo",
"configurePreset": "qemu-cortex-m4",
"targets": [
"hal.qemu.test",
"numerical.analysis_test",
"numerical.analysis.windowing_test",
"numerical.control_analysis_test",
Expand All @@ -147,6 +154,7 @@
"configuration": "RelWithDebInfo",
"configurePreset": "qemu-cortex-m7",
"targets": [
"hal.qemu.test",
"numerical.analysis_test",
"numerical.analysis.windowing_test",
"numerical.control_analysis_test",
Expand Down
22 changes: 10 additions & 12 deletions cmake/QemuHelpers.cmake
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
function(numerical_add_qemu_test target)
if(NOT DEFINED QEMU_MACHINE)
function(numerical_link_qemu_runtime target)
if(NOT EMIL_BUILD_QEMU)
return()
endif()
target_link_libraries(${target} PRIVATE platform_qemu_startup)
target_link_libraries(${target} PRIVATE -lrdimon)
add_test(
NAME qemu.${target}
COMMAND qemu-system-arm
-machine ${QEMU_MACHINE}
-nographic
-semihosting-config enable=on,target=native
-kernel $<TARGET_FILE:${target}>
target_link_libraries(${target} PRIVATE
hal.cortex_m
hal.cortex_m.runtime
hal.qemu.syscalls
hal.qemu.default_init
hal.qemu.sync
hal.qemu.cortex
gmock_main
)
set_tests_properties(qemu.${target} PROPERTIES TIMEOUT 120)
endfunction()
2 changes: 1 addition & 1 deletion numerical/analysis/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ target_link_libraries(numerical.analysis_test PUBLIC
numerical.math_test_helper
)

numerical_add_qemu_test(numerical.analysis_test)
numerical_link_qemu_runtime(numerical.analysis_test)

target_sources(numerical.analysis_test PRIVATE
TestConvolutionCorrelation.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/analysis/windowing/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.analysis.windowing_test PUBLIC
numerical.analysis.windowing
)

numerical_add_qemu_test(numerical.analysis.windowing_test)
numerical_link_qemu_runtime(numerical.analysis.windowing_test)

target_sources(numerical.analysis.windowing_test PRIVATE
TestWindowing.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/control_analysis/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ target_link_libraries(numerical.control_analysis_test PUBLIC
numerical.math_test_helper
)

numerical_add_qemu_test(numerical.control_analysis_test)
numerical_link_qemu_runtime(numerical.control_analysis_test)

target_sources(numerical.control_analysis_test PRIVATE
TestContinuousToDiscrete.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/controllers/implementations/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ target_link_libraries(numerical.controllers_test PUBLIC
numerical.math_test_helper
)

numerical_add_qemu_test(numerical.controllers_test)
numerical_link_qemu_runtime(numerical.controllers_test)

target_sources(numerical.controllers_test PRIVATE
TestBangBangHysteresis.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/estimators/offline/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.estimators.offline_test PUBLIC
numerical.estimators.offline
)

numerical_add_qemu_test(numerical.estimators.offline_test)
numerical_link_qemu_runtime(numerical.estimators.offline_test)

target_sources(numerical.estimators.offline_test PRIVATE
TestExpectationMaximization.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/estimators/online/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.estimators.online_test PUBLIC
numerical.estimators.online
)

numerical_add_qemu_test(numerical.estimators.online_test)
numerical_link_qemu_runtime(numerical.estimators.online_test)

target_sources(numerical.estimators.online_test PRIVATE
TestRecursiveLeastSquares.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/filters/active/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ target_link_libraries(numerical.filters.active_test PUBLIC
numerical.math_test_helper
)

numerical_add_qemu_test(numerical.filters.active_test)
numerical_link_qemu_runtime(numerical.filters.active_test)

target_sources(numerical.filters.active_test PRIVATE
TestAhrsMadgwickMahony.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/filters/passive/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ target_link_libraries(numerical.filters.passive_test PUBLIC
numerical.controllers_test_helper
)

numerical_add_qemu_test(numerical.filters.passive_test)
numerical_link_qemu_runtime(numerical.filters.passive_test)

target_sources(numerical.filters.passive_test PRIVATE
TestBiquadCascade.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/filters/passive/test/TestBiquadCascade.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ TEST_F(TestBiquadCascade, cascade_equals_serial_sections)
for (int i = 0; i < 20; ++i)
{
const float x{ static_cast<float>(i) * 0.1f };
EXPECT_FLOAT_EQ(cascade.Filter(x), s1.Filter(s0.Filter(x)));
EXPECT_NEAR(cascade.Filter(x), s1.Filter(s0.Filter(x)), math::Tolerance<float>());
}
}

Expand Down
2 changes: 1 addition & 1 deletion numerical/math/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ target_link_libraries(numerical.math_test PUBLIC
numerical.math_test_helper
)

numerical_add_qemu_test(numerical.math_test)
numerical_link_qemu_runtime(numerical.math_test)

target_sources(numerical.math_test PRIVATE
TestCholeskyDecomposition.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/nonlinear_control/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.nonlinear_control_test PUBLIC
numerical.nonlinear_control
)

numerical_add_qemu_test(numerical.nonlinear_control_test)
numerical_link_qemu_runtime(numerical.nonlinear_control_test)

target_sources(numerical.nonlinear_control_test PRIVATE
TestBacksteppingControl.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/optimization/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.optimization_test PUBLIC
numerical.optimization
)

numerical_add_qemu_test(numerical.optimization_test)
numerical_link_qemu_runtime(numerical.optimization_test)

target_sources(numerical.optimization_test PRIVATE
TestBayesianOptimization.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/regularization/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.regularization_test PUBLIC
numerical.regularization
)

numerical_add_qemu_test(numerical.regularization_test)
numerical_link_qemu_runtime(numerical.regularization_test)

target_sources(numerical.regularization_test PRIVATE
TestL1.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/robust_control/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.robust_control_test PUBLIC
numerical.robust_control
)

numerical_add_qemu_test(numerical.robust_control_test)
numerical_link_qemu_runtime(numerical.robust_control_test)

target_sources(numerical.robust_control_test PRIVATE
TestActiveDisturbanceRejection.cpp
Expand Down
2 changes: 1 addition & 1 deletion numerical/solvers/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ target_link_libraries(numerical.solvers_test PUBLIC
numerical.solver
)

numerical_add_qemu_test(numerical.solvers_test)
numerical_link_qemu_runtime(numerical.solvers_test)

target_sources(numerical.solvers_test PRIVATE
TestConditionNumber.cpp
Expand Down
18 changes: 0 additions & 18 deletions platform/qemu/CMakeLists.txt

This file was deleted.

86 changes: 0 additions & 86 deletions platform/qemu/DefaultInit.cpp

This file was deleted.

Loading
Loading