Skip to main content

Main Menu Shell for OpenVario

Project description

Main Menu Shell for Openvario

Build Status Coverage Status Checked with mypy Code style: black Maintainability

This is a replacement for stock main menu shipped with official Openvario images. It is implemented in Python and offers more extensibility and richer user interface than stock shell script-based one.

The goal of this project is to provide a user interface for managing Openvario device that is:

  • User friendly -- responsive, can be operated with remote stick or minimal input controls.
  • Feature rich -- allow to manage all aspects of device, including connected devices, files, etc.
  • Extensible -- allow to integrate third-party applications.
  • Simple to develop and test -- written in Python, can be tested without Openvario device at hand.

Features

Feature Demo

  • Run XCSoar, optionally automatically after configurable timeout
  • Pick preferred XCSoar language
  • Chose screen orientation, screen brightness, font size and more
  • Calibrate touchscreen and sensors
  • Download flight logs to USB flash drive with responsive UI
  • Copy files to and from USB flash drive, backup and restore configuration
  • Synchronize system time with GPS time (when GPS receiver is connected)
  • Integrate with third party apps (like Competition Manager)

Installation

The easiest way to install is using opkg package manager on internet-connected Openvario device.

wget https://raw.githubusercontent.com/kedder/openvario-shell/master/scripts/openvario-shell-install.sh -O - | sh

After executing this command, ovshell command should be available. It will start automatically next time Openvario boots up.

In case you didn't like it and would like to return to stock Openvario menu, run this command:

wget https://raw.githubusercontent.com/kedder/openvario-shell/master/scripts/openvario-shell-uninstall.sh -O - | sh

Development

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

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

pip install pipenv  # or pip3 if you don't have "pip"

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

pipenv shell
pipenv sync

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

ovshell

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

ovshell 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 coverage - runs the test suite and display test coverage statistics
  • make mypy - checks the sources with static type checker
  • make black - reformats the source code to match the code style

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-shell-0.7.8.tar.gz (86.5 kB view details)

Uploaded Source

File details

Details for the file openvario-shell-0.7.8.tar.gz.

File metadata

  • Download URL: openvario-shell-0.7.8.tar.gz
  • Upload date:
  • Size: 86.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for openvario-shell-0.7.8.tar.gz
Algorithm Hash digest
SHA256 7220079f04b5c25ae59094022c5f37da5fa48c2b0fc6c09713817567e0830abe
MD5 e7967353eb068eb7117cbe3ab890611a
BLAKE2b-256 6aff1657328f507b97a7f737bc66e385fa41927ff10a7318cac42e81677a02b6

See more details on using hashes here.

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