Subversion Repositories FlightCtrl

Rev

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

Rev 823 Rev 824
Line 955... Line 955...
955
//  Gieren
955
//  Gieren
956
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                
956
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                
957
//    if(GasMischanteil < 35) { if(StickGier > 10) StickGier = 10; else if(StickGier < -10) StickGier = -10;};
957
//    if(GasMischanteil < 35) { if(StickGier > 10) StickGier = 10; else if(StickGier < -10) StickGier = -10;};
958
    if(abs(StickGier) > 20) // war 35 
958
    if(abs(StickGier) > 20) // war 35 
959
     {
959
     {
960
      if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) { NeueKompassRichtungMerken = 1; KompassSignalSchlecht = 250;};
960
      if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX))
-
 
961
       {
-
 
962
         NeueKompassRichtungMerken = 1;
-
 
963
         KompassStartwert = ErsatzKompass;
-
 
964
         KompassSignalSchlecht = 250;
-
 
965
        };
961
     }
966
     }
962
    tmp_int  = (long) EE_Parameter.Gier_P * ((long)StickGier * abs(StickGier)) / 512L; // expo  y = ax + bx²
967
    tmp_int  = (long) EE_Parameter.Gier_P * ((long)StickGier * abs(StickGier)) / 512L; // expo  y = ax + bx²
963
    tmp_int += (EE_Parameter.Gier_P * StickGier) / 4;
968
    tmp_int += (EE_Parameter.Gier_P * StickGier) / 4;
964
    sollGier = tmp_int;
969
    sollGier = tmp_int;
965
    Mess_Integral_Gier -= tmp_int;  
970
    Mess_Integral_Gier -= tmp_int;  
Line 979... Line 984...
979
       v = abs(IntegralRoll /512);
984
       v = abs(IntegralRoll /512);
980
//v /= 4;
985
//v /= 4;
981
//w /= 4;
986
//w /= 4;
982
       if(v > w) w = v; // grösste Neigung ermitteln
987
       if(v > w) w = v; // grösste Neigung ermitteln
983
//       if((MaxStickNick > 32) || (MaxStickRoll > 32)) w *= 2;
988
//       if((MaxStickNick > 32) || (MaxStickRoll > 32)) w *= 2;
984
       korrektur = w + 4;
989
       korrektur = w / 8 + 1;
985
       if(w < 25 && NeueKompassRichtungMerken && !KompassSignalSchlecht)    
990
       if(w < 25 && NeueKompassRichtungMerken && !KompassSignalSchlecht)    
986
        {
991
        {
987
         KompassStartwert = KompassValue;
992
         KompassStartwert = KompassValue;
988
         NeueKompassRichtungMerken = 0;
993
         NeueKompassRichtungMerken = 0;
989
        }
994
        }
Line 990... Line 995...
990
 
995
 
991
       fehler = ((540 + KompassValue - (ErsatzKompass/GIER_GRAD_FAKTOR)) % 360) - 180;
996
       fehler = ((540 + KompassValue - (ErsatzKompass/GIER_GRAD_FAKTOR)) % 360) - 180;
992
       ErsatzKompass += (fehler * 8);// / korrektur;
997
       ErsatzKompass += (fehler * 8) / korrektur;
993
//           DebugOut.Analog[10] = fehler;
998
//           DebugOut.Analog[10] = fehler;
994
       w = (w * Parameter_KompassWirkung) / 64;           // auf die Wirkung normieren
999
       w = (w * Parameter_KompassWirkung) / 64;           // auf die Wirkung normieren
995
       w = Parameter_KompassWirkung - w;                  // Wirkung ggf drosseln
1000
       w = Parameter_KompassWirkung - w;                  // Wirkung ggf drosseln
996
       if(w > 0)
1001
       if(w > 0)