diff --git a/src/drivers/kinetis/tone_alarm/CMakeLists.txt b/src/drivers/kinetis/tone_alarm/CMakeLists.txt index ae51757d6ac92a8896045a0c9e9e77142c7514d1..768934bf1bdf7c662346983a47e5a8749f45b468 100644 --- a/src/drivers/kinetis/tone_alarm/CMakeLists.txt +++ b/src/drivers/kinetis/tone_alarm/CMakeLists.txt @@ -37,5 +37,6 @@ px4_add_module( SRCS tone_alarm.cpp DEPENDS + circuit_breaker tunes ) \ No newline at end of file diff --git a/src/drivers/kinetis/tone_alarm/tone_alarm.cpp b/src/drivers/kinetis/tone_alarm/tone_alarm.cpp index 4cbf7b04b03b59b86a22a2642f28f3e19c382a5c..7f25e34a26bd470466eea41094007bc87fc77e9f 100644 --- a/src/drivers/kinetis/tone_alarm/tone_alarm.cpp +++ b/src/drivers/kinetis/tone_alarm/tone_alarm.cpp @@ -113,7 +113,7 @@ #include "kinetis_tpm.h" #include <systemlib/err.h> -#include <systemlib/circuit_breaker.h> +#include <circuit_breaker/circuit_breaker.h> #define CAT3_(A, B, C) A##B##C #define CAT3(A, B, C) CAT3_(A, B, C) diff --git a/src/drivers/px4fmu/CMakeLists.txt b/src/drivers/px4fmu/CMakeLists.txt index 6a10c9131a9c16a812781069e651f5dffc657eec..60867d269770efd659dce2617aa9e96510fca05f 100644 --- a/src/drivers/px4fmu/CMakeLists.txt +++ b/src/drivers/px4fmu/CMakeLists.txt @@ -38,5 +38,6 @@ px4_add_module( SRCS fmu.cpp DEPENDS + circuit_breaker rc ) diff --git a/src/drivers/px4fmu/fmu.cpp b/src/drivers/px4fmu/fmu.cpp index f7d2548317116aec3fc33863b9ec1c6776c55b4f..7a9e22cc7eeb9500e377d59093ac681da992d5e9 100644 --- a/src/drivers/px4fmu/fmu.cpp +++ b/src/drivers/px4fmu/fmu.cpp @@ -56,7 +56,7 @@ #include <px4_getopt.h> #include <px4_log.h> #include <px4_module.h> -#include <systemlib/circuit_breaker.h> +#include <circuit_breaker/circuit_breaker.h> #include <lib/mixer/mixer.h> #include <parameters/param.h> #include <perf/perf_counter.h> diff --git a/src/drivers/px4io/CMakeLists.txt b/src/drivers/px4io/CMakeLists.txt index f48bd9ec6e4c9cbef7721c88ff55d18a800ae432..0d779b33340d7493a0ebe08eebd0930eb5a91211 100644 --- a/src/drivers/px4io/CMakeLists.txt +++ b/src/drivers/px4io/CMakeLists.txt @@ -42,6 +42,7 @@ px4_add_module( px4io_serial_f4.cpp px4io_serial_f7.cpp DEPENDS + circuit_breaker ) # include the px4io binary in ROMFS diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index dc4a949864f8da680e7e4489641e501f473987a9..c75a7d995e2b9c202e3f30a3ab85936ef7b3258a 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -71,7 +71,7 @@ #include <perf/perf_counter.h> #include <systemlib/err.h> #include <parameters/param.h> -#include <systemlib/circuit_breaker.h> +#include <circuit_breaker/circuit_breaker.h> #include <systemlib/mavlink_log.h> #include <uORB/topics/actuator_controls.h> diff --git a/src/drivers/samv7/tone_alarm/CMakeLists.txt b/src/drivers/samv7/tone_alarm/CMakeLists.txt index 815f4d5c691f2a9204f6b47051db4082741be3a6..c54cbdd3ec2406390014561bc129f1b14ae4408b 100644 --- a/src/drivers/samv7/tone_alarm/CMakeLists.txt +++ b/src/drivers/samv7/tone_alarm/CMakeLists.txt @@ -37,5 +37,6 @@ px4_add_module( SRCS tone_alarm.cpp DEPENDS + circuit_breaker tunes ) \ No newline at end of file diff --git a/src/drivers/samv7/tone_alarm/tone_alarm.cpp b/src/drivers/samv7/tone_alarm/tone_alarm.cpp index afb470a5cd5d640a8f36e882b3c8373ed4dcca5f..672321331ac6f0c23f3e47a098a0d49c1214c3af 100644 --- a/src/drivers/samv7/tone_alarm/tone_alarm.cpp +++ b/src/drivers/samv7/tone_alarm/tone_alarm.cpp @@ -116,7 +116,7 @@ #include <sam_tc.h> #include <systemlib/err.h> -#include <systemlib/circuit_breaker.h> +#include <circuit_breaker/circuit_breaker.h> /* Check that tone alarm and HRT timers are different */ #if defined(TONE_ALARM_CHANNEL) && defined(HRT_TIMER_CHANNEL) diff --git a/src/drivers/stm32/tone_alarm/CMakeLists.txt b/src/drivers/stm32/tone_alarm/CMakeLists.txt index 815f4d5c691f2a9204f6b47051db4082741be3a6..c54cbdd3ec2406390014561bc129f1b14ae4408b 100644 --- a/src/drivers/stm32/tone_alarm/CMakeLists.txt +++ b/src/drivers/stm32/tone_alarm/CMakeLists.txt @@ -37,5 +37,6 @@ px4_add_module( SRCS tone_alarm.cpp DEPENDS + circuit_breaker tunes ) \ No newline at end of file diff --git a/src/drivers/stm32/tone_alarm/tone_alarm.cpp b/src/drivers/stm32/tone_alarm/tone_alarm.cpp index 4d8f95022123fa562fed4fe6694bc1fdc8754e46..ad1746d20b34db3e7b72589dc50f7f6102c397ca 100644 --- a/src/drivers/stm32/tone_alarm/tone_alarm.cpp +++ b/src/drivers/stm32/tone_alarm/tone_alarm.cpp @@ -109,7 +109,7 @@ #include <drivers/drv_hrt.h> #include <systemlib/err.h> -#include <systemlib/circuit_breaker.h> +#include <circuit_breaker/circuit_breaker.h> #include <px4_workqueue.h> diff --git a/src/examples/uuv_example_app/uuv_example_app.cpp b/src/examples/uuv_example_app/uuv_example_app.cpp index 36f241c4aeb79138a0902f2a8d64d1a8de9a6bac..86739b1c0f95faaa9b7d65920f44c5a702938f0b 100644 --- a/src/examples/uuv_example_app/uuv_example_app.cpp +++ b/src/examples/uuv_example_app/uuv_example_app.cpp @@ -54,7 +54,7 @@ #include <parameters/param.h> #include <systemlib/err.h> #include <perf/perf_counter.h> -#include <systemlib/circuit_breaker.h> + // internal libraries #include <lib/mathlib/mathlib.h> #include <matrix/math.hpp> diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index 93152ae53401211da19d8238cd74307e89d12b96..8aa234c76db8984bbfc7eac1e40ec3c3de4775b0 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -35,6 +35,7 @@ px4_add_git_submodule(TARGET git_ecl PATH "ecl") px4_add_git_submodule(TARGET git_matrix PATH "matrix") add_subdirectory(battery) +add_subdirectory(circuit_breaker) add_subdirectory(controllib) add_subdirectory(conversion) add_subdirectory(drivers) diff --git a/src/lib/circuit_breaker/CMakeLists.txt b/src/lib/circuit_breaker/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..54ee7cdbd010e9010cd3bc532bbb62454022f826 --- /dev/null +++ b/src/lib/circuit_breaker/CMakeLists.txt @@ -0,0 +1,34 @@ +############################################################################ +# +# Copyright (c) 2018 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(circuit_breaker circuit_breaker.cpp) diff --git a/src/modules/systemlib/circuit_breaker.cpp b/src/lib/circuit_breaker/circuit_breaker.cpp similarity index 98% rename from src/modules/systemlib/circuit_breaker.cpp rename to src/lib/circuit_breaker/circuit_breaker.cpp index 9a6fdd58340a9a6a146e28a91bb00542d6267184..099238d2fd25859c1393feb0cbd7cfebf67f83f2 100644 --- a/src/modules/systemlib/circuit_breaker.cpp +++ b/src/lib/circuit_breaker/circuit_breaker.cpp @@ -42,9 +42,10 @@ * parameter needs to set to the key (magic). */ +#include "circuit_breaker.h" + #include <stdint.h> #include <px4_defines.h> -#include <systemlib/circuit_breaker.h> bool circuit_breaker_enabled(const char *breaker, int32_t magic) { diff --git a/src/modules/systemlib/circuit_breaker.h b/src/lib/circuit_breaker/circuit_breaker.h similarity index 99% rename from src/modules/systemlib/circuit_breaker.h rename to src/lib/circuit_breaker/circuit_breaker.h index dc403ceb72eb88f3922ff44050dfc78a1a44a095..d3ac50ea6661d5456b4bea1d452713ecfc68c7a5 100644 --- a/src/modules/systemlib/circuit_breaker.h +++ b/src/lib/circuit_breaker/circuit_breaker.h @@ -59,7 +59,7 @@ #define CBRK_USB_CHK_KEY 197848 #define CBRK_VELPOSERR_KEY 201607 -#include <stdbool.h> +#include <stdint.h> __BEGIN_DECLS diff --git a/src/modules/systemlib/circuit_breaker_params.c b/src/lib/circuit_breaker/circuit_breaker_params.c similarity index 100% rename from src/modules/systemlib/circuit_breaker_params.c rename to src/lib/circuit_breaker/circuit_breaker_params.c diff --git a/src/modules/commander/CMakeLists.txt b/src/modules/commander/CMakeLists.txt index 8c70eca7c05aa5dc3d96a3c912991a8e7340de60..b6796a2cc82376ff952fbc710e53d5adcf5e19dc 100644 --- a/src/modules/commander/CMakeLists.txt +++ b/src/modules/commander/CMakeLists.txt @@ -54,6 +54,7 @@ px4_add_module( rc_check.cpp state_machine_helper.cpp DEPENDS + circuit_breaker df_driver_framework git_ecl ecl_geo diff --git a/src/modules/commander/commander.cpp b/src/modules/commander/commander.cpp index fe4f47dd365c58226477b9be93e39219de1ac1fb..34dd9e65d5306353ed1e1edf295928c7de139493 100644 --- a/src/modules/commander/commander.cpp +++ b/src/modules/commander/commander.cpp @@ -73,7 +73,7 @@ #include <px4_shutdown.h> #include <px4_tasks.h> #include <px4_time.h> -#include <systemlib/circuit_breaker.h> +#include <circuit_breaker/circuit_breaker.h> #include <systemlib/err.h> #include <systemlib/hysteresis/hysteresis.h> #include <systemlib/mavlink_log.h> diff --git a/src/modules/mc_att_control/CMakeLists.txt b/src/modules/mc_att_control/CMakeLists.txt index 32012dd6869c485ae4dc447ad6d4f330e237d44d..588e43f786d016dfdc8b01a410a1a719e3197295 100644 --- a/src/modules/mc_att_control/CMakeLists.txt +++ b/src/modules/mc_att_control/CMakeLists.txt @@ -40,6 +40,7 @@ px4_add_module( SRCS mc_att_control_main.cpp DEPENDS + circuit_breaker conversion mathlib ) diff --git a/src/modules/mc_att_control/mc_att_control_main.cpp b/src/modules/mc_att_control/mc_att_control_main.cpp index d539b985ddb8e85e4e4592b14bc73f2479e66dfc..0960b49cfb347af98f9e9c20f89b96588734b080 100644 --- a/src/modules/mc_att_control/mc_att_control_main.cpp +++ b/src/modules/mc_att_control/mc_att_control_main.cpp @@ -48,7 +48,7 @@ #include <conversion/rotation.h> #include <drivers/drv_hrt.h> #include <lib/ecl/geo/geo.h> -#include <systemlib/circuit_breaker.h> +#include <circuit_breaker/circuit_breaker.h> #include <mathlib/math/Limits.hpp> #include <mathlib/math/Functions.hpp> diff --git a/src/modules/systemlib/CMakeLists.txt b/src/modules/systemlib/CMakeLists.txt index 56bce98846d0dac0b5d90dabb53090a6282ac84c..16ec98603ca5ab3b99b56768c1c544db50c4579f 100644 --- a/src/modules/systemlib/CMakeLists.txt +++ b/src/modules/systemlib/CMakeLists.txt @@ -33,7 +33,6 @@ set(SRCS airspeed.cpp - circuit_breaker.cpp conversions.c cpuload.c crc.c