Rev 554 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 554 | Rev 559 | ||
---|---|---|---|
Line 342... | Line 342... | ||
342 | MesswertNick = AdWertNick; |
342 | MesswertNick = AdWertNick; |
343 | MesswertRoll = AdWertRoll; |
343 | MesswertRoll = AdWertRoll; |
344 | MesswertGier = AdWertGier; |
344 | MesswertGier = AdWertGier; |
345 | Mittelwert_AccNick = ACC_AMPLIFY * (long)AdWertAccNick; |
345 | Mittelwert_AccNick = ACC_AMPLIFY * (long)AdWertAccNick; |
346 | Mittelwert_AccRoll = ACC_AMPLIFY * (long)AdWertAccRoll; |
346 | Mittelwert_AccRoll = ACC_AMPLIFY * (long)AdWertAccRoll; |
347 | Mittelwert_AccHoch = (long)AdWertAccHoch; |
347 | Mittelwert_AccHoch = AdWertAccHoch; |
348 | // ADC einschalten |
348 | // ADC einschalten |
349 | ANALOG_ON; |
349 | ANALOG_ON; |
350 | if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--; |
350 | if(Poti1 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110) Poti1++; else if(Poti1 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]] + 110 && Poti1) Poti1--; |
351 | if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--; |
351 | if(Poti2 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110) Poti2++; else if(Poti2 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]] + 110 && Poti2) Poti2--; |
352 | if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--; |
352 | if(Poti3 < PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110) Poti3++; else if(Poti3 > PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]] + 110 && Poti3) Poti3--; |
Line 1102... | Line 1102... | ||
1102 | if(SummeNick > 0) SummeNick-= 2 ; else SummeNick += 2 ; |
1102 | if(SummeNick > 0) SummeNick-= 2 ; else SummeNick += 2 ; |
1103 | if(SummeNick > 16000) SummeNick = 16000; |
1103 | if(SummeNick > 16000) SummeNick = 16000; |
1104 | if(SummeNick < -16000) SummeNick = -16000; |
1104 | if(SummeNick < -16000) SummeNick = -16000; |
1105 | pd_ergebnis = DiffNick + Ki * SummeNick; // PI-Regler für Nick |
1105 | pd_ergebnis = DiffNick + Ki * SummeNick; // PI-Regler für Nick |
1106 | // Motor Vorn |
1106 | // Motor Vorn |
1107 | tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64; |
1107 | tmp_int = ((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64; |
1108 | if(pd_ergebnis > tmp_int) pd_ergebnis = tmp_int; |
1108 | if(pd_ergebnis > tmp_int) pd_ergebnis = tmp_int; |
1109 | if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int; |
1109 | if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int; |
Line 1110... | Line 1110... | ||
1110 | 1110 | ||
1111 | motorwert = GasMischanteil + pd_ergebnis + GierMischanteil; // Mischer |
1111 | motorwert = GasMischanteil + pd_ergebnis + GierMischanteil; // Mischer |
Line 1127... | Line 1127... | ||
1127 | else SummeRoll += DiffRoll; // I-Anteil bei HH |
1127 | else SummeRoll += DiffRoll; // I-Anteil bei HH |
1128 | if(SummeRoll > 0) SummeRoll-= 2 ; else SummeRoll += 2 ; |
1128 | if(SummeRoll > 0) SummeRoll-= 2 ; else SummeRoll += 2 ; |
1129 | if(SummeRoll > 16000) SummeRoll = 16000; |
1129 | if(SummeRoll > 16000) SummeRoll = 16000; |
1130 | if(SummeRoll < -16000) SummeRoll = -16000; |
1130 | if(SummeRoll < -16000) SummeRoll = -16000; |
1131 | pd_ergebnis = DiffRoll + Ki * SummeRoll; // PI-Regler für Roll |
1131 | pd_ergebnis = DiffRoll + Ki * SummeRoll; // PI-Regler für Roll |
1132 | tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64; |
1132 | tmp_int = ((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64; |
1133 | if(pd_ergebnis > tmp_int) pd_ergebnis = tmp_int; |
1133 | if(pd_ergebnis > tmp_int) pd_ergebnis = tmp_int; |
1134 | if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int; |
1134 | if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int; |
1135 | // Motor Links |
1135 | // Motor Links |
1136 | motorwert = GasMischanteil + pd_ergebnis - GierMischanteil; |
1136 | motorwert = GasMischanteil + pd_ergebnis - GierMischanteil; |
1137 | if ((motorwert < 0)) motorwert = 0; |
1137 | if ((motorwert < 0)) motorwert = 0; |