[ground_alt] add GetAltRef() to FW nav and update flight plans

This commit is contained in:
Gautier Hattenberger
2014-05-22 14:26:10 +02:00
parent d7c3584861
commit 1207be9736
35 changed files with 127 additions and 126 deletions
+3 -3
View File
@@ -47,7 +47,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+40" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+40" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<go wp="CLIMB"/>
</block>
@@ -86,11 +86,11 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 15 > fabs(GetPosAlt() - WaypointAlt(WP_BASELEG))" wp="BASELEG"/>
</block>
<block name="final">
<!-- <exception cond="ground_alt + 6 > GetPosAlt()" deroute="flare"/> -->
<!-- <exception cond="GetAltRef() + 6 > GetPosAlt()" deroute="flare"/> -->
<go approaching_time="0" from="AF" hmode="route" wp="SF"/>
</block>
<block name="shortfinal">
<!-- <exception cond="ground_alt + 6 > GetPosAlt()" deroute="flare"/> -->
<!-- <exception cond="GetAltRef() + 6 > GetPosAlt()" deroute="flare"/> -->
<go approaching_time="0" from="SF" hmode="route" wp="TD"/>
</block>
<block name="flare">
+1 -1
View File
@@ -26,7 +26,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" pitch="15" throttle="1.0" vmode="throttle" wp="CLIMB"/>
+1 -1
View File
@@ -2,7 +2,7 @@
<procedure>
<exceptions>
<exception cond="Or(! InsideGreen(GetPosX(), GetPosY()), GetPosAlt() > ground_alt + 150)" deroute="Center"/>
<exception cond="Or(! InsideGreen(GetPosX(), GetPosY()), GetPosAlt() > GetAltRef() + 150)" deroute="Center"/>
</exceptions>
<blocks>
+4 -4
View File
@@ -101,15 +101,15 @@
</block>
<block name="climb 75">
<circle radius="50+(GetPosAlt()-ground_alt)/2" wp="1" throttle="0.75" pitch="15" vmode="throttle" until="10 > PowerVoltage()"/>
<circle radius="50+(GetPosAlt()-GetAltRef())/2" wp="1" throttle="0.75" pitch="15" vmode="throttle" until="10 > PowerVoltage()"/>
</block>
<block name="climb 1">
<circle radius="50+(GetPosAlt()-ground_alt)/2" wp="1" climb="1" pitch="5" vmode="climb" until="10 > PowerVoltage()"/>
<circle radius="50+(GetPosAlt()-GetAltRef())/2" wp="1" climb="1" pitch="5" vmode="climb" until="10 > PowerVoltage()"/>
</block>
<block name="descent 0">
<circle radius="50+(GetPosAlt()-ground_alt)/2" wp="1" throttle="0.0" pitch="-15" vmode="throttle" until="ground_alt+50 > GetPosAlt()"/>
<circle radius="50+(GetPosAlt()-GetAltRef())/2" wp="1" throttle="0.0" pitch="-15" vmode="throttle" until="GetAltRef()+50 > GetPosAlt()"/>
<deroute block="wait"/>
</block>
@@ -147,7 +147,7 @@
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
+2 -2
View File
@@ -35,7 +35,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block key="t" name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png" group="home">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB" pitch="15"/>
@@ -76,7 +76,7 @@
<circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+8 -8
View File
@@ -45,7 +45,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_icon="takeoff.png" strip_button="Takeoff (wp CLIMB)">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<go wp="CLIMB"/>
</block>
@@ -66,19 +66,19 @@
<circle pitch="auto" radius="75" throttle="0.7" wp="1"/>
</block>
<block name="Climb 75% throttle">
<circle pitch="10" radius="50+(GetPosAlt()-ground_alt)/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="throttle" wp="1"/>
<circle pitch="10" radius="50+(GetPosAlt()-GetAltRef())/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="throttle" wp="1"/>
</block>
<block name="Climb 0m/s">
<circle climb="0" radius="nav_radius" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb 1m/s">
<circle climb="1" pitch="5" radius="50+(GetPosAlt()-ground_alt)/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
<circle climb="1" pitch="5" radius="50+(GetPosAlt()-GetAltRef())/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb nav_climb m/s">
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="climb" wp="1"/>
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="climb" wp="1"/>
</block>
<block name="Descent 0% throttle">
<circle pitch="-5" radius="50+(GetPosAlt()-ground_alt)/2" throttle="0.0" until="ground_alt+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<circle pitch="-5" radius="50+(GetPosAlt()-GetAltRef())/2" throttle="0.0" until="GetAltRef()+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<deroute block="Standby"/>
</block>
<block name="Route 1-2">
@@ -115,7 +115,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP_BASELEG))" wp="BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
@@ -141,7 +141,7 @@
</while>
</block>
<block name="Heading 30">
<heading alt="ground_alt+50" course="30" until="FALSE"/>
<heading alt="GetAltRef()+50" course="30" until="FALSE"/>
</block>
<block name="For loop (circles wp 1)">
<for from="0" to="3" var="i">
@@ -156,7 +156,7 @@
</block>
<block name="Fly in Square">
<exception cond="! InsideSquare(GetPosX(), GetPosY())" deroute="Come back wp 1"/>
<attitude alt="ground_alt+75" roll="0" vmode="alt"/>
<attitude alt="GetAltRef()+75" roll="0" vmode="alt"/>
</block>
<block name="Come back wp 1">
<exception cond="InsideSquare(GetPosX(), GetPosY())" deroute="Fly in Square"/>
+4 -4
View File
@@ -21,7 +21,7 @@
</includes>
<exceptions>
<exception cond="Or(! InsideZRT(GetPosX(), GetPosY()), GetPosAlt() > ground_alt + 300)" deroute="Kill"/>
<exception cond="Or(! InsideZRT(GetPosX(), GetPosY()), GetPosAlt() > GetAltRef() + 300)" deroute="Kill"/>
</exceptions>
<blocks>
<block name="Wait GPS">
@@ -33,7 +33,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby Menton"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby Menton"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go throttle="1.0" vmode="throttle" wp="CLIMB" pitch="15"/>
@@ -66,7 +66,7 @@
<circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
@@ -74,7 +74,7 @@
<attitude roll="0.0" throttle="0.0" until="FALSE" vmode="throttle"/>
</block>
<block name="Kill">
<exception cond="And(InsideZRT(GetPosX(), GetPosY()), ground_alt + 300 > GetPosAlt())" deroute="Resume Mission"/>
<exception cond="And(InsideZRT(GetPosX(), GetPosY()), GetAltRef() + 300 > GetPosAlt())" deroute="Resume Mission"/>
<attitude roll="0" vmode="throttle" throttle="0.2"/>
</block>
<block name="Resume Mission">
+2 -2
View File
@@ -33,7 +33,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB"/>
@@ -45,7 +45,7 @@
<circle radius="nav_radius" wp="PROFILE"/>
</block>
<block name="profile_down" strip_button="Profile Down" strip_icon="down_profile.png">
<circle pitch="RadOfDeg(-10)" radius="nav_radius" throttle="0" until="(ground_alt+150 > GetPosAlt())" vmode="throttle" wp="PROFILE"/>
<circle pitch="RadOfDeg(-10)" radius="nav_radius" throttle="0" until="(GetAltRef()+150 > GetPosAlt())" vmode="throttle" wp="PROFILE"/>
<deroute block="Standby"/>
</block>
<block name="MOB" strip_button="Circle around here" strip_icon="mob.png">
+7 -7
View File
@@ -44,7 +44,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_icon="takeoff.png" strip_button="Takeoff (wp CLIMB)">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<go wp="CLIMB"/>
</block>
@@ -65,19 +65,19 @@
<circle pitch="auto" radius="75" throttle="0.7" wp="1"/>
</block>
<block name="Climb 75% throttle">
<circle pitch="10" radius="50+(GetPosAlt()-ground_alt)/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="throttle" wp="1"/>
<circle pitch="10" radius="50+(GetPosAlt()-GetAltRef())/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="throttle" wp="1"/>
</block>
<block name="Climb 0m/s">
<circle climb="0" radius="nav_radius" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb 1m/s">
<circle climb="1" radius="50+(GetPosAlt()-ground_alt)/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
<circle climb="1" radius="50+(GetPosAlt()-GetAltRef())/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb nav_climb m/s">
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="climb" wp="1"/>
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="climb" wp="1"/>
</block>
<block name="Descent 0% throttle">
<circle pitch="-5" radius="50+(GetPosAlt()-ground_alt)/2" throttle="0.0" until="ground_alt+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<circle pitch="-5" radius="50+(GetPosAlt()-GetAltRef())/2" throttle="0.0" until="GetAltRef()+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<deroute block="Standby"/>
</block>
<block name="Route 1-2">
@@ -114,7 +114,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP_BASELEG))" wp="BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
@@ -140,7 +140,7 @@
</while>
</block>
<block name="Heading 30">
<heading alt="ground_alt+50" course="30" until="FALSE"/>
<heading alt="GetAltRef()+50" course="30" until="FALSE"/>
</block>
</blocks>
</flight_plan>
+1 -1
View File
@@ -24,7 +24,7 @@
<circle radius="-75" wp="HOME"/>
</block>
<block name="climb 75">
<circle radius="50+(GetPosAlt()-ground_alt)/2" wp="1" throttle="0.75" pitch="15" vmode="throttle" until="10>PowerVoltage()"/>
<circle radius="50+(GetPosAlt()-GetAltRef())/2" wp="1" throttle="0.75" pitch="15" vmode="throttle" until="10>PowerVoltage()"/>
</block>
<block name="stack 1">
<circle radius="GetPosAlt()/2" wp="1"/>
+2 -2
View File
@@ -53,7 +53,7 @@
<set value="TRUE" var="h_ctl_disabled"/>
<set value="(-0.6*MAX_PPRZ)" var="h_ctl_aileron_setpoint"/>
<set value="(0.9*MAX_PPRZ)" var="h_ctl_elevator_setpoint"/>
<while cond="GetPosAlt() > ground_alt + 220"/>
<while cond="GetPosAlt() > GetAltRef() + 220"/>
<set value="0" var="h_ctl_aileron_setpoint"/>
<set value="0" var="h_ctl_elevator_setpoint"/>
</block>
@@ -78,7 +78,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 20 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+1 -1
View File
@@ -18,7 +18,7 @@
<call fun="NavSetGroundReferenceHere()"/>
</block>
<block name="Takeoff">
<exception cond="GetPosAlt() > ground_alt+25" deroute="HSIF"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="HSIF"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" pitch="15" throttle="1.0" vmode="throttle" wp="CLIMB"/>
+4 -4
View File
@@ -58,22 +58,22 @@
</block>
<block name="profile">
<for from="1" to="5" var="i">
<circle alt="ground_alt+50* $i" radius="nav_radius" until="stage_time>120" wp="1"/>
<circle alt="GetAltRef()+50* $i" radius="nav_radius" until="stage_time>120" wp="1"/>
</for>
</block>
<block name="climb">
<circle radius="nav_radius" wp="CLIMB"/>
</block>
<block name="descent">
<circle radius="nav_radius" wp="CLIMB" vmode="throttle" throttle="0" pitch="RadOfDeg(my_nav_pitch)" until="(ground_alt+150 > GetPosAlt())"/>
<circle radius="nav_radius" wp="CLIMB" vmode="throttle" throttle="0" pitch="RadOfDeg(my_nav_pitch)" until="(GetAltRef()+150 > GetPosAlt())"/>
<deroute block="wait"/>
</block>
<block name="wind">
<attitude pitch="RadOfDeg(my_nav_pitch)" roll="my_nav_roll" throttle="0.0" until="(ground_alt+150 > GetPosAlt())" vmode="throttle"/>
<attitude pitch="RadOfDeg(my_nav_pitch)" roll="my_nav_roll" throttle="0.0" until="(GetAltRef()+150 > GetPosAlt())" vmode="throttle"/>
<deroute block="wait"/>
</block>
<block name="wait" strip_button="Wait">
<circle radius="nav_radius" wp="CLIMB" alt="ground_alt+200"/>
<circle radius="nav_radius" wp="CLIMB" alt="GetAltRef()+200"/>
</block>
<block name="roll">
<set value="TRUE" var="h_ctl_disabled"/>
+2 -2
View File
@@ -33,7 +33,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB" pitch="15"/>
@@ -82,7 +82,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+31 -31
View File
@@ -26,48 +26,48 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Circle"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Circle"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB" pitch="15"/>
</block>
<block name="Circle" strip_button="Circle" strip_icon="home.png">
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+200" until="GetPosAlt() > ground_alt+195"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+200" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+300" until="GetPosAlt() > ground_alt+295"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+300" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+400" until="GetPosAlt() > ground_alt+395"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+400" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+300" until="ground_alt+305 > GetPosAlt()"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+300" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+200" until="ground_alt+205 > GetPosAlt()"/>
<circle radius="nav_radius" wp="CIRCLE" alt="ground_alt+200" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+200" until="GetPosAlt() > GetAltRef()+195"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+200" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+300" until="GetPosAlt() > GetAltRef()+295"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+300" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+400" until="GetPosAlt() > GetAltRef()+395"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+400" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+300" until="GetAltRef()+305 > GetPosAlt()"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+300" until="NavCircleCount() > 2"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+200" until="GetAltRef()+205 > GetPosAlt()"/>
<circle radius="nav_radius" wp="CIRCLE" alt="GetAltRef()+200" until="NavCircleCount() > 2"/>
<deroute block="Circle"/>
</block>
<block name="Racetrack E-W" strip_button="Racetrack E-W" strip_icon="oval.png">
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+200" until="GetPosAlt() > ground_alt+195"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+200" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+300" until="GetPosAlt() > ground_alt+295"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+300" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+400" until="GetPosAlt() > ground_alt+395"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+400" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+300" until="ground_alt+305 > GetPosAlt()"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+300" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+200" until="ground_alt+205 > GetPosAlt()"/>
<oval p1="1" p2="2" radius="nav_radius" alt="ground_alt+200" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+200" until="GetPosAlt() > GetAltRef()+195"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+200" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+300" until="GetPosAlt() > GetAltRef()+295"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+300" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+400" until="GetPosAlt() > GetAltRef()+395"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+400" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+300" until="GetAltRef()+305 > GetPosAlt()"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+300" until="nav_oval_count > 2"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+200" until="GetAltRef()+205 > GetPosAlt()"/>
<oval p1="1" p2="2" radius="nav_radius" alt="GetAltRef()+200" until="nav_oval_count > 2"/>
<deroute block="Racetrack E-W"/>
</block>
<block name="Racetrack N-S" strip_button="Racetrack N-S" strip_icon="oval.png">
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+200" until="GetPosAlt() > ground_alt+195"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+200" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+300" until="GetPosAlt() > ground_alt+295"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+300" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+400" until="GetPosAlt() > ground_alt+395"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+400" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+300" until="ground_alt+305 > GetPosAlt()"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+300" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+200" until="ground_alt+305 > GetPosAlt()"/>
<oval p1="2" p2="3" radius="nav_radius" alt="ground_alt+200" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+200" until="GetPosAlt() > GetAltRef()+195"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+200" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+300" until="GetPosAlt() > GetAltRef()+295"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+300" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+400" until="GetPosAlt() > GetAltRef()+395"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+400" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+300" until="GetAltRef()+305 > GetPosAlt()"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+300" until="nav_oval_count > 2"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+200" until="GetAltRef()+305 > GetPosAlt()"/>
<oval p1="2" p2="3" radius="nav_radius" alt="GetAltRef()+200" until="nav_oval_count > 2"/>
<deroute block="Racetrack N-S"/>
</block>
</blocks>
+2 -2
View File
@@ -35,7 +35,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB"/>
@@ -47,7 +47,7 @@
<circle radius="nav_radius" wp="PROFILE"/>
</block>
<block name="profile_down" strip_button="Profile Down" strip_icon="down_profile.png">
<circle radius="nav_radius" wp="PROFILE" vmode="throttle" throttle="0" pitch="RadOfDeg(-10)" until="(ground_alt+150 > GetPosAlt())"/>
<circle radius="nav_radius" wp="PROFILE" vmode="throttle" throttle="0" pitch="RadOfDeg(-10)" until="(GetAltRef()+150 > GetPosAlt())"/>
<deroute block="Standby"/>
</block>
<block name="MOB" strip_button="Circle around here" strip_icon="mob.png">
+2 -2
View File
@@ -21,8 +21,8 @@
<circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD" alt="ground_alt"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD" alt="GetAltRef()"/>
</block>
<block name="flare">
<go approaching_time="0" from="AF" hmode="route" throttle="0.0" vmode="throttle" wp="TD"/>
+2 -2
View File
@@ -32,7 +32,7 @@
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go alt="baseleg_alt" approaching_time="16" from="AF" hmode="route" wp="TD"/>
<go approaching_time="2" from="AF" hmode="route" throttle="0.1" vmode="throttle" wp="TD"/>
</block>
@@ -48,7 +48,7 @@
</block>
<block name="climb">
<exception cond=" GetPosAlt() > ground_alt +30" deroute="wait"/>
<exception cond=" GetPosAlt() > GetAltRef() +30" deroute="wait"/>
<attitude pitch="15" roll="0" throttle="0.8" until="10> stage_time" vmode="throttle"/>
</block>-->
<block name="wait" strip_button="Wait">
+2 -2
View File
@@ -72,7 +72,7 @@
</while>
</block>
<block name="takeoff">
<exception cond="GetPosAlt() > ground_alt + 25" deroute="standby"/>
<exception cond="GetPosAlt() > GetAltRef() + 25" deroute="standby"/>
<set value="0" var="kill_throttle"/>
<go wp="TAKEOFF"/>
</block>
@@ -132,7 +132,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP_BASELEG))" wp="BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<call fun="compute_TOD(WP_AF, WP_TD, WP_TOD, GLIDE_AIRSPEED, GLIDE_VSPEED)"/>
<go approaching_time="0" from="AF" hmode="route" wp="TOD"/>
<go from="TOD" hmode="route" pitch="stage_time*(GLIDE_PITCH/3)" throttle="0" vmode="throttle" wp="TD"/>
+2 -2
View File
@@ -41,7 +41,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" pitch="15" throttle="1.0" vmode="throttle" wp="CLIMB"/>
@@ -100,7 +100,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+2 -2
View File
@@ -26,7 +26,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block key="t" name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png" group="home">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB" pitch="15"/>
@@ -52,7 +52,7 @@
<circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+1 -1
View File
@@ -19,7 +19,7 @@
</while>
</block>
<block name="circle">
<circle wp="road_end" ALT="ground_alt+50" radius="75"/>
<circle wp="road_end" ALT="GetAltRef()+50" radius="75"/>
</block>
<block name="go too far">
<go wp="too far"/>
+1 -1
View File
@@ -14,7 +14,7 @@
</block>
<block name="for">
<for from="0" to="3" var="i">
<circle alt="ground_alt+50+50*$i" radius="75" until="stage_time>10" wp="HOME"/>
<circle alt="GetAltRef()+50+50*$i" radius="75" until="stage_time>10" wp="HOME"/>
</for>
<circle wp="HOME" radius="50"/>
</block>
+3 -3
View File
@@ -50,7 +50,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block group="home" key="t" name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" pitch="15" throttle="1.0" vmode="throttle" wp="CLIMB"/>
@@ -82,7 +82,7 @@
<call fun="nav_bungee_takeoff_run()"/>
</block>
<block group="nav_pattern" name="Poly Survey" strip_button="Poly Survey">
<call fun="nav_survey_polygon_setup(WP_S1,5,80,30,10,50,ground_alt+60)"/>
<call fun="nav_survey_polygon_setup(WP_S1,5,80,30,10,50,GetAltRef()+60)"/>
<call fun="nav_survey_polygon_run()"/>
</block>
<block group="nav_pattern" name="Border line 1-2" strip_button="Border Line">
@@ -130,7 +130,7 @@
<circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+3 -3
View File
@@ -37,7 +37,7 @@
<set value="TRUE" var="h_ctl_disabled"/>
<set value="(-0.6*MAX_PPRZ)" var="h_ctl_aileron_setpoint"/>
<set value="(0.9*MAX_PPRZ)" var="h_ctl_elevator_setpoint"/>
<while cond="GetPosAlt() > ground_alt + 220"/>
<while cond="GetPosAlt() > GetAltRef() + 220"/>
<set value="0" var="h_ctl_aileron_setpoint"/>
<set value="0" var="h_ctl_elevator_setpoint"/>
</block>
@@ -70,7 +70,7 @@
<circle radius="nav_radius" wp="PROF_LAND"/>
</block>
<block name="profile_down land" strip_button="Profile Down Land" strip_icon="down_profile.png">
<circle pitch="RadOfDeg(-10)" radius="nav_radius" throttle="0" until="(ground_alt+100 > GetPosAlt())" vmode="throttle" wp="PROF_LAND"/>
<circle pitch="RadOfDeg(-10)" radius="nav_radius" throttle="0" until="(GetAltRef()+100 > GetPosAlt())" vmode="throttle" wp="PROF_LAND"/>
<deroute block="wait"/>
</block>
<block name="Land Right AF-TD" strip_button="Land right (wp AF-TD)" strip_icon="land-right.png">
@@ -87,7 +87,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 20 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+2 -2
View File
@@ -32,7 +32,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block key="t" name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" pitch="15" throttle="1.0" vmode="throttle" wp="CLIMB"/>
@@ -73,7 +73,7 @@
<circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
@@ -39,7 +39,7 @@
</sectors>
<exceptions>
<!-- Check inside small flight area, then goto Center(Standby) -->
<exception cond="Or(! InsideFlight_Area(GetPosX(), GetPosY()), GetPosAlt() > ground_alt + 50) && !(nav_block == BLOCK_Init) && !(nav_block == BLOCK_Geo_init) && !(nav_block == BLOCK_Landed)" deroute="Standby"/>
<exception cond="Or(! InsideFlight_Area(GetPosX(), GetPosY()), GetPosAlt() > GetAltRef() + 50) && !(nav_block == BLOCK_Init) && !(nav_block == BLOCK_Geo_init) && !(nav_block == BLOCK_Landed)" deroute="Standby"/>
<!-- Check if battery is empty, then Land Here -->
<exception cond="electrical.bat_low && !(nav_block == BLOCK_Land) && !(nav_block == BLOCK_Flare) && !(nav_block == BLOCK_Landed)" deroute="Land_Here"/>
<!-- Check if time is up(10 seconds range), then Land Here -->
+2 -2
View File
@@ -35,7 +35,7 @@
<deroute block="climb"/>
</block>
<block name="climb">
<attitude pitch="10" roll="0" throttle="0.9" until="GetPosAlt() > ground_alt+30" vmode="throttle"/>
<attitude pitch="10" roll="0" throttle="0.9" until="GetPosAlt() > GetAltRef()+30" vmode="throttle"/>
</block>
<block name="standby" strip_button="STDBY">
<circle radius="nav_radius" wp="STDBY"/>
@@ -77,7 +77,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP_BASELEG))" wp="BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+2 -2
View File
@@ -33,7 +33,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB"/>
@@ -74,7 +74,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+9 -9
View File
@@ -45,7 +45,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_icon="takeoff.png" strip_button="Takeoff (wp CLIMB)">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<go wp="CLIMB"/>
</block>
@@ -70,25 +70,25 @@
<circle pitch="auto" radius="75" throttle="0.7" wp="1"/>
</block>
<block name="Climb 75% throttle">
<circle pitch="10" radius="50+(GetPosAlt()-ground_alt)/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="throttle" wp="1"/>
<circle pitch="10" radius="50+(GetPosAlt()-GetAltRef())/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="throttle" wp="1"/>
</block>
<block name="Climb 0m/s">
<circle climb="0" radius="nav_radius" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb 1m/s">
<circle climb="1" pitch="5" radius="50+(GetPosAlt()-ground_alt)/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
<circle climb="1" pitch="5" radius="50+(GetPosAlt()-GetAltRef())/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb nav_climb m/s">
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="climb" wp="1"/>
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="climb" wp="1"/>
</block>
<block name="Circle 0% throttle">
<circle pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="ground_alt+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<circle pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="GetAltRef()+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<deroute block="Standby"/>
</block>
<block name="Oval 0% throttle">
<oval p1="1" p2="2" pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="ground_alt+50 > GetPosAlt()" vmode="throttle"/>
<oval p1="1" p2="2" pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="GetAltRef()+50 > GetPosAlt()" vmode="throttle"/>
<deroute block="Standby"/>
</block>
@@ -127,7 +127,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP_BASELEG))" wp="BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
@@ -153,7 +153,7 @@
</while>
</block>
<block name="Heading 30">
<heading alt="ground_alt+50" course="30" until="FALSE"/>
<heading alt="GetAltRef()+50" course="30" until="FALSE"/>
</block>
<block name="For loop (circles wp 1)">
<for from="0" to="3" var="i">
@@ -168,7 +168,7 @@
</block>
<block name="Fly in Square">
<exception cond="! InsideSquare(GetPosX(), GetPosY())" deroute="Come back wp 1"/>
<attitude alt="ground_alt+75" roll="0" vmode="alt"/>
<attitude alt="GetAltRef()+75" roll="0" vmode="alt"/>
</block>
<block name="Come back wp 1">
<exception cond="InsideSquare(GetPosX(), GetPosY())" deroute="Fly in Square"/>
+8 -8
View File
@@ -45,7 +45,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block name="Takeoff" strip_icon="takeoff.png" strip_button="Takeoff (wp CLIMB)">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="CLIMB_AIRSPEED" var="v_ctl_auto_airspeed_setpoint" />
<go wp="CLIMB"/>
@@ -69,25 +69,25 @@
<circle pitch="auto" radius="75" throttle="0.7" wp="1"/>
</block>
<block name="Climb 75% throttle">
<circle pitch="10" radius="50+(GetPosAlt()-ground_alt)/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="throttle" wp="1"/>
<circle pitch="10" radius="50+(GetPosAlt()-GetAltRef())/2" throttle="0.75" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="throttle" wp="1"/>
</block>
<block name="Climb 0m/s">
<circle climb="0" radius="nav_radius" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb 1m/s">
<circle climb="1" pitch="5" radius="50+(GetPosAlt()-ground_alt)/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
<circle climb="1" pitch="5" radius="50+(GetPosAlt()-GetAltRef())/2" until="10 > PowerVoltage()" vmode="climb" wp="1"/>
</block>
<block name="Climb nav_climb m/s">
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > ground_alt+ 1350)" vmode="climb" wp="1"/>
<circle climb="nav_climb" radius="nav_radius" until="(10 > PowerVoltage()) || (GetPosAlt() > GetAltRef()+ 1350)" vmode="climb" wp="1"/>
</block>
<block name="Circle 0% throttle">
<circle pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="ground_alt+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<circle pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="GetAltRef()+50 > GetPosAlt()" vmode="throttle" wp="1"/>
<deroute block="Standby"/>
</block>
<block name="Oval 0% throttle">
<oval p1="1" p2="2" pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="ground_alt+50 > GetPosAlt()" vmode="throttle"/>
<oval p1="1" p2="2" pitch="fp_pitch" radius="nav_radius" throttle="0.0" until="GetAltRef()+50 > GetPosAlt()" vmode="throttle"/>
<deroute block="Standby"/>
</block>
@@ -163,7 +163,7 @@
</while>
</block>
<block name="Heading 30">
<heading alt="ground_alt+50" course="30" until="FALSE"/>
<heading alt="GetAltRef()+50" course="30" until="FALSE"/>
</block>
<block name="For loop (circles wp 1)">
<for from="0" to="3" var="i">
@@ -178,7 +178,7 @@
</block>
<block name="Fly in Square">
<exception cond="! InsideSquare(GetPosX(), GetPosY())" deroute="Come back wp 1"/>
<attitude alt="ground_alt+75" roll="0" vmode="alt"/>
<attitude alt="GetAltRef()+75" roll="0" vmode="alt"/>
</block>
<block name="Come back wp 1">
<exception cond="InsideSquare(GetPosX(), GetPosY())" deroute="Fly in Square"/>
@@ -61,7 +61,7 @@ float varsweepsize=110;
</block>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<go wp="CLIMB"/>
</block>
@@ -111,8 +111,8 @@ float varsweepsize=110;
<block name="Monter">
<call fun="NavSetWaypointHere(WP_MOB)"/>
<set value="DEFAULT_CIRCLE_RADIUS" var="nav_radius"/>
<circle alt="ground_alt+105" radius="nav_radius" wp="MOB"/>
<exception cond="GetPosAlt() > ground_alt+100" deroute="Carto survey S1-S2-S3"/>
<circle alt="GetAltRef()+105" radius="nav_radius" wp="MOB"/>
<exception cond="GetPosAlt() > GetAltRef()+100" deroute="Carto survey S1-S2-S3"/>
</block>
@@ -139,8 +139,8 @@ float varsweepsize=110;
<block name="Descendre">
<call fun="NavSetWaypointHere(WP_MOB)"/>
<set value="DEFAULT_CIRCLE_RADIUS" var="nav_radius"/>
<circle alt="ground_alt+35" radius="nav_radius" wp="MOB"/>
<exception cond="ground_alt+40 > GetPosAlt() " deroute="Carto survey SP1-SP2-SP3 fin"/>
<circle alt="GetAltRef()+35" radius="nav_radius" wp="MOB"/>
<exception cond="GetAltRef()+40 > GetPosAlt() " deroute="Carto survey SP1-SP2-SP3 fin"/>
</block>
<block name="Carto survey SP1-SP2-SP3 fin" strip_button="Survey (wp S1-S2)" strip_icon="survey.png">
+2 -2
View File
@@ -23,7 +23,7 @@
<exceptions/>
<blocks>
<block name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" pitch="15" throttle="1.0" vmode="throttle" wp="CLIMB"/>
@@ -91,7 +91,7 @@
<circle radius="nav_radius" until="NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10) && 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
<block name="flare">
+2 -2
View File
@@ -34,7 +34,7 @@
<attitude roll="0" throttle="0" vmode="throttle"/>
</block>
<block key="t" name="Takeoff" strip_button="Takeoff (wp CLIMB)" strip_icon="takeoff.png" group="home">
<exception cond="GetPosAlt() > ground_alt+25" deroute="Standby"/>
<exception cond="GetPosAlt() > GetAltRef()+25" deroute="Standby"/>
<set value="0" var="kill_throttle"/>
<set value="0" var="autopilot_flight_time"/>
<go from="HOME" throttle="1.0" vmode="throttle" wp="CLIMB" pitch="15"/>
@@ -66,7 +66,7 @@
<circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
</block>
<block name="final">
<exception cond="ground_alt + 10 > GetPosAlt()" deroute="flare"/>
<exception cond="GetAltRef() + 10 > GetPosAlt()" deroute="flare"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
</block>
+1
View File
@@ -199,6 +199,7 @@ bool_t nav_approaching_xy(float x, float y, float from_x, float from_y, float ap
#define GetPosX() (stateGetPositionEnu_f()->x)
#define GetPosY() (stateGetPositionEnu_f()->y)
#define GetPosAlt() (stateGetPositionUtm_f()->alt)
#define GetAltRef() (ground_alt)
#define SEND_NAVIGATION(_trans, _dev) { \
uint8_t _circle_count = NavCircleCount(); \