This is an automated email from the ASF dual-hosted git repository. cederom pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git
commit dd109a88dee42fe47378572dc2a906ce53117400 Author: raiden00pl <[email protected]> AuthorDate: Tue Jul 7 09:57:15 2026 +0200 inertial/madgwick: add CMake build support add CMake build support for madgwick and update inertial/madgwick/.gitignore Signed-off-by: raiden00pl <[email protected]> --- CMakeLists.txt | 1 + inertial/CMakeLists.txt | 4 ++- inertial/madgwick/.gitignore | 2 ++ inertial/madgwick/CMakeLists.txt | 58 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 64 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ebffdd94..55110defb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,6 +55,7 @@ add_subdirectory(fsutils) add_subdirectory(games) add_subdirectory(graphics) add_subdirectory(industry) +add_subdirectory(inertial) add_subdirectory(interpreters) add_subdirectory(logging) add_subdirectory(lte) diff --git a/inertial/CMakeLists.txt b/inertial/CMakeLists.txt index 66cfc9e27..e3324c5cc 100644 --- a/inertial/CMakeLists.txt +++ b/inertial/CMakeLists.txt @@ -1,7 +1,7 @@ # ############################################################################## # apps/inertial/CMakeLists.txt # -# SPDX-License-Identifier: BSD-3-Clause +# SPDX-License-Identifier: Apache-2.0 # # Licensed to the Apache Software Foundation (ASF) under one or more contributor # license agreements. See the NOTICE file distributed with this work for @@ -20,4 +20,6 @@ # # ############################################################################## +nuttx_add_subdirectory() + nuttx_generate_kconfig(MENUDESC "Inertial Libraries Support") diff --git a/inertial/madgwick/.gitignore b/inertial/madgwick/.gitignore new file mode 100644 index 000000000..53b249722 --- /dev/null +++ b/inertial/madgwick/.gitignore @@ -0,0 +1,2 @@ +/fusion +/libmadgwick.tar.gz diff --git a/inertial/madgwick/CMakeLists.txt b/inertial/madgwick/CMakeLists.txt new file mode 100644 index 000000000..df20b7129 --- /dev/null +++ b/inertial/madgwick/CMakeLists.txt @@ -0,0 +1,58 @@ +# ############################################################################## +# apps/inertial/madgwick/CMakeLists.txt +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +if(CONFIG_LIB_MADGWICK) + + set(MADGWICK_DIR ${CMAKE_CURRENT_LIST_DIR}/fusion) + + if(NOT EXISTS ${MADGWICK_DIR}) + FetchContent_Declare( + madgwick_fetch + DOWNLOAD_NAME "libmadgwick.tar.gz" + DOWNLOAD_DIR ${CMAKE_CURRENT_LIST_DIR} + URL "https://github.com/xioTechnologies/Fusion/archive/refs/tags/v${CONFIG_LIB_MADGWICK_VER}.tar.gz" + SOURCE_DIR + ${MADGWICK_DIR} + BINARY_DIR + ${CMAKE_BINARY_DIR}/apps/inertial/madgwick/fusion + DOWNLOAD_NO_PROGRESS true + TIMEOUT 30) + + FetchContent_GetProperties(madgwick_fetch) + + if(NOT madgwick_fetch_POPULATED) + FetchContent_Populate(madgwick_fetch) + endif() + endif() + + set(CSRCS + ${MADGWICK_DIR}/Fusion/FusionAhrs.c + ${MADGWICK_DIR}/Fusion/FusionCompass.c + ${MADGWICK_DIR}/Fusion/FusionOffset.c) + + nuttx_add_library(madgwick STATIC) + target_sources(madgwick PRIVATE ${CSRCS}) + target_include_directories(madgwick PUBLIC ${MADGWICK_DIR}) + target_compile_options(madgwick PRIVATE -Wno-shadow -Wno-strict-prototypes + -Wno-unknown-pragmas) + +endif()
