Rev 393 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 393 | Rev 459 | ||
---|---|---|---|
Line 2... | Line 2... | ||
2 | // + Copyright (c) 10.2007 by Jochen Kromayer |
2 | // + Copyright (c) 10.2007 by Jochen Kromayer |
3 | // + es handelt sich um eine Beta-Software, die zu nichtkommerziellen Zwecken frei veröffentlich und weitergegeben werden darf. Für evtl. |
3 | // + es handelt sich um eine Beta-Software, die zu nichtkommerziellen Zwecken frei veröffentlich und weitergegeben werden darf. Für evtl. |
4 | // + Personen- und/der Sachschäden ist jegliche Haftung ausgeschlossen |
4 | // + Personen- und/der Sachschäden ist jegliche Haftung ausgeschlossen |
5 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
5 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
6 | #include "main.h" |
6 | #include "main.h" |
7 | #include "math.h" |
- | |
Line 8... | Line 7... | ||
8 | 7 | ||
9 | //Sinusfunktion von 0° bis 359°. Ergebnis wurde mit 1000 multipliziert, damit als Definition platzsparend int |
8 | //Sinusfunktion von 0° bis 359°. Ergebnis wurde mit 1000 multipliziert, damit als Definition platzsparend int |
10 | //verwendet werden kann. d.h., es muss also in der späteren Berechnung noch mit 0,001 multipliziert werden //(090907Kr) |
9 | //verwendet werden kann. d.h., es muss also in der späteren Berechnung noch mit 0,001 multipliziert werden //(090907Kr) |
11 | const int c_sin[] = {0,17,34,52,69,87,104,121,139,156,173,190, |
10 | const int c_sin[] = {0,17,34,52,69,87,104,121,139,156,173,190, |
Line 100... | Line 99... | ||
100 | 99 | ||
101 | void gps_main(void) |
100 | void gps_main(void) |
Line 102... | Line 101... | ||
102 | { |
101 | { |
103 | - | ||
104 | //**************************** MIRCOS FILTERUNG ANFANG |
102 | |
- | 103 | //**************************** MIRCOS FILTERUNG ANFANG |
|
105 | 104 | //bilde neuen Positionsmittelwert, wenn 3D-Fix und neue GPS-Daten vorliegen |
|
Line 106... | Line 105... | ||
106 | // if(actualPos.GPSFix == 3 && actualPos.newData == 1) //bilde neuen Positionsmittelwert, wenn 3D-Fix und neue GPS-Daten vorliegen |
105 | // if(actualPos.GPSFix == 3 && newData_navPosUtm == 1) |
Line 107... | Line 106... | ||
107 | if(actualPos.GPSFix == 3) // hier auskommentieren, wenn dauernd (also nicht nur alle 250ms) die GPS-Berechnung durchgeführt werden soll |
106 | if(actualPos.GPSFix == 3) // hier umkommentieren, wenn dauernd (also nicht nur mit der GPS-Updaterate) die GPS-Berechnung durchgeführt werden soll |
108 | 107 | ||
Line 127... | Line 126... | ||
127 | 126 | ||
128 | NORTH_MITTEL = NORTH_LONG_LONG; |
127 | NORTH_MITTEL = NORTH_LONG_LONG; |
Line 129... | Line 128... | ||
129 | EAST_MITTEL = EAST_LONG_LONG; |
128 | EAST_MITTEL = EAST_LONG_LONG; |
130 | 129 | ||
131 | NeuerMittelwert = 1; |
130 | NeuerMittelwert = 1; |
132 | //actualPos.newData = 0; // hier auskommentieren, wenn dauernd (also nicht nur alle 250ms) die GPS-Berechnung durchgeführt werden soll |
131 | newData_navPosUtm = 0; |
Line 189... | Line 188... | ||
189 | Soll_Position_East = EAST_MITTEL; |
188 | Soll_Position_East = EAST_MITTEL; |
Line 190... | Line 189... | ||
190 | 189 | ||
191 | GPS_Nick = 0; |
190 | GPS_Nick = 0; |
192 | GPS_Roll = 0; |
191 | GPS_Roll = 0; |
- | 192 | LED2_OFF; |
|
- | 193 | //hierdurch soll verhindert werden, dass wenn nach schonmal aktiver GPS Funktion (und damit 3D-fix) der GPS-Empfänger |
|
- | 194 | //abgezogen werden sollte weiterhin ein 3D-fix angezeigt wird. Grund ist, dass in diesem Fall in der UART.c nach einem |
|
- | 195 | //Abziehen der Status nicht mehr auf Null zurückgesetzt wird. Dies geschied nun beim Ausschalten der GPS-Funktion. |
|
- | 196 | //Sie ist dann ohne erneuten 3D-Fix nicht mehr aktivierbar. (111107Kr) |
|
193 | LED2_OFF; |
197 | actualPos.GPSFix = 0; |
Line 194... | Line 198... | ||
194 | } |
198 | } |
195 | 199 |