diff options
author | Johan Jansen <jnsn.johan@gmail.com> | 2015-02-09 12:42:20 +0100 |
---|---|---|
committer | Johan Jansen <jnsn.johan@gmail.com> | 2015-02-09 12:42:20 +0100 |
commit | 01dc7747032bc3d14408e23a13ef45c9f37e46c5 (patch) | |
tree | cdf68da844947cd0a108c251ef76c4b420e4e9e3 /src/modules/land_detector/MulticopterLandDetector.cpp | |
parent | 70e4554f76d302fc8a8932ef2352039004172871 (diff) | |
download | px4-firmware-01dc7747032bc3d14408e23a13ef45c9f37e46c5.tar.gz px4-firmware-01dc7747032bc3d14408e23a13ef45c9f37e46c5.tar.bz2 px4-firmware-01dc7747032bc3d14408e23a13ef45c9f37e46c5.zip |
LandDetector: Use vehicle_attitude instead of sensors_combined
Diffstat (limited to 'src/modules/land_detector/MulticopterLandDetector.cpp')
-rw-r--r-- | src/modules/land_detector/MulticopterLandDetector.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/modules/land_detector/MulticopterLandDetector.cpp b/src/modules/land_detector/MulticopterLandDetector.cpp index ce391c817..61b5867bf 100644 --- a/src/modules/land_detector/MulticopterLandDetector.cpp +++ b/src/modules/land_detector/MulticopterLandDetector.cpp @@ -48,16 +48,16 @@ MulticopterLandDetector::MulticopterLandDetector() : LandDetector(), _paramHandle(), _params(), _vehicleGlobalPositionSub(-1), - _sensorsCombinedSub(-1), _waypointSub(-1), _actuatorsSub(-1), _armingSub(-1), _parameterSub(-1), + _attitudeSub(-1), _vehicleGlobalPosition({}), - _sensors({}), _waypoint({}), _actuators({}), _arming({}), + _vehicleAttitude({}), _landTimer(0) { _paramHandle.maxRotation = param_find("LNDMC_ROT_MAX"); @@ -70,7 +70,7 @@ void MulticopterLandDetector::initialize() { // subscribe to position, attitude, arming and velocity changes _vehicleGlobalPositionSub = orb_subscribe(ORB_ID(vehicle_global_position)); - _sensorsCombinedSub = orb_subscribe(ORB_ID(sensor_combined)); + _attitudeSub = orb_subscribe(ORB_ID(vehicle_attitude)); _waypointSub = orb_subscribe(ORB_ID(position_setpoint_triplet)); _actuatorsSub = orb_subscribe(ORB_ID_VEHICLE_ATTITUDE_CONTROLS); _armingSub = orb_subscribe(ORB_ID(actuator_armed)); @@ -83,7 +83,7 @@ void MulticopterLandDetector::initialize() void MulticopterLandDetector::updateSubscriptions() { orb_update(ORB_ID(vehicle_global_position), _vehicleGlobalPositionSub, &_vehicleGlobalPosition); - orb_update(ORB_ID(sensor_combined), _sensorsCombinedSub, &_sensors); + orb_update(ORB_ID(vehicle_attitude), _attitudeSub, &_vehicleAttitude); orb_update(ORB_ID(position_setpoint_triplet), _waypointSub, &_waypoint); orb_update(ORB_ID_VEHICLE_ATTITUDE_CONTROLS, _actuatorsSub, &_actuators); orb_update(ORB_ID(actuator_armed), _armingSub, &_arming); @@ -109,9 +109,9 @@ bool MulticopterLandDetector::update() + _vehicleGlobalPosition.vel_e * _vehicleGlobalPosition.vel_e) > _params.maxVelocity; // next look if all rotation angles are not moving - bool rotating = sqrtf(_sensors.gyro_rad_s[0] * _sensors.gyro_rad_s[0] + - _sensors.gyro_rad_s[1] * _sensors.gyro_rad_s[1] + - _sensors.gyro_rad_s[2] * _sensors.gyro_rad_s[2]) > _params.maxRotation; + bool rotating = sqrtf(_vehicleAttitude.rollspeed*_vehicleAttitude.rollspeed + + _vehicleAttitude.pitchspeed*_vehicleAttitude.pitchspeed + + _vehicleAttitude.yawspeed*_vehicleAttitude.yawspeed) > _params.maxRotation; // check if thrust output is minimal (about half of default) bool minimalThrust = _actuators.control[3] <= _params.maxThrottle; |