Rev 1888 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1888 | Rev 1892 | ||
---|---|---|---|
Line 123... | Line 123... | ||
123 | unsigned char Parameter_Gyro_D = 8; // Wert : 0-250 |
123 | unsigned char Parameter_Gyro_D = 8; // Wert : 0-250 |
124 | unsigned char Parameter_Gyro_P = 150; // Wert : 10-250 |
124 | unsigned char Parameter_Gyro_P = 150; // Wert : 10-250 |
125 | unsigned char Parameter_Gyro_I = 150; // Wert : 0-250 |
125 | unsigned char Parameter_Gyro_I = 150; // Wert : 0-250 |
126 | unsigned char Parameter_Gyro_Gier_P = 150; // Wert : 10-250 |
126 | unsigned char Parameter_Gyro_Gier_P = 150; // Wert : 10-250 |
127 | unsigned char Parameter_Gyro_Gier_I = 150; // Wert : 10-250 |
127 | unsigned char Parameter_Gyro_Gier_I = 150; // Wert : 10-250 |
128 | unsigned char Parameter_Gier_P = 2; // Wert : 1-20 |
128 | unsigned char Parameter_Gier_P = 2; // Wert : 1-20 // MartinR: deaktivieren, da unbenutzt?? |
129 | unsigned char Parameter_I_Faktor = 10; // Wert : 1-20 |
129 | unsigned char Parameter_I_Faktor = 10; // Wert : 1-20 |
130 | unsigned char Parameter_UserParam1 = 0; |
130 | unsigned char Parameter_UserParam1 = 0; |
131 | unsigned char Parameter_UserParam2 = 0; |
131 | unsigned char Parameter_UserParam2 = 0; |
132 | unsigned char Parameter_UserParam3 = 0; |
132 | unsigned char Parameter_UserParam3 = 0; |
133 | unsigned char Parameter_UserParam4 = 0; |
133 | unsigned char Parameter_UserParam4 = 0; |
Line 195... | Line 195... | ||
195 | DebugOut.Analog[11] = ErsatzKompass / GIER_GRAD_FAKTOR; |
195 | DebugOut.Analog[11] = ErsatzKompass / GIER_GRAD_FAKTOR; |
196 | DebugOut.Analog[12] = Motor[0].SetPoint; |
196 | DebugOut.Analog[12] = Motor[0].SetPoint; |
197 | DebugOut.Analog[13] = Motor[1].SetPoint; |
197 | DebugOut.Analog[13] = Motor[1].SetPoint; |
198 | DebugOut.Analog[14] = Motor[2].SetPoint; |
198 | DebugOut.Analog[14] = Motor[2].SetPoint; |
199 | DebugOut.Analog[15] = Motor[3].SetPoint; |
199 | DebugOut.Analog[15] = Motor[3].SetPoint; |
- | 200 | ||
200 | //DebugOut.Analog[16] = DiffNick; // MartinR: test |
201 | //DebugOut.Analog[16] = FromNC_Rotate_C; // MartinR: test |
201 | //DebugOut.Analog[17] = DiffRoll; // MartinR: test |
202 | //DebugOut.Analog[17] = FromNC_Rotate_S; // MartinR: test |
202 | //DebugOut.Analog[18] = MesswertNick; // MartinR: test |
203 | //DebugOut.Analog[18] = ControlHeading; // MartinR: test |
203 | //DebugOut.Analog[19] = MesswertRoll; // MartinR: test |
204 | //DebugOut.Analog[19] = MesswertRoll; // MartinR: test |
204 | DebugOut.Analog[20] = ServoNickValue; |
205 | DebugOut.Analog[20] = ServoNickValue; |
205 | DebugOut.Analog[22] = Capacity.ActualCurrent; |
206 | DebugOut.Analog[22] = Capacity.ActualCurrent; |
206 | DebugOut.Analog[23] = Capacity.UsedCapacity; |
207 | DebugOut.Analog[23] = Capacity.UsedCapacity; |
207 | DebugOut.Analog[24] = SollHoehe/5; |
208 | DebugOut.Analog[24] = SollHoehe/5; |
Line 430... | Line 431... | ||
430 | tmpl4 *= Parameter_AchsKopplung2; //65 |
431 | tmpl4 *= Parameter_AchsKopplung2; //65 |
431 | tmpl4 /= 4096L; |
432 | tmpl4 /= 4096L; |
432 | KopplungsteilNickRoll = tmpl3; |
433 | KopplungsteilNickRoll = tmpl3; |
433 | KopplungsteilRollNick = tmpl4; |
434 | KopplungsteilRollNick = tmpl4; |
434 | tmpl4 -= tmpl3; |
435 | tmpl4 -= tmpl3; |
- | 436 | if(IntegralFaktor) // MartinR: nur im ACC-Mode |
|
- | 437 | { |
|
435 | ErsatzKompass += tmpl4; |
438 | ErsatzKompass += tmpl4; |
436 | if(!Parameter_CouplingYawCorrection) Mess_Integral_Gier -= tmpl4/2; // Gier nachhelfen |
439 | if(!Parameter_CouplingYawCorrection) Mess_Integral_Gier -= tmpl4/2; // Gier nachhelfen |
437 | 440 | } |
|
438 | tmpl = ((MesswertGier + tmpl4) * winkel_nick) / 2048L; |
441 | tmpl = ((MesswertGier + tmpl4) * winkel_nick) / 2048L; |
439 | tmpl *= Parameter_AchsKopplung1; // 90 |
442 | tmpl *= Parameter_AchsKopplung1; // 90 |
440 | tmpl /= 4096L; |
443 | tmpl /= 4096L; |
441 | tmpl2 = ((MesswertGier + tmpl4) * winkel_roll) / 2048L; |
444 | tmpl2 = ((MesswertGier + tmpl4) * winkel_roll) / 2048L; |
442 | tmpl2 *= Parameter_AchsKopplung1; |
445 | tmpl2 *= Parameter_AchsKopplung1; |
Line 955... | Line 958... | ||
955 | // MartinR: geändert Ende |
958 | // MartinR: geändert Ende |
Line 956... | Line 959... | ||
956 | 959 | ||
957 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
960 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
958 | // CareFree und freie Wahl der vorderen Richtung |
961 | // CareFree und freie Wahl der vorderen Richtung |
959 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
962 | // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
- | 963 | //if(CareFree) // MartinR: so war es |
|
960 | if(CareFree) |
964 | if(CareFree && IntegralFaktor) // MartinR: CareFree nur im ACC-Mode |
961 | { |
965 | { |
962 | signed int nick, roll; |
966 | signed int nick, roll; |
963 | nick = stick_nick / 4; |
967 | nick = stick_nick / 4; |
964 | roll = stick_roll / 4; |
968 | roll = stick_roll / 4; |
Line 1091... | Line 1095... | ||
1091 | MittelIntegralNick2 += IntegralNick2; |
1095 | MittelIntegralNick2 += IntegralNick2; |
1092 | MittelIntegralRoll2 += IntegralRoll2; |
1096 | MittelIntegralRoll2 += IntegralRoll2; |
Line 1093... | Line 1097... | ||
1093 | 1097 | ||
1094 | // if(Looping_Nick || Looping_Roll) // MartinR: so war es |
1098 | // if(Looping_Nick || Looping_Roll) // MartinR: so war es |
1095 | //if(Looping_Nick || Looping_Roll || (!IntegralFaktor & (Parameter_UserParam1 < 50) & !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD))) // MartinR: erweitert |
1099 | //if(Looping_Nick || Looping_Roll || (!IntegralFaktor & (Parameter_UserParam1 < 50) & !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD))) // MartinR: erweitert |
1096 | if((!IntegralFaktor & (Parameter_UserParam1 < 50) & !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD))) // MartinR: Looping deaktiviert |
1100 | if((!IntegralFaktor && (Parameter_UserParam1 < 50) && !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD))) // MartinR: Looping deaktiviert |
1097 | { |
1101 | { |
1098 | IntegralAccNick = 0; |
1102 | IntegralAccNick = 0; |
1099 | IntegralAccRoll = 0; |
1103 | IntegralAccRoll = 0; |
1100 | MittelIntegralNick = 0; |
1104 | MittelIntegralNick = 0; |
Line 1106... | Line 1110... | ||
1106 | ZaehlMessungen = 0; |
1110 | ZaehlMessungen = 0; |
1107 | LageKorrekturNick = 0; |
1111 | LageKorrekturNick = 0; |
1108 | LageKorrekturRoll = 0; |
1112 | LageKorrekturRoll = 0; |
1109 | } |
1113 | } |
Line 1110... | Line 1114... | ||
1110 | 1114 | ||
1111 | if((!IntegralFaktor & (Parameter_UserParam1 < 50) & !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD)) ) // MartinR: |
1115 | if((!IntegralFaktor && (Parameter_UserParam1 < 50) && !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD)) ) // MartinR: |
1112 | // nur im Moment des Umschaltens von HH auf ACC erfolgt ein Reset der Integrale, nicht aber bei normalem HH |
1116 | // nur im Moment des Umschaltens von HH auf ACC erfolgt ein Reset der Integrale, nicht aber bei normalem HH |
1113 | // um einen im HH-Mode eventuell schwindelig geflogenen ACC_Mode zu resetten! |
1117 | // um einen im HH-Mode eventuell schwindelig geflogenen ACC_Mode zu resetten! |
1114 | // bis zur Umschaltung werden die Integrale für den Kameraausgleich verwendet |
1118 | // bis zur Umschaltung werden die Integrale für den Kameraausgleich verwendet |