Subversion Repositories FlightCtrl

Rev

Rev 453 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 453 Rev 454
Line 125... Line 125...
125
//############################################################################
125
//############################################################################
126
//  Neutrallage kalibrieren und fest im EEPROM abspeichern
126
//  Neutrallage kalibrieren und fest im EEPROM abspeichern
127
void calib_acc(void)
127
void calib_acc(void)
128
//############################################################################
128
//############################################################################
129
{
129
{
130
    unsigned int timer;
-
 
131
        acc_neutral.X = 0;
130
        acc_neutral.X = 0;
132
        acc_neutral.Y = 0;
131
        acc_neutral.Y = 0;
133
        acc_neutral.Z = 0;
132
        acc_neutral.Z = 0;
Line 134... Line 133...
134
       
133
       
Line 146... Line 145...
146
//############################################################################
145
//############################################################################
147
//  Nullwerte ermitteln
146
//  Nullwerte ermitteln
148
void SetNeutral(void)
147
void SetNeutral(void)
149
//############################################################################
148
//############################################################################
150
{
149
{
151
    unsigned int timer;
-
 
152
        acc_neutral.X = 0;
150
        acc_neutral.X = 0;
153
        acc_neutral.Y = 0;
151
        acc_neutral.Y = 0;
154
        acc_neutral.Z = 0;
152
        acc_neutral.Z = 0;
155
    AdNeutralNick = 0; 
153
    AdNeutralNick = 0; 
156
        AdNeutralRoll = 0;     
154
        AdNeutralRoll = 0;     
Line 166... Line 164...
166
     }
164
     }
167
    AdNeutralNick= abs(MesswertNick);  
165
    AdNeutralNick= abs(MesswertNick);  
168
        AdNeutralRoll= abs(MesswertRoll);      
166
        AdNeutralRoll= abs(MesswertRoll);      
169
        AdNeutralGier= abs(MesswertGier);
167
        AdNeutralGier= abs(MesswertGier);
Line -... Line 168...
-
 
168
       
170
       
169
        // Neutrallage aus EEPROM
Line 171... Line 170...
171
        eeprom_read_block(&acc_neutral,&ee_acc_neutral,sizeof(struct acc_neutral_struct));
170
        eeprom_read_block(&acc_neutral,&ee_acc_neutral,sizeof(struct acc_neutral_struct));
172
   
171
   
173
        Mess_IntegralNick = 0; 
172
        Mess_IntegralNick = 0; 
Line 640... Line 639...
640
    Mess_IntegralRoll -= tmp_long2;
639
    Mess_IntegralRoll -= tmp_long2;
641
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                
640
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                
642
//  Gieren
641
//  Gieren
643
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                
642
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                
644
    sollGier = StickGier;
643
    sollGier = StickGier;
645
    if(abs(StickGier) > 35)
644
    if(abs(StickGier) > 20)
646
     {
645
     {
647
      if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) NeueKompassRichtungMerken = 1;
646
      if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) NeueKompassRichtungMerken = 1;
648
     }
647
     }
649
    tmp_int = EE_Parameter.Gier_P * (sollGier * abs(sollGier)) / 256; // expo
648
    tmp_int = EE_Parameter.Gier_P * (sollGier * abs(sollGier)) / 256; // expo
650
    Mess_Integral_Gier -= tmp_int;  
649
    Mess_Integral_Gier -= tmp_int;