mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-03-12 01:23:56 -03:00
DataFlash: add static create method
This commit is contained in:
parent
faf2c8fb36
commit
a25320d522
@ -48,6 +48,18 @@ const AP_Param::GroupInfo DataFlash_Class::var_info[] = {
|
||||
AP_GROUPEND
|
||||
};
|
||||
|
||||
DataFlash_Class::DataFlash_Class(const char *firmware_string, const AP_Int32 &log_bitmask)
|
||||
: _firmware_string(firmware_string)
|
||||
, _log_bitmask(log_bitmask)
|
||||
{
|
||||
AP_Param::setup_object_defaults(this, var_info);
|
||||
if (_instance != nullptr) {
|
||||
AP_HAL::panic("DataFlash must be singleton");
|
||||
}
|
||||
|
||||
_instance = this;
|
||||
}
|
||||
|
||||
void DataFlash_Class::Init(const struct LogStructure *structures, uint8_t num_types)
|
||||
{
|
||||
gcs().send_text(MAV_SEVERITY_INFO, "Preparing log system");
|
||||
|
@ -50,22 +50,22 @@ class DataFlash_Class
|
||||
public:
|
||||
FUNCTOR_TYPEDEF(print_mode_fn, void, AP_HAL::BetterStream*, uint8_t);
|
||||
FUNCTOR_TYPEDEF(vehicle_startup_message_Log_Writer, void);
|
||||
DataFlash_Class(const char *firmware_string, const AP_Int32 &log_bitmask) :
|
||||
_firmware_string(firmware_string),
|
||||
_log_bitmask(log_bitmask)
|
||||
{
|
||||
AP_Param::setup_object_defaults(this, var_info);
|
||||
if (_instance != nullptr) {
|
||||
AP_HAL::panic("DataFlash must be singleton");
|
||||
}
|
||||
_instance = this;
|
||||
}
|
||||
|
||||
static DataFlash_Class create(const char *firmware_string, const AP_Int32 &log_bitmask) {
|
||||
return DataFlash_Class{firmware_string, log_bitmask};
|
||||
}
|
||||
|
||||
// get singleton instance
|
||||
static DataFlash_Class *instance(void) {
|
||||
return _instance;
|
||||
}
|
||||
|
||||
constexpr DataFlash_Class(DataFlash_Class &&other) = default;
|
||||
|
||||
/* Do not allow copies */
|
||||
DataFlash_Class(const DataFlash_Class &other) = delete;
|
||||
DataFlash_Class &operator=(const DataFlash_Class&) = delete;
|
||||
|
||||
void set_mission(const AP_Mission *mission);
|
||||
|
||||
// initialisation
|
||||
@ -222,6 +222,8 @@ protected:
|
||||
bool is_critical);
|
||||
|
||||
private:
|
||||
DataFlash_Class(const char *firmware_string, const AP_Int32 &log_bitmask);
|
||||
|
||||
#define DATAFLASH_MAX_BACKENDS 2
|
||||
uint8_t _next_backend;
|
||||
DataFlash_Backend *backends[DATAFLASH_MAX_BACKENDS];
|
||||
|
Loading…
Reference in New Issue
Block a user