Subversion Repositories FlightCtrl

Rev

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

Rev 964 Rev 1020
Line 245... Line 245...
245
            Mess_Integral_Gier +=  MesswertGier;
245
            Mess_Integral_Gier +=  MesswertGier;
246
//            Mess_Integral_Gier2 += MesswertGier;
246
//            Mess_Integral_Gier2 += MesswertGier;
247
                    if(ErsatzKompass >= (360L * GIER_GRAD_FAKTOR)) ErsatzKompass -= 360L * GIER_GRAD_FAKTOR;  // 360° Umschlag
247
                    if(ErsatzKompass >= (360L * GIER_GRAD_FAKTOR)) ErsatzKompass -= 360L * GIER_GRAD_FAKTOR;  // 360° Umschlag
248
                    if(ErsatzKompass < 0)                          ErsatzKompass += 360L * GIER_GRAD_FAKTOR;
248
                    if(ErsatzKompass < 0)                          ErsatzKompass += 360L * GIER_GRAD_FAKTOR;
249
// Kopplungsanteil  +++++++++++++++++++++++++++++++++++++
249
// Kopplungsanteil  +++++++++++++++++++++++++++++++++++++
250
                if((EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) || (Parameter_UserParam1 > 50)) IntegralFaktor = 0;  // Doppelt ?? MartinR 
250
                if((EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) || (Parameter_UserParam1 > 180)) IntegralFaktor = 0;  // Doppelt ?? MartinR 
Line 251... Line 251...
251
 
251
 
252
      if(!Looping_Nick && !Looping_Roll && IntegralFaktor && (EE_Parameter.GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV))
252
      if(!Looping_Nick && !Looping_Roll && IntegralFaktor && (EE_Parameter.GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV))
253
         {
253
         {
254
            tmpl = (MesswertGierBias * Mess_IntegralNick) / 2048L;
254
            tmpl = (MesswertGierBias * Mess_IntegralNick) / 2048L;
Line 658... Line 658...
658
    int tmp_int;
658
    int tmp_int;
659
        static int stick_nick,stick_roll; // .._neutral hinzugefügt aber Deklaration siehe oben MartinR
659
        static int stick_nick,stick_roll; // .._neutral hinzugefügt aber Deklaration siehe oben MartinR
660
    ParameterZuordnung();
660
    ParameterZuordnung();
Line 661... Line 661...
661
       
661
       
662
       
662
       
663
        if(Parameter_UserParam1 > 50)   // MartinR: zweiter Stick_P Wert nur, wenn HH über Schalter aktiv ist
663
        if(Parameter_UserParam1 > 180)  // MartinR: zweiter Stick_P Wert nur, wenn HH über Schalter aktiv ist
664
                {
664
                {
665
                stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * Parameter_UserParam2 - stick_nick_neutral) / 4;
665
                stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * Parameter_UserParam2 - stick_nick_neutral) / 4;
Line 754... Line 754...
754
        GyroFaktor     = ((float)Parameter_Gyro_P + 10.0) / (256.0/STICK_GAIN);
754
        GyroFaktor     = ((float)Parameter_Gyro_P + 10.0) / (256.0/STICK_GAIN);
755
    IntegralFaktor = ((float) Parameter_Gyro_I) / (44000 / STICK_GAIN);
755
    IntegralFaktor = ((float) Parameter_Gyro_I) / (44000 / STICK_GAIN);
756
        //IntegralFaktor_Gier = ((float) Parameter_UserParam3) / (44000 / STICK_GAIN); // MartinR
756
        //IntegralFaktor_Gier = ((float) Parameter_UserParam3) / (44000 / STICK_GAIN); // MartinR
Line 757... Line 757...
757
       
757
       
758
 //   if(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor =  0;
758
 //   if(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor =  0;
Line 759... Line 759...
759
        if((EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) || (Parameter_UserParam1 > 50)) IntegralFaktor = 0;  // Doppelt!? Doppel wieder aktiviert, da Impuls beim Umschalten. MartinR
759
        if((EE_Parameter.GlobalConfig & CFG_HEADING_HOLD) || (Parameter_UserParam1 > 180)) IntegralFaktor = 0;  // Doppelt!? Doppel wieder aktiviert, da Impuls beim Umschalten. MartinR
760
 
760
 
Line 761... Line 761...
761
    if(GyroFaktor < 0) GyroFaktor = 0;
761
    if(GyroFaktor < 0) GyroFaktor = 0;
Line 1226... Line 1226...
1226
//OCR0B = 180 - (Poti1 + 120) / 4;
1226
//OCR0B = 180 - (Poti1 + 120) / 4;
1227
//DruckOffsetSetting = OCR0B;
1227
//DruckOffsetSetting = OCR0B;
1228
  GasMischanteil *= STICK_GAIN;
1228
  GasMischanteil *= STICK_GAIN;
Line 1229... Line 1229...
1229
 
1229
 
1230
 
1230
 
1231
 if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG) && !(Parameter_UserParam1 > 50))  // Höhenregelung // MartinR: Höhenregelung bei HH abschalten
1231
 if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG) && !(Parameter_UserParam1 > 180))  // Höhenregelung // MartinR: Höhenregelung bei HH abschalten
1232
  {
1232
  {
1233
    int tmp_int;
1233
    int tmp_int;
1234
    if(EE_Parameter.GlobalConfig & CFG_HOEHEN_SCHALTER)  // Regler wird über Schalter gesteuert
1234
    if(EE_Parameter.GlobalConfig & CFG_HOEHEN_SCHALTER)  // Regler wird über Schalter gesteuert
-
 
1235
    {
1235
    {
1236
     // if(Parameter_MaxHoehe < 50) // so war es
1236
     if(Parameter_MaxHoehe < 50)
1237
         if (((50 < Parameter_MaxHoehe) && (Parameter_MaxHoehe < 180)) || !IntegralFaktor)    // if (Parameter_MaxHoehe 50..180) 
1237
      {
1238
      {
1238
       SollHoehe = HoehenWert - 20;  // Parameter_MaxHoehe ist der PPM-Wert des Schalters
1239
       SollHoehe = HoehenWert - 20;  // Parameter_MaxHoehe ist der PPM-Wert des Schalters
1239
       HoehenReglerAktiv = 0;
1240
       HoehenReglerAktiv = 0;