MIT License

项目介绍

rkusa/DATIS 是一个托管在 GitHub 上的开源项目,主要使用 Rust 编写,采用 MIT License 许可证,目前获得 111 个 Star、21 次 Fork。

仓库全名
rkusa/DATIS
开源许可证
MIT License
Star 数
111
Fork 数
21
未关闭 Issue
32

README 摘要

DATIS DCS World Automatic Terminal Information Service (ATIS) broadcasted through Simple Radio Standalone. Automatically starts within DCS, extracts weather information from the currently running mission, generates various report, converts it to speech and broadcasts it through SRS. Changelog | Troubleshooting | Prebuild Releases Example Report: This is Batumi information Alpha. Runway in use is 13. Wind 140 at 9…

完整内容见 GitHub 原始 README 或本页 。

常见问题

DATIS 用什么语言开发?

主要使用 Rust 编写,采用 MIT License 许可证,目前有 111 个 Star。

DATIS 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 DATIS 的源码?

可以直接克隆仓库:git clone https://github.com/rkusa/DATIS.git,默认分支为 main;安装与运行步骤见仓库 README。

DATIS 最近还在维护吗?

仓库最近一次更新为 2025年9月3日,当前有 32 个未关闭 Issue;Star 数为 111,可作为社区活跃度的参考。

关于

DCS World Automatic Terminal Information Service (ATIS) broadcasted through Simple Radio Standalone (SRS)

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
161
价值分
72
活跃状态
活跃

README

DATIS

DCS World Automatic Terminal Information Service (ATIS) broadcasted through Simple Radio Standalone. Automatically starts within DCS, extracts weather information from the currently running mission, generates various report, converts it to speech and broadcasts it through SRS.

Changelog | Troubleshooting | Prebuild Releases

Example Report:

This is Batumi information Alpha. Runway in use is 13. Wind 140 at 9 knots. Visibility 0.5. Cloud conditions overcast 5, rain. Temperature 20.9 celcius. ALTIMETER 2933. REMARKS. 993 hectopascal. QFE 2930 or 992. End information Alpha.

Example Carrier Report:

99, Mother’s wind 140 at 9 knots, altimeter 2933, CASE 1, BRC 276, expected final heading 267, report initial

Features

ATIS stations are not the only report kind this mod supports, all supported report kinds are:

  • ATIS stations: Automatic Terminal Information Service broadcasts.
  • Carrier reports: Report information relevant to carrier recoveries.
  • Broadcast of custom message: Convert a custom message to speech and broadcast it through SRS.
  • Weather stations: Similar report to ATIS stations, but not connected to an airfield. Can be used to report weather conditions at various parts of the map, like shooting ranges.

The mods uses the Window’ built-in TTS by default, but can also either use Google Cloud’s TTS, AWS Polly, or a combination of all of them (tip: setup both Google Cloud and Amazon Web Services to have a greater choice of different voices).

Migrate to 3.x.x

The plugin settings have been removed from the DCS settings screen. DATIS is now configured through a config file at Saved Games\DCS.openbeta\Config\DATIS.json, see Settings. This has been done, because each mission you save contains all your plugin settings. This included the cloud provider access keys set for DATIS. The change has been made to prevent the accidential sharing of those credentials.

Installation

Build it yourself and use the content inside the mod directory or use the pre-build mod from one of the releases.

  1. Copy the content (Mods and Scripts directory) into Saved Games\DCS.openbeta\.
  2. Optional: Customize your settings, see Settings

Once you start a mission that contains a pattern as described in the next section, DATIS runs automatically. It thereby expects a SRS server to run locally on the default SRS ports.

If DATIS isn’t working, you might find some helpful information in the log file at DCS.openbeta\Logs\DATIS.log.

For information about the free tier of GCloud, AWS and Azure see:

Setup

Setup ATIS stations

ATIS stations can be added to your mission by either

  • adding the following pattern to your mission situation, or
  • by adding a static unit to your mission, e.g. a communication tower (the kind of static unit doesn’t matter though), and name the static unit using the following pattern.
ATIS {Airfield} {ATIS Frequency}[, OPTION {VALUE}]*

Available settings:

  • VOICE {VOICE NAME}: Set the TTS provider and voice to be used for this station. If not provided, the TTS provider and voice defaults to the one set up in the DCS special settings. Available voices are:
  • TRAFFIC {FREQUENCY}: An optional traffic frequency that, if provided, is mentioned as part of the ATIS report.
  • INFO {INFO LETTER}: Allows you to override the dynamic rotating selection of the ATIS information letter if your mission requires a specific and constant value.
  • ACTIVE {RUNWAY OVERRIDE}: Can be used if the SPINS for the airfield differ from the prevailing winds and you want to override the calculated active runway. Use ACTIVE {RUNWAY ARRIVAL}/{RUNWAY DEPARTURE} to specify separate arrival and departure runways.
  • NO HPA: Disable adding pressures in hectopascals to the remarks section.
  • NO QFE: Disable inclusion of QFE in the remarks section.

Examples:

ATIS Kutaisi 251.000
ATIS Batumi 131.5
ATIS Senaki-Kolkhi 145
ATIS Kutaisi 251.000, TRAFFIC 252.000
ATIS Kutaisi 251.000, VOICE en-US-Standard-E
ATIS Kutaisi 251.000, TRAFFIC 252.000, VOICE en-US-Standard-E
ATIS Kutaisi 251.000, TRAFFIC 252.000, VOICE GC:en-US-Wavenet-B
ATIS Kutaisi 251.000, TRAFFIC 252.000, VOICE AWS:Nicole
ATIS Kutaisi 251.000, TRAFFIC 252.000, VOICE WIN
ATIS Kutaisi 251.000, TRAFFIC 252.000, INFO Q, ACTIVE 21L, NO QFE, NO HPA
ATIS Kutaisi 251.000, TRAFFIC 252.000, INFO Q, ACTIVE 21L.03R, NO QFE, NO HPA

Example

Setup Carrier Reports

Name your carrier unit (unit not group!) using the following pattern:

CARRIER {Name} {Frequency}[, VOICE {VOICE NAME}]

Example

Setup Broadcast of Custom Messages

Place a unit (doesn’t matter if it is a static unit, a plane, a vehicle, …) and name it (the unit not the group!) using the following pattern:

BROADCAST {Frequency}[, VOICE {VOICE NAME}]: {Message}

Example:

BROADCAST 251.000, VOICE AWS:Brian: Help help!

Setup Broadcast of Weather Stations

Place a unit (doesn’t matter if it is a static unit, a plane, a vehicle, …) and name it (the unit not the group!) using the following pattern:

WEATHER {Station Name} {Frequency}[, VOICE {VOICE NAME}]

Example:

WEATHER Mountain Range 251.000, VOICE en-US-Standard-E

Development

Crates

  • datis-cmd - A utility to start DATIS from the command line. Mostly intended for testing-purposes.
  • datis-core - The core functionality: generating the report and talking to SRS.
  • datis-module - A Lua module that can be integrated into DCS to automatically start ATIS stations.
  • radio-station - A command line utility to play OGG/OPUS audio files through a specified SRS frequency.
  • srs - A re-usable Rust SRS client that is used for all the other crates.
  • win-media - Bindings to a subset of the Windows Runtime (separate crate to reduce the compile time during development).
  • win-tts - A library to convert text to speech using the Window Runtime.

Build

Instead of building you can also use the pre-build mod from one of the releases. Otherwise, build with Rust (stable):

cargo build --release --package datis

Run tests

cargo test

Format code

cargo fmt

This requires you to have rustfmt on your toolchain. It can be installed via rustup component add rustfmt.

License

MIT

评论

暂无评论