# Channels

The channels list contains all channels defined within the codeplug. Usually, DMR radios support at least two different channel types. DMR channels and analog FM channels. Some radios (e.g., running OpenRTX) also support M17 channels. To distinguish these three types, each entry of the channel list contains a map with a single entry. The key specifies the type (either dmr, fm or m17) while the value contains the actual channel definition.

As an example consider the following two channel definitions:

## Channel definition

    channels:
      - dmr:
          id: ch5
          name: BB DB0LDS TS2
          rxFrequency: 439.5625
          txFrequency: 431.9625
          power: High
          timeout: 0
          rxOnly: false
          vox: !default
          scanList: scan1
          admit: ColorCode
          colorCode: 1
          timeSlot: TS2
          groupList: grp2
          contact: cont7
          radioID: !default
          roaming: !default
      - fm:
          id: ch76
          name: DB0LDS
          rxFrequency: 439.5625
          txFrequency: 431.9625
          power: High
          timeout: 0
          rxOnly: false
          vox: !default
          squelch: !default
          admit: Always
          bandwidth: Narrow
          rxTone: {ctcss: 67}
          txTone: {ctcss: 67}

The first channel is a DMR channel. Its ID is ch5 and its name BB DB0LDS TS2. The second channel is an analog FM channel with ID ch76 and name DB0LDS. Please note, that there are some common attributes like rxFrequency, txFrequency, power, timeout, rxOnly, vox and scanList but also type-specific settings like timeSlot or rxTone which apply only to digital and analog channels respectively.

The following attributes are common for all channel types.

## Common channel fields

id

- Specifies the ID of the channel, this can be used later to reference this channel in cpZones and cpScanLists. Any unique string is valid here.

name

- Specifies the name of the channel. Any string is valid here.

rxFrequency, txFrequency

- Specifies the RX or TX frequency in MHz. Any floating point number is valid here.

power

- Specifies the transmit power of the channel. Must be one of Min, Low, Mid, High or Max.

timeout

- Specifies the transmit timeout in seconds. Any integer is valid here. Omitting this field or setting it to `0` will disable the timeout. Setting it to !default, the global transmit timeout will be used. See yamlRadioSettings.

rxOnly

- If set to true, the channel can only receive. Omitting it or setting it to false will allow transmission on the channel.

vox

- Specifies the VOX sensitivity for this channel. If set to !default, the global VOX sensitivity will be used. See yamlRadioSettings. Omitting this value or setting it to 0, will disable the VOX for this channel.

scanList

- Specifies the optional scan list for this channel. If set, this must be a reference to a cpScanLists.

The following attributes apply only to DMR channels.

## DMR channel fields

admit

- Specifies the admit criterion for the channel. This must be one of Always, Free or ColorCode.

colorCode

- Specifies the color code of the channel, any number between 0-16 is valid here.

timeSlot

- Specifies the time slot of the channel. Must be one of TS1 or TS2.

groupList

- Specifies the RX group list for this channel. This must be a reference to a group list. See cpGroupLists above.

contact

- Specifies the default transmit contact. This must be a reference to a digital contact. See cpContacts above. If omitted, no default transmit contact is associated with the channel. Some radios require all channels to have a transmit contact.

aprs

- Specifies the positioning system for this channel. If set, this must be a reference to a positioning system (DMR or APRS). See cpAPRS below.

roaming

- Specifies the roaming zone for this channel. If set it must be a reference to a roaming zone. See cpRoaming below. To use the default roaming zone here, consider using the `!default` tag instead of a direct reference to a specific zone. If omitted, no roaming zone (also not the default one) is associated with the channel.

radioID

- Specifies the radio ID for this channel. If set, it must be a reference to one of the radio DMR IDs. See cpRadioIDs. To use the default radio ID here, consider using the `!default` tag instead of a direct reference to a specific ID. If omitted the default radio ID is assumed.

The following attributes apply only to M17 digital channels.

## M17 channel fields

mode

- Specifies the channel mode. That is, one of Voice, Data and VoiceAndData.

accessNumber

- Specifies the channel access number. Similar to the color code of DMR channels, this must match the repeater access number. A value between 0-15.

contact

- Specifies the M17 transmit contact. This must be a reference to a M17 contact.

gpsEnabled

- Specifies wether position information is send along with voice and data.

encryptionMode

- Specifies the encryption mode. That is, one of None, Scrambled and AES256.

The following attributes apply only to FM channels.

## FM channel fields

admit

- Specifies the admit criterion for the channel. Must be one of Always, Free or Tone.

squelch

- Specifies the squelch level for the channel. Must be an integer in the range of [1-10]. If set to 0, the squelch gets disabled. If set to !default, the global squelch setting is used. See yamlRadioSettings above.

bandwidth

- Specifies the bandwidth of the channel. Must either be Narrow or Wide for 12.5kHz or 25kHz respectively.

rxTone

- Specifies the receive sub-tone setting for this channel. That is, the squelch will only open when a certain subtone is received along with the signal. As there are two common subtone standards, this attribute is a map with a single entry. The key specifies the type (either ctcss or dcs) while the value specifies the actual subtone. For CTCSS tones, the value is the subtone frequency in Hz. For DCS it is the code number as an integer. For inverted DCS codes, use negative numbers.

txTone

- Specifies the transmit sub-tone setting for this channel. For details see rxTone above.

aprs

- Specifies the APRS positioning system of this channel. If set, it must be a reference to an analog APRS system.

All channels have some extended settings section. This section allows to specify usually unused settings that are common among many of the supported radios. The extended settings are stored under the extended key.

There is only one setting common to all channel types. The talkaround flag.

talkaround

For a repeater channel, if enabled, the radio transmits on the RX frequency. This allows to bypass the repeater and answer directly on the RX frequency.

Additional to the common extended channel settings, this section describes all extended settings applicable to FM channels.

reverseBurst

- Enables the CTCSS phase-reversal at the end of the transmission. This can be used to mitigate an issue with the CTCSS squelch, where a short burst of noise may heard at the end of the transmission.

Additional to the common extended channel settings, this section describes all extended settings applicable to FM channels.

privateCallConfirm, smsConfirm, dataConfirm

- Enables confirmation of SMS, data and private call reception.

dcdm

- Enables the dual-capacity direct mode. For simplex operation, allows to utilize both time-slots. This requires one radio to dictate a clock to define TS1 and TS2. Not used in amateur radio.

sms

- Enables SMS reception.

loneWorker

- Enables lone-worker feature of some radios.