Rev 831 | Rev 847 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 831 | Rev 846 | ||
---|---|---|---|
Line 484... | Line 484... | ||
484 | RcLostTimer = EE_Parameter.NotGasZeit * 50; |
484 | RcLostTimer = EE_Parameter.NotGasZeit * 50; |
485 | if(GasMischanteil > 40) |
485 | if(GasMischanteil > 40) |
486 | { |
486 | { |
487 | if(modell_fliegt < 0xffff) modell_fliegt++; |
487 | if(modell_fliegt < 0xffff) modell_fliegt++; |
488 | } |
488 | } |
489 | if((modell_fliegt < 200))// || (GasMischanteil < 40)) |
489 | if((modell_fliegt < 200)) |
490 | { |
490 | { |
491 | SummeNick = 0; |
491 | SummeNick = 0; |
492 | SummeRoll = 0; |
492 | SummeRoll = 0; |
493 | // StickGier = 0; |
493 | // StickGier = 0; |
494 | // Mess_Integral_Gier = 0; |
494 | // Mess_Integral_Gier = 0; |
Line 973... | Line 973... | ||
973 | if(Mess_Integral_Gier <-50000) Mess_Integral_Gier =-50000; |
973 | if(Mess_Integral_Gier <-50000) Mess_Integral_Gier =-50000; |
Line 974... | Line 974... | ||
974 | 974 | ||
975 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
975 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
976 | // Kompass |
976 | // Kompass |
977 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
977 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
Line 978... | Line 978... | ||
978 | DebugOut.Analog[29] = (MaxStickNick + MaxStickRoll); |
978 | //DebugOut.Analog[29] = (MaxStickNick + MaxStickRoll); |
979 | 979 | ||
980 | if(KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV)) |
980 | if(KompassValue && (EE_Parameter.GlobalConfig & CFG_KOMPASS_AKTIV)) |
981 | { |
981 | { |
Line 999... | Line 999... | ||
999 | { |
999 | { |
1000 | if(!KompassSignalSchlecht) |
1000 | if(!KompassSignalSchlecht) |
1001 | { |
1001 | { |
1002 | GierGyroFehler += fehler; |
1002 | GierGyroFehler += fehler; |
1003 | v = 64 + ((MaxStickNick + MaxStickRoll)) / 8; |
1003 | v = 64 + ((MaxStickNick + MaxStickRoll)) / 8; |
1004 | //r = ((540 + (ErsatzKompass/GIER_GRAD_FAKTOR) - KompassStartwert) % 360) - 180; |
- | |
1005 | r = KompassRichtung; |
1004 | r = KompassRichtung; |
1006 | v = (r * w) / v; // nach Kompass ausrichten |
1005 | v = (r * w) / v; // nach Kompass ausrichten |
1007 | w = 3 * Parameter_KompassWirkung; |
1006 | w = 3 * Parameter_KompassWirkung; |
1008 | if(v > w) v = w; // Begrenzen |
1007 | if(v > w) v = w; // Begrenzen |
1009 | else |
1008 | else |
Line 1041... | Line 1040... | ||
1041 | DebugOut.Analog[19] = WinkelOut.CalcState; |
1040 | DebugOut.Analog[19] = WinkelOut.CalcState; |
Line 1042... | Line 1041... | ||
1042 | 1041 | ||
1043 | DebugOut.Analog[30] = GPS_Nick; |
1042 | DebugOut.Analog[30] = GPS_Nick; |
Line 1044... | Line -... | ||
1044 | DebugOut.Analog[31] = GPS_Roll; |
- | |
1045 | - | ||
1046 | /* DebugOut.Analog[19] += (DebugOut.Analog[1] - Mittelwert_AccRoll)/32; |
- | |
1047 | DebugOut.Analog[19] -= DebugOut.Analog[19]/32; |
- | |
1048 | if(DebugOut.Analog[19] > 0) DebugOut.Analog[19]--; else DebugOut.Analog[19]++; |
- | |
1049 | GPS_Roll2 = (1 * GPS_Roll + ((DebugOut.Analog[19] / 16) * Poti3) / 32) / 2; |
- | |
1050 | - | ||
1051 | DebugOut.Analog[20] += (DebugOut.Analog[0] - Mittelwert_AccNick)/32; |
- | |
1052 | DebugOut.Analog[20] -= DebugOut.Analog[20]/32; |
- | |
1053 | if(DebugOut.Analog[20] > 0) DebugOut.Analog[20]--; else DebugOut.Analog[20]++; |
- | |
1054 | GPS_Nick2 = (1 * GPS_Roll + ((DebugOut.Analog[20] / 16) * Poti3) / 32) / 2; |
- | |
1055 | */ |
- | |
Line 1056... | Line 1043... | ||
1056 | //GPS_Nick = (GPS_Nick + (DebugOut.Analog[20] * Poti3) / 32) / 2; |
1043 | DebugOut.Analog[31] = GPS_Roll; |
1057 | 1044 | ||
Line 1058... | Line 1045... | ||
1058 | 1045 | ||
Line 1084... | Line 1071... | ||
1084 | } |
1071 | } |
Line 1085... | Line 1072... | ||
1085 | 1072 | ||
1086 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1073 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1087 | // Drehgeschwindigkeit und -winkel zu einem Istwert zusammenfassen |
1074 | // Drehgeschwindigkeit und -winkel zu einem Istwert zusammenfassen |
1088 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
- | |
1089 | //DebugOut.Analog[26] = MesswertNick; |
- | |
Line 1090... | Line 1075... | ||
1090 | //DebugOut.Analog[28] = MesswertRoll; |
1075 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1091 | 1076 | ||
1092 | if(Looping_Nick) MesswertNick = MesswertNick * GyroFaktor; |
1077 | if(Looping_Nick) MesswertNick = MesswertNick * GyroFaktor; |
1093 | else MesswertNick = IntegralNick * IntegralFaktor + MesswertNick * GyroFaktor; |
1078 | else MesswertNick = IntegralNick * IntegralFaktor + MesswertNick * GyroFaktor; |
1094 | if(Looping_Roll) MesswertRoll = MesswertRoll * GyroFaktor; |
1079 | if(Looping_Roll) MesswertRoll = MesswertRoll * GyroFaktor; |
Line 1095... | Line -... | ||
1095 | else MesswertRoll = IntegralRoll * IntegralFaktor + MesswertRoll * GyroFaktor; |
- | |
1096 | MesswertGier = MesswertGier * (2 * GyroFaktor) + Integral_Gier * IntegralFaktor / 2; |
- | |
1097 | - | ||
1098 | /* |
- | |
1099 | DebugOut.Analog[25] = IntegralRoll * IntegralFaktor; |
- | |
1100 | DebugOut.Analog[31] = StickRoll;// / (26*IntegralFaktor); |
1080 | else MesswertRoll = IntegralRoll * IntegralFaktor + MesswertRoll * GyroFaktor; |
1101 | DebugOut.Analog[28] = MesswertRoll; |
1081 | MesswertGier = MesswertGier * (2 * GyroFaktor) + Integral_Gier * IntegralFaktor / 2; |
1102 | */ |
1082 | |
1103 | // Maximalwerte abfangen |
1083 | // Maximalwerte abfangen |
1104 | #define MAX_SENSOR 2048 |
1084 | #define MAX_SENSOR 2048 |
Line 1164... | Line 1144... | ||
1164 | // Gier-Anteil |
1144 | // Gier-Anteil |
1165 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1145 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1166 | #define MUL_G 1.0 |
1146 | #define MUL_G 1.0 |
1167 | GierMischanteil = MesswertGier - sollGier; // Regler für Gier |
1147 | GierMischanteil = MesswertGier - sollGier; // Regler für Gier |
1168 | // GierMischanteil = 0; |
1148 | // GierMischanteil = 0; |
1169 | #define MIN_GIERGAS 30 // unter diesem Gaswert trotzdem Gieren |
1149 | #define MIN_GIERGAS 35 // unter diesem Gaswert trotzdem Gieren |
1170 | if(GasMischanteil > MIN_GIERGAS) |
1150 | if(GasMischanteil > MIN_GIERGAS) |
1171 | { |
1151 | { |
1172 | if(GierMischanteil > (GasMischanteil / 2)) GierMischanteil = GasMischanteil / 2; |
1152 | if(GierMischanteil > (GasMischanteil / 2)) GierMischanteil = GasMischanteil / 2; |
1173 | if(GierMischanteil < -(GasMischanteil / 2)) GierMischanteil = -(GasMischanteil / 2); |
1153 | if(GierMischanteil < -(GasMischanteil / 2)) GierMischanteil = -(GasMischanteil / 2); |
1174 | } |
1154 | } |
Line 1178... | Line 1158... | ||
1178 | if(GierMischanteil < -(MIN_GIERGAS / 2)) GierMischanteil = -(MIN_GIERGAS / 2); |
1158 | if(GierMischanteil < -(MIN_GIERGAS / 2)) GierMischanteil = -(MIN_GIERGAS / 2); |
1179 | } |
1159 | } |
1180 | if(GierMischanteil > ((MAX_GAS - GasMischanteil))) GierMischanteil = ((MAX_GAS - GasMischanteil)); |
1160 | if(GierMischanteil > ((MAX_GAS - GasMischanteil))) GierMischanteil = ((MAX_GAS - GasMischanteil)); |
1181 | if(GierMischanteil < -((MAX_GAS - GasMischanteil))) GierMischanteil = -((MAX_GAS - GasMischanteil)); |
1161 | if(GierMischanteil < -((MAX_GAS - GasMischanteil))) GierMischanteil = -((MAX_GAS - GasMischanteil)); |
Line 1182... | Line -... | ||
1182 | - | ||
1183 | // if(GasMischanteil < 20) GierMischanteil = 0; |
1162 | |
1184 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1163 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1185 | // Nick-Achse |
1164 | // Nick-Achse |
1186 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1165 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1187 | DiffNick = MesswertNick - StickNick; // Differenz bestimmen |
1166 | DiffNick = MesswertNick - StickNick; // Differenz bestimmen |