[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Paparazzi-devel] Procedures
From: |
Pascal Brisset |
Subject: |
Re: [Paparazzi-devel] Procedures |
Date: |
Wed, 26 Aug 2009 18:54:12 +0200 |
User-agent: |
Mozilla-Thunderbird 2.0.0.22 (X11/20090706) |
Hi Todd,
this feature has not been updated and tested ... for years. Some remarks:
- you file should start with
<!DOCTYPE procedure SYSTEM "flight_plan.dtd">
- <header> is currently not allowed (according to the dtd) in a procedure
- the alt attribute of a waypoint must be a constant number.
Anyway, it won't work :-(
Currently, when a procedure is included, all the waypoints name of the
procedure are prefixed with the name of the procedure by the
preprocessing tool. So in your case, if I include your file with
<include name="drop" procedure="proc_drop.xml" x="-100" y="150"
rotate="0">
<arg name="alt" value="ground_alt+100"/>
</include>
the TARGET waypoint would be renamed into drop.TARGET. This renaming is
needed if you want to include several times the same procedure ( with
different arguments). But, you are referencing directly the waypoint
name from some C code (NavSetWaypointHere(WP_TARGET)) and the procedure
preprocessor is not able to look at this C code (to replace WP_TARGET by
WP_drop_TARGET).
So ... I don't know.
This preprocessor was written at a time when few C code was included in
flight plans. Now it is common, and there is no way to preprocess it. A
solution here would be to restrict procedure includes to one single
instance and get rid of the waypoint prefixing.
It probably requires deeper thinking
--Pascal
Todd Sandercock wrote:
Hi all
i am just looking for some feedback on anyone that has got any
procedures to work properly. I have been working on some routines for
payload dropping and i wanted to put them in a procedure so that i
could use the same code over many flight plans. I am not sure how
limited procedures are but this is what i have written
Thanks for any help
Todd
<procedure>
<header>
#include "datalink.h"
#include "bomb.h"
</header>
<param name="alt" default_value="ground_alt+50"/>
<param name="radius" default_value="75"/>
<waypoints>
<waypoint alt="alt" name="TARGET" x="0" y="0"/>
<waypoint alt="alt" name="START" x="0" y="-100"/>
<waypoint name="RELEASE" x="0" y="-50"/>
<waypoint name="BLEG" x="100" y="-100"/>
<waypoint alt="alt+50" name="BCLIMB" x="0" y="100"/>
<waypoint alt="alt+50" name="BFEIGHT" x="100" y="0"/>
</waypoints>
<blocks>
<block name="bombloiter" strip_button="B Loiter">
<call fun="NavSetWaypointHere(WP_TARGET)"/>
<eight center="WP_TARGET" radius="radius" turn_around="WP_BEIGHT"/>
</block>
<block name="bombhere" strip_button="B Here">
<call fun="NavSetWaypointHere(WP_TARGET)"/>
</block>
<block name="bomb" strip_button="Bomb">
<!--<set value="WaypointX(WP_TARGET)" var="WaypointX(WP_START)"/>
<set value="WaypointY(WP_TARGET) - 100" var="WaypointY(WP_START)"/>
<set value="WaypointX(WP_TARGET)" var="WaypointX(WP_CLIMB)"/>
<set value="WaypointY(WP_TARGET) + 100" var="WaypointY(WP_CLIMB)"/>
<set value="BombComputeApproach(WP_TARGET, WP_START,
nav_radius)" var="unit"/>-->
<circle radius="nav_radius"
until="NavQdrCloseTo(DegOfRad(bomb_start_qdr)-10)" wp="BLEG"/>
</block>
<block name="align">
<exception cond="BombUpdateRelease(WP_TARGET)" deroute="end"/>
<go approaching_time="bomb_trigger_delay" from="START"
hmode="route" wp="RELEASE"/>
</block>
<block name="shoot">
<set value="BombShoot()" var="unit"/>
<go from="RELEASE" hmode="route" wp="BCLIMB"/>
<set value="BombCloseHatch()" var="unit"/>
<deroute block="end"/>
</block>
<block name="close">
<set value="BombCloseHatch()" var="unit"/>
<deroute block="end"/>
</block>
</blocks>
</procedure>
------------------------------------------------------------------------
Find local businesses and services in your area with Yahoo!7 Local.
Get started
<%20http://au.rd.yahoo.com/search/local/mailtagline/*http://local.yahoo.com.au>.
------------------------------------------------------------------------
_______________________________________________
Paparazzi-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/paparazzi-devel