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. It is hoped that 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 to 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 were 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.
It is expected that instructions for installing Paparazzi on OSX with X Windows will be posted at the official Paparazzi wiki in the very near future. With a non X Windows version following in the coming weeks.
And until next time… your Paparazzi team.