[checks] Add preflight checks (#2951)

---------

Co-authored-by: Christophe De Wagter <dewagter@gmail.com>
Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
This commit is contained in:
Freek van Tienen
2023-11-15 22:54:38 +01:00
committed by GitHub
parent 80ad17cdfa
commit 7b54c09acc
35 changed files with 594 additions and 114 deletions
+3 -1
View File
@@ -24,7 +24,9 @@
<periodic fun="electrical_periodic()" freq="10"/>
<makefile target="fbw|sim|nps" firmware="fixedwing">
<file name="electrical.c"/>
<test firmware="fixedwing"/>
<test firmware="fixedwing">
<define name="ELECTRICAL_PERIODIC_FREQ" value="10"/>
</test>
</makefile>
<makefile target="ap" firmware="fixedwing" cond="ifeq (,$(findstring $(SEPARATE_FBW),0 FALSE))">
<file name="electrical.c"/>
+1
View File
@@ -13,6 +13,7 @@
<define name="SDLOG_START_DELAY" value="30" unit="s" description="Set the delay in seconds before starting the logger. This delay can be used to get plug USB cable and get data without starting a new log. Default: 30s"/>
<define name="SDLOG_AUTO_FLUSH_PERIOD" value="10" unit="s" description="Data flush period. Shorter period may decrease performances. Default: 10s"/>
<define name="SDLOG_CONTIGUOUS_STORAGE_MEM" value="50" unit="Mo" description="Try to reserve a given contiguous mass storage memory. Default: 50Mo"/>
<define name="SDLOG_PREFLIGHT_ERROR" value="FALSE" description="If set to TRUE, the autopilot will not arm if the SDLogger is not running. Default: FALSE"/>
</doc>
<settings>
<dl_settings>
+33
View File
@@ -0,0 +1,33 @@
<!DOCTYPE module SYSTEM "module.dtd">
<module name="preflight_checks" dir="checks" task="core">
<doc>
<description>
Preform preflight checks before arming the motors and periodically while not armed for status information.
</description>
<section name="PREFLIGHT_CHECK" prefix="PREFLIGHT_CHECK_">
<define name="MAX_MSGBUF" value="512" description="Maximum combined message size for storing the errors"/>
<define name="SEPERATOR" value=";" description="Seperating character for storing the errors"/>
<define name="INFO_TIMEOUT" value="5" description="Only send messages down every xx amount of seconds"/>
</section>
</doc>
<settings>
<dl_settings>
<dl_settings name="Checks">
<dl_setting var="preflight_bypass" min="0" max="1" step="1" values="FALSE|TRUE"/>
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="preflight_checks.h"/>
</header>
<makefile>
<define name="PREFLIGHT_CHECKS" value="true"/>
<file name="preflight_checks.c"/>
<test>
<define name="DOWNLINK_TRANSPORT" value="pprz_tp"/>
<define name="DOWNLINK_DEVICE" value="uart0"/>
<define name="USE_UART0"/>
</test>
</makefile>
</module>