Subversion Repositories FlightCtrl

Rev

Rev 343 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 343 Rev 349
Line 66... Line 66...
66
                return;
66
                return;
Line 67... Line 67...
67
       
67
       
68
        case MM3_WAIT_DRDY:
68
        case MM3_WAIT_DRDY:
69
                if (CheckDelay(MM3.DRDY)) {SPDR = 0x00;MM3.STATE = MM3_DRDY;} // Irgendwas ins SPDR, damit Übertragung ausgelöst wird, wenn Wartezeit vorbei
69
                if (CheckDelay(MM3.DRDY)) {SPDR = 0x00;MM3.STATE = MM3_DRDY;} // Irgendwas ins SPDR, damit Übertragung ausgelöst wird, wenn Wartezeit vorbei
70
                return;                                                 // Jetzt gehts weiter in SIGNAL (SIG_SPI)
70
                return;                                                 // Jetzt gehts weiter in SIGNAL (SIG_SPI)
71
       
71
        /*
72
        case MM3_TILT:                                          // Zeitnahe Speicherung der aktuellen Neigung in °
72
        case MM3_TILT:                                          // Zeitnahe Speicherung der aktuellen Neigung in °
73
                MM3.NickGrad = IntegralNick/(EE_Parameter.UserParam1*8);
73
                MM3.NickGrad = IntegralNick/(EE_Parameter.UserParam1*8);
Line 74... Line 74...
74
                MM3.RollGrad = IntegralRoll/(EE_Parameter.UserParam2*8);
74
                MM3.RollGrad = IntegralRoll/(EE_Parameter.UserParam2*8);
75
               
75
               
76
                MM3.AXIS = MM3_X;
76
                MM3.AXIS = MM3_X;
-
 
77
                MM3.STATE = MM3_RESET;
77
                MM3.STATE = MM3_RESET;
78
                return;
78
                return;
79
        */
Line 79... Line 80...
79
        }
80
        }
Line 129... Line 130...
129
                else    // if (MM3.AXIS == MM3_Z) 
130
                else    // if (MM3.AXIS == MM3_Z) 
130
                {
131
                {
131
                        MM3.z_axis |= SPDR;
132
                        MM3.z_axis |= SPDR;
132
                        if (abs(MM3.z_axis) < Max_Axis_Value) MM3.z_axis_old = MM3.z_axis;
133
                        if (abs(MM3.z_axis) < Max_Axis_Value) MM3.z_axis_old = MM3.z_axis;
133
                        else MM3.z_axis = MM3.z_axis_old;
134
                        else MM3.z_axis = MM3.z_axis_old;
-
 
135
                        MM3.AXIS = MM3_X;
134
                        MM3.STATE = MM3_TILT;
136
                        MM3.STATE = MM3_RESET;
135
                }
137
                }
Line 136... Line 138...
136
               
138
               
137
                return;
139
                return;
138
        }
140
        }
Line 194... Line 196...
194
//############################################################################
196
//############################################################################
195
{
197
{
196
        float sin_nick, cos_nick, sin_roll, cos_roll;
198
        float sin_nick, cos_nick, sin_roll, cos_roll;
197
        signed int x_corr, y_corr, heading;
199
        signed int x_corr, y_corr, heading;
198
        signed int x_axis,y_axis,z_axis;
200
        signed int x_axis,y_axis,z_axis;
199
               
201
       
-
 
202
        MM3.NickGrad = IntegralNick/(EE_Parameter.UserParam1*8);
-
 
203
        MM3.RollGrad = IntegralRoll/(EE_Parameter.UserParam2*8);
-
 
204
       
200
        // Berechung von sinus und cosinus
205
        // Berechung von sinus und cosinus
201
        sin_nick = sin_f(MM3.NickGrad);
206
        sin_nick = sin_f(MM3.NickGrad);
202
        cos_nick = cos_f(MM3.NickGrad);
207
        cos_nick = cos_f(MM3.NickGrad);
203
        sin_roll = sin_f(MM3.RollGrad);
208
        sin_roll = sin_f(MM3.RollGrad);
204
        cos_roll = cos_f(MM3.RollGrad);
209
        cos_roll = cos_f(MM3.RollGrad);