Tag Archives: ground software

This is a brief note to keep everyone updated on progress towards supporting Paparazzi on OSX. Currently Paparazzi is supported only on Linux. With the growing base of Paparazzi developers it has become possible for us to consider supporting multiple operating systems.

Mac OSX was chosen for attention ahead of Windows 7 due to the its similarity to Linux. We hope that the experience gained in supporting this operating system will give an indication of what form a combined build system for all three platforms will take.

Paparazzi Center on OSX

The GUI used by the Paparazzi ground segment is based on GTK, this provides a transparent way of building X Windows based applications for OSX. To date all the components of the ground segment have been built in this way and function as intended. Unfortunately this currently requires hand building some packages, attention is now being given to simplifying the process by wherever possible submitting patches to the package maintainers.

Paparazzi Ground Control Station running live on OSX

Once the machinery is in place for installing Paparazzi on OSX without hand building some packages, only a few extra changes will be required to produce a version that uses the gtk-quartz-engines. This will then provide the look and feel of a native OSX application.

A number of interesting facts have surfaced during this process.

The first is that the Paparazzi development team have over the years have been very careful to adhere to the Posix standard. This has meant that very few code changes have been required to make Paparazzi run on OSX. This portability is something the team should be very proud of.

The second is the amazing depth of talent in the Paparazzi development team. I provide only one example of this but there are many more. A central component required in the ground segment is the build system used by Paparazzi to create firmware for the autopilot. This consists of a cross compiler and related utilities. In this case Esden had already done much of the work required to produce such a toolchain with his summon-arm-toolchain script. Thanks to that with only a few “clicks” we ended up with a toolchain that we could use for both of our arm targets, lpc21 and stm32.