From 467b22f294921853bae13cc7043f187428dc8f78 Mon Sep 17 00:00:00 2001 From: Corvus Corax Date: Wed, 1 May 2013 20:40:50 +0200 Subject: [PATCH] I knew I had forgotten something (cos -> cosf ...) --- flight/modules/Attitude/revolution/attitude.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/flight/modules/Attitude/revolution/attitude.c b/flight/modules/Attitude/revolution/attitude.c index 5bd36ecc3..1440d7aa3 100644 --- a/flight/modules/Attitude/revolution/attitude.c +++ b/flight/modules/Attitude/revolution/attitude.c @@ -331,14 +331,14 @@ static int32_t updateAttitudeComplementary(bool first_run) // Set initial attitude. Use accels to determine roll and pitch, rotate magnetic measurement accordingly, // so pseudo "north" vector can be estimated even if the board is not level attitudeActual.Roll = atan2f(-accelsData.y, -accelsData.z); - float zn = cos(attitudeActual.Roll) * magData.z + sin(attitudeActual.Roll) * magData.y; - float yn = cos(attitudeActual.Roll) * magData.y - sin(attitudeActual.Roll) * magData.z; + float zn = cosf(attitudeActual.Roll) * magData.z + sinf(attitudeActual.Roll) * magData.y; + float yn = cosf(attitudeActual.Roll) * magData.y - sinf(attitudeActual.Roll) * magData.z; // rotate accels z vector according to roll - float azn = cos(attitudeActual.Roll) * accelsData.z + sin(attitudeActual.Roll) * accelsData.y; + float azn = cosf(attitudeActual.Roll) * accelsData.z + sinf(attitudeActual.Roll) * accelsData.y; attitudeActual.Pitch = atan2f(accelsData.x, -azn); - float xn = cos(attitudeActual.Pitch) * magData.x + sin(attitudeActual.Pitch) * zn; + float xn = cosf(attitudeActual.Pitch) * magData.x + sinf(attitudeActual.Pitch) * zn; attitudeActual.Yaw = atan2f(-yn, xn); // TODO: This is still a hack @@ -808,14 +808,14 @@ static int32_t updateAttitudeINSGPS(bool first_run, bool outdoor_mode) // Set initial attitude. Use accels to determine roll and pitch, rotate magnetic measurement accordingly, // so pseudo "north" vector can be estimated even if the board is not level attitudeActual.Roll = atan2f(-accelsData.y, -accelsData.z); - float zn = cos(attitudeActual.Roll) * magData.z + sin(attitudeActual.Roll) * magData.y; - float yn = cos(attitudeActual.Roll) * magData.y - sin(attitudeActual.Roll) * magData.z; + float zn = cosf(attitudeActual.Roll) * magData.z + sinf(attitudeActual.Roll) * magData.y; + float yn = cosf(attitudeActual.Roll) * magData.y - sinf(attitudeActual.Roll) * magData.z; // rotate accels z vector according to roll - float azn = cos(attitudeActual.Roll) * accelsData.z + sin(attitudeActual.Roll) * accelsData.y; + float azn = cosf(attitudeActual.Roll) * accelsData.z + sinf(attitudeActual.Roll) * accelsData.y; attitudeActual.Pitch = atan2f(accelsData.x, -azn); - float xn = cos(attitudeActual.Pitch) * magData.x + sin(attitudeActual.Pitch) * zn; + float xn = cosf(attitudeActual.Pitch) * magData.x + sinf(attitudeActual.Pitch) * zn; attitudeActual.Yaw = atan2f(-yn, xn); // TODO: This is still a hack