Rev 116 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 116 | Rev 117 | ||
---|---|---|---|
Line 140... | Line 140... | ||
140 | if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset(); |
140 | if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset(); |
141 | } |
141 | } |
142 | AdNeutralNick= abs(MesswertNick); |
142 | AdNeutralNick= abs(MesswertNick); |
143 | AdNeutralRoll= abs(MesswertRoll); |
143 | AdNeutralRoll= abs(MesswertRoll); |
144 | AdNeutralGier= abs(MesswertGier); |
144 | AdNeutralGier= abs(MesswertGier); |
- | 145 | // Salvo 1.9.2007 ACC mit festen neutralwerten ***** |
|
- | 146 | if (ACC_NEUTRAL_FIXED > 0) |
|
- | 147 | { |
|
- | 148 | NeutralAccX = ACC_X_NEUTRAL; |
|
- | 149 | NeutralAccY = ACC_Y_NEUTRAL; |
|
- | 150 | // NeutralAccZ = ACC_Z_NEUTRAL; |
|
- | 151 | } |
|
- | 152 | else |
|
- | 153 | { // Automatisch bei Offsetabgleich ermitteln |
|
145 | NeutralAccY = abs(Mittelwert_AccRoll) / ACC_AMPLIFY; |
154 | NeutralAccY = abs(Mittelwert_AccRoll) / ACC_AMPLIFY; |
146 | NeutralAccX = abs(Mittelwert_AccNick) / ACC_AMPLIFY; |
155 | NeutralAccX = abs(Mittelwert_AccNick) / ACC_AMPLIFY; |
- | 156 | } |
|
- | 157 | // Salvo End |
|
147 | NeutralAccZ = Aktuell_az; |
158 | NeutralAccZ = Aktuell_az; |
148 | - | ||
149 | Mess_IntegralNick = 0; |
159 | Mess_IntegralNick = 0; |
150 | Mess_IntegralNick2 = 0; |
160 | Mess_IntegralNick2 = 0; |
151 | Mess_IntegralRoll = 0; |
161 | Mess_IntegralRoll = 0; |
152 | Mess_IntegralRoll2 = 0; |
162 | Mess_IntegralRoll2 = 0; |
153 | Mess_Integral_Gier = 0; |
163 | Mess_Integral_Gier = 0; |
Line 594... | Line 604... | ||
594 | ZaehlMessungen = 0; |
604 | ZaehlMessungen = 0; |
595 | if(IntegralFehlerNick > 500/DRIFT_FAKTOR) AdNeutralNick++; |
605 | if(IntegralFehlerNick > 500/DRIFT_FAKTOR) AdNeutralNick++; |
596 | if(IntegralFehlerNick < -500/DRIFT_FAKTOR) AdNeutralNick--; |
606 | if(IntegralFehlerNick < -500/DRIFT_FAKTOR) AdNeutralNick--; |
597 | if(IntegralFehlerRoll > 500/DRIFT_FAKTOR) AdNeutralRoll++; |
607 | if(IntegralFehlerRoll > 500/DRIFT_FAKTOR) AdNeutralRoll++; |
598 | if(IntegralFehlerRoll < -500/DRIFT_FAKTOR) AdNeutralRoll--; |
608 | if(IntegralFehlerRoll < -500/DRIFT_FAKTOR) AdNeutralRoll--; |
599 | //Salvo 31.8.2007 Abgleich Giergyro nur wenn Kompass aktiv und ok ist *********************** |
609 | // Salvo 31.8.2007 Abgleich Giergyro nur wenn Kompass aktiv und ok ist *********************** |
- | 610 | // Ohne Kompass wird die Gyrodrift durch die Driftkompensation nur verschlimmert |
|
- | 611 | // Ohne Driftkompensation ist die Gierachse wesentlich stabiler |
|
600 | if ((EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) && (!SignalSchlecht)) |
612 | if ((EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV) && (!SignalSchlecht)) |
601 | { |
613 | { |
602 | if(Mess_Integral_Gier2 > 500/DRIFT_FAKTOR) AdNeutralGier--; |
614 | if(Mess_Integral_Gier2 > 500/DRIFT_FAKTOR) AdNeutralGier--; |
603 | if(Mess_Integral_Gier2 <-500/DRIFT_FAKTOR) AdNeutralGier++; |
615 | if(Mess_Integral_Gier2 <-500/DRIFT_FAKTOR) AdNeutralGier++; |
604 | } |
616 | } |
605 | else |
617 | else |
606 | { |
618 | { |
607 | Mess_Integral_Gier2 = 0; |
619 | Mess_Integral_Gier2 = 0; |
608 | } |
620 | } |
609 | - | ||
610 | // Salvo End *********************** |
621 | // Salvo End *********************** |
611 | ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
622 | ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
612 | Mess_IntegralNick2 = IntegralNick; |
623 | Mess_IntegralNick2 = IntegralNick; |
613 | Mess_IntegralRoll2 = IntegralRoll; |
624 | Mess_IntegralRoll2 = IntegralRoll; |
614 | Mess_Integral_Gier2 = Integral_Gier; |
625 | Mess_Integral_Gier2 = Integral_Gier; |