Browse Source

land detector FW uniform initialization

sbg
Daniel Agar 8 years ago
parent
commit
18d29d5a73
  1. 17
      src/modules/land_detector/FixedwingLandDetector.cpp
  2. 46
      src/modules/land_detector/FixedwingLandDetector.h

17
src/modules/land_detector/FixedwingLandDetector.cpp

@ -41,28 +41,15 @@
#include <px4_config.h> #include <px4_config.h>
#include <px4_defines.h> #include <px4_defines.h>
#include <cmath> #include <cmath>
#include <drivers/drv_hrt.h>
#include "FixedwingLandDetector.h" #include "FixedwingLandDetector.h"
namespace land_detector namespace land_detector
{ {
FixedwingLandDetector::FixedwingLandDetector() : FixedwingLandDetector::FixedwingLandDetector()
_paramHandle(),
_params(),
_controlStateSub(-1),
_armingSub(-1),
_airspeedSub(-1),
_controlState{},
_arming{},
_airspeed{},
_velocity_xy_filtered(0.0f),
_velocity_z_filtered(0.0f),
_airspeed_filtered(0.0f),
_accel_horz_lp(0.0f)
{ {
_paramHandle.maxVelocity = param_find("LNDFW_VEL_XY_MAX"); _paramHandle.maxVelocity = param_find("LNDFW_VEL_XY_MAX");
_paramHandle.maxClimbRate = param_find("LNDFW_VEL_Z_MAX"); _paramHandle.maxClimbRate = param_find("LNDFW_VEL_Z_MAX");

46
src/modules/land_detector/FixedwingLandDetector.h

@ -57,21 +57,15 @@ public:
FixedwingLandDetector(); FixedwingLandDetector();
protected: protected:
virtual void _initialize_topics() override; void _initialize_topics() override;
void _update_params() override;
void _update_topics() override;
bool _get_landed_state() override;
bool _get_maybe_landed_state() override;
bool _get_ground_contact_state() override;
bool _get_freefall_state() override;
float _get_max_altitude() override;
virtual void _update_params() override;
virtual void _update_topics() override;
virtual bool _get_landed_state() override;
virtual bool _get_maybe_landed_state() override;
virtual bool _get_ground_contact_state() override;
virtual bool _get_freefall_state() override;
virtual float _get_max_altitude() override;
private: private:
/** Time in us that landing conditions have to hold before triggering a land. */ /** Time in us that landing conditions have to hold before triggering a land. */
@ -82,27 +76,27 @@ private:
param_t maxClimbRate; param_t maxClimbRate;
param_t maxAirSpeed; param_t maxAirSpeed;
param_t maxIntVelocity; param_t maxIntVelocity;
} _paramHandle; } _paramHandle{};
struct { struct {
float maxVelocity; float maxVelocity;
float maxClimbRate; float maxClimbRate;
float maxAirSpeed; float maxAirSpeed;
float maxIntVelocity; float maxIntVelocity;
} _params; } _params{};
int _controlStateSub; int _controlStateSub{-1};
int _armingSub; int _armingSub{-1};
int _airspeedSub; int _airspeedSub{-1};
struct control_state_s _controlState; control_state_s _controlState{};
struct actuator_armed_s _arming; actuator_armed_s _arming{};
struct airspeed_s _airspeed; airspeed_s _airspeed{};
float _velocity_xy_filtered; float _velocity_xy_filtered{0.0f};
float _velocity_z_filtered; float _velocity_z_filtered{0.0f};
float _airspeed_filtered; float _airspeed_filtered{0.0f};
float _accel_horz_lp; float _accel_horz_lp{0.0f};
}; };
} // namespace land_detector } // namespace land_detector

Loading…
Cancel
Save