OpenVario竞赛管理器
项目描述
OpenVario滑翔机竞赛管理器
此应用程序旨在为参加滑翔机竞赛的滑翔机飞行员使用,发布在Soaring Spot上。它运行在OpenVario飞行计算机上,并在Soaring Spot发布当前竞赛空域和航路点文件时自动下载。`compman`允许您选择您的竞赛类别,并自动下载由soarscore.com提供的今天的任务。它将配置XCSoar使用任务和更新后的文件。您可以在不需要手动下载和将文件传输到飞行计算机的情况下轻松切换比赛。
这是一个文本模式应用程序,对于现代图形丰富的UI标准来说可能看起来很原始。然而,它是使用当代软件工程技术编写的,响应式、非常快速且易于使用,即使在OpenVario上可用输入控制非常有限的情况下也是如此。它还有一个相当简单的代码,使得`openvario`易于理解和修改。
用法
此应用程序需要互联网连接才能有用。将此应用程序安装到您的OpenVerio的最简单方法是使用小型USB WiFi外置设备。
通常,在滑翔竞赛期间,您每天运行 compman
来检查是否有新的竞赛文件上传到 Soaring Spot(或在简报期间宣布新的文件)。当 compman
启动时,当前竞赛的新文件将自动下载到设备上。一旦您选择了它们,XCSoar 将重新配置以使用这些文件。只需退出 compman
,然后按常规方式运行 XCSoar 即可。
当您参加下一场竞赛时,只需使用 compman
菜单系统切换竞赛。所有竞赛文件将自动下载,并且 XCSoar 将重新配置。不再需要在闪存驱动器上复杂地下载文件并将它们手动转移到 OpenVario!
您可以使用仅 6 个按钮来操作 compman
:4 个箭头键用于导航,Enter(通常是一个旋转编码器或操纵杆的推压)用于选择项目,Esc(通常标记为 X)用于返回。
安装
要将 compman
安装到您的 OpenVario,您还需要能够通过 ssh 连接到设备或通过标准调试串行端口连接到它。假设网络连接正常,请使用 opkg
软件包管理器下载和安装 compman
$ echo src compman http://openvario.lebedev.lt/opkg/armv7vet2hf-neon >> /etc/opkg/customfeeds.conf
$ opkg update
$ opkg install openvario-compman
$ opkg install ovmenu-compman
如果您已经安装了 openvario-shell,那么您需要做的就是
$ opkg install openvario-compman
此时,您应该能够从命令行运行 compman
$ compman
重新启动您的 OpenVario,您也应该看到新的 compman
菜单项!
开发
为了开发 compman
,您不需要拥有或有权访问 OpenVario 设备。唯一的要求是 Python 3.7 或更高版本和终端模拟器,MacOS 或 Linux 操作系统上可以轻松获得。Windows 上也有很多免费选项。
设置开发环境
compman
使用 pipenv
来管理依赖项和开发环境。如果您还没有安装它,请使用以下命令安装:
$ pip install pipenv
检出源代码后,请进入 openvario-compman
目录并运行
$ pipenv shell
$ pipenv install
之后,您的开发环境就准备好了,您应该能够运行应用程序
$ compman
您可以通过在项目目录中的 .env
文件中提供一些选项来调整一些设置。您可以将示例文件 sample.env
复制到 .env
并在那里调整值。
开发工具
compman
使用各种工具来检查代码质量。它们通常可以通过 make
程序获得。最有用的有这些:
make test
- 运行测试套件make mypy
- 使用静态类型检查器检查源代码make black
- 重新格式化源代码以匹配代码样式
在开发环境中运行 compman
时,查看日志文件通常很有用。日志文件将包含用户执行的操作的跟踪和执行期间发生的异常的回溯。使用 tail
在单独的终端窗口中查看日志
$ tail -F ~/.compman/compman.log
文件系统
compman
在 ~/.compman
目录下保留所有文件。它包含每个配置的竞赛的目录集合。每个竞赛目录包含下载的空域和航路点文件。可以通过设置 COMPMAN_DATADIR
环境变量或使用 --datadir
命令行选项来更改此目录。
compman
预期在 ~/.xcsoar
目录中找到 XCSoar 配置文件。
项目详情
openvario-compman-0.6.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a2ffb725d8e65b5aeb866d6ac93818b3b9c1fe5d82cfeec767217ca38e7cdbf6 |
|
MD5 | 8221e1509204c8f419c78240d5739fc2 |
|
BLAKE2b-256 | 0515dcd368dce2fa34640c7001235cb5b0ca9127881c5a202ac145641c4749f6 |