AP_LandingGear: add static create method

This commit is contained in:
Lucas De Marchi 2017-08-29 16:57:36 -07:00 committed by Francisco Ferreira
parent 31db77e47b
commit beabccf9ef
1 changed files with 11 additions and 8 deletions

View File

@ -11,8 +11,14 @@
/// @class AP_LandingGear
/// @brief Class managing the control of landing gear
class AP_LandingGear {
public:
static AP_LandingGear create() { return AP_LandingGear{}; }
constexpr AP_LandingGear(AP_LandingGear &&other) = default;
/* Do not allow copies */
AP_LandingGear(const AP_LandingGear &other) = delete;
AP_LandingGear &operator=(const AP_LandingGear&) = delete;
// Gear command modes
enum LandingGearCommand {
@ -28,13 +34,6 @@ public:
LandingGear_Startup_Deploy = 2,
};
/// Constructor
AP_LandingGear()
{
// setup parameter defaults
AP_Param::setup_object_defaults(this, var_info);
}
/// initialise state of landing gear
void init();
@ -47,6 +46,10 @@ public:
static const struct AP_Param::GroupInfo var_info[];
private:
AP_LandingGear() {
// setup parameter defaults
AP_Param::setup_object_defaults(this, var_info);
}
// Parameters
AP_Int16 _servo_retract_pwm; // PWM value to move servo to when gear is retracted