diff --git a/apps/examples/math_demo/math_demo.cpp b/apps/examples/math_demo/math_demo.cpp index 4df082877d..0dc4b3750f 100644 --- a/apps/examples/math_demo/math_demo.cpp +++ b/apps/examples/math_demo/math_demo.cpp @@ -43,12 +43,12 @@ #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include /** * Management function. diff --git a/apps/mathlib/Makefile b/apps/mathlib/Makefile new file mode 100644 index 0000000000..5c4861bbce --- /dev/null +++ b/apps/mathlib/Makefile @@ -0,0 +1,71 @@ +############################################################################ +# +# Copyright (C) 2012 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. +# +############################################################################ + +# +# System math library +# + +CXXSRCS = math/test/test.cpp \ + math/Vector.cpp \ + math/Vector3.cpp \ + math/EulerAngles.cpp \ + math/Quaternion.cpp \ + math/Dcm.cpp \ + math/Matrix.cpp + +CXXHDRS = math/test/test.hpp \ + math/Vector.hpp \ + math/Vector3.hpp \ + math/EulerAngles.hpp \ + math/Quaternion.hpp \ + math/Dcm.hpp \ + math/Matrix.hpp + +# +# XXX this really should be a CONFIG_* test +# +ifeq ($(TARGET),px4fmu) +INCLUDES += math/arm +CXXSRCS += math/arm/Vector.cpp \ + math/arm/Matrix.cpp +CXXHDRS += math/arm/Vector.hpp \ + math/arm/Matrix.hpp +else +INCLUDES += math/generic +CXXSRCS += math/generic/Vector.cpp \ + math/generic/Matrix.cpp +CXXHDRS += math/generic/Vector.hpp \ + math/generic/Matrix.hpp +endif + +include $(APPDIR)/mk/app.mk diff --git a/apps/systemlib/math/Dcm.cpp b/apps/mathlib/math/Dcm.cpp similarity index 99% rename from apps/systemlib/math/Dcm.cpp rename to apps/mathlib/math/Dcm.cpp index b9f4309cc1..4c2067affd 100644 --- a/apps/systemlib/math/Dcm.cpp +++ b/apps/mathlib/math/Dcm.cpp @@ -37,7 +37,7 @@ * math direction cosine matrix */ -#include +#include "test/test.hpp" #include "Dcm.hpp" #include "Quaternion.hpp" diff --git a/apps/systemlib/math/Dcm.hpp b/apps/mathlib/math/Dcm.hpp similarity index 100% rename from apps/systemlib/math/Dcm.hpp rename to apps/mathlib/math/Dcm.hpp diff --git a/apps/systemlib/math/EulerAngles.cpp b/apps/mathlib/math/EulerAngles.cpp similarity index 98% rename from apps/systemlib/math/EulerAngles.cpp rename to apps/mathlib/math/EulerAngles.cpp index 259c866c73..b6c1a06692 100644 --- a/apps/systemlib/math/EulerAngles.cpp +++ b/apps/mathlib/math/EulerAngles.cpp @@ -37,7 +37,7 @@ * math vector */ -#include +#include "test/test.hpp" #include "EulerAngles.hpp" #include "Quaternion.hpp" diff --git a/apps/systemlib/math/EulerAngles.hpp b/apps/mathlib/math/EulerAngles.hpp similarity index 100% rename from apps/systemlib/math/EulerAngles.hpp rename to apps/mathlib/math/EulerAngles.hpp diff --git a/apps/systemlib/math/Matrix.cpp b/apps/mathlib/math/Matrix.cpp similarity index 99% rename from apps/systemlib/math/Matrix.cpp rename to apps/mathlib/math/Matrix.cpp index 5e536c3a8d..ebd1aeda3d 100644 --- a/apps/systemlib/math/Matrix.cpp +++ b/apps/mathlib/math/Matrix.cpp @@ -37,7 +37,7 @@ * matrix code */ -#include +#include "test/test.hpp" #include #include "Matrix.hpp" diff --git a/apps/systemlib/math/Matrix.hpp b/apps/mathlib/math/Matrix.hpp similarity index 100% rename from apps/systemlib/math/Matrix.hpp rename to apps/mathlib/math/Matrix.hpp diff --git a/apps/systemlib/math/Quaternion.cpp b/apps/mathlib/math/Quaternion.cpp similarity index 99% rename from apps/systemlib/math/Quaternion.cpp rename to apps/mathlib/math/Quaternion.cpp index 12ae72c0e5..7c4b0593a4 100644 --- a/apps/systemlib/math/Quaternion.cpp +++ b/apps/mathlib/math/Quaternion.cpp @@ -37,7 +37,7 @@ * math vector */ -#include +#include "test/test.hpp" #include "Quaternion.hpp" diff --git a/apps/systemlib/math/Quaternion.hpp b/apps/mathlib/math/Quaternion.hpp similarity index 100% rename from apps/systemlib/math/Quaternion.hpp rename to apps/mathlib/math/Quaternion.hpp diff --git a/apps/systemlib/math/Vector.cpp b/apps/mathlib/math/Vector.cpp similarity index 98% rename from apps/systemlib/math/Vector.cpp rename to apps/mathlib/math/Vector.cpp index c039a758bd..35158a396c 100644 --- a/apps/systemlib/math/Vector.cpp +++ b/apps/mathlib/math/Vector.cpp @@ -37,7 +37,7 @@ * math vector */ -#include +#include "test/test.hpp" #include "Vector.hpp" diff --git a/apps/systemlib/math/Vector.hpp b/apps/mathlib/math/Vector.hpp similarity index 100% rename from apps/systemlib/math/Vector.hpp rename to apps/mathlib/math/Vector.hpp diff --git a/apps/systemlib/math/Vector3.cpp b/apps/mathlib/math/Vector3.cpp similarity index 98% rename from apps/systemlib/math/Vector3.cpp rename to apps/mathlib/math/Vector3.cpp index edba663cb6..61fcc442f3 100644 --- a/apps/systemlib/math/Vector3.cpp +++ b/apps/mathlib/math/Vector3.cpp @@ -37,7 +37,7 @@ * math vector */ -#include +#include "test/test.hpp" #include "Vector3.hpp" diff --git a/apps/systemlib/math/Vector3.hpp b/apps/mathlib/math/Vector3.hpp similarity index 100% rename from apps/systemlib/math/Vector3.hpp rename to apps/mathlib/math/Vector3.hpp diff --git a/apps/systemlib/math/arm/Matrix.cpp b/apps/mathlib/math/arm/Matrix.cpp similarity index 100% rename from apps/systemlib/math/arm/Matrix.cpp rename to apps/mathlib/math/arm/Matrix.cpp diff --git a/apps/systemlib/math/arm/Matrix.hpp b/apps/mathlib/math/arm/Matrix.hpp similarity index 99% rename from apps/systemlib/math/arm/Matrix.hpp rename to apps/mathlib/math/arm/Matrix.hpp index a95b5a2b0c..63d7556495 100644 --- a/apps/systemlib/math/arm/Matrix.hpp +++ b/apps/mathlib/math/arm/Matrix.hpp @@ -47,8 +47,8 @@ #include #include -#include -#include +#include "../Vector.hpp" +#include "../Matrix.hpp" // arm specific #include "arm_math.h" diff --git a/apps/systemlib/math/arm/Vector.cpp b/apps/mathlib/math/arm/Vector.cpp similarity index 100% rename from apps/systemlib/math/arm/Vector.cpp rename to apps/mathlib/math/arm/Vector.cpp diff --git a/apps/systemlib/math/arm/Vector.hpp b/apps/mathlib/math/arm/Vector.hpp similarity index 98% rename from apps/systemlib/math/arm/Vector.hpp rename to apps/mathlib/math/arm/Vector.hpp index c1e13f29a3..e1f1838e71 100644 --- a/apps/systemlib/math/arm/Vector.hpp +++ b/apps/mathlib/math/arm/Vector.hpp @@ -46,8 +46,8 @@ #include #include -#include -#include +#include "../Vector.hpp" +#include "../test/test.hpp" // arm specific #include "arm_math.h" diff --git a/apps/systemlib/math/generic/Matrix.cpp b/apps/mathlib/math/generic/Matrix.cpp similarity index 100% rename from apps/systemlib/math/generic/Matrix.cpp rename to apps/mathlib/math/generic/Matrix.cpp diff --git a/apps/systemlib/math/generic/Matrix.hpp b/apps/mathlib/math/generic/Matrix.hpp similarity index 99% rename from apps/systemlib/math/generic/Matrix.hpp rename to apps/mathlib/math/generic/Matrix.hpp index d10208a1ef..5601a3447b 100644 --- a/apps/systemlib/math/generic/Matrix.hpp +++ b/apps/mathlib/math/generic/Matrix.hpp @@ -47,8 +47,8 @@ #include #include -#include -#include +#include "../Vector.hpp" +#include "../Matrix.hpp" namespace math { diff --git a/apps/systemlib/math/generic/Vector.cpp b/apps/mathlib/math/generic/Vector.cpp similarity index 100% rename from apps/systemlib/math/generic/Vector.cpp rename to apps/mathlib/math/generic/Vector.cpp diff --git a/apps/systemlib/math/generic/Vector.hpp b/apps/mathlib/math/generic/Vector.hpp similarity index 99% rename from apps/systemlib/math/generic/Vector.hpp rename to apps/mathlib/math/generic/Vector.hpp index 01cfa8bc08..1a73637798 100644 --- a/apps/systemlib/math/generic/Vector.hpp +++ b/apps/mathlib/math/generic/Vector.hpp @@ -46,7 +46,7 @@ #include #include -#include +#include "../Vector.hpp" namespace math { diff --git a/apps/systemlib/test/test.cpp b/apps/mathlib/math/test/test.cpp similarity index 100% rename from apps/systemlib/test/test.cpp rename to apps/mathlib/math/test/test.cpp diff --git a/apps/systemlib/test/test.hpp b/apps/mathlib/math/test/test.hpp similarity index 100% rename from apps/systemlib/test/test.hpp rename to apps/mathlib/math/test/test.hpp diff --git a/apps/systemlib/Makefile b/apps/systemlib/Makefile index b3e7f6ac9a..942116faa3 100644 --- a/apps/systemlib/Makefile +++ b/apps/systemlib/Makefile @@ -47,41 +47,13 @@ CSRCS = err.c \ # ppm_decode.c \ - -CXXSRCS = test/test.cpp \ - math/Vector.cpp \ - math/Vector3.cpp \ - math/EulerAngles.cpp \ - math/Quaternion.cpp \ - math/Dcm.cpp \ - math/Matrix.cpp - -CXXHDRS = test/test.hpp \ - math/Vector.hpp \ - math/Vector3.hpp \ - math/EulerAngles.hpp \ - math/Quaternion.hpp \ - math/Dcm.hpp \ - math/Matrix.hpp - # # XXX this really should be a CONFIG_* test # ifeq ($(TARGET),px4fmu) -INCLUDES += math/arm CSRCS += systemlib.c \ - pid/pid.c \ - geo/geo.c -CXXSRCS += math/arm/Vector.cpp \ - math/arm/Matrix.cpp -CXXHDRS += math/arm/Vector.hpp \ - math/arm/Matrix.hpp -else -INCLUDES += math/generic -CXXSRCS += math/generic/Vector.cpp \ - math/generic/Matrix.cpp -CXXHDRS += math/generic/Vector.hpp \ - math/generic/Matrix.hpp + pid/pid.c \ + geo/geo.c endif include $(APPDIR)/mk/app.mk diff --git a/nuttx/configs/px4fmu/nsh/appconfig b/nuttx/configs/px4fmu/nsh/appconfig index afaef32f72..381cf0f446 100644 --- a/nuttx/configs/px4fmu/nsh/appconfig +++ b/nuttx/configs/px4fmu/nsh/appconfig @@ -46,6 +46,7 @@ CONFIGURED_APPS += systemlib CONFIGURED_APPS += systemlib/mixer # Math library +CONFIGURED_APPS += mathlib CONFIGURED_APPS += mathlib/CMSIS # System utility commands