957,7 → 957,12 |
// if(GasMischanteil < 35) { if(StickGier > 10) StickGier = 10; else if(StickGier < -10) StickGier = -10;}; |
if(abs(StickGier) > 20) // war 35 |
{ |
if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) { NeueKompassRichtungMerken = 1; KompassSignalSchlecht = 250;}; |
if(!(EE_Parameter.GlobalConfig & CFG_KOMPASS_FIX)) |
{ |
NeueKompassRichtungMerken = 1; |
KompassStartwert = ErsatzKompass; |
KompassSignalSchlecht = 250; |
}; |
} |
tmp_int = (long) EE_Parameter.Gier_P * ((long)StickGier * abs(StickGier)) / 512L; // expo y = ax + bx² |
tmp_int += (EE_Parameter.Gier_P * StickGier) / 4; |
981,7 → 986,7 |
//w /= 4; |
if(v > w) w = v; // grösste Neigung ermitteln |
// if((MaxStickNick > 32) || (MaxStickRoll > 32)) w *= 2; |
korrektur = w + 4; |
korrektur = w / 8 + 1; |
if(w < 25 && NeueKompassRichtungMerken && !KompassSignalSchlecht) |
{ |
KompassStartwert = KompassValue; |
989,7 → 994,7 |
} |
|
fehler = ((540 + KompassValue - (ErsatzKompass/GIER_GRAD_FAKTOR)) % 360) - 180; |
ErsatzKompass += (fehler * 8);// / korrektur; |
ErsatzKompass += (fehler * 8) / korrektur; |
// DebugOut.Analog[10] = fehler; |
w = (w * Parameter_KompassWirkung) / 64; // auf die Wirkung normieren |
w = Parameter_KompassWirkung - w; // Wirkung ggf drosseln |