ardupilot/ArduSub/AP_Arming_Sub.h
Lucas De Marchi eed3c83079 ArduSub: use static method to construct AP_Arming_Sub
This also fix a bug of calling AP_Param::setup_object_defaults() on the
parent.
2017-09-26 03:01:21 +01:00

30 lines
891 B
C++

#pragma once
#include <AP_Arming/AP_Arming.h>
class AP_Arming_Sub : public AP_Arming {
public:
static AP_Arming_Sub create(const AP_AHRS &ahrs_ref, const AP_Baro &baro, Compass &compass, const AP_BattMonitor &battery) {
return AP_Arming_Sub{ahrs_ref, baro, compass, battery};
}
constexpr AP_Arming_Sub(AP_Arming_Sub &&other) = default;
/* Do not allow copies */
AP_Arming_Sub(const AP_Arming_Sub &other) = delete;
AP_Arming_Sub &operator=(const AP_Baro&) = delete;
bool rc_check(bool report=true);
bool pre_arm_checks(bool report) override;
protected:
AP_Arming_Sub(const AP_AHRS &ahrs_ref, const AP_Baro &baro, Compass &compass,
const AP_BattMonitor &battery)
: AP_Arming(ahrs_ref, baro, compass, battery)
{
}
bool ins_checks(bool report) override;
enum HomeState home_status() const override;
};