Paparazzi UAS  v5.18.0_stable-1-g6993852-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
logger_control_effectiveness module

Logs to a csv file data required to compute control effectiveness

Data can be post-processed using the tool in sw/tools/control_effectiveness Based on ChibiOS SD log

Example for airframe file

Add to your firmware section:

1 <module name="logger_control_effectiveness"/>

Module configuration options

Airframe file section

  • section name: CONTROL_EFFECTIVENESS prefix: LOGGER_CONTROL_EFFECTIVENESS_
    • name COMMANDS value: FALSE|TRUE
      Description: log command vector (true by default)
    • name ACTUATORS value: FALSE|TRUE
      Description: log actuator vector
    • name POS value: FALSE|TRUE
      Description: log position (ENU frame, integer representation)
    • name SPEED value: FALSE|TRUE
      Description: log speed (ENU frame, integer representation)
    • name AIRSPEED value: FALSE|TRUE
      Description: log airspeed (float)

Module functions

Periodic Functions

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

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw logger_control_effectiveness.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="logger_control_effectiveness" dir="loggers">
<doc>
<description>
Logs to a csv file data required to compute control effectiveness
Data can be post-processed using the tool in sw/tools/control_effectiveness
Based on ChibiOS SD log
</description>
<section name="CONTROL_EFFECTIVENESS" prefix="LOGGER_CONTROL_EFFECTIVENESS_">
<define name="COMMANDS" value="FALSE|TRUE" description="log command vector (true by default)"/>
<define name="ACTUATORS" value="FALSE|TRUE" description="log actuator vector"/>
<define name="POS" value="FALSE|TRUE" description="log position (ENU frame, integer representation)"/>
<define name="SPEED" value="FALSE|TRUE" description="log speed (ENU frame, integer representation)"/>
<define name="AIRSPEED" value="FALSE|TRUE" description="log airspeed (float)"/>
</section>
</doc>
<header>
<file name="logger_control_effectiveness.h" />
</header>
<periodic fun="logger_control_effectiveness_periodic()" start="logger_control_effectiveness_start()" autorun="FALSE" />
<makefile target="ap">
<file name="logger_control_effectiveness.c"/>
</makefile>
</module>