Rev 1057 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1057 | Rev 1061 | ||
---|---|---|---|
Line 17... | Line 17... | ||
17 | Hold Modus mit PID Regler |
17 | Hold Modus mit PID Regler |
18 | Rückstuerz zur Basis Funktion |
18 | Rückstuerz zur Basis Funktion |
19 | Umstellung auf NaviParameter an Flight Version 00.70d |
19 | Umstellung auf NaviParameter an Flight Version 00.70d |
20 | GPS_V durch gps_gain ersetzt, damit Einstellung durch MK Tool möglich wird |
20 | GPS_V durch gps_gain ersetzt, damit Einstellung durch MK Tool möglich wird |
Line 21... | Line 21... | ||
21 | 21 | ||
Line -... | Line 22... | ||
- | 22 | Stand 7.12.2008 |
|
22 | Stand 27.11.2008 |
23 | |
23 | 24 | Aenderung 7.12.2008: an Coming Home geschraubt |
|
24 | Aenderung 27.11.2008: gps_gain erhoeht |
25 | Aenderung 27.11.2008: gps_gain erhoeht |
25 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
26 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
26 | */ |
27 | */ |
Line 437... | Line 438... | ||
437 | 438 | ||
438 | if (d3 > GPS_G2T_DIST_MAX_STOP) // Schneller Rueckflug, noch weit weg vom Ziel |
439 | if (d3 > GPS_G2T_DIST_MAX_STOP) // Schneller Rueckflug, noch weit weg vom Ziel |
439 | { |
440 | { |
440 | if ((d1 < (GPS_G2T_FAST_TOL/2)) && (d2 < (GPS_G2T_FAST_TOL/2))) //voll Stoff weiter wenn Lage gut innerhalb der Toleranz |
441 | if ((d1 < (GPS_G2T_FAST_TOL/2)) && (d2 < (GPS_G2T_FAST_TOL/2))) //voll Stoff weiter wenn Lage gut innerhalb der Toleranz |
441 | { |
442 | { |
442 | if (gps_g2t_act_v < GPS_G2T_V_MAX-3) gps_g2t_act_v += 4; //Geschwindigkeit erhoehen |
443 | if (gps_g2t_act_v < GPS_G2T_V_MAX-1) gps_g2t_act_v += 2; //Geschwindigkeit erhoehen |
443 | dist_flown +=gps_g2t_act_v; // Vorgabe der Strecke anhand der Geschwindigkeit |
444 | dist_flown +=gps_g2t_act_v; // Vorgabe der Strecke anhand der Geschwindigkeit |
444 | gps_sub_state = GPS_HOME_FAST_IN_TOL; |
445 | gps_sub_state = GPS_HOME_FAST_IN_TOL; |
445 | } |
446 | } |
446 | else if ((d1 < GPS_G2T_FAST_TOL) && (d2 < GPS_G2T_FAST_TOL)) //nur weiter wenn Lage innerhalb der Toleranz |
447 | else if ((d1 < GPS_G2T_FAST_TOL) && (d2 < GPS_G2T_FAST_TOL)) //nur weiter wenn Lage innerhalb der Toleranz |
Line 454... | Line 455... | ||
454 | { |
455 | { |
455 | if (gps_g2t_act_v > 1) gps_g2t_act_v--; // Geschwindigkeit reduzieren |
456 | if (gps_g2t_act_v > 1) gps_g2t_act_v--; // Geschwindigkeit reduzieren |
456 | // dist_flown++; //Auch ausserhalb der Toleranz langsam erhoehen |
457 | // dist_flown++; //Auch ausserhalb der Toleranz langsam erhoehen |
457 | gps_sub_state = GPS_HOME_FAST_OUTOF_TOL; |
458 | gps_sub_state = GPS_HOME_FAST_OUTOF_TOL; |
458 | } |
459 | } |
459 | hold_reset_int = 0; // Integrator einsschalten |
460 | hold_reset_int = 1; // Integrator aussschalten |
460 | hold_fast = 1; // Regler fuer schnellen Flug |
461 | hold_fast = 1; // Regler fuer schnellen Flug |
461 | dist_frm_start_east = (int)(((long)dist_flown * (long)sin_i(hdng_2home))/1000); |
462 | dist_frm_start_east = (int)(((long)dist_flown * (long)sin_i(hdng_2home))/1000); |
462 | dist_frm_start_north = (int)(((long)dist_flown * (long)cos_i(hdng_2home))/1000); |
463 | dist_frm_start_north = (int)(((long)dist_flown * (long)cos_i(hdng_2home))/1000); |
463 | gps_rel_hold_position.utm_east = gps_rel_start_position.utm_east + dist_frm_start_east; //naechster Zielpunkt |
464 | gps_rel_hold_position.utm_east = gps_rel_start_position.utm_east + dist_frm_start_east; //naechster Zielpunkt |
464 | gps_rel_hold_position.utm_north = gps_rel_start_position.utm_north + dist_frm_start_north; //naechster Zielpunkt |
465 | gps_rel_hold_position.utm_north = gps_rel_start_position.utm_north + dist_frm_start_north; //naechster Zielpunkt |