ich meine es gibt eine default-safty-Einstellung, die es nicht zulässt, RTH unter einem bestimmten Wert durchzuführen, werde mir den Code nochmal anschauen, vielleicht finde ich da noch was raus!
Hi Chriss,
ich bin den Code gerade mal durchgegangen, bezüglich RTH Alt konnte ich das folgende in der GPS.cpp finden:
#define SAFE_NAV_ALT 20 // Safe Altitude during climbouts Wings Level below this Alt. (ex. trees & buildings..)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int16_t RTH_Alt = conf.pid[PIDPOSR].D8;// conf.pid[PIDALT].D8;
~~~~~
// Handles ReSetting RTH alt if rth is enabled to low!
if(f.CLIMBOUT_FW && curr_Alt < RTH_Alt ) { GPS_hold[ALT] = GPS_home[ALT] + RTH_Alt;}
int16_t navTargetAlt = GPS_hold[ALT]-GPS_home[ALT]; // Diff from homeAlt.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Climb out before RTH
if(f.GPS_HOME_MODE )
{
if(f.CLIMBOUT_FW)
{
GPS_AltErr = - (GPS_MAXCLIMB *10) ; // Max climbAngle
NAV_Thro = CLIMBTHROTTLE; // Max Allowed Throttle
if(curr_Alt < SAFE_NAV_ALT){ navDiff=0; }// Force climb with Level Wings below safe Alt
}
if( (GPS_distanceToHome < SAFE_DECSCEND_ZONE )&& curr_Alt > RTH_Alt){
// Start decend to correct RTH Alt.
GPS_hold[ALT] = GPS_home[ALT] + RTH_Alt;
}
}
Die SAFE_NAV_ALT müsste doch die Untergrenze sein oder?
Wird der Baro (wenn einer angeschlossen ist) überhaupt für die Höhenregelung verwendet? Hier bezieht sich irgendwie alles auf GPS altitude.
Grüße
Daniel