diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index 8afa75fd58..22e377402e 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -71,6 +71,7 @@ add_subdirectory(rover_control EXCLUDE_FROM_ALL) add_subdirectory(rtl EXCLUDE_FROM_ALL) add_subdirectory(sensor_calibration EXCLUDE_FROM_ALL) add_subdirectory(slew_rate EXCLUDE_FROM_ALL) +add_subdirectory(sticks EXCLUDE_FROM_ALL) add_subdirectory(stick_yaw EXCLUDE_FROM_ALL) add_subdirectory(systemlib EXCLUDE_FROM_ALL) add_subdirectory(system_identification EXCLUDE_FROM_ALL) diff --git a/src/lib/sticks/CMakeLists.txt b/src/lib/sticks/CMakeLists.txt new file mode 100644 index 0000000000..3d17b2a140 --- /dev/null +++ b/src/lib/sticks/CMakeLists.txt @@ -0,0 +1,37 @@ +############################################################################ +# +# Copyright (c) 2025 PX4 Development Team. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name PX4 nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +px4_add_library(Sticks + Sticks.cpp +) +target_include_directories(Sticks PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/modules/flight_mode_manager/tasks/Utility/Sticks.cpp b/src/lib/sticks/Sticks.cpp similarity index 100% rename from src/modules/flight_mode_manager/tasks/Utility/Sticks.cpp rename to src/lib/sticks/Sticks.cpp diff --git a/src/modules/flight_mode_manager/tasks/Utility/Sticks.hpp b/src/lib/sticks/Sticks.hpp similarity index 100% rename from src/modules/flight_mode_manager/tasks/Utility/Sticks.hpp rename to src/lib/sticks/Sticks.hpp diff --git a/src/modules/flight_mode_manager/tasks/Auto/CMakeLists.txt b/src/modules/flight_mode_manager/tasks/Auto/CMakeLists.txt index fc43d98d27..3c9022f909 100644 --- a/src/modules/flight_mode_manager/tasks/Auto/CMakeLists.txt +++ b/src/modules/flight_mode_manager/tasks/Auto/CMakeLists.txt @@ -35,5 +35,5 @@ px4_add_library(FlightTaskAuto FlightTaskAuto.cpp ) -target_link_libraries(FlightTaskAuto PUBLIC FlightTask FlightTaskUtility StickYaw WeatherVane) +target_link_libraries(FlightTaskAuto PUBLIC FlightTask FlightTaskUtility Sticks StickYaw WeatherVane) target_include_directories(FlightTaskAuto PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp b/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp index 00610d910c..89dfc494c1 100644 --- a/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp +++ b/src/modules/flight_mode_manager/tasks/Auto/FlightTaskAuto.hpp @@ -49,9 +49,9 @@ #include #include #include +#include #include #include -#include "Sticks.hpp" #include "StickAccelerationXY.hpp" /** diff --git a/src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.hpp b/src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.hpp index 7e7b97b589..bc3d5e9506 100644 --- a/src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.hpp +++ b/src/modules/flight_mode_manager/tasks/AutoFollowTarget/FlightTaskAutoFollowTarget.hpp @@ -44,7 +44,6 @@ #include "FlightTaskAuto.hpp" #include "follow_target_estimator/TargetEstimator.hpp" -#include "Sticks.hpp" #include #include @@ -57,6 +56,7 @@ #include #include +#include #include // << Follow Target Behavior related constants >> diff --git a/src/modules/flight_mode_manager/tasks/Descend/CMakeLists.txt b/src/modules/flight_mode_manager/tasks/Descend/CMakeLists.txt index eada0139e0..aaaceefd72 100644 --- a/src/modules/flight_mode_manager/tasks/Descend/CMakeLists.txt +++ b/src/modules/flight_mode_manager/tasks/Descend/CMakeLists.txt @@ -35,5 +35,5 @@ px4_add_library(FlightTaskDescend FlightTaskDescend.cpp ) -target_link_libraries(FlightTaskDescend PUBLIC FlightTask FlightTaskUtility StickYaw) +target_link_libraries(FlightTaskDescend PUBLIC FlightTask FlightTaskUtility Sticks StickYaw) target_include_directories(FlightTaskDescend PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/modules/flight_mode_manager/tasks/Descend/FlightTaskDescend.hpp b/src/modules/flight_mode_manager/tasks/Descend/FlightTaskDescend.hpp index 6792e8fd12..46ae7543d1 100644 --- a/src/modules/flight_mode_manager/tasks/Descend/FlightTaskDescend.hpp +++ b/src/modules/flight_mode_manager/tasks/Descend/FlightTaskDescend.hpp @@ -37,9 +37,9 @@ #pragma once +#include #include #include "FlightTask.hpp" -#include "Sticks.hpp" #include "StickTiltXY.hpp" class FlightTaskDescend : public FlightTask diff --git a/src/modules/flight_mode_manager/tasks/ManualAltitude/CMakeLists.txt b/src/modules/flight_mode_manager/tasks/ManualAltitude/CMakeLists.txt index 65abdf871c..59b51435e1 100644 --- a/src/modules/flight_mode_manager/tasks/ManualAltitude/CMakeLists.txt +++ b/src/modules/flight_mode_manager/tasks/ManualAltitude/CMakeLists.txt @@ -35,5 +35,5 @@ px4_add_library(FlightTaskManualAltitude FlightTaskManualAltitude.cpp ) -target_link_libraries(FlightTaskManualAltitude PUBLIC FlightTask FlightTaskUtility StickYaw) +target_link_libraries(FlightTaskManualAltitude PUBLIC FlightTask FlightTaskUtility Sticks StickYaw) target_include_directories(FlightTaskManualAltitude PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/modules/flight_mode_manager/tasks/ManualAltitude/FlightTaskManualAltitude.hpp b/src/modules/flight_mode_manager/tasks/ManualAltitude/FlightTaskManualAltitude.hpp index 8386dfedad..6c04d7388a 100644 --- a/src/modules/flight_mode_manager/tasks/ManualAltitude/FlightTaskManualAltitude.hpp +++ b/src/modules/flight_mode_manager/tasks/ManualAltitude/FlightTaskManualAltitude.hpp @@ -40,8 +40,8 @@ #pragma once #include +#include #include "FlightTask.hpp" -#include "Sticks.hpp" #include "StickTiltXY.hpp" #include diff --git a/src/modules/flight_mode_manager/tasks/Utility/CMakeLists.txt b/src/modules/flight_mode_manager/tasks/Utility/CMakeLists.txt index f81a994452..c12356658b 100644 --- a/src/modules/flight_mode_manager/tasks/Utility/CMakeLists.txt +++ b/src/modules/flight_mode_manager/tasks/Utility/CMakeLists.txt @@ -32,13 +32,12 @@ ############################################################################ px4_add_library(FlightTaskUtility - Sticks.cpp StickAccelerationXY.cpp StickTiltXY.cpp Gimbal.cpp ) -target_link_libraries(FlightTaskUtility PUBLIC FlightTask hysteresis SlewRate motion_planning mathlib) +target_link_libraries(FlightTaskUtility PUBLIC FlightTask hysteresis SlewRate Sticks motion_planning mathlib) target_include_directories(FlightTaskUtility PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) px4_add_functional_gtest(SRC StickTiltXYTest.cpp LINKLIBS FlightTaskUtility) diff --git a/src/modules/flight_mode_manager/tasks/Utility/Gimbal.hpp b/src/modules/flight_mode_manager/tasks/Utility/Gimbal.hpp index 627979fa23..01a324b4a9 100644 --- a/src/modules/flight_mode_manager/tasks/Utility/Gimbal.hpp +++ b/src/modules/flight_mode_manager/tasks/Utility/Gimbal.hpp @@ -48,7 +48,8 @@ #include #include -#include "Sticks.hpp" +#include + class Gimbal : public ModuleParams diff --git a/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp b/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp index 686db33a88..3eeb56bd86 100644 --- a/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp +++ b/src/modules/flight_mode_manager/tasks/Utility/StickAccelerationXY.cpp @@ -34,7 +34,7 @@ #include "StickAccelerationXY.hpp" #include -#include "Sticks.hpp" +#include using namespace matrix; diff --git a/src/modules/flight_mode_manager/tasks/Utility/StickTiltXY.cpp b/src/modules/flight_mode_manager/tasks/Utility/StickTiltXY.cpp index 642c4ef8a1..32ad13bdf8 100644 --- a/src/modules/flight_mode_manager/tasks/Utility/StickTiltXY.cpp +++ b/src/modules/flight_mode_manager/tasks/Utility/StickTiltXY.cpp @@ -34,7 +34,7 @@ #include "StickTiltXY.hpp" #include -#include "Sticks.hpp" +#include using namespace matrix;