Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 308 → Rev 309

/branches/MergedVersionsByOsiair/alpha/v060SalvoKompassNick666MM3Gyro/compass.c
14,6 → 14,7
*/
 
#include "main.h"
#include "math.h"
 
MM3_struct MM3;
 
63,8 → 64,8
return; // Jetzt gehts weiter in SIGNAL (SIG_SPI)
case MM3_TILT: // Zeitnahe Speicherung der aktuellen Neigung in °
MM3.NickGrad = asin_i((float)Aktuell_ax/220*200);
MM3.RollGrad = asin_i((float)Aktuell_ay/220*200);
MM3.NickGrad = IntegralNick/(120*8);
MM3.RollGrad = IntegralRoll/(120*8);
MM3.AXIS = MM3_X;
MM3.STATE = MM3_RESET;
134,10 → 135,10
signed int heading;
// Berechung von sinus und cosinus
sin_nick = sin_i(MM3.NickGrad);
cos_nick = cos_i(MM3.NickGrad);
sin_roll = sin_i(MM3.RollGrad);
cos_roll = cos_i(MM3.RollGrad);
sin_nick = sin_f(MM3.NickGrad);
cos_nick = cos_f(MM3.NickGrad);
sin_roll = sin_f(MM3.RollGrad);
cos_roll = cos_f(MM3.RollGrad);
// Neigungskompensation
x_corr = (cos_nick * MM3.x_axis) + (((sin_roll * MM3.y_axis) - (cos_roll * MM3.z_axis)) * sin_nick);