Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
flight_recorder module

Record flight data according to your telemetry file.

Data are stored on a SD card with the pprzlog format. Currently only supported on Apogee/Fixedwing using chibios implementation. The selected telemetry file should include a FlightRecorder process.

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

<module name="flight_recorder">
b'<define name="FLIGHTRECORDER_DEVICE" value="dev" />\n '
b'<configure name="FLIGHTRECORDER_SDLOG" value="TRUE|FALSE" />\n '
</module>

Module configuration options

Configure Options

  • name: FLIGHTRECORDER_SDLOG value: TRUE|FALSE
    Description: Enable/disable logging on internal SD card (default=TRUE)

Define Options

  • name: FLIGHTRECORDER_DEVICE value: dev
    Description: Device to be used when not internal SD card (ex: uart0)

Module functions

Init Functions

These initialization functions are called once on startup.

Periodic Functions

These functions are called periodically at the specified frequency from the module periodic loop.

  • flight_recorder_periodic()
    • Running at maximum module frequency.
    • Autorun: TRUE
      Periodic function automatically starts after init.

Datalink Functions

Whenever the specified datalink message is received, the corresponing handler function is called.

  • on message INFO_MSG_UP call flight_recorder_log_msg_up(buf)

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw flight_recorder.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="flight_recorder" dir="loggers" task="datalink">
<doc>
<description>
Record flight data according to your telemetry file.
Data are stored on a SD card with the pprzlog format.
Currently only supported on Apogee/Fixedwing using chibios implementation.
The selected telemetry file should include a FlightRecorder process.
</description>
<configure name="FLIGHTRECORDER_SDLOG" value="TRUE|FALSE" description="Enable/disable logging on internal SD card (default=TRUE)"/>
<define name="FLIGHTRECORDER_DEVICE" value="dev" description="Device to be used when not internal SD card (ex: uart0)"/>
</doc>
<dep>
<depends>logger_sd_chibios,pprzlog</depends>
<provides>flight_recorder</provides>
</dep>
<header>
<file name="flight_recorder.h"/>
</header>
<init fun="flight_recorder_init()"/>
<periodic fun="flight_recorder_periodic()" autorun="TRUE"/>
<datalink message="INFO_MSG_UP" fun="flight_recorder_log_msg_up(buf)"/>
<makefile target="ap">
<file name="flight_recorder.c"/>
<define name="FLIGHTRECORDER_SDLOG" cond="ifneq (FALSE,$(findstring $(FLIGHTRECORDER_SDLOG),FALSE))"/>
<configure name="TELEMETRY_FREQUENCY" default="$(PERIODIC_FREQUENCY)"/>
<define name="TELEMETRY_FREQUENCY" value="$(TELEMETRY_FREQUENCY)"/>
</makefile>
</module>