Rev 204 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 204 | Rev 267 | ||
---|---|---|---|
Line 717... | Line 717... | ||
717 | ANALOG_ON; // ADC einschalten |
717 | ANALOG_ON; // ADC einschalten |
718 | } |
718 | } |
719 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
719 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
720 | // Integrale auf ACC-Signal abgleichen |
720 | // Integrale auf ACC-Signal abgleichen |
721 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
721 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
- | 722 | ||
- | 723 | ||
722 | if(IntegralFaktor && !Looping_Nick && !Looping_Roll) |
724 | if(EE_Parameter.GlobalConfig & CFG_GPS_AKTIV) |
723 | { |
725 | { |
724 | tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick); |
726 | tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick) / 16; |
725 | if(labs(Mittelwert_AccNick) < 200) tmp_long /= 8; |
- | |
726 | else tmp_long /= 16; |
- | |
727 | tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll); |
727 | tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll) / 16; |
728 | if(labs(Mittelwert_AccRoll) < 200) tmp_long2 /= 8; |
- | |
729 | else tmp_long2 /= 16; |
- | |
730 | - | ||
731 | #define AUSGLEICH 500 |
728 | #define AUSGLEICH 500 |
732 | if(tmp_long > AUSGLEICH) tmp_long = AUSGLEICH; |
729 | if(tmp_long > AUSGLEICH) tmp_long = AUSGLEICH; |
733 | if(tmp_long < -AUSGLEICH) tmp_long =-AUSGLEICH; |
730 | if(tmp_long < -AUSGLEICH) tmp_long =-AUSGLEICH; |
734 | if(tmp_long2 > AUSGLEICH) tmp_long2 = AUSGLEICH; |
731 | if(tmp_long2 > AUSGLEICH) tmp_long2 = AUSGLEICH; |
735 | if(tmp_long2 <-AUSGLEICH) tmp_long2 =-AUSGLEICH; |
732 | if(tmp_long2 <-AUSGLEICH) tmp_long2 =-AUSGLEICH; |
- | 733 | ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
|
- | 734 | Mess_IntegralNick -= tmp_long; |
|
- | 735 | Mess_IntegralRoll -= tmp_long2; |
|
736 | } |
736 | } |
- | 737 | ||
737 | else |
738 | else |
738 | { |
739 | { |
- | 740 | if(IntegralFaktor && !Looping_Nick && !Looping_Roll) |
|
- | 741 | { |
|
- | 742 | tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick); |
|
- | 743 | if(labs(Mittelwert_AccNick) < 200) tmp_long /= 8; |
|
- | 744 | else tmp_long /= 16; |
|
- | 745 | tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll); |
|
- | 746 | if(labs(Mittelwert_AccRoll) < 200) tmp_long2 /= 8; |
|
- | 747 | else tmp_long2 /= 16; |
|
- | 748 | ||
- | 749 | #define AUSGLEICH 500 |
|
- | 750 | if(tmp_long > AUSGLEICH) tmp_long = AUSGLEICH; |
|
- | 751 | if(tmp_long < -AUSGLEICH) tmp_long =-AUSGLEICH; |
|
- | 752 | if(tmp_long2 > AUSGLEICH) tmp_long2 = AUSGLEICH; |
|
- | 753 | if(tmp_long2 <-AUSGLEICH) tmp_long2 =-AUSGLEICH; |
|
- | 754 | } |
|
- | 755 | ||
- | 756 | else |
|
- | 757 | { |
|
739 | tmp_long = 0; |
758 | tmp_long = 0; |
740 | tmp_long2 = 0; |
759 | tmp_long2 = 0; |
- | 760 | } |
|
- | 761 | ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
|
- | 762 | Mess_IntegralNick -= tmp_long; |
|
- | 763 | Mess_IntegralRoll -= tmp_long2; |
|
741 | } |
764 | } |
742 | ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
- | |
743 | Mess_IntegralNick -= tmp_long; |
- | |
744 | Mess_IntegralRoll -= tmp_long2; |
- | |
745 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
765 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
746 | // Gieren |
766 | // Gieren |
747 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
767 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
748 | if(abs(StickGier) > 20) // war 35 |
768 | if(abs(StickGier) > 20) // war 35 |
749 | { |
769 | { |