Paparazzi UAS  v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
video_exif module

Add EXIF data to any JPEG

  • Image size
  • GPS location

Example for airframe file

Add to your firmware section:

1 <module name="video_thread"/>
2 <module name="video_exif"/>


Module functions

Periodic Functions

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

  • push_gps_to_vision()
    • Frequency in Hz: 8
    • Autorun: LOCK
      Periodic function automatically starts after init and can't be stopped.


Header Files

The following headers are automatically included in modules.h

Source Files

Raw video_exif.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="video_exif" dir="computer_vision">
Add EXIF data to any JPEG
- Image size
- GPS location
<file name="lib/exif/exif_module.h"/>
<periodic fun="push_gps_to_vision()" freq="8"/>
<makefile target="ap">
<include name="modules/computer_vision"/>
<file name="exif_module.c" dir="modules/computer_vision/lib/exif"/>
<!-- libexif -->
<configure name="EXTSW" value="$(PAPARAZZI_SRC)/sw/ext" />
<configure name="LIBEXIF" value="$(EXTSW)/libexif" />
<file name="exif-content.c" dir="$(LIBEXIF)"/>
<file name="exif-entry.c" dir="$(LIBEXIF)"/>
<file name="exif-tag.c" dir="$(LIBEXIF)"/>
<file name="exif-format.c" dir="$(LIBEXIF)"/>
<file name="exif-utils.c" dir="$(LIBEXIF)"/>
<file name="exif-mem.c" dir="$(LIBEXIF)"/>
<file name="exif-data.c" dir="$(LIBEXIF)"/>
<file name="exif-log.c" dir="$(LIBEXIF)"/>
<file name="exif-loader.c" dir="$(LIBEXIF)"/>
<file name="exif-ifd.c" dir="$(LIBEXIF)"/>
<file name="exif-mnote-data.c" dir="$(LIBEXIF)"/>
<!-- libexif flags -->
<include name="$(EXTSW)"/>
<include name="$(LIBEXIF)"/>
<define name="NO_VERBOSE_TAG_DATA"/>
<define name="NO_VERBOSE_TAG_STRINGS"/>
<define name="JPEG_WITH_EXIF_HEADER" value="1"/>