From a3a1967e051d51dc5a1450165ae6ddc935c9b638 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Thu, 29 Mar 2018 15:13:55 +1100 Subject: [PATCH] AP_Compass: add AP::compass() singleton getter --- libraries/AP_Compass/AP_Compass.cpp | 19 +++++++++++++++++++ libraries/AP_Compass/AP_Compass.h | 10 ++++++++++ 2 files changed, 29 insertions(+) diff --git a/libraries/AP_Compass/AP_Compass.cpp b/libraries/AP_Compass/AP_Compass.cpp index a8846cecb3..94526594c2 100644 --- a/libraries/AP_Compass/AP_Compass.cpp +++ b/libraries/AP_Compass/AP_Compass.cpp @@ -462,6 +462,13 @@ Compass::Compass(void) : _null_init_done(false), _hil_mode(false) { + if (_singleton != nullptr) { +#if CONFIG_HAL_BOARD == HAL_BOARD_SITL + AP_HAL::panic("Compass must be singleton"); +#endif + return; + } + _singleton = this; AP_Param::setup_object_defaults(this, var_info); for (uint8_t i=0; i