AC_Sprayer: removed create() method for objects

See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
This commit is contained in:
Andrew Tridgell 2017-12-13 12:06:11 +11:00
parent 9ba8097502
commit 85f9fecd24

View File

@ -32,11 +32,7 @@
/// @brief Object managing a crop sprayer comprised of a spinner and a pump both controlled by pwm /// @brief Object managing a crop sprayer comprised of a spinner and a pump both controlled by pwm
class AC_Sprayer { class AC_Sprayer {
public: public:
static AC_Sprayer create(const AP_InertialNav *inav) { AC_Sprayer(const AP_InertialNav *inav);
return AC_Sprayer{inav};
}
constexpr AC_Sprayer(AC_Sprayer &&other) = default;
/* Do not allow copies */ /* Do not allow copies */
AC_Sprayer(const AC_Sprayer &other) = delete; AC_Sprayer(const AC_Sprayer &other) = delete;
@ -65,8 +61,6 @@ public:
static const struct AP_Param::GroupInfo var_info[]; static const struct AP_Param::GroupInfo var_info[];
private: private:
AC_Sprayer(const AP_InertialNav *inav);
const AP_InertialNav* const _inav; ///< pointers to other objects we depend upon const AP_InertialNav* const _inav; ///< pointers to other objects we depend upon
// parameters // parameters