Directories Structure
This chapter explains how files and directory are structured in Paparazzi.
Here is an extract of the Paparazzi tree:
├── conf
│ ├── airframes
│ │ └── airframe.dtd
│ ├── autopilot
│ │ └── autopilot.dtd
│ ├── conf.xml
│ ├── control_panel.xml
│ ├── flight_plans
│ │ ├── basic.xml
│ │ └── flight_plan.dtd
│ ├── modules
│ │ └── baro_bmp3.xml
│ ├── radios
│ │ └── FrSkyX9D.xml
│ ├── settings
│ │ ├── fixedwing_basic.xml
│ │ └── settings.dtd
│ ├── telemetry
│ │ ├── default_fixedwing.xml
│ │ ├── default_rotorcraft.xml
│ │ └── telemetry.dtd
│ ├── tools
│ │ ├── blacklisted
│ │ ├── gcs.xml
│ │ └── messages.xml
├── doc
│ └── sphinx
│ └── source
├── Makefile
├── paparazzi
├── start.py
├── sw
│ ├── ext
│ ├── airborne
│ │ ├── autopilot.c
│ │ ├── autopilot.h
│ │ └── modules
│ │ ├── decawave
│ │ ├── demo_module
│ │ └── gps
│ ├── ground_segment
│ │ ├── tmtc
│ │ └── cockpit
│ └── simulator
└── var
├── aircrafts
│ └── Microjet
├── logs
│ ├── 20_06_25__11_39_10.data
│ ├── 20_06_25__11_39_10.log
└── messages.xml
From a user perspective, the conf
directory is the most important.
Aircraft
The conf/airframes
, conf/flight_plans
, conf/radios
and conf/telemetry
sub-directories must contain the corresponding files. You can add as many subdirectories as you want, but don’t forget to maintain the relative path to the associated dtd file.
In this example tree for the airframe directory (located itself in the conf
directory):
airframe
├── airframe.dtd
├── examples
│ └── microjet.xml
└── nimp.xml
nimp.xml
:<!DOCTYPE airframe SYSTEM "airframe.dtd">
examples/microjet.xml
:<!DOCTYPE airframe SYSTEM "../airframe.dtd">
Aircrafts configurations (stored in conf
files), and control panel files should be located in the userconf
directory.
Tools
The Tools in the Paparazzi Center come from the conf/tools
directory. Each xml file produce a new entry in the Tools menu. You can add you own tools by creating a new xml file in this directory, and restarting the Paparazzi Center.
There are many tools that you will probably never use. You can remove these from the menu by adding their name to the blacklisted
file.
Modules
Modules configuration files are located in the conf/modules
directory. The actual code of the modules is located in sw/airborne/modules
.
Software
Paparazzi softwares are located in sw
. Airborne code, that will run on the drone itself, is located in sw/airborne
.
sw/ext
contains external software dependencies.sw/simulator
contains the simulatorssw/ground_segment/tmtc
, for “telemetry and telecommand” contains tools related to modems (link), and the server.sw/ground_segment/cockpit
contains the GCS code
Doc
This documentation is stored in the doc/sphinx
directory. Feel free to improve it!
Generated files
Compiled and generated files are located in the var
directory.
var/aircrafts
contains the files generated by building your aircrafts.
var/logs
contains the logs written by the Server from real flights as well as for simulations if you remove the -n
option on the server during a simulation.
var/messages.xml
list all PprzLink messages.
Launcher
You can launch Paparazzi with the eponym executable file paparazzi
, or via the configuration utility start.py
. In the later case, you can choose what conf file and what control panel file you want to use.