Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1715 → Rev 1716

/branches/Znib/V0.80e/fc.c
158,6 → 158,7
signed int KopplungsteilNickRoll,KopplungsteilRollNick;
signed int tmp_motorwert[MAX_MOTORS];
char VarioCharacter = ' ';
int horizontalGas = K_GIER, horizontalNick = K_ROLL; // by Znib
 
#define LIMIT_MIN(value, min) {if(value <= min) value = min;}
#define LIMIT_MAX(value, max) {if(value >= max) value = max;}
590,7 → 591,20
Ki = 10300 / (Parameter_I_Faktor + 1);
MAX_GAS = EE_Parameter.Gas_Max;
MIN_GAS = EE_Parameter.Gas_Min;
 
// by Znib
if (Parameter_UserParam1 == 1 || Parameter_UserParam1 == 4)
{
// mode 1 oder 4
horizontalGas = K_ROLL;
horizontalNick = K_GIER;
}
else
{
horizontalGas = K_GIER;
horizontalNick = K_ROLL;
}
tmp = EE_Parameter.OrientationModeControl;
if(tmp > 50)
{
692,7 → 706,7
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// auf Nullwerte kalibrieren
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75) // Neutralwerte
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalGas]] > 75) // Neutralwerte
{
if(++delay_neutral > 200) // nicht sofort
{
700,17 → 714,17
MotorenEin = 0;
delay_neutral = 0;
modell_fliegt = 0;
if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) > 70)
if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70 || abs(PPM_in[EE_Parameter.Kanalbelegung[horizontalNick]]) > 70)
{
unsigned char setting=1;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 1;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 2;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4;
if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 5;
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalNick]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 1;
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalNick]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 2;
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalNick]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3;
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalNick]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4;
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalNick]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) setting = 5;
SetActiveParamSet(setting); // aktiven Datensatz merken
}
if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) < 30 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -70)
if(abs(PPM_in[EE_Parameter.Kanalbelegung[horizontalNick]]) < 30 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -70)
{
WinkelOut.CalcState = 1;
beeptime = 1000;
734,7 → 748,7
}
}
else
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75) // ACC Neutralwerte speichern
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalGas]] < -75) // ACC Neutralwerte speichern
{
if(++delay_neutral > 200) // nicht sofort
{
757,7 → 771,7
// Motoren Starten
if(!MotorenEin)
{
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75)
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalGas]] < -75)
{
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Einschalten
794,7 → 808,7
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
else // only if motors are running
{
if(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75)
if(PPM_in[EE_Parameter.Kanalbelegung[horizontalGas]] > 75)
{
if(++delay_ausschalten > 200) // nicht sofort
{
/branches/Znib/V0.80e/version.txt
420,3 → 420,11
 
 
 
0.80e_Znib
 
- Optimierung für Mode 1 und 4:
Wird beim "User Parameter 1" eine 1 oder eine 4 eingetragen werden zum kalibrieren,
Motoren starten und auswahl der Settings Gier und Roll vertauscht. Dadurch ist es
auch für Mode 1 und 4 flieger möglich die z.B. die Motoren zu starten in dem man den
Gasknüppel nach unten rechts zieht, anstatt den Gasknüppel nach unten und den anderen
nach rechts zu ziehen.