Subversion Repositories FlightCtrl

Rev

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