Metadata-Version: 2.1
Name: openvario-compman
Version: 0.1
Summary: Competition Manager for OpenVario
Home-page: https://github.com/kedder/compman
Author: Andrey Lebedev
Author-email: andrey.lebedev@gmail.com
License: UNKNOWN
Description: # Gliding Competiton Manager for OpenVario
        
        [![Build Status](https://travis-ci.com/kedder/openvario-compman.svg?branch=master)](https://travis-ci.com/kedder/openvario-compman)
        [![Coverage Status](https://coveralls.io/repos/github/kedder/openvario-compman/badge.svg?branch=master)](https://coveralls.io/github/kedder/openvario-compman?branch=master)
        [![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
        [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
        
        This application is intended for glider pilots participating in gliding
        competitions, published on [Soaring Spot](https://soaringspot.com). It runs on
        [OpenVario](https://openvario.org/) flight computer and automatically downloads
        current contest airspace and waypoint files when they are published on Soaring
        Spot. It also configures [XCSoar](https://xcsoar.org/) 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](https://asciinema.org/a/307125.svg)](https://asciinema.org/a/307125)
        
        ## 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,
        <kbd>Enter</kbd> (usually a push on rotary encoder or joystick) for selecting
        items and <kbd>Esc</kbd> (usually marked as <kbd>X</kbd>) 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:
        
        ```sh
        $ pip install pipenv
        ```
        
        After checking out the sources, `cd` to `openvario-compman` directory and run:
        
        ```sh
        $ pipenv shell
        $ pipenv install
        ```
        
        After that, your development environment is ready, you should be able to run
        the app:
        
        ```sh
        $ 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:
        
        ```sh
        $ 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.
        
Keywords: openvario tui competition igc xcsoar
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
Provides-Extra: dev
Provides-Extra: test
