125,7 → 125,7 |
unsigned char Parameter_Gyro_I = 150; // Wert : 0-250 |
unsigned char Parameter_Gyro_Gier_P = 150; // Wert : 10-250 |
unsigned char Parameter_Gyro_Gier_I = 150; // Wert : 10-250 |
unsigned char Parameter_Gier_P = 2; // Wert : 1-20 |
unsigned char Parameter_Gier_P = 2; // Wert : 1-20 // MartinR: deaktivieren, da unbenutzt?? |
unsigned char Parameter_I_Faktor = 10; // Wert : 1-20 |
unsigned char Parameter_UserParam1 = 0; |
unsigned char Parameter_UserParam2 = 0; |
197,9 → 197,10 |
DebugOut.Analog[13] = Motor[1].SetPoint; |
DebugOut.Analog[14] = Motor[2].SetPoint; |
DebugOut.Analog[15] = Motor[3].SetPoint; |
//DebugOut.Analog[16] = DiffNick; // MartinR: test |
//DebugOut.Analog[17] = DiffRoll; // MartinR: test |
//DebugOut.Analog[18] = MesswertNick; // MartinR: test |
|
//DebugOut.Analog[16] = FromNC_Rotate_C; // MartinR: test |
//DebugOut.Analog[17] = FromNC_Rotate_S; // MartinR: test |
//DebugOut.Analog[18] = ControlHeading; // MartinR: test |
//DebugOut.Analog[19] = MesswertRoll; // MartinR: test |
DebugOut.Analog[20] = ServoNickValue; |
DebugOut.Analog[22] = Capacity.ActualCurrent; |
432,9 → 433,11 |
KopplungsteilNickRoll = tmpl3; |
KopplungsteilRollNick = tmpl4; |
tmpl4 -= tmpl3; |
if(IntegralFaktor) // MartinR: nur im ACC-Mode |
{ |
ErsatzKompass += tmpl4; |
if(!Parameter_CouplingYawCorrection) Mess_Integral_Gier -= tmpl4/2; // Gier nachhelfen |
|
} |
tmpl = ((MesswertGier + tmpl4) * winkel_nick) / 2048L; |
tmpl *= Parameter_AchsKopplung1; // 90 |
tmpl /= 4096L; |
957,7 → 960,8 |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// CareFree und freie Wahl der vorderen Richtung |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
if(CareFree) |
//if(CareFree) // MartinR: so war es |
if(CareFree && IntegralFaktor) // MartinR: CareFree nur im ACC-Mode |
{ |
signed int nick, roll; |
nick = stick_nick / 4; |
1093,7 → 1097,7 |
|
// if(Looping_Nick || Looping_Roll) // MartinR: so war es |
//if(Looping_Nick || Looping_Roll || (!IntegralFaktor & (Parameter_UserParam1 < 50) & !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD))) // MartinR: erweitert |
if((!IntegralFaktor & (Parameter_UserParam1 < 50) & !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD))) // MartinR: Looping deaktiviert |
if((!IntegralFaktor && (Parameter_UserParam1 < 50) && !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD))) // MartinR: Looping deaktiviert |
{ |
IntegralAccNick = 0; |
IntegralAccRoll = 0; |
1108,7 → 1112,7 |
LageKorrekturRoll = 0; |
} |
|
if((!IntegralFaktor & (Parameter_UserParam1 < 50) & !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD)) ) // MartinR: |
if((!IntegralFaktor && (Parameter_UserParam1 < 50) && !(EE_Parameter.GlobalConfig & CFG_HEADING_HOLD)) ) // MartinR: |
// nur im Moment des Umschaltens von HH auf ACC erfolgt ein Reset der Integrale, nicht aber bei normalem HH |
// um einen im HH-Mode eventuell schwindelig geflogenen ACC_Mode zu resetten! |
// bis zur Umschaltung werden die Integrale für den Kameraausgleich verwendet |