858,7 → 858,6 |
if(EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) |
{ |
int w,v; |
static char SignalSchlecht = 0; |
|
if (!updKompass--) // Aufruf mit ~10 Hz |
{ |
869,7 → 868,7 |
w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln |
v = abs(IntegralRoll /512); |
if (v > w) w = v; // grösste Neigung ermitteln |
if (w < 40 && NeueKompassRichtungMerken && !SignalSchlecht) |
if (w < 40 && NeueKompassRichtungMerken) |
{ |
KompassStartwert = KompassValue; |
NeueKompassRichtungMerken = 0; |
878,10 → 877,9 |
w = Parameter_KompassWirkung - w; // Wirkung ggf drosseln |
if (w > 0) |
{ |
if (!SignalSchlecht) Mess_Integral_Gier += (KompassRichtung * w) / 32; // nach Kompass ausrichten |
else SignalSchlecht--; |
Mess_Integral_Gier += (KompassRichtung * w) / 32; // nach Kompass ausrichten |
} |
else SignalSchlecht = 250; // so lange das Signal taub stellen --> ca. 1/2 sek |
else beeptime = 500; |
} |
} |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |