Flight tasks: avoid using *= for scalar to vector assignment

It's confusing and there is a corner case where the result is incorrect:
*= 0 will not set the variable to 0 if it's already NAN.
This commit is contained in:
Beat Küng 2018-10-04 10:05:01 +02:00 committed by Dennis Mannhart
parent bb756e0e12
commit 206baa7432
3 changed files with 7 additions and 7 deletions

View File

@ -136,7 +136,7 @@ bool FlightTaskAuto::_evaluateTriplets()
} else {
tmp_target(0) = _lock_position_xy(0);
tmp_target(1) = _lock_position_xy(1);
_lock_position_xy *= NAN;
_lock_position_xy.setAll(NAN);
}
} else {

View File

@ -57,7 +57,7 @@ void FlightTaskManualPositionSmooth::_updateSetpoints()
_velocity_setpoint(0) = vel_sp_xy(0);
_velocity_setpoint(1) = vel_sp_xy(1);
/* Check for altitude lock.*/
/* Check for xy position lock.*/
_updateXYlock();
/* Smooth velocity in z.*/

View File

@ -68,8 +68,8 @@ bool FlightTaskOffboard::activate()
{
bool ret = FlightTask::activate();
_position_setpoint = _position;
_velocity_setpoint *= 0.0f;
_position_lock *= NAN;
_velocity_setpoint.setZero();
_position_lock.setAll(NAN);
return ret;
}
@ -117,7 +117,7 @@ bool FlightTaskOffboard::update()
return true;
} else {
_position_lock *= NAN;
_position_lock.setAll(NAN);
}
// Takeoff
@ -135,7 +135,7 @@ bool FlightTaskOffboard::update()
return true;
} else {
_position_lock *= NAN;
_position_lock.setAll(NAN);
}
// Land
@ -155,7 +155,7 @@ bool FlightTaskOffboard::update()
return true;
} else {
_position_lock *= NAN;
_position_lock.setAll(NAN);
}
// IDLE