Personal Page of DM3MAT

Chapter 3. Extensible Codeplug File Format

Tip

This document describes the extensible codeplug file format using YAML. If you are unfamiliar with YAML, consider reading a YAML introduction first. The documentation for the old table based conf-file format, can be found in section Chapter 6, Table Based Codeplug Format.

The introduction of device specific settings (with version 0.9.0) required an extensible codeplug file format. The old table based format did not allow for any extension without braking backward compatibility. The new YAML based format allows for exactly that: Some means to extend the format for device specific settings without breaking the format while maintaining some degree of readability. (Yes, some users use the command line tool and edit their codeplug in a text editor.)

There are several levels, at which device specific extensions may appear within the codeplug. There are global extensions that apply to the entire codeplug. These extensions are located at the top level. There might also be extensions to single channels, contacts, zones, etc. These extensions are then located under the specific element that gets extended.

Radio settings

The radio settings section contains all radio-wide settings. For example the microphone level, boot text etc. For now, there aren't many.

As an example, consider the following general settings

Example 3.1. General radio-wide settings.

settings:
  micLevel: 6
  speech: false
  introLine1: qDMR
  introLine2: DM3MAT
  defaultID: id1 
  squelch: 1
  vox: 0
  power: High

Here, the microphone amplification is set to 6, the speech synthesis is disabled, the two boot text lines are set to qDMR and DM3MAT respectively and the default DMR radio ID is set to id1. The latter is the id of a radio ID defined below.

Also, the radio-wide default squelch, VOX and power level is set. These values can be referenced later in channels. Also, some radios do not allow for these settings to be applied on a per-channel basis. For these radios, these values are used.

Radio-wide Setting Fields

micLevel

Specifies the microphone amplification. Must be an integer between 1 and 10.

speech

Enables/disables the speech synthesis. Some radios can announce the current channel etc. for the visually impaired. To enable that feature (if supported by the radio) set this field to true. Must be a boolean value.

introLine1, introLine2

Sets the two boot text lines (if supported by the radio). These text lines will show up on the boot of the radio. If the radio is set to show a picture during boot, these lines are not shown.

defaultID

Specifies which radio ID will be used as the default DMR ID (see the section called “Radio IDs” below). If none is specified, the first defined DMR radio ID will be used.

squelch

Specifies the default squelch level. This value may be referenced in channels or represent the radio-wide squelch setting. Any value in [0-10] is valid, where 0 implies an open squelch (if supported by the radio).

vox

Specifies the default VOX sensitivity. This value may be referenced in channels or represent the radio-wide VOX sensitivity. Any value in [0-10] is valid here, where 0 disables the VOX.

power

Specifies the default transmit power. This value may be referenced in channels or represent the radio-wide power setting. Possible values are Min, Low, Mid, High and Max.