diff --git a/conf/flight_plans/flight_plan.dtd b/conf/flight_plans/flight_plan.dtd index 55ab9bb1cb..1f9952e7df 100644 --- a/conf/flight_plans/flight_plan.dtd +++ b/conf/flight_plans/flight_plan.dtd @@ -17,14 +17,14 @@ - + - - + + @@ -37,6 +37,7 @@ + @@ -174,6 +175,8 @@ orientation CDATA #IMPLIED wp1 CDATA #REQUIRED wp2 CDATA #REQUIRED> + | "heading" | "attitude" | "go" | "stay" | "xyz" | "set" | "circle" -> incr stage; Xml.Element (Xml.tag x, Xml.attribs x@["no", soi !stage], Xml.children x) - | "survey_rectangle" | "eight" | "oval"-> + | "bungeetakeoff"| "survey_rectangle" | "eight" | "oval"-> incr stage; incr stage; Xml.Element (Xml.tag x, Xml.attribs x@["no", soi !stage], Xml.children x) | "exception" -> @@ -440,6 +440,17 @@ let rec print_stage = fun index_of_waypoints x -> stage (); lprintf "NavSurveyRectangle(%s, %s);\n" wp1 wp2; lprintf "break;\n" + | "bungeetakeoff" -> + let bwp = get_index_waypoint (ExtXml.attrib x "BungeeWP") index_of_waypoints in + stage (); + lprintf "if (! (InitializeBungeeTakeoff(%s)))\n" bwp; + lprintf " NextStageAndBreak();\n"; + lprintf "break;\n"; + left (); + stage (); + lprintf "if (! (BungeeTakeoff()))\n"; + lprintf " NextStageAndBreak();\n"; + lprintf "break;\n" | _s -> failwith "Unreachable" end; left ()