Competition Manager for OpenVario
Gliding Competiton Manager for OpenVario
This application is intended for glider pilots participating in gliding
competitions, published on Soaring Spot. It runs on
OpenVario flight computer and automatically downloads
current contest airspace and waypoint files when they are published on Soaring
compman allows to select your competition class and automatically
downloads today's task, provided by soarscore.com. It
will configure XCSoar to use the task and updated files.
You can switch between contests easily without need to download and transfer
files to the flight computer manually.
It is a text-mode application, which might look primitive for modern
graphics-rich UI standards. However, it is written using contemporary software
engineering techniques, responsive, very fast and easy to use, even with very
limited input controls available for OpenVario. It also has a fairly simple
code, that makes
openvario easy to understand and change.
This app requires Internet connection to be useful. The simplest way to get it on your OpenVerio is to use a small USB WiFi dongle.
Typically, during the gliding competition, you run
compman daily to check if
new competition files were uploaded to Soaring Spot (or when new files are
announced during the briefing). When
compman is started, new files for the
current competition will be automatically downloaded to the device. As soon as
you select them, XCSoar will be reconfigured to use these files. Simply exit
compman and run the XCSoar the usual way.
When you go to the next competition, simply switch the contest using
menu system. All competition files will be automatically downloaded and XCSoar
will be reconfigured. No more complicated downloading of files on the flash
drives and transferring them manually to the OpenVario!
compman can be operated using only 6 buttons: 4 arrow keys for navigating,
Enter (usually a push on rotary encoder or joystick) for selecting
items and Esc (usually marked as X) for going back.
compman on your OpenVario you will also need to be able to ssh to
the device or connect to it through standard debugging serial port. Assuming
the network connection is up, use
opkg package manager to download and
$ echo src compman http://openvario.lebedev.lt/opkg/armv7vet2hf-neon >> /etc/opkg/customfeeds.conf $ opkg update $ opkg install openvario-compman $ opkg install ovmenu-compman
If you have already installed openvario-shell, all you have to do is:
$ opkg install openvario-compman
At this point you should be able to run compman from command line:
Reboot your OpenVario and you should also see the new menu item for
It is not required to own or have access to OpenVario device in order to
compman. The only requirements are Python 3.7 or higher and terminal
emulator, readily available on MacOS or Linux operating systems. There are lots
of free options for Windows as well.
Setting up the development environment
pipenv for managing dependencies and dev environment. If you
don't have it yet, install with:
$ pip install pipenv
After checking out the sources,
openvario-compman directory and run:
$ pipenv shell $ pipenv install
After that, your development environment is ready, you should be able to run the app:
It is possible to adjust few options by providing them in
.env file, located
in project directory. You can copy the sample file
adjust values there.
compman uses various tools to check the code quality. They are generally
make program. Most useful are these:
make test- runs the test suite
make mypy- checks the sources with static type checker
make black- reformats the source code to match the code style
It is often useful to watch the log file while running
compman in development
environment. The log file will contain traces of actions user makes and
tracebacks from exceptions happening during the execution. Use
tail to watch
the logs in a separate terminal window:
$ tail -F ~/.compman/compman.log
compman keeps all its files under
~/.compman directory. It contains the set
of directories for each configured competition. Each competition directory
contains downloaded airspace and waypoints files. This directory can be changed
COMPMAN_DATADIR environment variable or using
compman expects to find XCSoar profile in
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.