Skip to content

Radio presets

What it is

src/presets.yaml describes the radio channels once per coalition, and the build projects them onto the physical radios of every player aircraft. It also renders one kneeboard PNG per aircraft type into the .miz.

No more setting channels one by one, aircraft by aircraft, in the DCS editor.

The smallest example that works

channels_collection:
  common:
    Guard:
      title: Guard
      freqs:
        uhf: 243.0
        vhf: 121.5

channel_lists:
  blue:
    primary_1:
      01: Guard
  • channels_collection gives a name to a frequency, with one value per band.
  • channel_lists declares, per coalition and per radio role, which channel goes on which number.

A literal frequency needs no channels_collection:

channel_lists:
  blue:
    primary_1:
      01: 251.0

The radio roles

Role Band Used for
primary_1 UHF the first V/UHF radio
primary_2 VHF the second V/UHF; also the warbirds' single radio
fm_supplement FM FM on top of two V/UHF radios (A-10C…)
fm_substitute FM FM in place of a V/UHF
fm_secondary FM a second FM

The build looks at each aircraft type's real radios and gives them the matching role. An unknown role fails the build.

The gotcha

A channel with no frequency in the role's band is dropped, silently. A channel declaring only a uhf: value placed under primary_2 (VHF) disappears from the projected list — that channel number stays empty on the radio. A literal frequency, on the other hand, is never dropped.

The symptom to watch for: presets-validation-report.md appearing at the root of the mission folder after a build. It is only written when something is wrong, and deleted once nothing is.

The kneeboard

Each aircraft type gets its page KNEEBOARD/<type>/IMAGES/presets.png: one column per radio, titled with the cockpit set (1. COMM 1 · ARC-210) and its band, then the channel number, the name and the frequency. A radio stops at its last channel; a page that is not enough continues on presets_2.png.

DCS stretches the image to fill the kneeboard window, whatever its proportions. The pages are drawn at 2:3, the shape of the cockpit kneeboard and of the default window. A pilot who resized the window sees the pages distorted: the 00-veaf-calibration.png page, added to every mission that has kneeboards, is the test pattern — resize the window until its circles are round.

Going further

  • An explicit per-type assignment under presets_assignments: always wins over the automatic projection — including none, which leaves the group's radios untouched.
  • To keep the radio injection but skip the kneeboards:
pipeline:
  presets:
    enabled: true
    kneeboards: false