AP_BoardConfig: added BRD_OPTIONS

used to enable STM32 watchdog

# Conflicts:
#	libraries/AP_BoardConfig/AP_BoardConfig.cpp
#	libraries/AP_BoardConfig/AP_BoardConfig.h
This commit is contained in:
Andrew Tridgell 2019-04-20 13:53:45 +10:00 committed by Randy Mackay
parent a7906f9e42
commit 78e234bb6f
2 changed files with 26 additions and 0 deletions

View File

@ -97,6 +97,14 @@
#define BOARD_PWM_COUNT_DEFAULT 8
#endif
#ifndef HAL_BRD_OPTIONS_DEFAULT
#if CONFIG_HAL_BOARD == HAL_BOARD_CHIBIOS
#define HAL_BRD_OPTIONS_DEFAULT BOARD_OPTION_WATCHDOG
#else
#define HAL_BRD_OPTIONS_DEFAULT 0
#endif
#endif
extern const AP_HAL::HAL& hal;
AP_BoardConfig *AP_BoardConfig::instance;
@ -233,6 +241,13 @@ const AP_Param::GroupInfo AP_BoardConfig::var_info[] = {
AP_GROUPINFO("SD_SLOWDOWN", 17, AP_BoardConfig, _sdcard_slowdown, 0),
#endif
// @Param: OPTIONS
// @DisplayName: Board options
// @Description: Board specific option flags
// @Bitmask: 0:Enable hardware watchdog
// @User: Advanced
AP_GROUPINFO("OPTIONS", 19, AP_BoardConfig, _options, HAL_BRD_OPTIONS_DEFAULT),
AP_GROUPEND
};

View File

@ -155,6 +155,15 @@ public:
}
#endif
enum board_options {
BOARD_OPTION_WATCHDOG = (1 << 0),
};
// return true if watchdog enabled
static bool watchdog_enabled(void) {
return _singleton?(_singleton->_options & BOARD_OPTION_WATCHDOG)!=0:false;
}
private:
static AP_BoardConfig *instance;
@ -226,4 +235,6 @@ private:
#if CONFIG_HAL_BOARD == HAL_BOARD_CHIBIOS
AP_Int8 _sdcard_slowdown;
#endif
AP_Int32 _options;
};