Standard navigation patterns and flight plan handling
No detailed description...
Example for airframe file
Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!
<module name="nav_basic_fw">
b'<define name="NAV_SURVEY_RECTANGLE_DYNAMIC" value="FALSE|TRUE" />\n '
</module>
Module configuration options
Define Options
- name:
NAV_SURVEY_RECTANGLE_DYNAMIC
value: FALSE|TRUE
Description: Set to true to allow changing sweep distance mid survey
Module functions
Init Functions
These initialization functions are called once on startup.
Datalink Functions
Whenever the specified datalink message is received, the corresponing handler function is called.
- on message BLOCK call nav_parse_BLOCK(dev,trans,buf)
- on message MOVE_WP call nav_parse_MOVE_WP(dev,trans,buf)
Files
Header Files
The following headers are automatically included in modules.h
Source Files
Raw nav_basic_fw.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="nav_basic_fw" dir="nav" task="control">
<doc>
<description>
Standard navigation patterns and flight plan handling
</description>
<define name="NAV_SURVEY_RECTANGLE_DYNAMIC" value="FALSE|TRUE" description="Set to true to allow changing sweep distance mid survey"/>
</doc>
<settings>
<dl_settings>
<dl_settings NAME="nav">
<dl_setting MAX="500" MIN="-500" STEP="5" VAR="nav_radius"/>
<dl_setting MAX="359" MIN="0" STEP="5" VAR="nav_course"/>
<dl_setting MAX="2" MIN="1" STEP="1" VAR="nav_mode"/>
<dl_setting MAX="5" MIN="-5" STEP="0.5" VAR="nav_climb"/>
<dl_setting MAX="15" MIN="-15" STEP="1" VAR="fp_pitch"/>
<dl_setting MAX="1.0" MIN="0.0" STEP="0.01" VAR="fp_throttle"/>
<dl_setting MAX="5.0" MIN="-5.0" STEP="0.1" VAR="fp_climb"/>
<dl_setting MAX="50" MIN="-50" STEP="5" VAR="nav_shift" module="firmwares/fixedwing/nav" handler="IncreaseShift" shortname="inc. shift"/>
<dl_setting MAX="50" MIN="5" STEP="0.5" VAR="nav_ground_speed_setpoint" shortname="ground speed"/>
<dl_setting MAX="0.2" MIN="0" STEP="0.01" VAR="nav_ground_speed_pgain" shortname="ground speed pgain"/>
<dl_setting MAX="500" MIN="50" STEP="5" VAR="nav_survey_shift"/>
<dl_setting min="10" max="500" step="1" var="nav_survey_sweep" type="float" shortname="Distance" module="modules/nav/nav_survey_rectangle"/>
</dl_settings>
</dl_settings>
</settings>
<dep>
<provides>navigation</provides>
</dep>
<header>
<file name="nav.h" dir="firmwares/fixedwing"/>
</header>
<init fun="nav_init()"/>
<datalink message="BLOCK" fun="nav_parse_BLOCK(dev,trans,buf)"/>
<datalink message="MOVE_WP" fun="nav_parse_MOVE_WP(dev,trans,buf)"/>
<makefile target="ap|sim|nps" firmware="fixedwing">
<file name="nav.c" dir="$(SRC_FIRMWARE)"/>
<file name="common_flight_plan.c"/>
<file name="nav_survey_rectangle.c"/>
<define name="NAV"/>
<test firmware="fixedwing">
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
<define name="DOWNLINK_DEVICE" value="uart0"/>
<define name="USE_UART0"/>
</test>
</makefile>
</module>