Rev 1658 | Rev 1662 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1658 | Rev 1660 | ||
---|---|---|---|
Line 171... | Line 171... | ||
171 | { |
171 | { |
172 | DebugOut.Analog[0] = IntegralNick / (EE_Parameter.GyroAccFaktor * 4); |
172 | DebugOut.Analog[0] = IntegralNick / (EE_Parameter.GyroAccFaktor * 4); |
173 | DebugOut.Analog[1] = IntegralRoll / (EE_Parameter.GyroAccFaktor * 4); |
173 | DebugOut.Analog[1] = IntegralRoll / (EE_Parameter.GyroAccFaktor * 4); |
174 | DebugOut.Analog[2] = Mittelwert_AccNick / 4; |
174 | DebugOut.Analog[2] = Mittelwert_AccNick / 4; |
175 | DebugOut.Analog[3] = Mittelwert_AccRoll / 4; |
175 | DebugOut.Analog[3] = Mittelwert_AccRoll / 4; |
176 | DebugOut.Analog[4] = MesswertGier; |
176 | DebugOut.Analog[4] = (signed int) AdNeutralGier - AdWertGier; |
177 | DebugOut.Analog[5] = HoehenWert/5; |
177 | DebugOut.Analog[5] = HoehenWert/5; |
178 | DebugOut.Analog[6] = (Mess_Integral_Hoch / 512);//AdWertAccHoch;// Aktuell_az;//(Mess_Integral_Hoch / 512);//Aktuell_az; |
178 | DebugOut.Analog[6] = (Mess_Integral_Hoch / 512);//AdWertAccHoch;// Aktuell_az;//(Mess_Integral_Hoch / 512);//Aktuell_az; |
179 | DebugOut.Analog[8] = KompassValue; |
179 | DebugOut.Analog[8] = KompassValue; |
180 | DebugOut.Analog[9] = UBat; |
180 | DebugOut.Analog[9] = UBat; |
181 | DebugOut.Analog[10] = SenderOkay; |
181 | DebugOut.Analog[10] = SenderOkay; |
Line 327... | Line 327... | ||
327 | Mess_Integral_Gier = 0; |
327 | Mess_Integral_Gier = 0; |
328 | StartLuftdruck = Luftdruck; |
328 | StartLuftdruck = Luftdruck; |
329 | VarioMeter = 0; |
329 | VarioMeter = 0; |
330 | Mess_Integral_Hoch = 0; |
330 | Mess_Integral_Hoch = 0; |
331 | KompassStartwert = KompassValue; |
331 | KompassStartwert = KompassValue; |
332 | ControlHeading = KompassValue / 15; |
- | |
333 | GPS_Neutral(); |
332 | GPS_Neutral(); |
334 | beeptime = 50; |
333 | beeptime = 50; |
335 | Umschlag180Nick = ((long) EE_Parameter.WinkelUmschlagNick * 2500L) + 15000L; |
334 | Umschlag180Nick = ((long) EE_Parameter.WinkelUmschlagNick * 2500L) + 15000L; |
336 | Umschlag180Roll = ((long) EE_Parameter.WinkelUmschlagRoll * 2500L) + 15000L; |
335 | Umschlag180Roll = ((long) EE_Parameter.WinkelUmschlagRoll * 2500L) + 15000L; |
337 | ExternHoehenValue = 0; |
336 | ExternHoehenValue = 0; |
Line 770... | Line 769... | ||
770 | Mess_IntegralNick2 = IntegralNick; |
769 | Mess_IntegralNick2 = IntegralNick; |
771 | Mess_IntegralRoll2 = IntegralRoll; |
770 | Mess_IntegralRoll2 = IntegralRoll; |
772 | SummeNick = 0; |
771 | SummeNick = 0; |
773 | SummeRoll = 0; |
772 | SummeRoll = 0; |
774 | FCFlags |= FCFLAG_START; |
773 | FCFlags |= FCFLAG_START; |
- | 774 | ControlHeading = KompassValue / 15; |
|
775 | } |
775 | } |
776 | else |
776 | else |
777 | { |
777 | { |
778 | beeptime = 1500; // indicate missing calibration |
778 | beeptime = 1500; // indicate missing calibration |
779 | } |
779 | } |
Line 1203... | Line 1203... | ||
1203 | w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln |
1203 | w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln |
1204 | v = abs(IntegralRoll /512); |
1204 | v = abs(IntegralRoll /512); |
1205 | if(v > w) w = v; // grösste Neigung ermitteln |
1205 | if(v > w) w = v; // grösste Neigung ermitteln |
1206 | korrektur = w / 8 + 2; |
1206 | korrektur = w / 8 + 2; |
1207 | fehler = ((540 + KompassValue - (ErsatzKompass/GIER_GRAD_FAKTOR)) % 360) - 180; |
1207 | fehler = ((540 + KompassValue - (ErsatzKompass/GIER_GRAD_FAKTOR)) % 360) - 180; |
1208 | if(abs(MesswertGier) > 128) |
1208 | fehler += MesswertGier / 12; |
1209 | { |
- | |
1210 | // korrektur = korrektur = w / 16 + 2; // schnell konvergieren |
- | |
1211 | } |
1209 | |
1212 | if(!KompassSignalSchlecht && w < 25) |
1210 | if(!KompassSignalSchlecht && w < 25) |
1213 | { |
1211 | { |
1214 | GierGyroFehler += fehler; |
1212 | GierGyroFehler += fehler; |
1215 | if(NeueKompassRichtungMerken) |
1213 | if(NeueKompassRichtungMerken) |
1216 | { |
1214 | { |