Subversion Repositories FlightCtrl

Rev

Rev 241 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 241 Rev 258
Line 1... Line 1...
1
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2
// Peter Muehlenbrock ("Salvo")
2
// Peter Muehlenbrock ("Salvo")
3
// Definitionen fuer Modul GPS
3
// Definitionen fuer Modul GPS
4
// Stand 7.10.007
4
// Stand 9.10.007
5
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6
extern signed int GPS_Nick;
6
extern signed int GPS_Nick;
7
extern signed int GPS_Roll;
7
extern signed int GPS_Roll;
8
extern void GPS_Neutral(void);
8
extern void GPS_Neutral(void);
Line 65... Line 65...
65
        uint8_t                 status;         // 0: keine gueltigen Daten 1: alles ok
65
        uint8_t                 status;         // 0: keine gueltigen Daten 1: alles ok
Line 66... Line 66...
66
 
66
 
Line 67... Line 67...
67
} GPS_REL_POSITION_t;
67
} GPS_REL_POSITION_t;
68
 
68
 
69
 
69
 
70
extern GPS_ABS_POSITION_t gps_act_position;
70
extern                          GPS_ABS_POSITION_t gps_act_position;
71
extern GPS_ABS_POSITION_t gps_home_position;
71
extern                          GPS_ABS_POSITION_t gps_home_position;
72
extern GPS_REL_POSITION_t gps_rel_act_position;
72
extern                          GPS_REL_POSITION_t gps_rel_act_position;
73
extern GPS_REL_POSITION_t gps_rel_hold_position;
73
extern                          GPS_REL_POSITION_t gps_rel_hold_position;
74
extern short int gps_state,gps_sub_state;
74
extern short int        gps_state,gps_sub_state;
75
extern signed int GPS_hdng_abs_2trgt;
75
extern signed int       GPS_hdng_abs_2trgt;
76
extern signed int GPS_hdng_rel_2trgt;
76
extern signed int       GPS_hdng_rel_2trgt;
77
extern signed int GPS_dist_2trgt;
77
extern signed int       GPS_dist_2trgt;
Line 78... Line 78...
78
extern signed int gps_reg_x,gps_reg_y;
78
extern signed int       gps_reg_x,gps_reg_y;
79
extern signed int GPS_dist_2trgt;
79
extern signed int       GPS_dist_2trgt;
80
extern unsigned int gps_alive_cnt;
80
extern unsigned int gps_alive_cnt;
Line 81... Line 81...
81
 
81
 
82
//nur provisorisch fuer Debugausgaben
82
//nur provisorisch fuer Debugausgaben
83
extern  signed hdng_2home,dist_2home; //Richtung und Entfernung zur home Position 
83
extern signed           hdng_2home,dist_2home; //Richtung und Entfernung zur home Position 
84
extern long int dist_flown;
84
extern long int         dist_flown;
85
 
85
 
86
// Zustaende der zentralen GPS statemachine
86
// Zustaende der zentralen GPS statemachine
87
#define GPS_CRTL_IDLE                           0   // 
87
#define GPS_CRTL_IDLE                           0   // 
88
#define GPS_CRTL_HOLD_ACTIVE            1       //  Lageregelung aktiv
88
#define GPS_CRTL_HOLD_ACTIVE            1       //  Lageregelung aktiv
89
#define GPS_CRTL_HOME_ACTIVE            2       //  Rueckflug zur Basis Aktiv
89
#define GPS_CRTL_HOME_ACTIVE            2       //  Rueckflug zur Basis Aktiv
-
 
90
#define GPS_HOME_FINISHED                       3       //  Rueckflug zur Basis abgeschlossen
-
 
91
#define GPS_HOME_FAST_IN_TOL            4       //  Rueckflug: Aktuelle Position innerhalb der Toleranz
Line 90... Line 92...
90
#define GPS_HOME_FINISHED                       3       //  Rueckflug zur Basis abgeschlossen
92
#define GPS_HOME_FAST_OUTOF_TOL         5       //  Rueckflug: Aktuelle Position ausserhalb der Toleranz
91
#define GPS_HOME_FAST_IN_TOL            4       //  Rueckflug: Aktuelle Position innerhalb der Toleranz
93
#define GPS_HOME_RMPDWN_IN_TOL          6       //  Rueckflug: beim Abbremsen Position  innerhalb der Toleranz
92
#define GPS_HOME_FAST_OUTOF_TOL         5       //  Rueckflug: Aktuelle Position ausserhalb der Toleranz
94
#define GPS_HOME_RMPDWN_OUTOF_TOL       7       //  Rueckflug: beim Abbremsen Position  ausserhalb der Toleranz
93
#define GPS_HOME_RMPDWN_IN_TOL          6       //  Rueckflug: beim Abbremsen Position  innerhalb der Toleranz
95
#define GPS_HOME_IN_TOL                         8       //  Rueckflug: Nahe am Ziel innerhalb der Toleranz
Line 107... Line 109...
107
// GPS Lageregler
109
// GPS Lageregler
108
#define GPS_NICKROLL_MAX                40  // Maximaler Einfluss des GPS Lagereglers auf Nick und Roll
110
#define GPS_NICKROLL_MAX                40  // Maximaler Einfluss des GPS Lagereglers auf Nick und Roll
109
#define GPS_DIST_MAX                    400 // Maximal zulaessige Distanz bevor Regelung gestoppt wird (in 10cm)
111
#define GPS_DIST_MAX                    400 // Maximal zulaessige Distanz bevor Regelung gestoppt wird (in 10cm)
110
#define GPS_STICK_HOLDOFF               25      // Wenn der Nick oder Roll Stickwerte groesser sind, wird GPS_HOLD deaktiviert
112
#define GPS_STICK_HOLDOFF               25      // Wenn der Nick oder Roll Stickwerte groesser sind, wird GPS_HOLD deaktiviert
111
#define GPS_V                                   8       // Teilerfaktor Regelabweichung zu  Ausgabewert
113
#define GPS_V                                   8       // Teilerfaktor Regelabweichung zu  Ausgabewert
-
 
114
// Differenzierer Kennwerte fuer von Distanz abhaengige Verstaerkung. 
-
 
115
#define GPS_DIFF_NRML_MAX_V     20      //maximale Verstaerkung * 10
-
 
116
#define GPS_DIFF_NRML_MAX_D     30      //Entfernung bei der maximale Verstaerkung erreicht wird in 10cm
-
 
117
#define GPS_DIFF_FAST_MAX_V     20      //maximale Verstaerkung * 10 im Fast mode
-
 
118
#define GPS_DIFF_FAST_MAX_D     40      //Entfernung bei der maximale Verstaerkung erreicht wird in 10cm im Fast mode
-
 
119
 
Line 112... Line 120...
112
 
120
 
113
// GPS G2T /Go to Target Regler
121
// GPS G2T /Go to Target Regler
114
#define GPS_G2T_DIST_MAX_STOP   60      // Ab dieser Entfernung vom Zielpunkt soll die Geschwindigkeit runtergeregelt werden( in 10 cm)
122
#define GPS_G2T_DIST_MAX_STOP   60      // Ab dieser Entfernung vom Zielpunkt soll die Geschwindigkeit runtergeregelt werden( in 10 cm)
115
#define GPS_G2T_DIST_HOLD               30      // Ab dieser Entfernung vom Zielpunkt wird mit Minimaler geschwindigkeit eingeregelt
123
#define GPS_G2T_DIST_HOLD               30      // Ab dieser Entfernung vom Zielpunkt wird mit Minimaler geschwindigkeit eingeregelt
116
#define GPS_G2T_V_MAX                   8       // Maximale Geschwindigkeit (in 10cm/0.25 Sekunden) mit der der Sollpunkt geaendert wird.
124
#define GPS_G2T_V_MAX                   10      // Maximale Geschwindigkeit (in 10cm/0.25 Sekunden) mit der der Sollpunkt geaendert wird.
117
#define GPS_G2T_V_RAMP_DWN              4       // Geschwindigkeit (in 10cm/0.25ekunden) in der Nahe der Home Position um abzubremsen
125
#define GPS_G2T_V_RAMP_DWN              5       // Geschwindigkeit (in 10cm/0.25ekunden) in der Nahe der Home Position um abzubremsen
-
 
126
#define GPS_G2T_V_MIN                   2       // Minimale (in 10cm/0.25 Sekunden) ganz nahe an Homeposition.
118
#define GPS_G2T_V_MIN                   2       // Minimale (in 10cm/0.25 Sekunden) ganz nahe an Homeposition.
127
#define GPS_G2T_FAST_TOL                80      // Bei grosser Entfernung vom Ziel: Der Sollwert wird nur geaendert wenn die aktuelle Position nicht mehr als diesem Wert vom Sollwert abweicht