[firmware] add rover firmware

Basic support for a rover firmware based on ChibiOS and generated AP:
- simple control loop
- new navigation layer based on registered functions
- xbee_api for telemetry, gps_passthrough for ins
- basic telemetry and settings files
This commit is contained in:
Gautier Hattenberger
2018-06-23 21:51:48 +02:00
parent 0b13a742b7
commit 2114b8ae4e
30 changed files with 3082 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="guidance_rover" dir="guidance">
<doc>
<description>
Base guidance code for rover
</description>
</doc>
<settings target="ap">
<dl_settings>
<dl_settings NAME="Guidance">
<dl_setting var="rover_guidance.speed_pid.p" min="0." step="0.1" max="10." shortname="s_kp" param="ROVER_GUIDANCE_SPEED_PGAIN" type="float" persistent="true"/>
<dl_setting var="rover_guidance.speed_pid.d" min="0." step="0.1" max="10." shortname="s_kd" param="ROVER_GUIDANCE_SPEED_DGAIN" type="float" persistent="true"/>
<dl_setting var="rover_guidance.speed_pid.i" min="0." step="0.01" max="1." shortname="s_ki" handler="set_speed_igain" param="ROVER_GUIDANCE_SPEED_IGAIN" type="float" persistent="true" module="guidance/rover_guidance"/>
<dl_setting var="rover_guidance.turn_pid.p" min="0." step="0.1" max="10." shortname="t_kp" param="ROVER_GUIDANCE_TURN_PGAIN" type="float" persistent="true"/>
<dl_setting var="rover_guidance.turn_pid.d" min="0." step="0.1" max="10." shortname="t_kd" param="ROVER_GUIDANCE_TURN_DGAIN" type="float" persistent="true"/>
<dl_setting var="rover_guidance.turn_pid.i" min="0." step="0.01" max="1." shortname="t_ki" handler="set_turn_igain" param="ROVER_GUIDANCE_TURN_IGAIN" type="float" persistent="true" module="guidance/rover_guidance"/>
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="rover_guidance.h"/>
</header>
<init fun="rover_guidance_init()"/>
<makefile target="ap" firmware="rover">
<file name="rover_guidance.c" dir="$(SRC_FIRMWARE)/guidance"/>
</makefile>
</module>