Basic navigation functions for Rovers
No detailed description...
Example for airframe file
Add to your firmware section:
<module name="nav_rover_base"/>
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(buf)
- on message MOVE_WP call nav_parse_MOVE_WP(buf)
Files
Header Files
The following headers are automatically included in modules.h
Source Files
Raw nav_rover_base.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="nav_rover_base" dir="nav" task="control">
<doc>
<description>
Basic navigation functions for Rovers
</description>
</doc>
<settings>
<dl_settings>
<dl_settings NAME="nav">
<dl_setting MAX="100." MIN="-100." STEP="0.1" VAR="nav.radius"/>
<dl_setting MAX="359." MIN="0." STEP="5." VAR="nav.heading" unit="rad" alt_unit="deg"/>
<dl_setting MAX="20." MIN="-20." STEP="1." VAR="nav.shift" module="firmwares/rover/navigation" handler="IncreaseShift" shortname="inc. shift"/>
</dl_settings>
</dl_settings>
</settings>
<dep>
<provides>navigation</provides>
</dep>
<header>
<file name="nav_rover_base.h"/>
</header>
<init fun="nav_init()"/>
<init fun="nav_rover_init()"/>
<datalink message="BLOCK" fun="nav_parse_BLOCK(buf)"/>
<datalink message="MOVE_WP" fun="nav_parse_MOVE_WP(buf)"/>
<makefile>
<file name="nav_rover_base.c"/>
<file name="navigation.c" dir="firmwares/rover"/>
<file name="common_flight_plan.c"/>
<file name="waypoints.c"/>
<define name="USE_NAVIGATION"/>
<test firmware="rover">
<define name="USE_GENERATED_AUTOPILOT"/>
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
<define name="DOWNLINK_DEVICE" value="uart0"/>
<define name="USE_UART0"/>
</test>
</makefile>
</module>