81,9 → 81,11 |
unsigned char MAX_GAS,MIN_GAS; |
unsigned char Notlandung = 0; |
unsigned char HoehenReglerAktiv = 0; |
//Salvo 4.10.2007 |
//Salvo 12.10.2007 |
uint8_t magkompass_ok=0; |
uint8_t gps_cmd = GPS_CMD_STOP; |
static int ubat_cnt =0; |
static int gas_actual,gas_mittel; //Parameter fuer Gasreduzierung bei unterspannung |
//Salvo End |
|
//Salvo 2.9.2007 Ersatzkompass |
183,8 → 185,10 |
Mess_Integral_Hoch = 0; |
KompassStartwert = KompassValue; |
beeptime = 50; |
//Salvo 4.9.2007 Ersatzkompass |
//Salvo 13.10.2007 Ersatzkompass |
GyroKomp_Int = 0; |
gas_mittel = 30; |
gas_actual = gas_mittel; |
// Salvo End |
} |
|
326,14 → 330,14 |
EE_Parameter.KompassWirkung = 64; // Wert : 0-250 |
EE_Parameter.Gyro_P = 120; //80 // Wert : 0-250 |
EE_Parameter.Gyro_I = 150; // Wert : 0-250 |
EE_Parameter.UnterspannungsWarnung = 100; // Wert : 0-250 |
EE_Parameter.UnterspannungsWarnung = 102; // Wert : 0-250 |
EE_Parameter.NotGas = 100; // Wert : 0-250 // Gaswert bei Empangsverlust |
EE_Parameter.NotGasZeit = 60; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen |
EE_Parameter.UfoAusrichtung = 0; // X oder + Formation |
EE_Parameter.I_Faktor = 5; |
EE_Parameter.UserParam1 = 0; //zur freien Verwendung, derzeit P-Anteil GPS |
EE_Parameter.UserParam2 = 0; //zur freien Verwendung, derzeit I-Anteil GPS |
EE_Parameter.UserParam3 = 0; //zur freien Verwendung, derzeit D-Anteil GPS |
EE_Parameter.UserParam1 = 16; //zur freien Verwendung, derzeit P-Anteil GPS |
EE_Parameter.UserParam2 = 2; //zur freien Verwendung, derzeit I-Anteil GPS |
EE_Parameter.UserParam3 = 12; //zur freien Verwendung, derzeit D-Anteil GPS |
EE_Parameter.UserParam4 = 0; //zur freien Verwendung |
EE_Parameter.ServoNickControl = 100; // Wert : 0-250 // Stellung des Servos |
EE_Parameter.ServoNickComp = 40; // Wert : 0-250 // Einfluss Gyro/Servo |
369,14 → 373,14 |
EE_Parameter.KompassWirkung = 64; // Wert : 0-250 |
EE_Parameter.Gyro_P = 175; //80 // Wert : 0-250 |
EE_Parameter.Gyro_I = 175; // Wert : 0-250 |
EE_Parameter.UnterspannungsWarnung = 100; // Wert : 0-250 |
EE_Parameter.UnterspannungsWarnung = 102; // Wert : 0-250 |
EE_Parameter.NotGas = 100; // Wert : 0-250 // Gaswert bei Empangsverlust |
EE_Parameter.NotGasZeit = 60; // Wert : 0-250 // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen |
EE_Parameter.UfoAusrichtung = 0; // X oder + Formation |
EE_Parameter.I_Faktor = 5; |
EE_Parameter.UserParam1 = 0; //zur freien Verwendung |
EE_Parameter.UserParam2 = 0; //zur freien Verwendung |
EE_Parameter.UserParam3 = 0; //zur freien Verwendung |
EE_Parameter.UserParam1 = 12; //zur freien Verwendung |
EE_Parameter.UserParam2 = 2; //zur freien Verwendung |
EE_Parameter.UserParam3 = 16; //zur freien Verwendung |
EE_Parameter.UserParam4 = 0; //zur freien Verwendung |
EE_Parameter.UserParam3 = 0; //zur freien Verwendung |
EE_Parameter.UserParam4 = 0; //zur freien Verwendung |
457,12 → 461,45 |
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// Gaswert ermitteln |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
GasMischanteil = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] + 120; |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
GasMischanteil = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] + 120; |
//Salvo 13.10.2007 langsame Gasreduktion bei Unterspannung. Als Ausgangswert wird der bei UBAT=k gemessen Mittelwert genommen |
// und dieser dann langsam zwangsweise reduziert |
ANALOG_OFF; // ADC ausschalten, damit die Werte sich nicht während der Berechnung ändern |
if (UBat <= EE_Parameter.UnterspannungsWarnung - 2) //Unterhalb der Piepser Schwelle aktivieren |
{ |
if (ubat_cnt > 800) |
{ |
ubat_cnt = 0; |
if (gas_actual > ((gas_mittel*13)/15)) gas_actual--; |
} |
else ubat_cnt++; |
if (GasMischanteil > gas_actual) GasMischanteil = gas_actual; |
} |
else //Falls UBAT wieder ok ist |
{ |
if (ubat_cnt > 1000) |
{ |
gas_mittel = ((gas_mittel*9) + GasMischanteil)/10; //Filtern |
gas_actual = GasMischanteil; |
} |
else |
{ |
ubat_cnt++; |
if ((ubat_cnt % 10) == 0) |
{ |
if (gas_actual < GasMischanteil) gas_actual++; |
else gas_actual = GasMischanteil; |
} |
} |
GasMischanteil = gas_actual; |
} |
ANALOG_ON; // ADC einschalten |
// Salvo End |
if(GasMischanteil < 0) GasMischanteil = 0; |
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// Emfang schlecht |
// Empfang schlecht |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
if(SenderOkay < 100) |
{ |
833,28 → 870,29 |
TimerWerteausgabe = 49; |
// DebugOut.Analog[0] = MesswertNick; |
// DebugOut.Analog[1] = MesswertRoll; |
DebugOut.Analog[0] = gps_sub_state; |
// DebugOut.Analog[0] = gps_sub_state; |
|
DebugOut.Analog[1] = dist_2home; |
/* DebugOut.Analog[1] = dist_2home; |
DebugOut.Analog[2] = hdng_2home; |
*/ |
|
|
DebugOut.Analog[3] = gps_rel_hold_position.utm_east; |
DebugOut.Analog[4] = gps_rel_hold_position.utm_north; |
|
/* DebugOut.Analog[2] = MesswertGier; |
DebugOut.Analog[0] = IntegralNick / EE_Parameter.GyroAccFaktor; |
DebugOut.Analog[1] = IntegralRoll / EE_Parameter.GyroAccFaktor; |
/* DebugOut.Analog[3] = gps_rel_hold_position.utm_east; |
DebugOut.Analog[4] = gps_rel_hold_position.utm_north; |
*/ |
DebugOut.Analog[2] = Mittelwert_AccNick; |
DebugOut.Analog[3] = Mittelwert_AccRoll; |
DebugOut.Analog[4] = MesswertGier; |
DebugOut.Analog[5] = HoehenWert; |
DebugOut.Analog[6] = (Mess_Integral_Hoch / 512); |
*/ |
/* |
// DebugOut.Analog[2] = MesswertGier; |
|
|
|
DebugOut.Analog[7] = GasMischanteil; |
*/ |
DebugOut.Analog[7] = dist_flown; |
|
// DebugOut.Analog[7] = dist_flown; |
DebugOut.Analog[8] = KompassValue; |
|
// DebugOut.Analog[8] = dist_frm_start_north; |
935,7 → 973,7 |
{ |
//Salvo 10.10.2007 Um Absacken beim Einschalten zu verhindern |
// SollHoehe = HoehenWert - 20; // Parameter_MaxHoehe ist der PPM-Wert des Schalters |
SollHoehe = HoehenWert -10; // Parameter_MaxHoehe ist der PPM-Wert des Schalters |
SollHoehe = HoehenWert - 0; // Parameter_MaxHoehe ist der PPM-Wert des Schalters |
// Salvo End |
HoehenReglerAktiv = 0; |
} |