mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-04-12 04:02:20 +02:00
LP_616 safety check preventing possible execution of atan2f(0,0)
This commit is contained in:
parent
b2fb571999
commit
0ddce8ce96
@ -678,6 +678,11 @@ static uint8_t conditionPointingTowardsNext()
|
|||||||
PositionStateData positionState;
|
PositionStateData positionState;
|
||||||
PositionStateGet(&positionState);
|
PositionStateGet(&positionState);
|
||||||
|
|
||||||
|
// check if current position exactly matches nextWaipoint (in 2D space)
|
||||||
|
if ((fabsf(nextWaypoint.Position.North - positionState.North) < 1e-6f) && (fabsf(nextWaypoint.Position.East - positionState.East) < 1e-6f)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
float angle1 = atan2f((nextWaypoint.Position.North - positionState.North), (nextWaypoint.Position.East - positionState.East));
|
float angle1 = atan2f((nextWaypoint.Position.North - positionState.North), (nextWaypoint.Position.East - positionState.East));
|
||||||
|
|
||||||
VelocityStateData velocity;
|
VelocityStateData velocity;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user