Skip to main content

Competition Manager for OpenVario

Project description

Gliding Competiton Manager for OpenVario

Build Status Coverage Status Checked with mypy Code style: black

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 Spot. It also configures XCSoar to use the 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 with no graphics, which might look primitive for modern graphics-rich UI standards. However, it is written using modern software engineering techniques, responsive, very fast and easy to use with very limited input controls available for OpenVario. It also has a fairly simple code, that is easy to understand and change.

asciicast

Usage

This app requires Internet connection to be useful. Simplest way to get it on your OpenVerio device is to use a small USB WiFi dongle. See "Installation instructions" below for more details.

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 these new files, XCSoar will be configured to use them. Simply exit compman and run the XCSoar the usual way.

When you go to the next competition, simply switch the contest using compman 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.

Installation

At this stage of development (early preview), installation requires access to Internet and local network. You will also need to be able to ssh to the device or connect to it through standard serial port for debugging.

Compman

Assuming the network connection is up and you are connected to the device with SSH or serial cable, use opkg package manager to download and install compman:

$ echo src compman http://openvario.lebedev.lt/opkg >> /etc/opkg/customfeeds.conf
$ opkg update
$ opkg install openvario-compman

At this point you should be able to run compman from command line:

$ compman

Main menu

Currently, the main menu is just a script with hardcoded menu entries. To add another entry you need to change this script:

$ wget https://.../ovmenu.patch
$ patch -p0 < ovmenu.patch

Reboot your OpenVario and you should see the new menu item for compman!

Developing

It is not required to own or have access to OpenVario device in order to develop 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

compman uses pipenv for managing dependencies and dev environment. If you don't have it yet, install with:

$ pip install pipenv

After checking out the sources, cd to openvario-compman directory and run:

$ pipenv shell
$ pipenv install

After that, your development environment is ready, you should be able to run the app:

$ compman

It is possible to adjust few options by providing them in .env file, located in project directory. You can copy the sample file sample.env to .env and adjust values there.

Development tools

compman uses various tools to check the code quality. They are generally available through 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

Filesystem

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 by stting COMPMAN_DATADIR environment variable or using --datadir command-line option.

compman expects to find XCSoar profile in ~/.xcsoar directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openvario-compman-0.1.tar.gz (28.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page