From 0a1e94d504b38d30c2d7428300c5728798db094d Mon Sep 17 00:00:00 2001 From: Thomas Gubler Date: Wed, 17 Dec 2014 15:50:01 +0100 Subject: [PATCH] circuit breaker: move to cpp, all platforms use the same file --- CMakeLists.txt | 2 +- .../systemlib}/circuit_breaker.cpp | 4 ++-- src/modules/systemlib/circuit_breaker.h | 10 ++------ ...uit_breaker.c => circuit_breaker_params.c} | 24 ------------------- src/modules/systemlib/module.mk | 3 ++- 5 files changed, 7 insertions(+), 36 deletions(-) rename src/{platforms/ros => modules/systemlib}/circuit_breaker.cpp (96%) rename src/modules/systemlib/{circuit_breaker.c => circuit_breaker_params.c} (87%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 19a14f62af..3184bb2ac8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,7 +122,7 @@ add_library(px4 src/platforms/ros/perf_counter.cpp src/platforms/ros/geo.cpp src/lib/mathlib/math/Limits.cpp - src/platforms/ros/circuit_breaker.cpp + src/modules/systemlib/circuit_breaker.cpp ) target_link_libraries(px4 diff --git a/src/platforms/ros/circuit_breaker.cpp b/src/modules/systemlib/circuit_breaker.cpp similarity index 96% rename from src/platforms/ros/circuit_breaker.cpp rename to src/modules/systemlib/circuit_breaker.cpp index 1e912d3ac7..2df13ebff6 100644 --- a/src/platforms/ros/circuit_breaker.cpp +++ b/src/modules/systemlib/circuit_breaker.cpp @@ -43,13 +43,13 @@ */ #include -#include #include bool circuit_breaker_enabled(const char* breaker, int32_t magic) { int32_t val; - (void)PX4_PARAM_GET(breaker, &val); + /* (void)param_get(param_find(breaker), &val); */ + (void)PX4_PARAM_GET_NAME(breaker, &val); return (val == magic); } diff --git a/src/modules/systemlib/circuit_breaker.h b/src/modules/systemlib/circuit_breaker.h index 012d8cb61e..c97dbc26ff 100644 --- a/src/modules/systemlib/circuit_breaker.h +++ b/src/modules/systemlib/circuit_breaker.h @@ -61,14 +61,8 @@ __BEGIN_DECLS -#ifdef __cplusplus -extern "C" { -#endif -__EXPORT bool circuit_breaker_enabled(const char* breaker, int32_t magic); -#ifdef __cplusplus -} -#endif -__EXPORT bool circuit_breaker_enabled(const char* breaker, int32_t magic); +extern "C" __EXPORT bool circuit_breaker_enabled(const char* breaker, int32_t magic); + __END_DECLS #endif /* CIRCUIT_BREAKER_H_ */ diff --git a/src/modules/systemlib/circuit_breaker.c b/src/modules/systemlib/circuit_breaker_params.c similarity index 87% rename from src/modules/systemlib/circuit_breaker.c rename to src/modules/systemlib/circuit_breaker_params.c index 1b3ffd59fe..e499ae27ac 100644 --- a/src/modules/systemlib/circuit_breaker.c +++ b/src/modules/systemlib/circuit_breaker_params.c @@ -44,7 +44,6 @@ #include #include -#include /** * Circuit breaker for power supply check @@ -122,26 +121,3 @@ PX4_PARAM_DEFINE_INT32(CBRK_FLIGHTTERM); * @group Circuit Breaker */ PX4_PARAM_DEFINE_INT32(CBRK_ENGINEFAIL); - -/** - * Circuit breaker for gps failure detection - * - * Setting this parameter to 240024 will disable the gps failure detection. - * If the aircraft is in gps failure mode the gps failure flag will be - * set to healthy - * WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK - * - * @min 0 - * @max 240024 - * @group Circuit Breaker - */ -PX4_PARAM_DEFINE_INT32(CBRK_GPSFAIL); - -bool circuit_breaker_enabled(const char* breaker, int32_t magic) -{ - int32_t val; - (void)param_get(param_find(breaker), &val); - - return (val == magic); -} - diff --git a/src/modules/systemlib/module.mk b/src/modules/systemlib/module.mk index fe8b7e75a0..1e0a9c0074 100644 --- a/src/modules/systemlib/module.mk +++ b/src/modules/systemlib/module.mk @@ -53,7 +53,8 @@ SRCS = err.c \ otp.c \ board_serial.c \ pwm_limit/pwm_limit.c \ - circuit_breaker.c \ + circuit_breaker.cpp \ + circuit_breaker_params.c \ mcu_version.c MAXOPTIMIZATION = -Os