Subversion Repositories FlightCtrl

Rev

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

Rev 628 Rev 629
Line 1... Line 1...
1
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2
// Peter Muehlenbrock ("Salvo")
2
// Peter Muehlenbrock alias Salvo
3
// Definitionen fuer Modul GPS
3
// Definitionen fuer Modul GPS
4
// Stand 3.8.2008
4
// Stand 9.1.2008
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);
9
extern void             Get_Ublox_Msg(uint8_t  rx) ;
9
extern void             Get_Ublox_Msg(uint8_t  rx) ;
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;
Line 73... Line 73...
73
extern                          GPS_REL_POSITION_t gps_rel_hold_position;
73
extern                  GPS_REL_POSITION_t gps_rel_hold_position;
Line 74... Line 74...
74
extern short int        gps_state,gps_sub_state;
74
extern short int        gps_state,gps_sub_state;
75
extern unsigned int gps_alive_cnt;
75
extern unsigned int     gps_alive_cnt;
76
 
76
 
77
#define GPS_USR_PAR_FKT 8       //Faktor durch den die Userparameter geteilt werden
77
#define GPS_USR_PAR_FKT 8 //Faktor durch den die Userparameter geteilt werden
78
 
78
 
79
 
79
 
80
// Zustaende der zentralen GPS statemachine
80
// Zustaende der zentralen GPS statemachine
Line 88... Line 88...
88
#define GPS_HOME_IN_TOL                         7       //  Rueckflug: Nahe am Ziel innerhalb der Toleranz
88
#define GPS_HOME_IN_TOL                         7       //  Rueckflug: Nahe am Ziel innerhalb der Toleranz
89
#define GPS_HOME_OUTOF_TOL                      8       //  Rueckflug: Nahe am Ziel ausserhalb der Toleranz
89
#define GPS_HOME_OUTOF_TOL                      8       //  Rueckflug: Nahe am Ziel ausserhalb der Toleranz
90
#define GPS_HOME_FINISHED                       9       //  Rueckflug zur Basis abgeschlossen
90
#define GPS_HOME_FINISHED                       9       //  Rueckflug zur Basis abgeschlossen
Line 91... Line 91...
91
 
91
 
92
// Kommandokonstanten fuer die zentrale GPS Statemachine
92
// Kommandokonstanten fuer die zentrale GPS Statemachine
93
#define GPS_CMD_STOP                    0    // Lageregelung soll deaktiviert werden
93
#define GPS_CMD_STOP                    0       // Lageregelung soll deaktiviert werden
94
#define GPS_CMD_REQ_INIT                1    // Initialisierung
94
#define GPS_CMD_REQ_INIT                1       // Initialisierung
95
#define GPS_CMD_REQ_HOLD                3    // Lageregelung soll aktiviert werden
95
#define GPS_CMD_REQ_HOLD                3       // Lageregelung soll aktiviert werden
Line 96... Line 96...
96
#define GPS_CMD_REQ_HOME                4    // Das Heimfliegen soll aktiviert werden
96
#define GPS_CMD_REQ_HOME                4       // Das Heimfliegen soll aktiviert werden
97
 
97
 
98
// Statusmeldungen  der zentralen GPS statemachine
98
// Statusmeldungen  der zentralen GPS statemachine
99
#define GPS_STST_OK                             0    // Kommando erfolgreich und abgeschlossen
99
#define GPS_STST_OK                     0       // Kommando erfolgreich und abgeschlossen
Line 100... Line 100...
100
#define GPS_STST_PEND                   1    // Kommando noch nicht komplett durchgefuehrt
100
#define GPS_STST_PEND           1       // Kommando noch nicht komplett durchgefuehrt
101
#define GPS_STST_ERR                    2    // Fehler
101
#define GPS_STST_ERR            2       // Fehler
102
 
102
 
103
// GPS Lageregler
103
// GPS Lageregler
104
#define GPS_NICKROLL_MAX                25  // Maximaler Einfluss des GPS Lagereglers auf Nick und Roll
104
#define GPS_NICKROLL_MAX        25      // Maximaler Einfluss des GPS Lagereglers auf Nick und Roll
Line 105... Line 105...
105
#define GPS_DIST_MAX                    400 // Maximal zulaessige Distanz bevor Regelung gestoppt wird (in 10cm)
105
#define GPS_DIST_MAX            400     // Maximal zulaessige Distanz bevor Regelung gestoppt wird (in 10cm)
106
#define GPS_STICK_HOLDOFF               20      // Wenn der Nick oder Roll Stickwerte groesser sind, wird GPS_HOLD deaktiviert
106
#define GPS_STICK_HOLDOFF       20      // Wenn der Nick oder Roll Stickwerte groesser sind, wird GPS_HOLD deaktiviert
107
#define GPS_V                                   8       // Teilerfaktor Regelabweichung zu  Ausgabewert
107
#define GPS_V                           8       // Teilerfaktor Regelabweichung zu  Ausgabewert
108
 
108
 
Line 109... Line 109...
109
// Konstanten fuer Verstaerkung fuer Speed Werte in Abhaengigkeit vom SpeedWert (cm/sek)
109
// Konstanten fuer Verstaerkung fuer Speed Werte in Abhaengigkeit vom SpeedWert (cm/sek)
110
// um eine exponentielle Verstaerkung zu erreichen
110
// um eine exponentielle Verstaerkung zu erreichen
111
#define DIFF_Y_MAX                              3       // Verstaerkung bei Eingangswert = DIFF_X_MAX 
111
#define DIFF_Y_MAX                      3       // Verstaerkung bei Eingangswert = DIFF_X_MAX 
Line 112... Line 112...
112
#define DIFF_X_MAX                              400     // bei diesem Eingangswert ist die Verstaerkung = DIFF_Y_MAX 
112
#define DIFF_X_MAX                      400     // bei diesem Eingangswert ist die Verstaerkung = DIFF_Y_MAX 
113
 
113
 
114
// P-Regler Verstaerkung 
114
// P-Regler Verstaerkung 
115
#define GPS_PROP_NRML_V                 2       //maximale Verstaerkung * 2
-
 
116
#define GPS_PROP_FAST_V                 2       //maximale Verstaerkung * 2 im Fast mode
-
 
117
 
-
 
118
// GPS G2T /Go to Target Regler
115
#define GPS_PROP_NRML_V                 2       //maximale Verstaerkung * 2
119
#define GPS_G2T_DIST_MAX_STOP   50      // Ab dieser Entfernung vom Zielpunkt soll die Geschwindigkeit runtergeregelt werden( in 10 cm)
116
#define GPS_PROP_FAST_V                 6       //maximale Verstaerkung * 2 im Fast mode
-
 
117
 
-
 
118
// GPS G2T /Go to Target Regler
-
 
119
#define GPS_G2T_DIST_MAX_STOP   40      // Ab dieser Entfernung vom Zielpunkt soll die Geschwindigkeit runtergeregelt werden( in 10 cm)