Rev 125 | Rev 129 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 125 | Rev 128 | ||
---|---|---|---|
Line 202... | Line 202... | ||
202 | // FlightMode changed? |
202 | // FlightMode changed? |
203 | if(GPS_Parameter.FlightMode != FlightMode_Old) |
203 | if(GPS_Parameter.FlightMode != FlightMode_Old) |
204 | { |
204 | { |
205 | BeepTime = 100; // beep to indicate that mode has been switched |
205 | BeepTime = 100; // beep to indicate that mode has been switched |
206 | NCFlags &= ~NC_FLAG_TARGET_REACHED; |
206 | NCFlags &= ~NC_FLAG_TARGET_REACHED; |
207 | - | ||
- | 207 | // if the mode has changed to free |
|
208 | if(GPS_Parameter.FlightMode == GPS_FLIGHT_MODE_WAYPOINT) GPS_pWaypoint = WPList_Begin(); // reset WPList to begin |
208 | if(GPS_Parameter.FlightMode == GPS_FLIGHT_MODE_FREE) WPList_Clear(); // clear WPList if mode has changed to Free |
209 | } |
209 | } |
210 | FlightMode_Old = GPS_Parameter.FlightMode; |
210 | FlightMode_Old = GPS_Parameter.FlightMode; |
211 | } |
211 | } |
Line 212... | Line 212... | ||
212 | 212 | ||
Line 516... | Line 516... | ||
516 | { |
516 | { |
517 | /* ToDo: Adjust GPS_pWaypoint->Heading, GPS_pWaypoint->Event handling */ |
517 | /* ToDo: Adjust GPS_pWaypoint->Heading, GPS_pWaypoint->Event handling */ |
518 | if(CheckDelay(WPTime)) |
518 | if(CheckDelay(WPTime)) |
519 | { |
519 | { |
520 | GPS_pWaypoint = WPList_Next(); // goto to next waypoint, return NULL if end of list has been reached |
520 | GPS_pWaypoint = WPList_Next(); // goto to next waypoint, return NULL if end of list has been reached |
- | 521 | if(GPS_pWaypoint == NULL) GPS_pWaypoint = WPList_Begin(); // reset WPList to begin |
|
- | 522 | NCFlags &= ~NC_FLAG_TARGET_REACHED; |
|
521 | } |
523 | } |
522 | } // EOF if(WPArrived) |
524 | } // EOF if(WPArrived) |
523 | else |
525 | else |
524 | { |
526 | { |
525 | WPTime = SetDelay(GPS_pWaypoint->HoldTime * 1000); // set hold time stamp |
527 | WPTime = SetDelay(GPS_pWaypoint->HoldTime * 1000); // set hold time stamp |