Subversion Repositories FlightCtrl

Rev

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

Rev 1738 Rev 1747
Line 1332... Line 1332...
1332
    if(Mess_Integral_Gier <-50000) Mess_Integral_Gier =-50000;
1332
    if(Mess_Integral_Gier <-50000) Mess_Integral_Gier =-50000;
Line 1333... Line 1333...
1333
 
1333
 
1334
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1334
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1335
//  Kompass
1335
//  Kompass
-
 
1336
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1336
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1337
    if((KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV))  &&  !(Parameter_UserParam1 > 50))  // MartinR: bei HH über Schalter wird der Kompass abgeschaltet
1337
    if(KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV))
1338
        //if(KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV))  // MartinR: so war es
1338
     {
1339
     {
1339
       int w,v,r,fehler,korrektur;
1340
       int w,v,r,fehler,korrektur;
1340
       w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln
1341
       w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln
1341
       v = abs(IntegralRoll /512);
1342
       v = abs(IntegralRoll /512);
Line 1392... Line 1393...
1392
       
1393
       
1393
        if(!IntegralFaktor) // MartinR : HH-Mode hinzugefügt
1394
        if(!IntegralFaktor) // MartinR : HH-Mode hinzugefügt
1394
        {
1395
        {
1395
        MesswertNick = (long) ((long)MesswertNick * GyroFaktor) / (256L / STICK_GAIN)  ; // MartinR : hinzugefügt
1396
        MesswertNick = (long) ((long)MesswertNick * GyroFaktor) / (256L / STICK_GAIN)  ; // MartinR : hinzugefügt
1396
        MesswertRoll = (long) ((long)MesswertRoll * GyroFaktor) / (256L / STICK_GAIN) ;  // MartinR : hinzugefügt
1397
        MesswertRoll = (long) ((long)MesswertRoll * GyroFaktor) / (256L / STICK_GAIN) ;  // MartinR : hinzugefügt
1397
        MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN);
1398
        //MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN);
1398
        Mess_Integral_Gier = 0; // MartinR: im HH-Modus alle unbenutzten Integratoren = 0       
1399
        //Mess_Integral_Gier = 0;       // MartinR: im HH-Modus alle unbenutzten Integratoren = 0       //neu: nur Kompass wird bei HH deaktiviert
1399
        Integral_Gier = 0; // MartinR: im HH-Modus alle unbenutzten Integratoren = 0
1400
        //Integral_Gier = 0; // MartinR: im HH-Modus alle unbenutzten Integratoren = 0
1400
        }
1401
        }
1401
        else // MartinR: ACC-Mode  so war es
1402
        else // MartinR: ACC-Mode  so war es
1402
        {
1403
        {
1403
    MesswertNick = IntegralNickMalFaktor + (long)((long)MesswertNick * GyroFaktor + (long)TrimNick * 128L) / (256L / STICK_GAIN);
1404
    MesswertNick = IntegralNickMalFaktor + (long)((long)MesswertNick * GyroFaktor + (long)TrimNick * 128L) / (256L / STICK_GAIN);
1404
    MesswertRoll = IntegralRollMalFaktor + (long)((long)MesswertRoll * GyroFaktor + (long)TrimRoll * 128L) / (256L / STICK_GAIN);
1405
    MesswertRoll = IntegralRollMalFaktor + (long)((long)MesswertRoll * GyroFaktor + (long)TrimRoll * 128L) / (256L / STICK_GAIN);
1405
        MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN) + (long)(Integral_Gier * IntegralFaktorGier) / (2 * (44000 / STICK_GAIN));
1406
        //MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN) + (long)(Integral_Gier * IntegralFaktorGier) / (2 * (44000 / STICK_GAIN));
Line 1406... Line 1407...
1406
        }
1407
        }
Line 1407... Line 1408...
1407
       
1408
       
1408
    //MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN) + (long)(Integral_Gier * IntegralFaktorGier) / (2 * (44000 / STICK_GAIN)); // MartinR so war es
1409
    MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN) + (long)(Integral_Gier * IntegralFaktorGier) / (2 * (44000 / STICK_GAIN));
1409
 
1410
 
1410
    // Maximalwerte abfangen
1411
    // Maximalwerte abfangen