Architecture of the Flightdeck-UI Library

The current Flightdeck-UI library release (0.1.5) contains the altimeter, VSI and annunciator elements (see Basic Instruments above). The dial input element (see Dials) is also supported. In addition, there are several miscellaneous controls (in the SimpleControls module), mostly to support the development of complete applications such as the MVM. The current MVM version is 0.1.2 (see the previous chapter).

The numbering scheme is in the style used by the Linux kernel. Effectively, this means that odd values of the middle version number indicate development releases, while even numbers denote production releases. Thus, version 0.1.5 is a development version of Flightdeck-UI. The first production Flightdeck-UI version will be 0.2.0. This chapter describes the architecture of the 0.1.5 release.

Languages and Tools

Flightdeck-UI is written in Python, and uses the Tkinter GUI library. While later versions may include code in other languages (notably C++, to boost performance), strong Python support will continue to be provided. A combination of C++ and Python might well be the ideal choice for complex systems — especially if many developers of varying experience levels are to work together. Sophisticated Open Source/Free Software projects in particular could reap a significant benefit from a combination of these two languages.