From 721ede206d84af7ddd495b823a417348a0c86db6 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Sat, 30 Oct 2021 12:15:47 +1100 Subject: [PATCH] AP_Baro: create and use HAL_SIM_BARO_ENABLED --- libraries/AP_Baro/AP_Baro.cpp | 8 ++++---- libraries/AP_Baro/AP_Baro.h | 4 ++++ libraries/AP_Baro/AP_Baro_SITL.cpp | 10 +++++----- libraries/AP_Baro/AP_Baro_SITL.h | 8 +++++--- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/libraries/AP_Baro/AP_Baro.cpp b/libraries/AP_Baro/AP_Baro.cpp index a7830453a8..7c79794bd8 100644 --- a/libraries/AP_Baro/AP_Baro.cpp +++ b/libraries/AP_Baro/AP_Baro.cpp @@ -257,8 +257,8 @@ void AP_Baro::calibrate(bool save) BARO_SEND_TEXT(MAV_SEVERITY_INFO, "Baro: skipping calibration after WDG reset"); return; } - -#if CONFIG_HAL_BOARD == HAL_BOARD_SITL + +#if AP_SIM_BARO_ENABLED if (AP::sitl()->baro_count == 0) { return; } @@ -628,7 +628,7 @@ void AP_Baro::init(void) default: break; } -#elif CONFIG_HAL_BOARD == HAL_BOARD_SITL +#elif AP_SIM_BARO_ENABLED SITL::SIM *sitl = AP::sitl(); if (sitl == nullptr) { AP_HAL::panic("No SITL pointer"); @@ -681,7 +681,7 @@ void AP_Baro::init(void) #endif #if !defined(HAL_BARO_ALLOW_INIT_NO_BARO) // most boards requires external baro -#if CONFIG_HAL_BOARD == HAL_BOARD_SITL +#if AP_SIM_BARO_ENABLED if (sitl->baro_count == 0) { return; } diff --git a/libraries/AP_Baro/AP_Baro.h b/libraries/AP_Baro/AP_Baro.h index 7b1cf27242..27e6146717 100644 --- a/libraries/AP_Baro/AP_Baro.h +++ b/libraries/AP_Baro/AP_Baro.h @@ -7,6 +7,10 @@ #include #include +#ifndef AP_SIM_BARO_ENABLED +#define AP_SIM_BARO_ENABLED (CONFIG_HAL_BOARD == HAL_BOARD_SITL) +#endif + #ifndef HAL_MSP_BARO_ENABLED #define HAL_MSP_BARO_ENABLED HAL_MSP_SENSORS_ENABLED #endif diff --git a/libraries/AP_Baro/AP_Baro_SITL.cpp b/libraries/AP_Baro/AP_Baro_SITL.cpp index 5fefc152a3..f160cf8aff 100644 --- a/libraries/AP_Baro/AP_Baro_SITL.cpp +++ b/libraries/AP_Baro/AP_Baro_SITL.cpp @@ -1,9 +1,9 @@ -#include -#include +#include "AP_Baro_SITL.h" -#if CONFIG_HAL_BOARD == HAL_BOARD_SITL +#if AP_SIM_BARO_ENABLED -#include "AP_Baro_SITL.h" +#include +#include extern const AP_HAL::HAL& hal; @@ -182,4 +182,4 @@ float AP_Baro_SITL::wind_pressure_correction(void) return error * 0.5 * SSL_AIR_DENSITY * AP::baro().get_air_density_ratio(); } -#endif // CONFIG_HAL_BOARD +#endif // AP_SIM_BARO_ENABLED diff --git a/libraries/AP_Baro/AP_Baro_SITL.h b/libraries/AP_Baro/AP_Baro_SITL.h index 2516b1d746..5fe90a985c 100644 --- a/libraries/AP_Baro/AP_Baro_SITL.h +++ b/libraries/AP_Baro/AP_Baro_SITL.h @@ -2,10 +2,12 @@ #include "AP_Baro_Backend.h" -#if CONFIG_HAL_BOARD == HAL_BOARD_SITL -#include +#if AP_SIM_BARO_ENABLED + #include +#include + class AP_Baro_SITL : public AP_Baro_Backend { public: AP_Baro_SITL(AP_Baro &); @@ -47,4 +49,4 @@ private: float _last_altitude; }; -#endif // CONFIG_HAL_BOARD +#endif // AP_SIM_BARO_ENABLED